blob: a12de50a11b2c3d6fb2e1cf363d6cf48b792f64e [file] [log] [blame]
Erik Andersene49d5ec2000-02-08 19:58:47 +00001/* vi: set sw=4 ts=4: */
Eric Andersen1c43d0c1999-11-18 07:58:07 +00002/*
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
Eric Andersenda1d1e72000-07-10 23:39:44 +000012
13#ifdef __cplusplus
14extern "C" {
15#endif
16
Eric Andersen1c43d0c1999-11-18 07:58:07 +000017/*
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
Eric Andersenda1d1e72000-07-10 23:39:44 +000053#include <asm/types.h>
54#define MOUNTPORT 635
Eric Andersen1c43d0c1999-11-18 07:58:07 +000055#define MNTPATHLEN 1024
56#define MNTNAMLEN 255
57#define FHSIZE 32
Eric Andersenda1d1e72000-07-10 23:39:44 +000058#define FHSIZE3 64
Eric Andersen1c43d0c1999-11-18 07:58:07 +000059
60typedef char fhandle[FHSIZE];
Eric Andersen1c43d0c1999-11-18 07:58:07 +000061
Eric Andersenda1d1e72000-07-10 23:39:44 +000062typedef struct {
63 u_int fhandle3_len;
64 char *fhandle3_val;
65} fhandle3;
66
67enum 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};
79typedef enum mountstat3 mountstat3;
Eric Andersen1c43d0c1999-11-18 07:58:07 +000080
81struct fhstatus {
82 u_int fhs_status;
83 union {
84 fhandle fhs_fhandle;
85 } fhstatus_u;
86};
87typedef struct fhstatus fhstatus;
Eric Andersen1c43d0c1999-11-18 07:58:07 +000088
Eric Andersenda1d1e72000-07-10 23:39:44 +000089struct mountres3_ok {
90 fhandle3 fhandle;
91 struct {
92 u_int auth_flavours_len;
93 int *auth_flavours_val;
94 } auth_flavours;
95};
96typedef struct mountres3_ok mountres3_ok;
97
98struct mountres3 {
99 mountstat3 fhs_status;
100 union {
101 mountres3_ok mountinfo;
102 } mountres3_u;
103};
104typedef struct mountres3 mountres3;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000105
106typedef char *dirpath;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000107
108typedef char *name;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000109
110typedef struct mountbody *mountlist;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000111
112struct mountbody {
113 name ml_hostname;
114 dirpath ml_directory;
115 mountlist ml_next;
116};
117typedef struct mountbody mountbody;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000118
119typedef struct groupnode *groups;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000120
121struct groupnode {
122 name gr_name;
123 groups gr_next;
124};
125typedef struct groupnode groupnode;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000126
127typedef struct exportnode *exports;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000128
129struct exportnode {
130 dirpath ex_dir;
131 groups ex_groups;
132 exports ex_next;
133};
134typedef struct exportnode exportnode;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000135
136struct 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};
147typedef struct ppathcnf ppathcnf;
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000148#endif /*!_rpcsvc_mount_h*/
149
Eric Andersenda1d1e72000-07-10 23:39:44 +0000150#define MOUNTPROG 100005
151#define MOUNTVERS 1
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000152
Eric Andersenda1d1e72000-07-10 23:39:44 +0000153#if defined(__STDC__) || defined(__cplusplus)
154#define MOUNTPROC_NULL 0
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000155extern void * mountproc_null_1(void *, CLIENT *);
156extern void * mountproc_null_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000157#define MOUNTPROC_MNT 1
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000158extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
159extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000160#define MOUNTPROC_DUMP 2
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000161extern mountlist * mountproc_dump_1(void *, CLIENT *);
162extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000163#define MOUNTPROC_UMNT 3
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000164extern void * mountproc_umnt_1(dirpath *, CLIENT *);
165extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000166#define MOUNTPROC_UMNTALL 4
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000167extern void * mountproc_umntall_1(void *, CLIENT *);
168extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000169#define MOUNTPROC_EXPORT 5
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000170extern exports * mountproc_export_1(void *, CLIENT *);
171extern exports * mountproc_export_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000172#define MOUNTPROC_EXPORTALL 6
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000173extern exports * mountproc_exportall_1(void *, CLIENT *);
174extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000175extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000176
Eric Andersenda1d1e72000-07-10 23:39:44 +0000177#else /* K&R C */
178#define MOUNTPROC_NULL 0
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000179extern void * mountproc_null_1();
180extern void * mountproc_null_1_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000181#define MOUNTPROC_MNT 1
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000182extern fhstatus * mountproc_mnt_1();
183extern fhstatus * mountproc_mnt_1_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000184#define MOUNTPROC_DUMP 2
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000185extern mountlist * mountproc_dump_1();
186extern mountlist * mountproc_dump_1_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000187#define MOUNTPROC_UMNT 3
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000188extern void * mountproc_umnt_1();
189extern void * mountproc_umnt_1_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000190#define MOUNTPROC_UMNTALL 4
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000191extern void * mountproc_umntall_1();
192extern void * mountproc_umntall_1_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000193#define MOUNTPROC_EXPORT 5
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000194extern exports * mountproc_export_1();
195extern exports * mountproc_export_1_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000196#define MOUNTPROC_EXPORTALL 6
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000197extern exports * mountproc_exportall_1();
198extern exports * mountproc_exportall_1_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000199extern int mountprog_1_freeresult ();
200#endif /* K&R C */
201#define MOUNTVERS_POSIX 2
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000202
Eric Andersenda1d1e72000-07-10 23:39:44 +0000203#if defined(__STDC__) || defined(__cplusplus)
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000204extern void * mountproc_null_2(void *, CLIENT *);
205extern void * mountproc_null_2_svc(void *, struct svc_req *);
206extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
207extern fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
208extern mountlist * mountproc_dump_2(void *, CLIENT *);
209extern mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
210extern void * mountproc_umnt_2(dirpath *, CLIENT *);
211extern void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
212extern void * mountproc_umntall_2(void *, CLIENT *);
213extern void * mountproc_umntall_2_svc(void *, struct svc_req *);
214extern exports * mountproc_export_2(void *, CLIENT *);
215extern exports * mountproc_export_2_svc(void *, struct svc_req *);
216extern exports * mountproc_exportall_2(void *, CLIENT *);
217extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000218#define MOUNTPROC_PATHCONF 7
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000219extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
220extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000221extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000222
Eric Andersenda1d1e72000-07-10 23:39:44 +0000223#else /* K&R C */
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000224extern void * mountproc_null_2();
225extern void * mountproc_null_2_svc();
226extern fhstatus * mountproc_mnt_2();
227extern fhstatus * mountproc_mnt_2_svc();
228extern mountlist * mountproc_dump_2();
229extern mountlist * mountproc_dump_2_svc();
230extern void * mountproc_umnt_2();
231extern void * mountproc_umnt_2_svc();
232extern void * mountproc_umntall_2();
233extern void * mountproc_umntall_2_svc();
234extern exports * mountproc_export_2();
235extern exports * mountproc_export_2_svc();
236extern exports * mountproc_exportall_2();
237extern exports * mountproc_exportall_2_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000238#define MOUNTPROC_PATHCONF 7
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000239extern ppathcnf * mountproc_pathconf_2();
240extern ppathcnf * mountproc_pathconf_2_svc();
Eric Andersenda1d1e72000-07-10 23:39:44 +0000241extern 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
247extern void * mountproc3_null_3(void *, CLIENT *);
248extern void * mountproc3_null_3_svc(void *, struct svc_req *);
249#define MOUNTPROC3_MNT 1
250extern mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
251extern mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
252#define MOUNTPROC3_DUMP 2
253extern mountlist * mountproc3_dump_3(void *, CLIENT *);
254extern mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
255#define MOUNTPROC3_UMNT 3
256extern void * mountproc3_umnt_3(dirpath *, CLIENT *);
257extern void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
258#define MOUNTPROC3_UMNTALL 4
259extern void * mountproc3_umntall_3(void *, CLIENT *);
260extern void * mountproc3_umntall_3_svc(void *, struct svc_req *);
261#define MOUNTPROC3_EXPORT 5
262extern exports * mountproc3_export_3(void *, CLIENT *);
263extern exports * mountproc3_export_3_svc(void *, struct svc_req *);
264extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
265
266#else /* K&R C */
267#define MOUNTPROC3_NULL 0
268extern void * mountproc3_null_3();
269extern void * mountproc3_null_3_svc();
270#define MOUNTPROC3_MNT 1
271extern mountres3 * mountproc3_mnt_3();
272extern mountres3 * mountproc3_mnt_3_svc();
273#define MOUNTPROC3_DUMP 2
274extern mountlist * mountproc3_dump_3();
275extern mountlist * mountproc3_dump_3_svc();
276#define MOUNTPROC3_UMNT 3
277extern void * mountproc3_umnt_3();
278extern void * mountproc3_umnt_3_svc();
279#define MOUNTPROC3_UMNTALL 4
280extern void * mountproc3_umntall_3();
281extern void * mountproc3_umntall_3_svc();
282#define MOUNTPROC3_EXPORT 5
283extern exports * mountproc3_export_3();
284extern exports * mountproc3_export_3_svc();
285extern int mountprog_3_freeresult ();
286#endif /* K&R C */
287
288/* the xdr functions */
289
290#if defined(__STDC__) || defined(__cplusplus)
291extern bool_t xdr_fhandle (XDR *, fhandle);
292extern bool_t xdr_fhandle3 (XDR *, fhandle3*);
293extern bool_t xdr_mountstat3 (XDR *, mountstat3*);
294extern bool_t xdr_fhstatus (XDR *, fhstatus*);
295extern bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
296extern bool_t xdr_mountres3 (XDR *, mountres3*);
297extern bool_t xdr_dirpath (XDR *, dirpath*);
298extern bool_t xdr_name (XDR *, name*);
299extern bool_t xdr_mountlist (XDR *, mountlist*);
300extern bool_t xdr_mountbody (XDR *, mountbody*);
301extern bool_t xdr_groups (XDR *, groups*);
302extern bool_t xdr_groupnode (XDR *, groupnode*);
303extern bool_t xdr_exports (XDR *, exports*);
304extern bool_t xdr_exportnode (XDR *, exportnode*);
305extern bool_t xdr_ppathcnf (XDR *, ppathcnf*);
306
307#else /* K&R C */
308extern bool_t xdr_fhandle ();
309extern bool_t xdr_fhandle3 ();
310extern bool_t xdr_mountstat3 ();
311extern bool_t xdr_fhstatus ();
312extern bool_t xdr_mountres3_ok ();
313extern bool_t xdr_mountres3 ();
314extern bool_t xdr_dirpath ();
315extern bool_t xdr_name ();
316extern bool_t xdr_mountlist ();
317extern bool_t xdr_mountbody ();
318extern bool_t xdr_groups ();
319extern bool_t xdr_groupnode ();
320extern bool_t xdr_exports ();
321extern bool_t xdr_exportnode ();
322extern bool_t xdr_ppathcnf ();
323
324#endif /* K&R C */
325
326#ifdef __cplusplus
327}
328#endif
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000329
330#endif /* !_NFSMOUNT_H_RPCGEN */