1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5 
6 #ifndef _NFS_PROT_H_RPCGEN
7 #define _NFS_PROT_H_RPCGEN
8 
9 #include <rpc/rpc.h>
10 
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #define NFS_PORT 2049
17 #define NFS_MAXDATA 8192
18 #define NFS_MAXPATHLEN 1024
19 #define NFS_MAXNAMLEN 255
20 #define NFS_FHSIZE 32
21 #define NFS_COOKIESIZE 4
22 #define NFS_FIFO_DEV -1
23 #define NFSMODE_FMT 0170000
24 #define NFSMODE_DIR 0040000
25 #define NFSMODE_CHR 0020000
26 #define NFSMODE_BLK 0060000
27 #define NFSMODE_REG 0100000
28 #define NFSMODE_LNK 0120000
29 #define NFSMODE_SOCK 0140000
30 #define NFSMODE_FIFO 0010000
31 
32 enum nfsstat {
33 	NFS_OK = 0,
34 	NFSERR_PERM = 1,
35 	NFSERR_NOENT = 2,
36 	NFSERR_IO = 5,
37 	NFSERR_NXIO = 6,
38 	NFSERR_ACCES = 13,
39 	NFSERR_EXIST = 17,
40 	NFSERR_NODEV = 19,
41 	NFSERR_NOTDIR = 20,
42 	NFSERR_ISDIR = 21,
43 	NFSERR_FBIG = 27,
44 	NFSERR_NOSPC = 28,
45 	NFSERR_ROFS = 30,
46 	NFSERR_NAMETOOLONG = 63,
47 	NFSERR_NOTEMPTY = 66,
48 	NFSERR_DQUOT = 69,
49 	NFSERR_STALE = 70,
50 	NFSERR_WFLUSH = 99,
51 };
52 typedef enum nfsstat nfsstat;
53 
54 enum ftype {
55 	NFNON = 0,
56 	NFREG = 1,
57 	NFDIR = 2,
58 	NFBLK = 3,
59 	NFCHR = 4,
60 	NFLNK = 5,
61 	NFSOCK = 6,
62 	NFBAD = 7,
63 	NFFIFO = 8,
64 };
65 typedef enum ftype ftype;
66 
67 struct nfs_fh {
68 	char data[NFS_FHSIZE];
69 };
70 typedef struct nfs_fh nfs_fh;
71 
72 struct nfstime {
73 	u_int seconds;
74 	u_int useconds;
75 };
76 typedef struct nfstime nfstime;
77 
78 struct fattr {
79 	ftype type;
80 	u_int mode;
81 	u_int nlink;
82 	u_int uid;
83 	u_int gid;
84 	u_int size;
85 	u_int blocksize;
86 	u_int rdev;
87 	u_int blocks;
88 	u_int fsid;
89 	u_int fileid;
90 	nfstime atime;
91 	nfstime mtime;
92 	nfstime ctime;
93 };
94 typedef struct fattr fattr;
95 
96 struct sattr {
97 	u_int mode;
98 	u_int uid;
99 	u_int gid;
100 	u_int size;
101 	nfstime atime;
102 	nfstime mtime;
103 };
104 typedef struct sattr sattr;
105 
106 typedef char *filename;
107 
108 typedef char *nfspath;
109 
110 struct attrstat {
111 	nfsstat status;
112 	union {
113 		fattr attributes;
114 	} attrstat_u;
115 };
116 typedef struct attrstat attrstat;
117 
118 struct sattrargs {
119 	nfs_fh file;
120 	sattr attributes;
121 };
122 typedef struct sattrargs sattrargs;
123 
124 struct diropargs {
125 	nfs_fh dir;
126 	filename name;
127 };
128 typedef struct diropargs diropargs;
129 
130 struct diropokres {
131 	nfs_fh file;
132 	fattr attributes;
133 };
134 typedef struct diropokres diropokres;
135 
136 struct diropres {
137 	nfsstat status;
138 	union {
139 		diropokres diropres;
140 	} diropres_u;
141 };
142 typedef struct diropres diropres;
143 
144 struct readlinkres {
145 	nfsstat status;
146 	union {
147 		nfspath data;
148 	} readlinkres_u;
149 };
150 typedef struct readlinkres readlinkres;
151 
152 struct readargs {
153 	nfs_fh file;
154 	u_int offset;
155 	u_int count;
156 	u_int totalcount;
157 };
158 typedef struct readargs readargs;
159 
160 struct readokres {
161 	fattr attributes;
162 	struct {
163 		u_int data_len;
164 		char *data_val;
165 	} data;
166 };
167 typedef struct readokres readokres;
168 
169 struct readres {
170 	nfsstat status;
171 	union {
172 		readokres reply;
173 	} readres_u;
174 };
175 typedef struct readres readres;
176 
177 struct writeargs {
178 	nfs_fh file;
179 	u_int beginoffset;
180 	u_int offset;
181 	u_int totalcount;
182 	struct {
183 		u_int data_len;
184 		char *data_val;
185 	} data;
186 };
187 typedef struct writeargs writeargs;
188 
189 struct createargs {
190 	diropargs where;
191 	sattr attributes;
192 };
193 typedef struct createargs createargs;
194 
195 struct renameargs {
196 	diropargs from;
197 	diropargs to;
198 };
199 typedef struct renameargs renameargs;
200 
201 struct linkargs {
202 	nfs_fh from;
203 	diropargs to;
204 };
205 typedef struct linkargs linkargs;
206 
207 struct symlinkargs {
208 	diropargs from;
209 	nfspath to;
210 	sattr attributes;
211 };
212 typedef struct symlinkargs symlinkargs;
213 
214 typedef char nfscookie[NFS_COOKIESIZE];
215 
216 struct readdirargs {
217 	nfs_fh dir;
218 	nfscookie cookie;
219 	u_int count;
220 };
221 typedef struct readdirargs readdirargs;
222 
223 struct entry {
224 	u_int fileid;
225 	filename name;
226 	nfscookie cookie;
227 	struct entry *nextentry;
228 };
229 typedef struct entry entry;
230 
231 struct dirlist {
232 	entry *entries;
233 	bool_t eof;
234 };
235 typedef struct dirlist dirlist;
236 
237 struct readdirres {
238 	nfsstat status;
239 	union {
240 		dirlist reply;
241 	} readdirres_u;
242 };
243 typedef struct readdirres readdirres;
244 
245 struct statfsokres {
246 	u_int tsize;
247 	u_int bsize;
248 	u_int blocks;
249 	u_int bfree;
250 	u_int bavail;
251 };
252 typedef struct statfsokres statfsokres;
253 
254 struct statfsres {
255 	nfsstat status;
256 	union {
257 		statfsokres reply;
258 	} statfsres_u;
259 };
260 typedef struct statfsres statfsres;
261 
262 #define NFS_PROGRAM 100003
263 #define NFS_VERSION 2
264 
265 #if defined(__STDC__) || defined(__cplusplus)
266 #define NFSPROC_NULL 0
267 extern  void * nfsproc_null_2(void *, CLIENT *);
268 extern  void * nfsproc_null_2_svc(void *, struct svc_req *);
269 #define NFSPROC_GETATTR 1
270 extern  attrstat * nfsproc_getattr_2(nfs_fh *, CLIENT *);
271 extern  attrstat * nfsproc_getattr_2_svc(nfs_fh *, struct svc_req *);
272 #define NFSPROC_SETATTR 2
273 extern  attrstat * nfsproc_setattr_2(sattrargs *, CLIENT *);
274 extern  attrstat * nfsproc_setattr_2_svc(sattrargs *, struct svc_req *);
275 #define NFSPROC_ROOT 3
276 extern  void * nfsproc_root_2(void *, CLIENT *);
277 extern  void * nfsproc_root_2_svc(void *, struct svc_req *);
278 #define NFSPROC_LOOKUP 4
279 extern  diropres * nfsproc_lookup_2(diropargs *, CLIENT *);
280 extern  diropres * nfsproc_lookup_2_svc(diropargs *, struct svc_req *);
281 #define NFSPROC_READLINK 5
282 extern  readlinkres * nfsproc_readlink_2(nfs_fh *, CLIENT *);
283 extern  readlinkres * nfsproc_readlink_2_svc(nfs_fh *, struct svc_req *);
284 #define NFSPROC_READ 6
285 extern  readres * nfsproc_read_2(readargs *, CLIENT *);
286 extern  readres * nfsproc_read_2_svc(readargs *, struct svc_req *);
287 #define NFSPROC_WRITECACHE 7
288 extern  void * nfsproc_writecache_2(void *, CLIENT *);
289 extern  void * nfsproc_writecache_2_svc(void *, struct svc_req *);
290 #define NFSPROC_WRITE 8
291 extern  attrstat * nfsproc_write_2(writeargs *, CLIENT *);
292 extern  attrstat * nfsproc_write_2_svc(writeargs *, struct svc_req *);
293 #define NFSPROC_CREATE 9
294 extern  diropres * nfsproc_create_2(createargs *, CLIENT *);
295 extern  diropres * nfsproc_create_2_svc(createargs *, struct svc_req *);
296 #define NFSPROC_REMOVE 10
297 extern  nfsstat * nfsproc_remove_2(diropargs *, CLIENT *);
298 extern  nfsstat * nfsproc_remove_2_svc(diropargs *, struct svc_req *);
299 #define NFSPROC_RENAME 11
300 extern  nfsstat * nfsproc_rename_2(renameargs *, CLIENT *);
301 extern  nfsstat * nfsproc_rename_2_svc(renameargs *, struct svc_req *);
302 #define NFSPROC_LINK 12
303 extern  nfsstat * nfsproc_link_2(linkargs *, CLIENT *);
304 extern  nfsstat * nfsproc_link_2_svc(linkargs *, struct svc_req *);
305 #define NFSPROC_SYMLINK 13
306 extern  nfsstat * nfsproc_symlink_2(symlinkargs *, CLIENT *);
307 extern  nfsstat * nfsproc_symlink_2_svc(symlinkargs *, struct svc_req *);
308 #define NFSPROC_MKDIR 14
309 extern  diropres * nfsproc_mkdir_2(createargs *, CLIENT *);
310 extern  diropres * nfsproc_mkdir_2_svc(createargs *, struct svc_req *);
311 #define NFSPROC_RMDIR 15
312 extern  nfsstat * nfsproc_rmdir_2(diropargs *, CLIENT *);
313 extern  nfsstat * nfsproc_rmdir_2_svc(diropargs *, struct svc_req *);
314 #define NFSPROC_READDIR 16
315 extern  readdirres * nfsproc_readdir_2(readdirargs *, CLIENT *);
316 extern  readdirres * nfsproc_readdir_2_svc(readdirargs *, struct svc_req *);
317 #define NFSPROC_STATFS 17
318 extern  statfsres * nfsproc_statfs_2(nfs_fh *, CLIENT *);
319 extern  statfsres * nfsproc_statfs_2_svc(nfs_fh *, struct svc_req *);
320 extern int nfs_program_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
321 
322 #else /* K&R C */
323 #define NFSPROC_NULL 0
324 extern  void * nfsproc_null_2();
325 extern  void * nfsproc_null_2_svc();
326 #define NFSPROC_GETATTR 1
327 extern  attrstat * nfsproc_getattr_2();
328 extern  attrstat * nfsproc_getattr_2_svc();
329 #define NFSPROC_SETATTR 2
330 extern  attrstat * nfsproc_setattr_2();
331 extern  attrstat * nfsproc_setattr_2_svc();
332 #define NFSPROC_ROOT 3
333 extern  void * nfsproc_root_2();
334 extern  void * nfsproc_root_2_svc();
335 #define NFSPROC_LOOKUP 4
336 extern  diropres * nfsproc_lookup_2();
337 extern  diropres * nfsproc_lookup_2_svc();
338 #define NFSPROC_READLINK 5
339 extern  readlinkres * nfsproc_readlink_2();
340 extern  readlinkres * nfsproc_readlink_2_svc();
341 #define NFSPROC_READ 6
342 extern  readres * nfsproc_read_2();
343 extern  readres * nfsproc_read_2_svc();
344 #define NFSPROC_WRITECACHE 7
345 extern  void * nfsproc_writecache_2();
346 extern  void * nfsproc_writecache_2_svc();
347 #define NFSPROC_WRITE 8
348 extern  attrstat * nfsproc_write_2();
349 extern  attrstat * nfsproc_write_2_svc();
350 #define NFSPROC_CREATE 9
351 extern  diropres * nfsproc_create_2();
352 extern  diropres * nfsproc_create_2_svc();
353 #define NFSPROC_REMOVE 10
354 extern  nfsstat * nfsproc_remove_2();
355 extern  nfsstat * nfsproc_remove_2_svc();
356 #define NFSPROC_RENAME 11
357 extern  nfsstat * nfsproc_rename_2();
358 extern  nfsstat * nfsproc_rename_2_svc();
359 #define NFSPROC_LINK 12
360 extern  nfsstat * nfsproc_link_2();
361 extern  nfsstat * nfsproc_link_2_svc();
362 #define NFSPROC_SYMLINK 13
363 extern  nfsstat * nfsproc_symlink_2();
364 extern  nfsstat * nfsproc_symlink_2_svc();
365 #define NFSPROC_MKDIR 14
366 extern  diropres * nfsproc_mkdir_2();
367 extern  diropres * nfsproc_mkdir_2_svc();
368 #define NFSPROC_RMDIR 15
369 extern  nfsstat * nfsproc_rmdir_2();
370 extern  nfsstat * nfsproc_rmdir_2_svc();
371 #define NFSPROC_READDIR 16
372 extern  readdirres * nfsproc_readdir_2();
373 extern  readdirres * nfsproc_readdir_2_svc();
374 #define NFSPROC_STATFS 17
375 extern  statfsres * nfsproc_statfs_2();
376 extern  statfsres * nfsproc_statfs_2_svc();
377 extern int nfs_program_2_freeresult ();
378 #endif /* K&R C */
379 
380 /* the xdr functions */
381 
382 #if defined(__STDC__) || defined(__cplusplus)
383 extern  bool_t xdr_nfsstat (XDR *, nfsstat*);
384 extern  bool_t xdr_ftype (XDR *, ftype*);
385 extern  bool_t xdr_nfs_fh (XDR *, nfs_fh*);
386 extern  bool_t xdr_nfstime (XDR *, nfstime*);
387 extern  bool_t xdr_fattr (XDR *, fattr*);
388 extern  bool_t xdr_sattr (XDR *, sattr*);
389 extern  bool_t xdr_filename (XDR *, filename*);
390 extern  bool_t xdr_nfspath (XDR *, nfspath*);
391 extern  bool_t xdr_attrstat (XDR *, attrstat*);
392 extern  bool_t xdr_sattrargs (XDR *, sattrargs*);
393 extern  bool_t xdr_diropargs (XDR *, diropargs*);
394 extern  bool_t xdr_diropokres (XDR *, diropokres*);
395 extern  bool_t xdr_diropres (XDR *, diropres*);
396 extern  bool_t xdr_readlinkres (XDR *, readlinkres*);
397 extern  bool_t xdr_readargs (XDR *, readargs*);
398 extern  bool_t xdr_readokres (XDR *, readokres*);
399 extern  bool_t xdr_readres (XDR *, readres*);
400 extern  bool_t xdr_writeargs (XDR *, writeargs*);
401 extern  bool_t xdr_createargs (XDR *, createargs*);
402 extern  bool_t xdr_renameargs (XDR *, renameargs*);
403 extern  bool_t xdr_linkargs (XDR *, linkargs*);
404 extern  bool_t xdr_symlinkargs (XDR *, symlinkargs*);
405 extern  bool_t xdr_nfscookie (XDR *, nfscookie);
406 extern  bool_t xdr_readdirargs (XDR *, readdirargs*);
407 extern  bool_t xdr_entry (XDR *, entry*);
408 extern  bool_t xdr_dirlist (XDR *, dirlist*);
409 extern  bool_t xdr_readdirres (XDR *, readdirres*);
410 extern  bool_t xdr_statfsokres (XDR *, statfsokres*);
411 extern  bool_t xdr_statfsres (XDR *, statfsres*);
412 
413 #else /* K&R C */
414 extern bool_t xdr_nfsstat ();
415 extern bool_t xdr_ftype ();
416 extern bool_t xdr_nfs_fh ();
417 extern bool_t xdr_nfstime ();
418 extern bool_t xdr_fattr ();
419 extern bool_t xdr_sattr ();
420 extern bool_t xdr_filename ();
421 extern bool_t xdr_nfspath ();
422 extern bool_t xdr_attrstat ();
423 extern bool_t xdr_sattrargs ();
424 extern bool_t xdr_diropargs ();
425 extern bool_t xdr_diropokres ();
426 extern bool_t xdr_diropres ();
427 extern bool_t xdr_readlinkres ();
428 extern bool_t xdr_readargs ();
429 extern bool_t xdr_readokres ();
430 extern bool_t xdr_readres ();
431 extern bool_t xdr_writeargs ();
432 extern bool_t xdr_createargs ();
433 extern bool_t xdr_renameargs ();
434 extern bool_t xdr_linkargs ();
435 extern bool_t xdr_symlinkargs ();
436 extern bool_t xdr_nfscookie ();
437 extern bool_t xdr_readdirargs ();
438 extern bool_t xdr_entry ();
439 extern bool_t xdr_dirlist ();
440 extern bool_t xdr_readdirres ();
441 extern bool_t xdr_statfsokres ();
442 extern bool_t xdr_statfsres ();
443 
444 #endif /* K&R C */
445 
446 #ifdef __cplusplus
447 }
448 #endif
449 
450 #endif /* !_NFS_PROT_H_RPCGEN */
451