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