xref: /nrf52832-nimble/rt-thread/components/dfs/filesystems/nfs/nfs.h (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero /*
2*10465441SEvalZero  * Copyright (c) 2006-2018, RT-Thread Development Team
3*10465441SEvalZero  *
4*10465441SEvalZero  * SPDX-License-Identifier: Apache-2.0
5*10465441SEvalZero  *
6*10465441SEvalZero  * Change Logs:
7*10465441SEvalZero  * Date           Author       Notes
8*10465441SEvalZero  */
9*10465441SEvalZero /*
10*10465441SEvalZero  * Please do not edit this file.
11*10465441SEvalZero  * It was generated using rpcgen.
12*10465441SEvalZero  */
13*10465441SEvalZero 
14*10465441SEvalZero #ifndef _NFS_H_RPCGEN
15*10465441SEvalZero #define	_NFS_H_RPCGEN
16*10465441SEvalZero 
17*10465441SEvalZero #include <rpc/rpc.h>
18*10465441SEvalZero 
19*10465441SEvalZero #ifdef __cplusplus
20*10465441SEvalZero extern "C" {
21*10465441SEvalZero #endif
22*10465441SEvalZero 
23*10465441SEvalZero /* This file is copied from RFC1813
24*10465441SEvalZero  * Copyright 1995 Sun Micrososystems (I assume)
25*10465441SEvalZero  */
26*10465441SEvalZero #define	NFS3_FHSIZE 64
27*10465441SEvalZero #define	NFS3_COOKIEVERFSIZE 8
28*10465441SEvalZero #define	NFS3_CREATEVERFSIZE 8
29*10465441SEvalZero #define	NFS3_WRITEVERFSIZE 8
30*10465441SEvalZero #define	ACCESS3_READ 0x0001
31*10465441SEvalZero #define	ACCESS3_LOOKUP 0x0002
32*10465441SEvalZero #define	ACCESS3_MODIFY 0x0004
33*10465441SEvalZero #define	ACCESS3_EXTEND 0x0008
34*10465441SEvalZero #define	ACCESS3_DELETE 0x0010
35*10465441SEvalZero #define	ACCESS3_EXECUTE 0x0020
36*10465441SEvalZero #define	FSF3_LINK 0x0001
37*10465441SEvalZero #define	FSF3_SYMLINK 0x0002
38*10465441SEvalZero #define	FSF3_HOMOGENEOUS 0x0008
39*10465441SEvalZero #define	FSF3_CANSETTIME 0x0010
40*10465441SEvalZero 
41*10465441SEvalZero typedef unsigned long long uint64;
42*10465441SEvalZero 
43*10465441SEvalZero typedef long long int64;
44*10465441SEvalZero 
45*10465441SEvalZero typedef u_long uint32;
46*10465441SEvalZero 
47*10465441SEvalZero typedef long int32;
48*10465441SEvalZero 
49*10465441SEvalZero typedef char *filename3;
50*10465441SEvalZero 
51*10465441SEvalZero typedef char *nfspath3;
52*10465441SEvalZero 
53*10465441SEvalZero typedef uint64 fileid3;
54*10465441SEvalZero 
55*10465441SEvalZero typedef uint64 cookie3;
56*10465441SEvalZero 
57*10465441SEvalZero typedef char cookieverf3[NFS3_COOKIEVERFSIZE];
58*10465441SEvalZero 
59*10465441SEvalZero typedef char createverf3[NFS3_CREATEVERFSIZE];
60*10465441SEvalZero 
61*10465441SEvalZero typedef char writeverf3[NFS3_WRITEVERFSIZE];
62*10465441SEvalZero 
63*10465441SEvalZero typedef uint32 uid3;
64*10465441SEvalZero 
65*10465441SEvalZero typedef uint32 gid3;
66*10465441SEvalZero 
67*10465441SEvalZero typedef uint64 size3;
68*10465441SEvalZero 
69*10465441SEvalZero typedef uint64 offset3;
70*10465441SEvalZero 
71*10465441SEvalZero typedef uint32 mode3;
72*10465441SEvalZero 
73*10465441SEvalZero typedef uint32 count3;
74*10465441SEvalZero 
75*10465441SEvalZero enum nfsstat3 {
76*10465441SEvalZero 	NFS3_OK = 0,
77*10465441SEvalZero 	NFS3ERR_PERM = 1,
78*10465441SEvalZero 	NFS3ERR_NOENT = 2,
79*10465441SEvalZero 	NFS3ERR_IO = 5,
80*10465441SEvalZero 	NFS3ERR_NXIO = 6,
81*10465441SEvalZero 	NFS3ERR_ACCES = 13,
82*10465441SEvalZero 	NFS3ERR_EXIST = 17,
83*10465441SEvalZero 	NFS3ERR_XDEV = 18,
84*10465441SEvalZero 	NFS3ERR_NODEV = 19,
85*10465441SEvalZero 	NFS3ERR_NOTDIR = 20,
86*10465441SEvalZero 	NFS3ERR_ISDIR = 21,
87*10465441SEvalZero 	NFS3ERR_INVAL = 22,
88*10465441SEvalZero 	NFS3ERR_FBIG = 27,
89*10465441SEvalZero 	NFS3ERR_NOSPC = 28,
90*10465441SEvalZero 	NFS3ERR_ROFS = 30,
91*10465441SEvalZero 	NFS3ERR_MLINK = 31,
92*10465441SEvalZero 	NFS3ERR_NAMETOOLONG = 63,
93*10465441SEvalZero 	NFS3ERR_NOTEMPTY = 66,
94*10465441SEvalZero 	NFS3ERR_DQUOT = 69,
95*10465441SEvalZero 	NFS3ERR_STALE = 70,
96*10465441SEvalZero 	NFS3ERR_REMOTE = 71,
97*10465441SEvalZero 	NFS3ERR_BADHANDLE = 10001,
98*10465441SEvalZero 	NFS3ERR_NOT_SYNC = 10002,
99*10465441SEvalZero 	NFS3ERR_BAD_COOKIE = 10003,
100*10465441SEvalZero 	NFS3ERR_NOTSUPP = 10004,
101*10465441SEvalZero 	NFS3ERR_TOOSMALL = 10005,
102*10465441SEvalZero 	NFS3ERR_SERVERFAULT = 10006,
103*10465441SEvalZero 	NFS3ERR_BADTYPE = 10007,
104*10465441SEvalZero 	NFS3ERR_JUKEBOX = 10008
105*10465441SEvalZero };
106*10465441SEvalZero typedef enum nfsstat3 nfsstat3;
107*10465441SEvalZero 
108*10465441SEvalZero enum ftype3 {
109*10465441SEvalZero 	NFS3REG = 1,
110*10465441SEvalZero 	NFS3DIR = 2,
111*10465441SEvalZero 	NFS3BLK = 3,
112*10465441SEvalZero 	NFS3CHR = 4,
113*10465441SEvalZero 	NFS3LNK = 5,
114*10465441SEvalZero 	NFS3SOCK = 6,
115*10465441SEvalZero 	NFS3FIFO = 7
116*10465441SEvalZero };
117*10465441SEvalZero typedef enum ftype3 ftype3;
118*10465441SEvalZero 
119*10465441SEvalZero enum stable_how {
120*10465441SEvalZero 	UNSTABLE = 0,
121*10465441SEvalZero 	DATA_SYNC = 1,
122*10465441SEvalZero 	FILE_SYNC = 2
123*10465441SEvalZero };
124*10465441SEvalZero typedef enum stable_how stable_how;
125*10465441SEvalZero 
126*10465441SEvalZero enum createmode3 {
127*10465441SEvalZero 	UNCHECKED = 0,
128*10465441SEvalZero 	GUARDED = 1,
129*10465441SEvalZero 	EXCLUSIVE = 2
130*10465441SEvalZero };
131*10465441SEvalZero typedef enum createmode3 createmode3;
132*10465441SEvalZero 
133*10465441SEvalZero struct specdata3 {
134*10465441SEvalZero 	uint32 specdata1;
135*10465441SEvalZero 	uint32 specdata2;
136*10465441SEvalZero };
137*10465441SEvalZero typedef struct specdata3 specdata3;
138*10465441SEvalZero 
139*10465441SEvalZero struct nfs_fh3 {
140*10465441SEvalZero 	struct {
141*10465441SEvalZero 		unsigned int data_len;
142*10465441SEvalZero 		char *data_val;
143*10465441SEvalZero 	} data;
144*10465441SEvalZero };
145*10465441SEvalZero typedef struct nfs_fh3 nfs_fh3;
146*10465441SEvalZero 
147*10465441SEvalZero struct nfstime3 {
148*10465441SEvalZero 	uint32 seconds;
149*10465441SEvalZero 	uint32 nseconds;
150*10465441SEvalZero };
151*10465441SEvalZero typedef struct nfstime3 nfstime3;
152*10465441SEvalZero 
153*10465441SEvalZero struct fattr3 {
154*10465441SEvalZero 	ftype3 type;
155*10465441SEvalZero 	mode3 mode;
156*10465441SEvalZero 	uint32 nlink;
157*10465441SEvalZero 	uid3 uid;
158*10465441SEvalZero 	gid3 gid;
159*10465441SEvalZero 	size3 size;
160*10465441SEvalZero 	size3 used;
161*10465441SEvalZero 	specdata3 rdev;
162*10465441SEvalZero 	uint64 fsid;
163*10465441SEvalZero 	fileid3 fileid;
164*10465441SEvalZero 	nfstime3 atime;
165*10465441SEvalZero 	nfstime3 mtime;
166*10465441SEvalZero 	nfstime3 ctime;
167*10465441SEvalZero };
168*10465441SEvalZero typedef struct fattr3 fattr3;
169*10465441SEvalZero 
170*10465441SEvalZero struct post_op_attr {
171*10465441SEvalZero 	bool_t attributes_follow;
172*10465441SEvalZero 	union {
173*10465441SEvalZero 		fattr3 attributes;
174*10465441SEvalZero 	} post_op_attr_u;
175*10465441SEvalZero };
176*10465441SEvalZero typedef struct post_op_attr post_op_attr;
177*10465441SEvalZero 
178*10465441SEvalZero struct wcc_attr {
179*10465441SEvalZero 	size3 size;
180*10465441SEvalZero 	nfstime3 mtime;
181*10465441SEvalZero 	nfstime3 ctime;
182*10465441SEvalZero };
183*10465441SEvalZero typedef struct wcc_attr wcc_attr;
184*10465441SEvalZero 
185*10465441SEvalZero struct pre_op_attr {
186*10465441SEvalZero 	bool_t attributes_follow;
187*10465441SEvalZero 	union {
188*10465441SEvalZero 		wcc_attr attributes;
189*10465441SEvalZero 	} pre_op_attr_u;
190*10465441SEvalZero };
191*10465441SEvalZero typedef struct pre_op_attr pre_op_attr;
192*10465441SEvalZero 
193*10465441SEvalZero struct wcc_data {
194*10465441SEvalZero 	pre_op_attr before;
195*10465441SEvalZero 	post_op_attr after;
196*10465441SEvalZero };
197*10465441SEvalZero typedef struct wcc_data wcc_data;
198*10465441SEvalZero 
199*10465441SEvalZero struct post_op_fh3 {
200*10465441SEvalZero 	bool_t handle_follows;
201*10465441SEvalZero 	union {
202*10465441SEvalZero 		nfs_fh3 handle;
203*10465441SEvalZero 	} post_op_fh3_u;
204*10465441SEvalZero };
205*10465441SEvalZero typedef struct post_op_fh3 post_op_fh3;
206*10465441SEvalZero 
207*10465441SEvalZero enum time_how {
208*10465441SEvalZero 	DONT_CHANGE = 0,
209*10465441SEvalZero 	SET_TO_SERVER_TIME = 1,
210*10465441SEvalZero 	SET_TO_CLIENT_TIME = 2
211*10465441SEvalZero };
212*10465441SEvalZero typedef enum time_how time_how;
213*10465441SEvalZero 
214*10465441SEvalZero struct set_mode3 {
215*10465441SEvalZero 	bool_t set_it;
216*10465441SEvalZero 	union {
217*10465441SEvalZero 		mode3 mode;
218*10465441SEvalZero 	} set_mode3_u;
219*10465441SEvalZero };
220*10465441SEvalZero typedef struct set_mode3 set_mode3;
221*10465441SEvalZero 
222*10465441SEvalZero struct set_uid3 {
223*10465441SEvalZero 	bool_t set_it;
224*10465441SEvalZero 	union {
225*10465441SEvalZero 		uid3 uid;
226*10465441SEvalZero 	} set_uid3_u;
227*10465441SEvalZero };
228*10465441SEvalZero typedef struct set_uid3 set_uid3;
229*10465441SEvalZero 
230*10465441SEvalZero struct set_gid3 {
231*10465441SEvalZero 	bool_t set_it;
232*10465441SEvalZero 	union {
233*10465441SEvalZero 		gid3 gid;
234*10465441SEvalZero 	} set_gid3_u;
235*10465441SEvalZero };
236*10465441SEvalZero typedef struct set_gid3 set_gid3;
237*10465441SEvalZero 
238*10465441SEvalZero struct set_size3 {
239*10465441SEvalZero 	bool_t set_it;
240*10465441SEvalZero 	union {
241*10465441SEvalZero 		size3 size;
242*10465441SEvalZero 	} set_size3_u;
243*10465441SEvalZero };
244*10465441SEvalZero typedef struct set_size3 set_size3;
245*10465441SEvalZero 
246*10465441SEvalZero struct set_atime {
247*10465441SEvalZero 	time_how set_it;
248*10465441SEvalZero 	union {
249*10465441SEvalZero 		nfstime3 atime;
250*10465441SEvalZero 	} set_atime_u;
251*10465441SEvalZero };
252*10465441SEvalZero typedef struct set_atime set_atime;
253*10465441SEvalZero 
254*10465441SEvalZero struct set_mtime {
255*10465441SEvalZero 	time_how set_it;
256*10465441SEvalZero 	union {
257*10465441SEvalZero 		nfstime3 mtime;
258*10465441SEvalZero 	} set_mtime_u;
259*10465441SEvalZero };
260*10465441SEvalZero typedef struct set_mtime set_mtime;
261*10465441SEvalZero 
262*10465441SEvalZero struct sattr3 {
263*10465441SEvalZero 	set_mode3 mode;
264*10465441SEvalZero 	set_uid3 uid;
265*10465441SEvalZero 	set_gid3 gid;
266*10465441SEvalZero 	set_size3 size;
267*10465441SEvalZero 	set_atime atime;
268*10465441SEvalZero 	set_mtime mtime;
269*10465441SEvalZero };
270*10465441SEvalZero typedef struct sattr3 sattr3;
271*10465441SEvalZero 
272*10465441SEvalZero struct diropargs3 {
273*10465441SEvalZero 	nfs_fh3 dir;
274*10465441SEvalZero 	filename3 name;
275*10465441SEvalZero };
276*10465441SEvalZero typedef struct diropargs3 diropargs3;
277*10465441SEvalZero 
278*10465441SEvalZero struct GETATTR3args {
279*10465441SEvalZero 	nfs_fh3 object;
280*10465441SEvalZero };
281*10465441SEvalZero typedef struct GETATTR3args GETATTR3args;
282*10465441SEvalZero 
283*10465441SEvalZero struct GETATTR3resok {
284*10465441SEvalZero 	fattr3 obj_attributes;
285*10465441SEvalZero };
286*10465441SEvalZero typedef struct GETATTR3resok GETATTR3resok;
287*10465441SEvalZero 
288*10465441SEvalZero struct GETATTR3res {
289*10465441SEvalZero 	nfsstat3 status;
290*10465441SEvalZero 	union {
291*10465441SEvalZero 		GETATTR3resok resok;
292*10465441SEvalZero 	} GETATTR3res_u;
293*10465441SEvalZero };
294*10465441SEvalZero typedef struct GETATTR3res GETATTR3res;
295*10465441SEvalZero 
296*10465441SEvalZero struct sattrguard3 {
297*10465441SEvalZero 	bool_t check;
298*10465441SEvalZero 	union {
299*10465441SEvalZero 		nfstime3 obj_ctime;
300*10465441SEvalZero 	} sattrguard3_u;
301*10465441SEvalZero };
302*10465441SEvalZero typedef struct sattrguard3 sattrguard3;
303*10465441SEvalZero 
304*10465441SEvalZero struct SETATTR3args {
305*10465441SEvalZero 	nfs_fh3 object;
306*10465441SEvalZero 	sattr3 new_attributes;
307*10465441SEvalZero 	sattrguard3 guard;
308*10465441SEvalZero };
309*10465441SEvalZero typedef struct SETATTR3args SETATTR3args;
310*10465441SEvalZero 
311*10465441SEvalZero struct SETATTR3resok {
312*10465441SEvalZero 	wcc_data obj_wcc;
313*10465441SEvalZero };
314*10465441SEvalZero typedef struct SETATTR3resok SETATTR3resok;
315*10465441SEvalZero 
316*10465441SEvalZero struct SETATTR3resfail {
317*10465441SEvalZero 	wcc_data obj_wcc;
318*10465441SEvalZero };
319*10465441SEvalZero typedef struct SETATTR3resfail SETATTR3resfail;
320*10465441SEvalZero 
321*10465441SEvalZero struct SETATTR3res {
322*10465441SEvalZero 	nfsstat3 status;
323*10465441SEvalZero 	union {
324*10465441SEvalZero 		SETATTR3resok resok;
325*10465441SEvalZero 		SETATTR3resfail resfail;
326*10465441SEvalZero 	} SETATTR3res_u;
327*10465441SEvalZero };
328*10465441SEvalZero typedef struct SETATTR3res SETATTR3res;
329*10465441SEvalZero 
330*10465441SEvalZero struct LOOKUP3args {
331*10465441SEvalZero 	diropargs3 what;
332*10465441SEvalZero };
333*10465441SEvalZero typedef struct LOOKUP3args LOOKUP3args;
334*10465441SEvalZero 
335*10465441SEvalZero struct LOOKUP3resok {
336*10465441SEvalZero 	nfs_fh3 object;
337*10465441SEvalZero 	post_op_attr obj_attributes;
338*10465441SEvalZero 	post_op_attr dir_attributes;
339*10465441SEvalZero };
340*10465441SEvalZero typedef struct LOOKUP3resok LOOKUP3resok;
341*10465441SEvalZero 
342*10465441SEvalZero struct LOOKUP3resfail {
343*10465441SEvalZero 	post_op_attr dir_attributes;
344*10465441SEvalZero };
345*10465441SEvalZero typedef struct LOOKUP3resfail LOOKUP3resfail;
346*10465441SEvalZero 
347*10465441SEvalZero struct LOOKUP3res {
348*10465441SEvalZero 	nfsstat3 status;
349*10465441SEvalZero 	union {
350*10465441SEvalZero 		LOOKUP3resok resok;
351*10465441SEvalZero 		LOOKUP3resfail resfail;
352*10465441SEvalZero 	} LOOKUP3res_u;
353*10465441SEvalZero };
354*10465441SEvalZero typedef struct LOOKUP3res LOOKUP3res;
355*10465441SEvalZero 
356*10465441SEvalZero struct ACCESS3args {
357*10465441SEvalZero 	nfs_fh3 object;
358*10465441SEvalZero 	uint32 access;
359*10465441SEvalZero };
360*10465441SEvalZero typedef struct ACCESS3args ACCESS3args;
361*10465441SEvalZero 
362*10465441SEvalZero struct ACCESS3resok {
363*10465441SEvalZero 	post_op_attr obj_attributes;
364*10465441SEvalZero 	uint32 access;
365*10465441SEvalZero };
366*10465441SEvalZero typedef struct ACCESS3resok ACCESS3resok;
367*10465441SEvalZero 
368*10465441SEvalZero struct ACCESS3resfail {
369*10465441SEvalZero 	post_op_attr obj_attributes;
370*10465441SEvalZero };
371*10465441SEvalZero typedef struct ACCESS3resfail ACCESS3resfail;
372*10465441SEvalZero 
373*10465441SEvalZero struct ACCESS3res {
374*10465441SEvalZero 	nfsstat3 status;
375*10465441SEvalZero 	union {
376*10465441SEvalZero 		ACCESS3resok resok;
377*10465441SEvalZero 		ACCESS3resfail resfail;
378*10465441SEvalZero 	} ACCESS3res_u;
379*10465441SEvalZero };
380*10465441SEvalZero typedef struct ACCESS3res ACCESS3res;
381*10465441SEvalZero 
382*10465441SEvalZero struct READLINK3args {
383*10465441SEvalZero 	nfs_fh3 symlink;
384*10465441SEvalZero };
385*10465441SEvalZero typedef struct READLINK3args READLINK3args;
386*10465441SEvalZero 
387*10465441SEvalZero struct READLINK3resok {
388*10465441SEvalZero 	post_op_attr symlink_attributes;
389*10465441SEvalZero 	nfspath3 data;
390*10465441SEvalZero };
391*10465441SEvalZero typedef struct READLINK3resok READLINK3resok;
392*10465441SEvalZero 
393*10465441SEvalZero struct READLINK3resfail {
394*10465441SEvalZero 	post_op_attr symlink_attributes;
395*10465441SEvalZero };
396*10465441SEvalZero typedef struct READLINK3resfail READLINK3resfail;
397*10465441SEvalZero 
398*10465441SEvalZero struct READLINK3res {
399*10465441SEvalZero 	nfsstat3 status;
400*10465441SEvalZero 	union {
401*10465441SEvalZero 		READLINK3resok resok;
402*10465441SEvalZero 		READLINK3resfail resfail;
403*10465441SEvalZero 	} READLINK3res_u;
404*10465441SEvalZero };
405*10465441SEvalZero typedef struct READLINK3res READLINK3res;
406*10465441SEvalZero 
407*10465441SEvalZero struct READ3args {
408*10465441SEvalZero 	nfs_fh3 file;
409*10465441SEvalZero 	offset3 offset;
410*10465441SEvalZero 	count3 count;
411*10465441SEvalZero };
412*10465441SEvalZero typedef struct READ3args READ3args;
413*10465441SEvalZero 
414*10465441SEvalZero struct READ3resok {
415*10465441SEvalZero 	post_op_attr file_attributes;
416*10465441SEvalZero 	count3 count;
417*10465441SEvalZero 	bool_t eof;
418*10465441SEvalZero 	struct {
419*10465441SEvalZero 		unsigned int data_len;
420*10465441SEvalZero 		char *data_val;
421*10465441SEvalZero 	} data;
422*10465441SEvalZero };
423*10465441SEvalZero typedef struct READ3resok READ3resok;
424*10465441SEvalZero 
425*10465441SEvalZero struct READ3resfail {
426*10465441SEvalZero 	post_op_attr file_attributes;
427*10465441SEvalZero };
428*10465441SEvalZero typedef struct READ3resfail READ3resfail;
429*10465441SEvalZero 
430*10465441SEvalZero struct READ3res {
431*10465441SEvalZero 	nfsstat3 status;
432*10465441SEvalZero 	union {
433*10465441SEvalZero 		READ3resok resok;
434*10465441SEvalZero 		READ3resfail resfail;
435*10465441SEvalZero 	} READ3res_u;
436*10465441SEvalZero };
437*10465441SEvalZero typedef struct READ3res READ3res;
438*10465441SEvalZero 
439*10465441SEvalZero struct WRITE3args {
440*10465441SEvalZero 	nfs_fh3 file;
441*10465441SEvalZero 	offset3 offset;
442*10465441SEvalZero 	count3 count;
443*10465441SEvalZero 	stable_how stable;
444*10465441SEvalZero 	struct {
445*10465441SEvalZero 		unsigned int data_len;
446*10465441SEvalZero 		char *data_val;
447*10465441SEvalZero 	} data;
448*10465441SEvalZero };
449*10465441SEvalZero typedef struct WRITE3args WRITE3args;
450*10465441SEvalZero 
451*10465441SEvalZero struct WRITE3resok {
452*10465441SEvalZero 	wcc_data file_wcc;
453*10465441SEvalZero 	count3 count;
454*10465441SEvalZero 	stable_how committed;
455*10465441SEvalZero 	writeverf3 verf;
456*10465441SEvalZero };
457*10465441SEvalZero typedef struct WRITE3resok WRITE3resok;
458*10465441SEvalZero 
459*10465441SEvalZero struct WRITE3resfail {
460*10465441SEvalZero 	wcc_data file_wcc;
461*10465441SEvalZero };
462*10465441SEvalZero typedef struct WRITE3resfail WRITE3resfail;
463*10465441SEvalZero 
464*10465441SEvalZero struct WRITE3res {
465*10465441SEvalZero 	nfsstat3 status;
466*10465441SEvalZero 	union {
467*10465441SEvalZero 		WRITE3resok resok;
468*10465441SEvalZero 		WRITE3resfail resfail;
469*10465441SEvalZero 	} WRITE3res_u;
470*10465441SEvalZero };
471*10465441SEvalZero typedef struct WRITE3res WRITE3res;
472*10465441SEvalZero 
473*10465441SEvalZero struct createhow3 {
474*10465441SEvalZero 	createmode3 mode;
475*10465441SEvalZero 	union {
476*10465441SEvalZero 		sattr3 obj_attributes;
477*10465441SEvalZero 		createverf3 verf;
478*10465441SEvalZero 	} createhow3_u;
479*10465441SEvalZero };
480*10465441SEvalZero typedef struct createhow3 createhow3;
481*10465441SEvalZero 
482*10465441SEvalZero struct CREATE3args {
483*10465441SEvalZero 	diropargs3 where;
484*10465441SEvalZero 	createhow3 how;
485*10465441SEvalZero };
486*10465441SEvalZero typedef struct CREATE3args CREATE3args;
487*10465441SEvalZero 
488*10465441SEvalZero struct CREATE3resok {
489*10465441SEvalZero 	post_op_fh3 obj;
490*10465441SEvalZero 	post_op_attr obj_attributes;
491*10465441SEvalZero 	wcc_data dir_wcc;
492*10465441SEvalZero };
493*10465441SEvalZero typedef struct CREATE3resok CREATE3resok;
494*10465441SEvalZero 
495*10465441SEvalZero struct CREATE3resfail {
496*10465441SEvalZero 	wcc_data dir_wcc;
497*10465441SEvalZero };
498*10465441SEvalZero typedef struct CREATE3resfail CREATE3resfail;
499*10465441SEvalZero 
500*10465441SEvalZero struct CREATE3res {
501*10465441SEvalZero 	nfsstat3 status;
502*10465441SEvalZero 	union {
503*10465441SEvalZero 		CREATE3resok resok;
504*10465441SEvalZero 		CREATE3resfail resfail;
505*10465441SEvalZero 	} CREATE3res_u;
506*10465441SEvalZero };
507*10465441SEvalZero typedef struct CREATE3res CREATE3res;
508*10465441SEvalZero 
509*10465441SEvalZero struct MKDIR3args {
510*10465441SEvalZero 	diropargs3 where;
511*10465441SEvalZero 	sattr3 attributes;
512*10465441SEvalZero };
513*10465441SEvalZero typedef struct MKDIR3args MKDIR3args;
514*10465441SEvalZero 
515*10465441SEvalZero struct MKDIR3resok {
516*10465441SEvalZero 	post_op_fh3 obj;
517*10465441SEvalZero 	post_op_attr obj_attributes;
518*10465441SEvalZero 	wcc_data dir_wcc;
519*10465441SEvalZero };
520*10465441SEvalZero typedef struct MKDIR3resok MKDIR3resok;
521*10465441SEvalZero 
522*10465441SEvalZero struct MKDIR3resfail {
523*10465441SEvalZero 	wcc_data dir_wcc;
524*10465441SEvalZero };
525*10465441SEvalZero typedef struct MKDIR3resfail MKDIR3resfail;
526*10465441SEvalZero 
527*10465441SEvalZero struct MKDIR3res {
528*10465441SEvalZero 	nfsstat3 status;
529*10465441SEvalZero 	union {
530*10465441SEvalZero 		MKDIR3resok resok;
531*10465441SEvalZero 		MKDIR3resfail resfail;
532*10465441SEvalZero 	} MKDIR3res_u;
533*10465441SEvalZero };
534*10465441SEvalZero typedef struct MKDIR3res MKDIR3res;
535*10465441SEvalZero 
536*10465441SEvalZero struct symlinkdata3 {
537*10465441SEvalZero 	sattr3 symlink_attributes;
538*10465441SEvalZero 	nfspath3 symlink_data;
539*10465441SEvalZero };
540*10465441SEvalZero typedef struct symlinkdata3 symlinkdata3;
541*10465441SEvalZero 
542*10465441SEvalZero struct SYMLINK3args {
543*10465441SEvalZero 	diropargs3 where;
544*10465441SEvalZero 	symlinkdata3 symlink;
545*10465441SEvalZero };
546*10465441SEvalZero typedef struct SYMLINK3args SYMLINK3args;
547*10465441SEvalZero 
548*10465441SEvalZero struct SYMLINK3resok {
549*10465441SEvalZero 	post_op_fh3 obj;
550*10465441SEvalZero 	post_op_attr obj_attributes;
551*10465441SEvalZero 	wcc_data dir_wcc;
552*10465441SEvalZero };
553*10465441SEvalZero typedef struct SYMLINK3resok SYMLINK3resok;
554*10465441SEvalZero 
555*10465441SEvalZero struct SYMLINK3resfail {
556*10465441SEvalZero 	wcc_data dir_wcc;
557*10465441SEvalZero };
558*10465441SEvalZero typedef struct SYMLINK3resfail SYMLINK3resfail;
559*10465441SEvalZero 
560*10465441SEvalZero struct SYMLINK3res {
561*10465441SEvalZero 	nfsstat3 status;
562*10465441SEvalZero 	union {
563*10465441SEvalZero 		SYMLINK3resok resok;
564*10465441SEvalZero 		SYMLINK3resfail resfail;
565*10465441SEvalZero 	} SYMLINK3res_u;
566*10465441SEvalZero };
567*10465441SEvalZero typedef struct SYMLINK3res SYMLINK3res;
568*10465441SEvalZero 
569*10465441SEvalZero struct devicedata3 {
570*10465441SEvalZero 	sattr3 dev_attributes;
571*10465441SEvalZero 	specdata3 spec;
572*10465441SEvalZero };
573*10465441SEvalZero typedef struct devicedata3 devicedata3;
574*10465441SEvalZero 
575*10465441SEvalZero struct mknoddata3 {
576*10465441SEvalZero 	ftype3 type;
577*10465441SEvalZero 	union {
578*10465441SEvalZero 		devicedata3 device;
579*10465441SEvalZero 		sattr3 pipe_attributes;
580*10465441SEvalZero 	} mknoddata3_u;
581*10465441SEvalZero };
582*10465441SEvalZero typedef struct mknoddata3 mknoddata3;
583*10465441SEvalZero 
584*10465441SEvalZero struct MKNOD3args {
585*10465441SEvalZero 	diropargs3 where;
586*10465441SEvalZero 	mknoddata3 what;
587*10465441SEvalZero };
588*10465441SEvalZero typedef struct MKNOD3args MKNOD3args;
589*10465441SEvalZero 
590*10465441SEvalZero struct MKNOD3resok {
591*10465441SEvalZero 	post_op_fh3 obj;
592*10465441SEvalZero 	post_op_attr obj_attributes;
593*10465441SEvalZero 	wcc_data dir_wcc;
594*10465441SEvalZero };
595*10465441SEvalZero typedef struct MKNOD3resok MKNOD3resok;
596*10465441SEvalZero 
597*10465441SEvalZero struct MKNOD3resfail {
598*10465441SEvalZero 	wcc_data dir_wcc;
599*10465441SEvalZero };
600*10465441SEvalZero typedef struct MKNOD3resfail MKNOD3resfail;
601*10465441SEvalZero 
602*10465441SEvalZero struct MKNOD3res {
603*10465441SEvalZero 	nfsstat3 status;
604*10465441SEvalZero 	union {
605*10465441SEvalZero 		MKNOD3resok resok;
606*10465441SEvalZero 		MKNOD3resfail resfail;
607*10465441SEvalZero 	} MKNOD3res_u;
608*10465441SEvalZero };
609*10465441SEvalZero typedef struct MKNOD3res MKNOD3res;
610*10465441SEvalZero 
611*10465441SEvalZero struct REMOVE3args {
612*10465441SEvalZero 	diropargs3 object;
613*10465441SEvalZero };
614*10465441SEvalZero typedef struct REMOVE3args REMOVE3args;
615*10465441SEvalZero 
616*10465441SEvalZero struct REMOVE3resok {
617*10465441SEvalZero 	wcc_data dir_wcc;
618*10465441SEvalZero };
619*10465441SEvalZero typedef struct REMOVE3resok REMOVE3resok;
620*10465441SEvalZero 
621*10465441SEvalZero struct REMOVE3resfail {
622*10465441SEvalZero 	wcc_data dir_wcc;
623*10465441SEvalZero };
624*10465441SEvalZero typedef struct REMOVE3resfail REMOVE3resfail;
625*10465441SEvalZero 
626*10465441SEvalZero struct REMOVE3res {
627*10465441SEvalZero 	nfsstat3 status;
628*10465441SEvalZero 	union {
629*10465441SEvalZero 		REMOVE3resok resok;
630*10465441SEvalZero 		REMOVE3resfail resfail;
631*10465441SEvalZero 	} REMOVE3res_u;
632*10465441SEvalZero };
633*10465441SEvalZero typedef struct REMOVE3res REMOVE3res;
634*10465441SEvalZero 
635*10465441SEvalZero struct RMDIR3args {
636*10465441SEvalZero 	diropargs3 object;
637*10465441SEvalZero };
638*10465441SEvalZero typedef struct RMDIR3args RMDIR3args;
639*10465441SEvalZero 
640*10465441SEvalZero struct RMDIR3resok {
641*10465441SEvalZero 	wcc_data dir_wcc;
642*10465441SEvalZero };
643*10465441SEvalZero typedef struct RMDIR3resok RMDIR3resok;
644*10465441SEvalZero 
645*10465441SEvalZero struct RMDIR3resfail {
646*10465441SEvalZero 	wcc_data dir_wcc;
647*10465441SEvalZero };
648*10465441SEvalZero typedef struct RMDIR3resfail RMDIR3resfail;
649*10465441SEvalZero 
650*10465441SEvalZero struct RMDIR3res {
651*10465441SEvalZero 	nfsstat3 status;
652*10465441SEvalZero 	union {
653*10465441SEvalZero 		RMDIR3resok resok;
654*10465441SEvalZero 		RMDIR3resfail resfail;
655*10465441SEvalZero 	} RMDIR3res_u;
656*10465441SEvalZero };
657*10465441SEvalZero typedef struct RMDIR3res RMDIR3res;
658*10465441SEvalZero 
659*10465441SEvalZero struct RENAME3args {
660*10465441SEvalZero 	diropargs3 from;
661*10465441SEvalZero 	diropargs3 to;
662*10465441SEvalZero };
663*10465441SEvalZero typedef struct RENAME3args RENAME3args;
664*10465441SEvalZero 
665*10465441SEvalZero struct RENAME3resok {
666*10465441SEvalZero 	wcc_data fromdir_wcc;
667*10465441SEvalZero 	wcc_data todir_wcc;
668*10465441SEvalZero };
669*10465441SEvalZero typedef struct RENAME3resok RENAME3resok;
670*10465441SEvalZero 
671*10465441SEvalZero struct RENAME3resfail {
672*10465441SEvalZero 	wcc_data fromdir_wcc;
673*10465441SEvalZero 	wcc_data todir_wcc;
674*10465441SEvalZero };
675*10465441SEvalZero typedef struct RENAME3resfail RENAME3resfail;
676*10465441SEvalZero 
677*10465441SEvalZero struct RENAME3res {
678*10465441SEvalZero 	nfsstat3 status;
679*10465441SEvalZero 	union {
680*10465441SEvalZero 		RENAME3resok resok;
681*10465441SEvalZero 		RENAME3resfail resfail;
682*10465441SEvalZero 	} RENAME3res_u;
683*10465441SEvalZero };
684*10465441SEvalZero typedef struct RENAME3res RENAME3res;
685*10465441SEvalZero 
686*10465441SEvalZero struct LINK3args {
687*10465441SEvalZero 	nfs_fh3 file;
688*10465441SEvalZero 	diropargs3 link;
689*10465441SEvalZero };
690*10465441SEvalZero typedef struct LINK3args LINK3args;
691*10465441SEvalZero 
692*10465441SEvalZero struct LINK3resok {
693*10465441SEvalZero 	post_op_attr file_attributes;
694*10465441SEvalZero 	wcc_data linkdir_wcc;
695*10465441SEvalZero };
696*10465441SEvalZero typedef struct LINK3resok LINK3resok;
697*10465441SEvalZero 
698*10465441SEvalZero struct LINK3resfail {
699*10465441SEvalZero 	post_op_attr file_attributes;
700*10465441SEvalZero 	wcc_data linkdir_wcc;
701*10465441SEvalZero };
702*10465441SEvalZero typedef struct LINK3resfail LINK3resfail;
703*10465441SEvalZero 
704*10465441SEvalZero struct LINK3res {
705*10465441SEvalZero 	nfsstat3 status;
706*10465441SEvalZero 	union {
707*10465441SEvalZero 		LINK3resok resok;
708*10465441SEvalZero 		LINK3resfail resfail;
709*10465441SEvalZero 	} LINK3res_u;
710*10465441SEvalZero };
711*10465441SEvalZero typedef struct LINK3res LINK3res;
712*10465441SEvalZero 
713*10465441SEvalZero struct READDIR3args {
714*10465441SEvalZero 	nfs_fh3 dir;
715*10465441SEvalZero 	cookie3 cookie;
716*10465441SEvalZero 	cookieverf3 cookieverf;
717*10465441SEvalZero 	count3 count;
718*10465441SEvalZero };
719*10465441SEvalZero typedef struct READDIR3args READDIR3args;
720*10465441SEvalZero 
721*10465441SEvalZero struct entry3 {
722*10465441SEvalZero 	fileid3 fileid;
723*10465441SEvalZero 	filename3 name;
724*10465441SEvalZero 	cookie3 cookie;
725*10465441SEvalZero 	struct entry3 *nextentry;
726*10465441SEvalZero };
727*10465441SEvalZero typedef struct entry3 entry3;
728*10465441SEvalZero 
729*10465441SEvalZero struct dirlist3 {
730*10465441SEvalZero 	entry3 *entries;
731*10465441SEvalZero 	bool_t eof;
732*10465441SEvalZero };
733*10465441SEvalZero typedef struct dirlist3 dirlist3;
734*10465441SEvalZero 
735*10465441SEvalZero struct READDIR3resok {
736*10465441SEvalZero 	post_op_attr dir_attributes;
737*10465441SEvalZero 	cookieverf3 cookieverf;
738*10465441SEvalZero 	dirlist3 reply;
739*10465441SEvalZero };
740*10465441SEvalZero typedef struct READDIR3resok READDIR3resok;
741*10465441SEvalZero 
742*10465441SEvalZero struct READDIR3resfail {
743*10465441SEvalZero 	post_op_attr dir_attributes;
744*10465441SEvalZero };
745*10465441SEvalZero typedef struct READDIR3resfail READDIR3resfail;
746*10465441SEvalZero 
747*10465441SEvalZero struct READDIR3res {
748*10465441SEvalZero 	nfsstat3 status;
749*10465441SEvalZero 	union {
750*10465441SEvalZero 		READDIR3resok resok;
751*10465441SEvalZero 		READDIR3resfail resfail;
752*10465441SEvalZero 	} READDIR3res_u;
753*10465441SEvalZero };
754*10465441SEvalZero typedef struct READDIR3res READDIR3res;
755*10465441SEvalZero 
756*10465441SEvalZero struct READDIRPLUS3args {
757*10465441SEvalZero 	nfs_fh3 dir;
758*10465441SEvalZero 	cookie3 cookie;
759*10465441SEvalZero 	cookieverf3 cookieverf;
760*10465441SEvalZero 	count3 dircount;
761*10465441SEvalZero 	count3 maxcount;
762*10465441SEvalZero };
763*10465441SEvalZero typedef struct READDIRPLUS3args READDIRPLUS3args;
764*10465441SEvalZero 
765*10465441SEvalZero struct entryplus3 {
766*10465441SEvalZero 	fileid3 fileid;
767*10465441SEvalZero 	filename3 name;
768*10465441SEvalZero 	cookie3 cookie;
769*10465441SEvalZero 	post_op_attr name_attributes;
770*10465441SEvalZero 	post_op_fh3 name_handle;
771*10465441SEvalZero 	struct entryplus3 *nextentry;
772*10465441SEvalZero };
773*10465441SEvalZero typedef struct entryplus3 entryplus3;
774*10465441SEvalZero 
775*10465441SEvalZero struct dirlistplus3 {
776*10465441SEvalZero 	entryplus3 *entries;
777*10465441SEvalZero 	bool_t eof;
778*10465441SEvalZero };
779*10465441SEvalZero typedef struct dirlistplus3 dirlistplus3;
780*10465441SEvalZero 
781*10465441SEvalZero struct READDIRPLUS3resok {
782*10465441SEvalZero 	post_op_attr dir_attributes;
783*10465441SEvalZero 	cookieverf3 cookieverf;
784*10465441SEvalZero 	dirlistplus3 reply;
785*10465441SEvalZero };
786*10465441SEvalZero typedef struct READDIRPLUS3resok READDIRPLUS3resok;
787*10465441SEvalZero 
788*10465441SEvalZero struct READDIRPLUS3resfail {
789*10465441SEvalZero 	post_op_attr dir_attributes;
790*10465441SEvalZero };
791*10465441SEvalZero typedef struct READDIRPLUS3resfail READDIRPLUS3resfail;
792*10465441SEvalZero 
793*10465441SEvalZero struct READDIRPLUS3res {
794*10465441SEvalZero 	nfsstat3 status;
795*10465441SEvalZero 	union {
796*10465441SEvalZero 		READDIRPLUS3resok resok;
797*10465441SEvalZero 		READDIRPLUS3resfail resfail;
798*10465441SEvalZero 	} READDIRPLUS3res_u;
799*10465441SEvalZero };
800*10465441SEvalZero typedef struct READDIRPLUS3res READDIRPLUS3res;
801*10465441SEvalZero 
802*10465441SEvalZero struct FSSTAT3args {
803*10465441SEvalZero 	nfs_fh3 fsroot;
804*10465441SEvalZero };
805*10465441SEvalZero typedef struct FSSTAT3args FSSTAT3args;
806*10465441SEvalZero 
807*10465441SEvalZero struct FSSTAT3resok {
808*10465441SEvalZero 	post_op_attr obj_attributes;
809*10465441SEvalZero 	size3 tbytes;
810*10465441SEvalZero 	size3 fbytes;
811*10465441SEvalZero 	size3 abytes;
812*10465441SEvalZero 	size3 tfiles;
813*10465441SEvalZero 	size3 ffiles;
814*10465441SEvalZero 	size3 afiles;
815*10465441SEvalZero 	uint32 invarsec;
816*10465441SEvalZero };
817*10465441SEvalZero typedef struct FSSTAT3resok FSSTAT3resok;
818*10465441SEvalZero 
819*10465441SEvalZero struct FSSTAT3resfail {
820*10465441SEvalZero 	post_op_attr obj_attributes;
821*10465441SEvalZero };
822*10465441SEvalZero typedef struct FSSTAT3resfail FSSTAT3resfail;
823*10465441SEvalZero 
824*10465441SEvalZero struct FSSTAT3res {
825*10465441SEvalZero 	nfsstat3 status;
826*10465441SEvalZero 	union {
827*10465441SEvalZero 		FSSTAT3resok resok;
828*10465441SEvalZero 		FSSTAT3resfail resfail;
829*10465441SEvalZero 	} FSSTAT3res_u;
830*10465441SEvalZero };
831*10465441SEvalZero typedef struct FSSTAT3res FSSTAT3res;
832*10465441SEvalZero 
833*10465441SEvalZero struct FSINFO3args {
834*10465441SEvalZero 	nfs_fh3 fsroot;
835*10465441SEvalZero };
836*10465441SEvalZero typedef struct FSINFO3args FSINFO3args;
837*10465441SEvalZero 
838*10465441SEvalZero struct FSINFO3resok {
839*10465441SEvalZero 	post_op_attr obj_attributes;
840*10465441SEvalZero 	uint32 rtmax;
841*10465441SEvalZero 	uint32 rtpref;
842*10465441SEvalZero 	uint32 rtmult;
843*10465441SEvalZero 	uint32 wtmax;
844*10465441SEvalZero 	uint32 wtpref;
845*10465441SEvalZero 	uint32 wtmult;
846*10465441SEvalZero 	uint32 dtpref;
847*10465441SEvalZero 	size3 maxfilesize;
848*10465441SEvalZero 	nfstime3 time_delta;
849*10465441SEvalZero 	uint32 properties;
850*10465441SEvalZero };
851*10465441SEvalZero typedef struct FSINFO3resok FSINFO3resok;
852*10465441SEvalZero 
853*10465441SEvalZero struct FSINFO3resfail {
854*10465441SEvalZero 	post_op_attr obj_attributes;
855*10465441SEvalZero };
856*10465441SEvalZero typedef struct FSINFO3resfail FSINFO3resfail;
857*10465441SEvalZero 
858*10465441SEvalZero struct FSINFO3res {
859*10465441SEvalZero 	nfsstat3 status;
860*10465441SEvalZero 	union {
861*10465441SEvalZero 		FSINFO3resok resok;
862*10465441SEvalZero 		FSINFO3resfail resfail;
863*10465441SEvalZero 	} FSINFO3res_u;
864*10465441SEvalZero };
865*10465441SEvalZero typedef struct FSINFO3res FSINFO3res;
866*10465441SEvalZero 
867*10465441SEvalZero struct PATHCONF3args {
868*10465441SEvalZero 	nfs_fh3 object;
869*10465441SEvalZero };
870*10465441SEvalZero typedef struct PATHCONF3args PATHCONF3args;
871*10465441SEvalZero 
872*10465441SEvalZero struct PATHCONF3resok {
873*10465441SEvalZero 	post_op_attr obj_attributes;
874*10465441SEvalZero 	uint32 linkmax;
875*10465441SEvalZero 	uint32 name_max;
876*10465441SEvalZero 	bool_t no_trunc;
877*10465441SEvalZero 	bool_t chown_restricted;
878*10465441SEvalZero 	bool_t case_insensitive;
879*10465441SEvalZero 	bool_t case_preserving;
880*10465441SEvalZero };
881*10465441SEvalZero typedef struct PATHCONF3resok PATHCONF3resok;
882*10465441SEvalZero 
883*10465441SEvalZero struct PATHCONF3resfail {
884*10465441SEvalZero 	post_op_attr obj_attributes;
885*10465441SEvalZero };
886*10465441SEvalZero typedef struct PATHCONF3resfail PATHCONF3resfail;
887*10465441SEvalZero 
888*10465441SEvalZero struct PATHCONF3res {
889*10465441SEvalZero 	nfsstat3 status;
890*10465441SEvalZero 	union {
891*10465441SEvalZero 		PATHCONF3resok resok;
892*10465441SEvalZero 		PATHCONF3resfail resfail;
893*10465441SEvalZero 	} PATHCONF3res_u;
894*10465441SEvalZero };
895*10465441SEvalZero typedef struct PATHCONF3res PATHCONF3res;
896*10465441SEvalZero 
897*10465441SEvalZero struct COMMIT3args {
898*10465441SEvalZero 	nfs_fh3 file;
899*10465441SEvalZero 	offset3 offset;
900*10465441SEvalZero 	count3 count;
901*10465441SEvalZero };
902*10465441SEvalZero typedef struct COMMIT3args COMMIT3args;
903*10465441SEvalZero 
904*10465441SEvalZero struct COMMIT3resok {
905*10465441SEvalZero 	wcc_data file_wcc;
906*10465441SEvalZero 	writeverf3 verf;
907*10465441SEvalZero };
908*10465441SEvalZero typedef struct COMMIT3resok COMMIT3resok;
909*10465441SEvalZero 
910*10465441SEvalZero struct COMMIT3resfail {
911*10465441SEvalZero 	wcc_data file_wcc;
912*10465441SEvalZero };
913*10465441SEvalZero typedef struct COMMIT3resfail COMMIT3resfail;
914*10465441SEvalZero 
915*10465441SEvalZero struct COMMIT3res {
916*10465441SEvalZero 	nfsstat3 status;
917*10465441SEvalZero 	union {
918*10465441SEvalZero 		COMMIT3resok resok;
919*10465441SEvalZero 		COMMIT3resfail resfail;
920*10465441SEvalZero 	} COMMIT3res_u;
921*10465441SEvalZero };
922*10465441SEvalZero typedef struct COMMIT3res COMMIT3res;
923*10465441SEvalZero 
924*10465441SEvalZero #define	NFS_PROGRAM	100003
925*10465441SEvalZero #define	NFS_V3	3
926*10465441SEvalZero 
927*10465441SEvalZero #define	NFSPROC3_NULL	0
928*10465441SEvalZero extern  enum clnt_stat nfsproc3_null_3(void *, CLIENT *);
929*10465441SEvalZero #define	NFSPROC3_GETATTR	1
930*10465441SEvalZero extern  enum clnt_stat nfsproc3_getattr_3(GETATTR3args , GETATTR3res *, CLIENT *);
931*10465441SEvalZero #define	NFSPROC3_SETATTR	2
932*10465441SEvalZero extern  enum clnt_stat nfsproc3_setattr_3(SETATTR3args , SETATTR3res *, CLIENT *);
933*10465441SEvalZero #define	NFSPROC3_LOOKUP	3
934*10465441SEvalZero extern  enum clnt_stat nfsproc3_lookup_3(LOOKUP3args , LOOKUP3res *, CLIENT *);
935*10465441SEvalZero #define	NFSPROC3_ACCESS	4
936*10465441SEvalZero extern  enum clnt_stat nfsproc3_access_3(ACCESS3args , ACCESS3res *, CLIENT *);
937*10465441SEvalZero #define	NFSPROC3_READLINK	5
938*10465441SEvalZero extern  enum clnt_stat nfsproc3_readlink_3(READLINK3args , READLINK3res *, CLIENT *);
939*10465441SEvalZero #define	NFSPROC3_READ	6
940*10465441SEvalZero extern  enum clnt_stat nfsproc3_read_3(READ3args , READ3res *, CLIENT *);
941*10465441SEvalZero #define	NFSPROC3_WRITE	7
942*10465441SEvalZero extern  enum clnt_stat nfsproc3_write_3(WRITE3args , WRITE3res *, CLIENT *);
943*10465441SEvalZero #define	NFSPROC3_CREATE	8
944*10465441SEvalZero extern  enum clnt_stat nfsproc3_create_3(CREATE3args , CREATE3res *, CLIENT *);
945*10465441SEvalZero #define	NFSPROC3_MKDIR	9
946*10465441SEvalZero extern  enum clnt_stat nfsproc3_mkdir_3(MKDIR3args , MKDIR3res *, CLIENT *);
947*10465441SEvalZero #define	NFSPROC3_SYMLINK	10
948*10465441SEvalZero extern  enum clnt_stat nfsproc3_symlink_3(SYMLINK3args , SYMLINK3res *, CLIENT *);
949*10465441SEvalZero #define	NFSPROC3_MKNOD	11
950*10465441SEvalZero extern  enum clnt_stat nfsproc3_mknod_3(MKNOD3args , MKNOD3res *, CLIENT *);
951*10465441SEvalZero #define	NFSPROC3_REMOVE	12
952*10465441SEvalZero extern  enum clnt_stat nfsproc3_remove_3(REMOVE3args , REMOVE3res *, CLIENT *);
953*10465441SEvalZero #define	NFSPROC3_RMDIR	13
954*10465441SEvalZero extern  enum clnt_stat nfsproc3_rmdir_3(RMDIR3args , RMDIR3res *, CLIENT *);
955*10465441SEvalZero #define	NFSPROC3_RENAME	14
956*10465441SEvalZero extern  enum clnt_stat nfsproc3_rename_3(RENAME3args , RENAME3res *, CLIENT *);
957*10465441SEvalZero #define	NFSPROC3_LINK	15
958*10465441SEvalZero extern  enum clnt_stat nfsproc3_link_3(LINK3args , LINK3res *, CLIENT *);
959*10465441SEvalZero #define	NFSPROC3_READDIR	16
960*10465441SEvalZero extern  enum clnt_stat nfsproc3_readdir_3(READDIR3args , READDIR3res *, CLIENT *);
961*10465441SEvalZero #define	NFSPROC3_READDIRPLUS	17
962*10465441SEvalZero extern  enum clnt_stat nfsproc3_readdirplus_3(READDIRPLUS3args , READDIRPLUS3res *, CLIENT *);
963*10465441SEvalZero #define	NFSPROC3_FSSTAT	18
964*10465441SEvalZero extern  enum clnt_stat nfsproc3_fsstat_3(FSSTAT3args , FSSTAT3res *, CLIENT *);
965*10465441SEvalZero #define	NFSPROC3_FSINFO	19
966*10465441SEvalZero extern  enum clnt_stat nfsproc3_fsinfo_3(FSINFO3args , FSINFO3res *, CLIENT *);
967*10465441SEvalZero #define	NFSPROC3_PATHCONF	20
968*10465441SEvalZero extern  enum clnt_stat nfsproc3_pathconf_3(PATHCONF3args , PATHCONF3res *, CLIENT *);
969*10465441SEvalZero #define	NFSPROC3_COMMIT	21
970*10465441SEvalZero extern  enum clnt_stat nfsproc3_commit_3(COMMIT3args , COMMIT3res *, CLIENT *);
971*10465441SEvalZero 
972*10465441SEvalZero /* the xdr functions */
973*10465441SEvalZero 
974*10465441SEvalZero extern  bool_t xdr_uint64(XDR *, uint64*);
975*10465441SEvalZero extern  bool_t xdr_int64(XDR *, int64*);
976*10465441SEvalZero extern  bool_t xdr_uint32(XDR *, uint32*);
977*10465441SEvalZero extern  bool_t xdr_int32(XDR *, int32*);
978*10465441SEvalZero extern  bool_t xdr_filename3(XDR *, filename3*);
979*10465441SEvalZero extern  bool_t xdr_nfspath3(XDR *, nfspath3*);
980*10465441SEvalZero extern  bool_t xdr_fileid3(XDR *, fileid3*);
981*10465441SEvalZero extern  bool_t xdr_cookie3(XDR *, cookie3*);
982*10465441SEvalZero extern  bool_t xdr_cookieverf3(XDR *, cookieverf3);
983*10465441SEvalZero extern  bool_t xdr_createverf3(XDR *, createverf3);
984*10465441SEvalZero extern  bool_t xdr_writeverf3(XDR *, writeverf3);
985*10465441SEvalZero extern  bool_t xdr_uid3(XDR *, uid3*);
986*10465441SEvalZero extern  bool_t xdr_gid3(XDR *, gid3*);
987*10465441SEvalZero extern  bool_t xdr_size3(XDR *, size3*);
988*10465441SEvalZero extern  bool_t xdr_offset3(XDR *, offset3*);
989*10465441SEvalZero extern  bool_t xdr_mode3(XDR *, mode3*);
990*10465441SEvalZero extern  bool_t xdr_count3(XDR *, count3*);
991*10465441SEvalZero extern  bool_t xdr_nfsstat3(XDR *, nfsstat3*);
992*10465441SEvalZero extern  bool_t xdr_ftype3(XDR *, ftype3*);
993*10465441SEvalZero extern  bool_t xdr_stable_how(XDR *, stable_how*);
994*10465441SEvalZero extern  bool_t xdr_createmode3(XDR *, createmode3*);
995*10465441SEvalZero extern  bool_t xdr_specdata3(XDR *, specdata3*);
996*10465441SEvalZero extern  bool_t xdr_nfs_fh3(XDR *, nfs_fh3*);
997*10465441SEvalZero extern  bool_t xdr_nfstime3(XDR *, nfstime3*);
998*10465441SEvalZero extern  bool_t xdr_fattr3(XDR *, fattr3*);
999*10465441SEvalZero extern  bool_t xdr_post_op_attr(XDR *, post_op_attr*);
1000*10465441SEvalZero extern  bool_t xdr_wcc_attr(XDR *, wcc_attr*);
1001*10465441SEvalZero extern  bool_t xdr_pre_op_attr(XDR *, pre_op_attr*);
1002*10465441SEvalZero extern  bool_t xdr_wcc_data(XDR *, wcc_data*);
1003*10465441SEvalZero extern  bool_t xdr_post_op_fh3(XDR *, post_op_fh3*);
1004*10465441SEvalZero extern  bool_t xdr_time_how(XDR *, time_how*);
1005*10465441SEvalZero extern  bool_t xdr_set_mode3(XDR *, set_mode3*);
1006*10465441SEvalZero extern  bool_t xdr_set_uid3(XDR *, set_uid3*);
1007*10465441SEvalZero extern  bool_t xdr_set_gid3(XDR *, set_gid3*);
1008*10465441SEvalZero extern  bool_t xdr_set_size3(XDR *, set_size3*);
1009*10465441SEvalZero extern  bool_t xdr_set_atime(XDR *, set_atime*);
1010*10465441SEvalZero extern  bool_t xdr_set_mtime(XDR *, set_mtime*);
1011*10465441SEvalZero extern  bool_t xdr_sattr3(XDR *, sattr3*);
1012*10465441SEvalZero extern  bool_t xdr_diropargs3(XDR *, diropargs3*);
1013*10465441SEvalZero extern  bool_t xdr_GETATTR3args(XDR *, GETATTR3args*);
1014*10465441SEvalZero extern  bool_t xdr_GETATTR3resok(XDR *, GETATTR3resok*);
1015*10465441SEvalZero extern  bool_t xdr_GETATTR3res(XDR *, GETATTR3res*);
1016*10465441SEvalZero extern  bool_t xdr_sattrguard3(XDR *, sattrguard3*);
1017*10465441SEvalZero extern  bool_t xdr_SETATTR3args(XDR *, SETATTR3args*);
1018*10465441SEvalZero extern  bool_t xdr_SETATTR3resok(XDR *, SETATTR3resok*);
1019*10465441SEvalZero extern  bool_t xdr_SETATTR3resfail(XDR *, SETATTR3resfail*);
1020*10465441SEvalZero extern  bool_t xdr_SETATTR3res(XDR *, SETATTR3res*);
1021*10465441SEvalZero extern  bool_t xdr_LOOKUP3args(XDR *, LOOKUP3args*);
1022*10465441SEvalZero extern  bool_t xdr_LOOKUP3resok(XDR *, LOOKUP3resok*);
1023*10465441SEvalZero extern  bool_t xdr_LOOKUP3resfail(XDR *, LOOKUP3resfail*);
1024*10465441SEvalZero extern  bool_t xdr_LOOKUP3res(XDR *, LOOKUP3res*);
1025*10465441SEvalZero extern  bool_t xdr_ACCESS3args(XDR *, ACCESS3args*);
1026*10465441SEvalZero extern  bool_t xdr_ACCESS3resok(XDR *, ACCESS3resok*);
1027*10465441SEvalZero extern  bool_t xdr_ACCESS3resfail(XDR *, ACCESS3resfail*);
1028*10465441SEvalZero extern  bool_t xdr_ACCESS3res(XDR *, ACCESS3res*);
1029*10465441SEvalZero extern  bool_t xdr_READLINK3args(XDR *, READLINK3args*);
1030*10465441SEvalZero extern  bool_t xdr_READLINK3resok(XDR *, READLINK3resok*);
1031*10465441SEvalZero extern  bool_t xdr_READLINK3resfail(XDR *, READLINK3resfail*);
1032*10465441SEvalZero extern  bool_t xdr_READLINK3res(XDR *, READLINK3res*);
1033*10465441SEvalZero extern  bool_t xdr_READ3args(XDR *, READ3args*);
1034*10465441SEvalZero extern  bool_t xdr_READ3resok(XDR *, READ3resok*);
1035*10465441SEvalZero extern  bool_t xdr_READ3resfail(XDR *, READ3resfail*);
1036*10465441SEvalZero extern  bool_t xdr_READ3res(XDR *, READ3res*);
1037*10465441SEvalZero extern  bool_t xdr_WRITE3args(XDR *, WRITE3args*);
1038*10465441SEvalZero extern  bool_t xdr_WRITE3resok(XDR *, WRITE3resok*);
1039*10465441SEvalZero extern  bool_t xdr_WRITE3resfail(XDR *, WRITE3resfail*);
1040*10465441SEvalZero extern  bool_t xdr_WRITE3res(XDR *, WRITE3res*);
1041*10465441SEvalZero extern  bool_t xdr_createhow3(XDR *, createhow3*);
1042*10465441SEvalZero extern  bool_t xdr_CREATE3args(XDR *, CREATE3args*);
1043*10465441SEvalZero extern  bool_t xdr_CREATE3resok(XDR *, CREATE3resok*);
1044*10465441SEvalZero extern  bool_t xdr_CREATE3resfail(XDR *, CREATE3resfail*);
1045*10465441SEvalZero extern  bool_t xdr_CREATE3res(XDR *, CREATE3res*);
1046*10465441SEvalZero extern  bool_t xdr_MKDIR3args(XDR *, MKDIR3args*);
1047*10465441SEvalZero extern  bool_t xdr_MKDIR3resok(XDR *, MKDIR3resok*);
1048*10465441SEvalZero extern  bool_t xdr_MKDIR3resfail(XDR *, MKDIR3resfail*);
1049*10465441SEvalZero extern  bool_t xdr_MKDIR3res(XDR *, MKDIR3res*);
1050*10465441SEvalZero extern  bool_t xdr_symlinkdata3(XDR *, symlinkdata3*);
1051*10465441SEvalZero extern  bool_t xdr_SYMLINK3args(XDR *, SYMLINK3args*);
1052*10465441SEvalZero extern  bool_t xdr_SYMLINK3resok(XDR *, SYMLINK3resok*);
1053*10465441SEvalZero extern  bool_t xdr_SYMLINK3resfail(XDR *, SYMLINK3resfail*);
1054*10465441SEvalZero extern  bool_t xdr_SYMLINK3res(XDR *, SYMLINK3res*);
1055*10465441SEvalZero extern  bool_t xdr_devicedata3(XDR *, devicedata3*);
1056*10465441SEvalZero extern  bool_t xdr_mknoddata3(XDR *, mknoddata3*);
1057*10465441SEvalZero extern  bool_t xdr_MKNOD3args(XDR *, MKNOD3args*);
1058*10465441SEvalZero extern  bool_t xdr_MKNOD3resok(XDR *, MKNOD3resok*);
1059*10465441SEvalZero extern  bool_t xdr_MKNOD3resfail(XDR *, MKNOD3resfail*);
1060*10465441SEvalZero extern  bool_t xdr_MKNOD3res(XDR *, MKNOD3res*);
1061*10465441SEvalZero extern  bool_t xdr_REMOVE3args(XDR *, REMOVE3args*);
1062*10465441SEvalZero extern  bool_t xdr_REMOVE3resok(XDR *, REMOVE3resok*);
1063*10465441SEvalZero extern  bool_t xdr_REMOVE3resfail(XDR *, REMOVE3resfail*);
1064*10465441SEvalZero extern  bool_t xdr_REMOVE3res(XDR *, REMOVE3res*);
1065*10465441SEvalZero extern  bool_t xdr_RMDIR3args(XDR *, RMDIR3args*);
1066*10465441SEvalZero extern  bool_t xdr_RMDIR3resok(XDR *, RMDIR3resok*);
1067*10465441SEvalZero extern  bool_t xdr_RMDIR3resfail(XDR *, RMDIR3resfail*);
1068*10465441SEvalZero extern  bool_t xdr_RMDIR3res(XDR *, RMDIR3res*);
1069*10465441SEvalZero extern  bool_t xdr_RENAME3args(XDR *, RENAME3args*);
1070*10465441SEvalZero extern  bool_t xdr_RENAME3resok(XDR *, RENAME3resok*);
1071*10465441SEvalZero extern  bool_t xdr_RENAME3resfail(XDR *, RENAME3resfail*);
1072*10465441SEvalZero extern  bool_t xdr_RENAME3res(XDR *, RENAME3res*);
1073*10465441SEvalZero extern  bool_t xdr_LINK3args(XDR *, LINK3args*);
1074*10465441SEvalZero extern  bool_t xdr_LINK3resok(XDR *, LINK3resok*);
1075*10465441SEvalZero extern  bool_t xdr_LINK3resfail(XDR *, LINK3resfail*);
1076*10465441SEvalZero extern  bool_t xdr_LINK3res(XDR *, LINK3res*);
1077*10465441SEvalZero extern  bool_t xdr_READDIR3args(XDR *, READDIR3args*);
1078*10465441SEvalZero extern  bool_t xdr_entry3(XDR *, entry3*);
1079*10465441SEvalZero extern  bool_t xdr_dirlist3(XDR *, dirlist3*);
1080*10465441SEvalZero extern  bool_t xdr_READDIR3resok(XDR *, READDIR3resok*);
1081*10465441SEvalZero extern  bool_t xdr_READDIR3resfail(XDR *, READDIR3resfail*);
1082*10465441SEvalZero extern  bool_t xdr_READDIR3res(XDR *, READDIR3res*);
1083*10465441SEvalZero extern  bool_t xdr_READDIRPLUS3args(XDR *, READDIRPLUS3args*);
1084*10465441SEvalZero extern  bool_t xdr_entryplus3(XDR *, entryplus3*);
1085*10465441SEvalZero extern  bool_t xdr_dirlistplus3(XDR *, dirlistplus3*);
1086*10465441SEvalZero extern  bool_t xdr_READDIRPLUS3resok(XDR *, READDIRPLUS3resok*);
1087*10465441SEvalZero extern  bool_t xdr_READDIRPLUS3resfail(XDR *, READDIRPLUS3resfail*);
1088*10465441SEvalZero extern  bool_t xdr_READDIRPLUS3res(XDR *, READDIRPLUS3res*);
1089*10465441SEvalZero extern  bool_t xdr_FSSTAT3args(XDR *, FSSTAT3args*);
1090*10465441SEvalZero extern  bool_t xdr_FSSTAT3resok(XDR *, FSSTAT3resok*);
1091*10465441SEvalZero extern  bool_t xdr_FSSTAT3resfail(XDR *, FSSTAT3resfail*);
1092*10465441SEvalZero extern  bool_t xdr_FSSTAT3res(XDR *, FSSTAT3res*);
1093*10465441SEvalZero extern  bool_t xdr_FSINFO3args(XDR *, FSINFO3args*);
1094*10465441SEvalZero extern  bool_t xdr_FSINFO3resok(XDR *, FSINFO3resok*);
1095*10465441SEvalZero extern  bool_t xdr_FSINFO3resfail(XDR *, FSINFO3resfail*);
1096*10465441SEvalZero extern  bool_t xdr_FSINFO3res(XDR *, FSINFO3res*);
1097*10465441SEvalZero extern  bool_t xdr_PATHCONF3args(XDR *, PATHCONF3args*);
1098*10465441SEvalZero extern  bool_t xdr_PATHCONF3resok(XDR *, PATHCONF3resok*);
1099*10465441SEvalZero extern  bool_t xdr_PATHCONF3resfail(XDR *, PATHCONF3resfail*);
1100*10465441SEvalZero extern  bool_t xdr_PATHCONF3res(XDR *, PATHCONF3res*);
1101*10465441SEvalZero extern  bool_t xdr_COMMIT3args(XDR *, COMMIT3args*);
1102*10465441SEvalZero extern  bool_t xdr_COMMIT3resok(XDR *, COMMIT3resok*);
1103*10465441SEvalZero extern  bool_t xdr_COMMIT3resfail(XDR *, COMMIT3resfail*);
1104*10465441SEvalZero extern  bool_t xdr_COMMIT3res(XDR *, COMMIT3res*);
1105*10465441SEvalZero 
1106*10465441SEvalZero #ifdef __cplusplus
1107*10465441SEvalZero }
1108*10465441SEvalZero #endif
1109*10465441SEvalZero 
1110*10465441SEvalZero #endif /* !_NFS_H_RPCGEN */
1111