blob: 4f39ff2a869ec5c47f82e8a1d82179813cca9955 [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#define MOUNTPROC_NULL 0
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000154extern void * mountproc_null_1(void *, CLIENT *);
155extern void * mountproc_null_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000156#define MOUNTPROC_MNT 1
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000157extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
158extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000159#define MOUNTPROC_DUMP 2
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000160extern mountlist * mountproc_dump_1(void *, CLIENT *);
161extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000162#define MOUNTPROC_UMNT 3
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000163extern void * mountproc_umnt_1(dirpath *, CLIENT *);
164extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000165#define MOUNTPROC_UMNTALL 4
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000166extern void * mountproc_umntall_1(void *, CLIENT *);
167extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000168#define MOUNTPROC_EXPORT 5
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000169extern exports * mountproc_export_1(void *, CLIENT *);
170extern exports * mountproc_export_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000171#define MOUNTPROC_EXPORTALL 6
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000172extern exports * mountproc_exportall_1(void *, CLIENT *);
173extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000174extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000175
Eric Andersenda1d1e72000-07-10 23:39:44 +0000176#define MOUNTVERS_POSIX 2
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000177
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000178extern void * mountproc_null_2(void *, CLIENT *);
179extern void * mountproc_null_2_svc(void *, struct svc_req *);
180extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
181extern fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
182extern mountlist * mountproc_dump_2(void *, CLIENT *);
183extern mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
184extern void * mountproc_umnt_2(dirpath *, CLIENT *);
185extern void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
186extern void * mountproc_umntall_2(void *, CLIENT *);
187extern void * mountproc_umntall_2_svc(void *, struct svc_req *);
188extern exports * mountproc_export_2(void *, CLIENT *);
189extern exports * mountproc_export_2_svc(void *, struct svc_req *);
190extern exports * mountproc_exportall_2(void *, CLIENT *);
191extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000192#define MOUNTPROC_PATHCONF 7
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000193extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
194extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
Eric Andersenda1d1e72000-07-10 23:39:44 +0000195extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000196
Eric Andersenda1d1e72000-07-10 23:39:44 +0000197#define MOUNT_V3 3
198
Eric Andersenda1d1e72000-07-10 23:39:44 +0000199#define MOUNTPROC3_NULL 0
200extern void * mountproc3_null_3(void *, CLIENT *);
201extern void * mountproc3_null_3_svc(void *, struct svc_req *);
202#define MOUNTPROC3_MNT 1
203extern mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
204extern mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
205#define MOUNTPROC3_DUMP 2
206extern mountlist * mountproc3_dump_3(void *, CLIENT *);
207extern mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
208#define MOUNTPROC3_UMNT 3
209extern void * mountproc3_umnt_3(dirpath *, CLIENT *);
210extern void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
211#define MOUNTPROC3_UMNTALL 4
212extern void * mountproc3_umntall_3(void *, CLIENT *);
213extern void * mountproc3_umntall_3_svc(void *, struct svc_req *);
214#define MOUNTPROC3_EXPORT 5
215extern exports * mountproc3_export_3(void *, CLIENT *);
216extern exports * mountproc3_export_3_svc(void *, struct svc_req *);
217extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
218
Eric Andersenda1d1e72000-07-10 23:39:44 +0000219/* the xdr functions */
220
Eric Andersenda1d1e72000-07-10 23:39:44 +0000221extern bool_t xdr_fhandle (XDR *, fhandle);
222extern bool_t xdr_fhandle3 (XDR *, fhandle3*);
223extern bool_t xdr_mountstat3 (XDR *, mountstat3*);
224extern bool_t xdr_fhstatus (XDR *, fhstatus*);
225extern bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
226extern bool_t xdr_mountres3 (XDR *, mountres3*);
227extern bool_t xdr_dirpath (XDR *, dirpath*);
228extern bool_t xdr_name (XDR *, name*);
229extern bool_t xdr_mountlist (XDR *, mountlist*);
230extern bool_t xdr_mountbody (XDR *, mountbody*);
231extern bool_t xdr_groups (XDR *, groups*);
232extern bool_t xdr_groupnode (XDR *, groupnode*);
233extern bool_t xdr_exports (XDR *, exports*);
234extern bool_t xdr_exportnode (XDR *, exportnode*);
235extern bool_t xdr_ppathcnf (XDR *, ppathcnf*);
236
Eric Andersenda1d1e72000-07-10 23:39:44 +0000237#ifdef __cplusplus
238}
239#endif
Eric Andersen1c43d0c1999-11-18 07:58:07 +0000240
241#endif /* !_NFSMOUNT_H_RPCGEN */