Brand, new version of cut. This fixes the bugs in the old cut, is smaller, and
[oweals/busybox.git] / nfsmount.h
1 /* vi: set sw=4 ts=4: */
2 /*
3  * Please do not edit this file.
4  * It was generated using rpcgen.
5  */
6
7 #ifndef _NFSMOUNT_H_RPCGEN
8 #define _NFSMOUNT_H_RPCGEN
9
10 #include <rpc/rpc.h>
11
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 /*
18  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
19  * unrestricted use provided that this legend is included on all tape
20  * media and as a part of the software program in whole or part.  Users
21  * may copy or modify Sun RPC without charge, but are not authorized
22  * to license or distribute it to anyone else except as part of a product or
23  * program developed by the user or with the express written consent of
24  * Sun Microsystems, Inc.
25  *
26  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
27  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
28  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
29  *
30  * Sun RPC is provided with no support and without any obligation on the
31  * part of Sun Microsystems, Inc. to assist in its use, correction,
32  * modification or enhancement.
33  *
34  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
35  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
36  * OR ANY PART THEREOF.
37  *
38  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
39  * or profits or other special, indirect and consequential damages, even if
40  * Sun has been advised of the possibility of such damages.
41  *
42  * Sun Microsystems, Inc.
43  * 2550 Garcia Avenue
44  * Mountain View, California  94043
45  */
46 /*
47  * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
48  */
49
50 /* from @(#)mount.x     1.3 91/03/11 TIRPC 1.0 */
51 #ifndef _rpcsvc_mount_h
52 #define _rpcsvc_mount_h
53 #include <asm/types.h>
54 #define MOUNTPORT 635
55 #define MNTPATHLEN 1024
56 #define MNTNAMLEN 255
57 #define FHSIZE 32
58 #define FHSIZE3 64
59
60 typedef char fhandle[FHSIZE];
61
62 typedef struct {
63         u_int fhandle3_len;
64         char *fhandle3_val;
65 } fhandle3;
66
67 enum mountstat3 {
68         MNT_OK = 0,
69         MNT3ERR_PERM = 1,
70         MNT3ERR_NOENT = 2,
71         MNT3ERR_IO = 5,
72         MNT3ERR_ACCES = 13,
73         MNT3ERR_NOTDIR = 20,
74         MNT3ERR_INVAL = 22,
75         MNT3ERR_NAMETOOLONG = 63,
76         MNT3ERR_NOTSUPP = 10004,
77         MNT3ERR_SERVERFAULT = 10006,
78 };
79 typedef enum mountstat3 mountstat3;
80
81 struct fhstatus {
82         u_int fhs_status;
83         union {
84                 fhandle fhs_fhandle;
85         } fhstatus_u;
86 };
87 typedef struct fhstatus fhstatus;
88
89 struct mountres3_ok {
90         fhandle3 fhandle;
91         struct {
92                 u_int auth_flavours_len;
93                 int *auth_flavours_val;
94         } auth_flavours;
95 };
96 typedef struct mountres3_ok mountres3_ok;
97
98 struct mountres3 {
99         mountstat3 fhs_status;
100         union {
101                 mountres3_ok mountinfo;
102         } mountres3_u;
103 };
104 typedef struct mountres3 mountres3;
105
106 typedef char *dirpath;
107
108 typedef char *name;
109
110 typedef struct mountbody *mountlist;
111
112 struct mountbody {
113         name ml_hostname;
114         dirpath ml_directory;
115         mountlist ml_next;
116 };
117 typedef struct mountbody mountbody;
118
119 typedef struct groupnode *groups;
120
121 struct groupnode {
122         name gr_name;
123         groups gr_next;
124 };
125 typedef struct groupnode groupnode;
126
127 typedef struct exportnode *exports;
128
129 struct exportnode {
130         dirpath ex_dir;
131         groups ex_groups;
132         exports ex_next;
133 };
134 typedef struct exportnode exportnode;
135
136 struct ppathcnf {
137         int pc_link_max;
138         short pc_max_canon;
139         short pc_max_input;
140         short pc_name_max;
141         short pc_path_max;
142         short pc_pipe_buf;
143         u_char pc_vdisable;
144         char pc_xxx;
145         short pc_mask[2];
146 };
147 typedef struct ppathcnf ppathcnf;
148 #endif /*!_rpcsvc_mount_h*/
149
150 #define MOUNTPROG 100005
151 #define MOUNTVERS 1
152
153 #if defined(__STDC__) || defined(__cplusplus)
154 #define MOUNTPROC_NULL 0
155 extern  void * mountproc_null_1(void *, CLIENT *);
156 extern  void * mountproc_null_1_svc(void *, struct svc_req *);
157 #define MOUNTPROC_MNT 1
158 extern  fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
159 extern  fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
160 #define MOUNTPROC_DUMP 2
161 extern  mountlist * mountproc_dump_1(void *, CLIENT *);
162 extern  mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
163 #define MOUNTPROC_UMNT 3
164 extern  void * mountproc_umnt_1(dirpath *, CLIENT *);
165 extern  void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
166 #define MOUNTPROC_UMNTALL 4
167 extern  void * mountproc_umntall_1(void *, CLIENT *);
168 extern  void * mountproc_umntall_1_svc(void *, struct svc_req *);
169 #define MOUNTPROC_EXPORT 5
170 extern  exports * mountproc_export_1(void *, CLIENT *);
171 extern  exports * mountproc_export_1_svc(void *, struct svc_req *);
172 #define MOUNTPROC_EXPORTALL 6
173 extern  exports * mountproc_exportall_1(void *, CLIENT *);
174 extern  exports * mountproc_exportall_1_svc(void *, struct svc_req *);
175 extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
176
177 #else /* K&R C */
178 #define MOUNTPROC_NULL 0
179 extern  void * mountproc_null_1();
180 extern  void * mountproc_null_1_svc();
181 #define MOUNTPROC_MNT 1
182 extern  fhstatus * mountproc_mnt_1();
183 extern  fhstatus * mountproc_mnt_1_svc();
184 #define MOUNTPROC_DUMP 2
185 extern  mountlist * mountproc_dump_1();
186 extern  mountlist * mountproc_dump_1_svc();
187 #define MOUNTPROC_UMNT 3
188 extern  void * mountproc_umnt_1();
189 extern  void * mountproc_umnt_1_svc();
190 #define MOUNTPROC_UMNTALL 4
191 extern  void * mountproc_umntall_1();
192 extern  void * mountproc_umntall_1_svc();
193 #define MOUNTPROC_EXPORT 5
194 extern  exports * mountproc_export_1();
195 extern  exports * mountproc_export_1_svc();
196 #define MOUNTPROC_EXPORTALL 6
197 extern  exports * mountproc_exportall_1();
198 extern  exports * mountproc_exportall_1_svc();
199 extern int mountprog_1_freeresult ();
200 #endif /* K&R C */
201 #define MOUNTVERS_POSIX 2
202
203 #if defined(__STDC__) || defined(__cplusplus)
204 extern  void * mountproc_null_2(void *, CLIENT *);
205 extern  void * mountproc_null_2_svc(void *, struct svc_req *);
206 extern  fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
207 extern  fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
208 extern  mountlist * mountproc_dump_2(void *, CLIENT *);
209 extern  mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
210 extern  void * mountproc_umnt_2(dirpath *, CLIENT *);
211 extern  void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
212 extern  void * mountproc_umntall_2(void *, CLIENT *);
213 extern  void * mountproc_umntall_2_svc(void *, struct svc_req *);
214 extern  exports * mountproc_export_2(void *, CLIENT *);
215 extern  exports * mountproc_export_2_svc(void *, struct svc_req *);
216 extern  exports * mountproc_exportall_2(void *, CLIENT *);
217 extern  exports * mountproc_exportall_2_svc(void *, struct svc_req *);
218 #define MOUNTPROC_PATHCONF 7
219 extern  ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
220 extern  ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
221 extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
222
223 #else /* K&R C */
224 extern  void * mountproc_null_2();
225 extern  void * mountproc_null_2_svc();
226 extern  fhstatus * mountproc_mnt_2();
227 extern  fhstatus * mountproc_mnt_2_svc();
228 extern  mountlist * mountproc_dump_2();
229 extern  mountlist * mountproc_dump_2_svc();
230 extern  void * mountproc_umnt_2();
231 extern  void * mountproc_umnt_2_svc();
232 extern  void * mountproc_umntall_2();
233 extern  void * mountproc_umntall_2_svc();
234 extern  exports * mountproc_export_2();
235 extern  exports * mountproc_export_2_svc();
236 extern  exports * mountproc_exportall_2();
237 extern  exports * mountproc_exportall_2_svc();
238 #define MOUNTPROC_PATHCONF 7
239 extern  ppathcnf * mountproc_pathconf_2();
240 extern  ppathcnf * mountproc_pathconf_2_svc();
241 extern int mountprog_2_freeresult ();
242 #endif /* K&R C */
243 #define MOUNT_V3 3
244
245 #if defined(__STDC__) || defined(__cplusplus)
246 #define MOUNTPROC3_NULL 0
247 extern  void * mountproc3_null_3(void *, CLIENT *);
248 extern  void * mountproc3_null_3_svc(void *, struct svc_req *);
249 #define MOUNTPROC3_MNT 1
250 extern  mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
251 extern  mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
252 #define MOUNTPROC3_DUMP 2
253 extern  mountlist * mountproc3_dump_3(void *, CLIENT *);
254 extern  mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
255 #define MOUNTPROC3_UMNT 3
256 extern  void * mountproc3_umnt_3(dirpath *, CLIENT *);
257 extern  void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
258 #define MOUNTPROC3_UMNTALL 4
259 extern  void * mountproc3_umntall_3(void *, CLIENT *);
260 extern  void * mountproc3_umntall_3_svc(void *, struct svc_req *);
261 #define MOUNTPROC3_EXPORT 5
262 extern  exports * mountproc3_export_3(void *, CLIENT *);
263 extern  exports * mountproc3_export_3_svc(void *, struct svc_req *);
264 extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
265
266 #else /* K&R C */
267 #define MOUNTPROC3_NULL 0
268 extern  void * mountproc3_null_3();
269 extern  void * mountproc3_null_3_svc();
270 #define MOUNTPROC3_MNT 1
271 extern  mountres3 * mountproc3_mnt_3();
272 extern  mountres3 * mountproc3_mnt_3_svc();
273 #define MOUNTPROC3_DUMP 2
274 extern  mountlist * mountproc3_dump_3();
275 extern  mountlist * mountproc3_dump_3_svc();
276 #define MOUNTPROC3_UMNT 3
277 extern  void * mountproc3_umnt_3();
278 extern  void * mountproc3_umnt_3_svc();
279 #define MOUNTPROC3_UMNTALL 4
280 extern  void * mountproc3_umntall_3();
281 extern  void * mountproc3_umntall_3_svc();
282 #define MOUNTPROC3_EXPORT 5
283 extern  exports * mountproc3_export_3();
284 extern  exports * mountproc3_export_3_svc();
285 extern int mountprog_3_freeresult ();
286 #endif /* K&R C */
287
288 /* the xdr functions */
289
290 #if defined(__STDC__) || defined(__cplusplus)
291 extern  bool_t xdr_fhandle (XDR *, fhandle);
292 extern  bool_t xdr_fhandle3 (XDR *, fhandle3*);
293 extern  bool_t xdr_mountstat3 (XDR *, mountstat3*);
294 extern  bool_t xdr_fhstatus (XDR *, fhstatus*);
295 extern  bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
296 extern  bool_t xdr_mountres3 (XDR *, mountres3*);
297 extern  bool_t xdr_dirpath (XDR *, dirpath*);
298 extern  bool_t xdr_name (XDR *, name*);
299 extern  bool_t xdr_mountlist (XDR *, mountlist*);
300 extern  bool_t xdr_mountbody (XDR *, mountbody*);
301 extern  bool_t xdr_groups (XDR *, groups*);
302 extern  bool_t xdr_groupnode (XDR *, groupnode*);
303 extern  bool_t xdr_exports (XDR *, exports*);
304 extern  bool_t xdr_exportnode (XDR *, exportnode*);
305 extern  bool_t xdr_ppathcnf (XDR *, ppathcnf*);
306
307 #else /* K&R C */
308 extern bool_t xdr_fhandle ();
309 extern bool_t xdr_fhandle3 ();
310 extern bool_t xdr_mountstat3 ();
311 extern bool_t xdr_fhstatus ();
312 extern bool_t xdr_mountres3_ok ();
313 extern bool_t xdr_mountres3 ();
314 extern bool_t xdr_dirpath ();
315 extern bool_t xdr_name ();
316 extern bool_t xdr_mountlist ();
317 extern bool_t xdr_mountbody ();
318 extern bool_t xdr_groups ();
319 extern bool_t xdr_groupnode ();
320 extern bool_t xdr_exports ();
321 extern bool_t xdr_exportnode ();
322 extern bool_t xdr_ppathcnf ();
323
324 #endif /* K&R C */
325
326 #ifdef __cplusplus
327 }
328 #endif
329
330 #endif /* !_NFSMOUNT_H_RPCGEN */