1 /* 2 * Please do not edit this file. 3 * It was generated using rpcgen. 4 */ 5 6 #ifndef _UFS_PROT_H_RPCGEN 7 #define _UFS_PROT_H_RPCGEN 8 9 #include <rpc/rpc.h> 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 #pragma ident "%Z%%M% %I% %E% SMI" 16 #include <sys/fs/ufs_fs.h> 17 #include <sys/types.h> 18 #include <sys/errno.h> 19 20 enum ufsdrc_t { 21 UFSDRC_OK = 0, 22 UFSDRC_NOENT = ENOENT, 23 UFSDRC_PERM = EPERM, 24 UFSDRC_INVAL = EINVAL, 25 UFSDRC_NOEXEC = ENOEXEC, 26 UFSDRC_NODEV = ENODEV, 27 UFSDRC_NXIO = ENXIO, 28 UFSDRC_BUSY = EBUSY, 29 UFSDRC_OPNOTSUP = EOPNOTSUPP, 30 UFSDRC_EXECERR = 254, 31 UFSDRC_ERR = 255 32 }; 33 typedef enum ufsdrc_t ufsdrc_t; 34 35 struct fs_identity_t { 36 dev_t fs_dev; 37 char *fs_name; 38 }; 39 typedef struct fs_identity_t fs_identity_t; 40 41 struct ufsd_repairfs_args_t { 42 fs_identity_t ua_fsid; 43 u_int ua_attempts; 44 }; 45 typedef struct ufsd_repairfs_args_t ufsd_repairfs_args_t; 46 47 struct ufsd_repairfs_list_t { 48 int ual_listlen; 49 ufsd_repairfs_args_t *ual_list; 50 }; 51 typedef struct ufsd_repairfs_list_t ufsd_repairfs_list_t; 52 53 enum ufsd_event_t { 54 UFSDEV_NONE = 0, 55 UFSDEV_REBOOT = 0 + 1, 56 UFSDEV_FSCK = 0 + 2, 57 UFSDEV_LOG_OP = 0 + 3 58 }; 59 typedef enum ufsd_event_t ufsd_event_t; 60 61 enum ufsd_boot_type_t { 62 UFSDB_NONE = 0, 63 UFSDB_CLEAN = 0 + 1, 64 UFSDB_POSTPANIC = 0 + 2 65 }; 66 typedef enum ufsd_boot_type_t ufsd_boot_type_t; 67 68 enum ufsd_log_op_t { 69 UFSDLO_NONE = 0, 70 UFSDLO_COMMIT = 0 + 1, 71 UFSDLO_GET = 0 + 2, 72 UFSDLO_PUT = 0 + 3, 73 UFSDLO_RESET = 0 + 4 74 }; 75 typedef enum ufsd_log_op_t ufsd_log_op_t; 76 77 enum ufsd_fsck_state_t { 78 UFSDFS_NONE = 0, 79 UFSDFS_DISPATCH = 0 + 1, 80 UFSDFS_ERREXIT = 0 + 2, 81 UFSDFS_SUCCESS = 0 + 3 82 }; 83 typedef enum ufsd_fsck_state_t ufsd_fsck_state_t; 84 #define UFSD_VARMSGMAX 1024 85 #define UFSD_SPAREMSGBYTES 4 86 87 struct ufsd_log_data_t { 88 int umld_eob; 89 int umld_seq; 90 struct { 91 u_int umld_buf_len; 92 char *umld_buf_val; 93 } umld_buf; 94 }; 95 typedef struct ufsd_log_data_t ufsd_log_data_t; 96 97 struct ufsd_log_msg_t { 98 ufsd_log_op_t um_lop; 99 union { 100 ufsd_log_data_t um_logdata; 101 } ufsd_log_msg_t_u; 102 }; 103 typedef struct ufsd_log_msg_t ufsd_log_msg_t; 104 105 struct ufsd_msg_vardata_t { 106 ufsd_event_t umv_ev; 107 union { 108 ufsd_boot_type_t umv_b; 109 ufsd_fsck_state_t umv_fs; 110 ufsd_log_msg_t umv_lm; 111 } ufsd_msg_vardata_t_u; 112 }; 113 typedef struct ufsd_msg_vardata_t ufsd_msg_vardata_t; 114 115 struct ufsd_msg_t { 116 time_t um_time; 117 u_int um_from; 118 struct { 119 u_int um_spare_len; 120 char *um_spare_val; 121 } um_spare; 122 ufsd_msg_vardata_t um_var; 123 }; 124 typedef struct ufsd_msg_t ufsd_msg_t; 125 #define UFSD_SERVNAME "ufsd" 126 #define xdr_dev_t xdr_u_int 127 #define xdr_time_t xdr_int 128 /* 129 * Set UFSD_THISVERS to the newest version of the protocol 130 * This allows the preprocessor to force an error if the 131 * protocol changes, since the kernel xdr routines may need to be 132 * recoded. Note that we can't explicitly set the version to a 133 * symbol as rpcgen will then create erroneous routine names. 134 */ 135 #define UFSD_V1 1 136 #define UFSD_ORIGVERS UFSD_V1 137 #define UFSD_THISVERS 1 138 139 #define UFSD_PROG 100233 140 #define UFSD_VERS 1 141 142 #if defined(__STDC__) || defined(__cplusplus) 143 #define UFSD_NULL 0 144 extern ufsdrc_t * ufsd_null_1(void *, CLIENT *); 145 extern ufsdrc_t * ufsd_null_1_svc(void *, struct svc_req *); 146 #define UFSD_REPAIRFS 1 147 extern ufsdrc_t * ufsd_repairfs_1(ufsd_repairfs_args_t *, CLIENT *); 148 extern ufsdrc_t * ufsd_repairfs_1_svc(ufsd_repairfs_args_t *, struct svc_req *); 149 #define UFSD_REPAIRFSLIST 2 150 extern ufsdrc_t * ufsd_repairfslist_1(ufsd_repairfs_list_t *, CLIENT *); 151 extern ufsdrc_t * ufsd_repairfslist_1_svc(ufsd_repairfs_list_t *, struct svc_req *); 152 #define UFSD_SEND 3 153 extern ufsdrc_t * ufsd_send_1(ufsd_msg_t *, CLIENT *); 154 extern ufsdrc_t * ufsd_send_1_svc(ufsd_msg_t *, struct svc_req *); 155 #define UFSD_RECV 4 156 extern ufsdrc_t * ufsd_recv_1(ufsd_msg_t *, CLIENT *); 157 extern ufsdrc_t * ufsd_recv_1_svc(ufsd_msg_t *, struct svc_req *); 158 #define UFSD_EXIT 5 159 extern ufsdrc_t * ufsd_exit_1(void *, CLIENT *); 160 extern ufsdrc_t * ufsd_exit_1_svc(void *, struct svc_req *); 161 extern int ufsd_prog_1_freeresult(SVCXPRT *, xdrproc_t, caddr_t); 162 163 #else /* K&R C */ 164 #define UFSD_NULL 0 165 extern ufsdrc_t * ufsd_null_1(); 166 extern ufsdrc_t * ufsd_null_1_svc(); 167 #define UFSD_REPAIRFS 1 168 extern ufsdrc_t * ufsd_repairfs_1(); 169 extern ufsdrc_t * ufsd_repairfs_1_svc(); 170 #define UFSD_REPAIRFSLIST 2 171 extern ufsdrc_t * ufsd_repairfslist_1(); 172 extern ufsdrc_t * ufsd_repairfslist_1_svc(); 173 #define UFSD_SEND 3 174 extern ufsdrc_t * ufsd_send_1(); 175 extern ufsdrc_t * ufsd_send_1_svc(); 176 #define UFSD_RECV 4 177 extern ufsdrc_t * ufsd_recv_1(); 178 extern ufsdrc_t * ufsd_recv_1_svc(); 179 #define UFSD_EXIT 5 180 extern ufsdrc_t * ufsd_exit_1(); 181 extern ufsdrc_t * ufsd_exit_1_svc(); 182 extern int ufsd_prog_1_freeresult(); 183 #endif /* K&R C */ 184 185 /* the xdr functions */ 186 187 #if defined(__STDC__) || defined(__cplusplus) 188 extern bool_t xdr_ufsdrc_t(XDR *, ufsdrc_t*); 189 extern bool_t xdr_fs_identity_t(XDR *, fs_identity_t*); 190 extern bool_t xdr_ufsd_repairfs_args_t(XDR *, ufsd_repairfs_args_t*); 191 extern bool_t xdr_ufsd_repairfs_list_t(XDR *, ufsd_repairfs_list_t*); 192 extern bool_t xdr_ufsd_event_t(XDR *, ufsd_event_t*); 193 extern bool_t xdr_ufsd_boot_type_t(XDR *, ufsd_boot_type_t*); 194 extern bool_t xdr_ufsd_log_op_t(XDR *, ufsd_log_op_t*); 195 extern bool_t xdr_ufsd_fsck_state_t(XDR *, ufsd_fsck_state_t*); 196 extern bool_t xdr_ufsd_log_data_t(XDR *, ufsd_log_data_t*); 197 extern bool_t xdr_ufsd_log_msg_t(XDR *, ufsd_log_msg_t*); 198 extern bool_t xdr_ufsd_msg_vardata_t(XDR *, ufsd_msg_vardata_t*); 199 extern bool_t xdr_ufsd_msg_t(XDR *, ufsd_msg_t*); 200 201 #else /* K&R C */ 202 extern bool_t xdr_ufsdrc_t(); 203 extern bool_t xdr_fs_identity_t(); 204 extern bool_t xdr_ufsd_repairfs_args_t(); 205 extern bool_t xdr_ufsd_repairfs_list_t(); 206 extern bool_t xdr_ufsd_event_t(); 207 extern bool_t xdr_ufsd_boot_type_t(); 208 extern bool_t xdr_ufsd_log_op_t(); 209 extern bool_t xdr_ufsd_fsck_state_t(); 210 extern bool_t xdr_ufsd_log_data_t(); 211 extern bool_t xdr_ufsd_log_msg_t(); 212 extern bool_t xdr_ufsd_msg_vardata_t(); 213 extern bool_t xdr_ufsd_msg_t(); 214 215 #endif /* K&R C */ 216 217 #ifdef __cplusplus 218 } 219 #endif 220 221 #endif /* !_UFS_PROT_H_RPCGEN */ 222