source: rtems/cpukit/libfs/src/nfsclient/proto/nfs_prot_xdr.c @ 295b05f9

Last change on this file since 295b05f9 was 295b05f9, checked in by Sebastian Huber <sebastian.huber@…>, on 12/02/20 at 12:02:58

nfsclient: Rework Doxygen groups

Update #3706.

  • Property mode set to 100644
File size: 14.1 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup RTEMSFileSystemNFSProt NFS Prot
5 *
6 * @brief NFS Prot XDR
7 */
8
9/*
10 * Please do not edit this file.
11 * It was generated using rpcgen.
12 */
13
14#include "nfs_prot.h"
15#ifndef lint
16/*static char sccsid[] = "from: @(#)nfs_prot.x 1.2 87/10/12 Copyr 1987 Sun Micro";*/
17/*static char sccsid[] = "from: @(#)nfs_prot.x  2.1 88/08/01 4.0 RPCSRC";*/
18  #if !defined(__rtems__)
19    static char rcsid[] = "$Id$";
20  #endif
21#endif /* not lint */
22
23bool_t
24xdr_nfsstat (XDR *xdrs, nfsstat *objp)
25{
26         if (!xdr_enum (xdrs, (enum_t *) objp))
27                 return FALSE;
28        return TRUE;
29}
30
31bool_t
32xdr_ftype (XDR *xdrs, ftype *objp)
33{
34         if (!xdr_enum (xdrs, (enum_t *) objp))
35                 return FALSE;
36        return TRUE;
37}
38
39bool_t
40xdr_nfs_fh (XDR *xdrs, nfs_fh *objp)
41{
42         if (!xdr_opaque (xdrs, objp->data, NFS_FHSIZE))
43                 return FALSE;
44        return TRUE;
45}
46
47bool_t
48xdr_nfstime (XDR *xdrs, nfstime *objp)
49{
50         if (!xdr_u_int (xdrs, &objp->seconds))
51                 return FALSE;
52         if (!xdr_u_int (xdrs, &objp->useconds))
53                 return FALSE;
54        return TRUE;
55}
56
57bool_t
58xdr_fattr (XDR *xdrs, fattr *objp)
59{
60        register int32_t *buf;
61
62
63        if (xdrs->x_op == XDR_ENCODE) {
64                 if (!xdr_ftype (xdrs, &objp->type))
65                         return FALSE;
66                buf = XDR_INLINE (xdrs, 10 * BYTES_PER_XDR_UNIT);
67                if (buf == NULL) {
68                         if (!xdr_u_int (xdrs, &objp->mode))
69                                 return FALSE;
70                         if (!xdr_u_int (xdrs, &objp->nlink))
71                                 return FALSE;
72                         if (!xdr_u_int (xdrs, &objp->uid))
73                                 return FALSE;
74                         if (!xdr_u_int (xdrs, &objp->gid))
75                                 return FALSE;
76                         if (!xdr_u_int (xdrs, &objp->size))
77                                 return FALSE;
78                         if (!xdr_u_int (xdrs, &objp->blocksize))
79                                 return FALSE;
80                         if (!xdr_u_int (xdrs, &objp->rdev))
81                                 return FALSE;
82                         if (!xdr_u_int (xdrs, &objp->blocks))
83                                 return FALSE;
84                         if (!xdr_u_int (xdrs, &objp->fsid))
85                                 return FALSE;
86                         if (!xdr_u_int (xdrs, &objp->fileid))
87                                 return FALSE;
88
89                } else {
90                IXDR_PUT_U_LONG(buf, objp->mode);
91                IXDR_PUT_U_LONG(buf, objp->nlink);
92                IXDR_PUT_U_LONG(buf, objp->uid);
93                IXDR_PUT_U_LONG(buf, objp->gid);
94                IXDR_PUT_U_LONG(buf, objp->size);
95                IXDR_PUT_U_LONG(buf, objp->blocksize);
96                IXDR_PUT_U_LONG(buf, objp->rdev);
97                IXDR_PUT_U_LONG(buf, objp->blocks);
98                IXDR_PUT_U_LONG(buf, objp->fsid);
99                IXDR_PUT_U_LONG(buf, objp->fileid);
100                }
101                 if (!xdr_nfstime (xdrs, &objp->atime))
102                         return FALSE;
103                 if (!xdr_nfstime (xdrs, &objp->mtime))
104                         return FALSE;
105                 if (!xdr_nfstime (xdrs, &objp->ctime))
106                         return FALSE;
107                return TRUE;
108        } else if (xdrs->x_op == XDR_DECODE) {
109                 if (!xdr_ftype (xdrs, &objp->type))
110                         return FALSE;
111                buf = XDR_INLINE (xdrs, 10 * BYTES_PER_XDR_UNIT);
112                if (buf == NULL) {
113                         if (!xdr_u_int (xdrs, &objp->mode))
114                                 return FALSE;
115                         if (!xdr_u_int (xdrs, &objp->nlink))
116                                 return FALSE;
117                         if (!xdr_u_int (xdrs, &objp->uid))
118                                 return FALSE;
119                         if (!xdr_u_int (xdrs, &objp->gid))
120                                 return FALSE;
121                         if (!xdr_u_int (xdrs, &objp->size))
122                                 return FALSE;
123                         if (!xdr_u_int (xdrs, &objp->blocksize))
124                                 return FALSE;
125                         if (!xdr_u_int (xdrs, &objp->rdev))
126                                 return FALSE;
127                         if (!xdr_u_int (xdrs, &objp->blocks))
128                                 return FALSE;
129                         if (!xdr_u_int (xdrs, &objp->fsid))
130                                 return FALSE;
131                         if (!xdr_u_int (xdrs, &objp->fileid))
132                                 return FALSE;
133
134                } else {
135                objp->mode = IXDR_GET_U_LONG(buf);
136                objp->nlink = IXDR_GET_U_LONG(buf);
137                objp->uid = IXDR_GET_U_LONG(buf);
138                objp->gid = IXDR_GET_U_LONG(buf);
139                objp->size = IXDR_GET_U_LONG(buf);
140                objp->blocksize = IXDR_GET_U_LONG(buf);
141                objp->rdev = IXDR_GET_U_LONG(buf);
142                objp->blocks = IXDR_GET_U_LONG(buf);
143                objp->fsid = IXDR_GET_U_LONG(buf);
144                objp->fileid = IXDR_GET_U_LONG(buf);
145                }
146                 if (!xdr_nfstime (xdrs, &objp->atime))
147                         return FALSE;
148                 if (!xdr_nfstime (xdrs, &objp->mtime))
149                         return FALSE;
150                 if (!xdr_nfstime (xdrs, &objp->ctime))
151                         return FALSE;
152         return TRUE;
153        }
154
155         if (!xdr_ftype (xdrs, &objp->type))
156                 return FALSE;
157         if (!xdr_u_int (xdrs, &objp->mode))
158                 return FALSE;
159         if (!xdr_u_int (xdrs, &objp->nlink))
160                 return FALSE;
161         if (!xdr_u_int (xdrs, &objp->uid))
162                 return FALSE;
163         if (!xdr_u_int (xdrs, &objp->gid))
164                 return FALSE;
165         if (!xdr_u_int (xdrs, &objp->size))
166                 return FALSE;
167         if (!xdr_u_int (xdrs, &objp->blocksize))
168                 return FALSE;
169         if (!xdr_u_int (xdrs, &objp->rdev))
170                 return FALSE;
171         if (!xdr_u_int (xdrs, &objp->blocks))
172                 return FALSE;
173         if (!xdr_u_int (xdrs, &objp->fsid))
174                 return FALSE;
175         if (!xdr_u_int (xdrs, &objp->fileid))
176                 return FALSE;
177         if (!xdr_nfstime (xdrs, &objp->atime))
178                 return FALSE;
179         if (!xdr_nfstime (xdrs, &objp->mtime))
180                 return FALSE;
181         if (!xdr_nfstime (xdrs, &objp->ctime))
182                 return FALSE;
183        return TRUE;
184}
185
186bool_t
187xdr_sattr (XDR *xdrs, sattr *objp)
188{
189        register int32_t *buf;
190
191
192        if (xdrs->x_op == XDR_ENCODE) {
193                buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
194                if (buf == NULL) {
195                         if (!xdr_u_int (xdrs, &objp->mode))
196                                 return FALSE;
197                         if (!xdr_u_int (xdrs, &objp->uid))
198                                 return FALSE;
199                         if (!xdr_u_int (xdrs, &objp->gid))
200                                 return FALSE;
201                         if (!xdr_u_int (xdrs, &objp->size))
202                                 return FALSE;
203
204                } else {
205                IXDR_PUT_U_LONG(buf, objp->mode);
206                IXDR_PUT_U_LONG(buf, objp->uid);
207                IXDR_PUT_U_LONG(buf, objp->gid);
208                IXDR_PUT_U_LONG(buf, objp->size);
209                }
210                 if (!xdr_nfstime (xdrs, &objp->atime))
211                         return FALSE;
212                 if (!xdr_nfstime (xdrs, &objp->mtime))
213                         return FALSE;
214                return TRUE;
215        } else if (xdrs->x_op == XDR_DECODE) {
216                buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
217                if (buf == NULL) {
218                         if (!xdr_u_int (xdrs, &objp->mode))
219                                 return FALSE;
220                         if (!xdr_u_int (xdrs, &objp->uid))
221                                 return FALSE;
222                         if (!xdr_u_int (xdrs, &objp->gid))
223                                 return FALSE;
224                         if (!xdr_u_int (xdrs, &objp->size))
225                                 return FALSE;
226
227                } else {
228                objp->mode = IXDR_GET_U_LONG(buf);
229                objp->uid = IXDR_GET_U_LONG(buf);
230                objp->gid = IXDR_GET_U_LONG(buf);
231                objp->size = IXDR_GET_U_LONG(buf);
232                }
233                 if (!xdr_nfstime (xdrs, &objp->atime))
234                         return FALSE;
235                 if (!xdr_nfstime (xdrs, &objp->mtime))
236                         return FALSE;
237         return TRUE;
238        }
239
240         if (!xdr_u_int (xdrs, &objp->mode))
241                 return FALSE;
242         if (!xdr_u_int (xdrs, &objp->uid))
243                 return FALSE;
244         if (!xdr_u_int (xdrs, &objp->gid))
245                 return FALSE;
246         if (!xdr_u_int (xdrs, &objp->size))
247                 return FALSE;
248         if (!xdr_nfstime (xdrs, &objp->atime))
249                 return FALSE;
250         if (!xdr_nfstime (xdrs, &objp->mtime))
251                 return FALSE;
252        return TRUE;
253}
254
255bool_t
256xdr_filename (XDR *xdrs, filename *objp)
257{
258         if (!xdr_string (xdrs, objp, NFS_MAXNAMLEN))
259                 return FALSE;
260        return TRUE;
261}
262
263bool_t
264xdr_nfspath (XDR *xdrs, nfspath *objp)
265{
266         if (!xdr_string (xdrs, objp, NFS_MAXPATHLEN))
267                 return FALSE;
268        return TRUE;
269}
270
271bool_t
272xdr_attrstat (XDR *xdrs, attrstat *objp)
273{
274         if (!xdr_nfsstat (xdrs, &objp->status))
275                 return FALSE;
276        switch (objp->status) {
277        case NFS_OK:
278                 if (!xdr_fattr (xdrs, &objp->attrstat_u.attributes))
279                         return FALSE;
280                break;
281        default:
282                break;
283        }
284        return TRUE;
285}
286
287bool_t
288xdr_sattrargs (XDR *xdrs, sattrargs *objp)
289{
290         if (!xdr_nfs_fh (xdrs, &objp->file))
291                 return FALSE;
292         if (!xdr_sattr (xdrs, &objp->attributes))
293                 return FALSE;
294        return TRUE;
295}
296
297bool_t
298xdr_diropargs (XDR *xdrs, diropargs *objp)
299{
300         if (!xdr_nfs_fh (xdrs, &objp->dir))
301                 return FALSE;
302         if (!xdr_filename (xdrs, &objp->name))
303                 return FALSE;
304        return TRUE;
305}
306
307bool_t
308xdr_diropokres (XDR *xdrs, diropokres *objp)
309{
310         if (!xdr_nfs_fh (xdrs, &objp->file))
311                 return FALSE;
312         if (!xdr_fattr (xdrs, &objp->attributes))
313                 return FALSE;
314        return TRUE;
315}
316
317bool_t
318xdr_diropres (XDR *xdrs, diropres *objp)
319{
320         if (!xdr_nfsstat (xdrs, &objp->status))
321                 return FALSE;
322        switch (objp->status) {
323        case NFS_OK:
324                 if (!xdr_diropokres (xdrs, &objp->diropres_u.diropres))
325                         return FALSE;
326                break;
327        default:
328                break;
329        }
330        return TRUE;
331}
332
333bool_t
334xdr_readlinkres (XDR *xdrs, readlinkres *objp)
335{
336         if (!xdr_nfsstat (xdrs, &objp->status))
337                 return FALSE;
338        switch (objp->status) {
339        case NFS_OK:
340                 if (!xdr_nfspath (xdrs, &objp->readlinkres_u.data))
341                         return FALSE;
342                break;
343        default:
344                break;
345        }
346        return TRUE;
347}
348
349bool_t
350xdr_readargs (XDR *xdrs, readargs *objp)
351{
352         if (!xdr_nfs_fh (xdrs, &objp->file))
353                 return FALSE;
354         if (!xdr_u_int (xdrs, &objp->offset))
355                 return FALSE;
356         if (!xdr_u_int (xdrs, &objp->count))
357                 return FALSE;
358         if (!xdr_u_int (xdrs, &objp->totalcount))
359                 return FALSE;
360        return TRUE;
361}
362
363bool_t
364xdr_readokres (XDR *xdrs, readokres *objp)
365{
366         if (!xdr_fattr (xdrs, &objp->attributes))
367                 return FALSE;
368         if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS_MAXDATA))
369                 return FALSE;
370        return TRUE;
371}
372
373bool_t
374xdr_readres (XDR *xdrs, readres *objp)
375{
376         if (!xdr_nfsstat (xdrs, &objp->status))
377                 return FALSE;
378        switch (objp->status) {
379        case NFS_OK:
380                 if (!xdr_readokres (xdrs, &objp->readres_u.reply))
381                         return FALSE;
382                break;
383        default:
384                break;
385        }
386        return TRUE;
387}
388
389bool_t
390xdr_writeargs (XDR *xdrs, writeargs *objp)
391{
392        register int32_t *buf;
393
394
395        if (xdrs->x_op == XDR_ENCODE) {
396                 if (!xdr_nfs_fh (xdrs, &objp->file))
397                         return FALSE;
398                buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
399                if (buf == NULL) {
400                         if (!xdr_u_int (xdrs, &objp->beginoffset))
401                                 return FALSE;
402                         if (!xdr_u_int (xdrs, &objp->offset))
403                                 return FALSE;
404                         if (!xdr_u_int (xdrs, &objp->totalcount))
405                                 return FALSE;
406
407                } else {
408                IXDR_PUT_U_LONG(buf, objp->beginoffset);
409                IXDR_PUT_U_LONG(buf, objp->offset);
410                IXDR_PUT_U_LONG(buf, objp->totalcount);
411                }
412                 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS_MAXDATA))
413                         return FALSE;
414                return TRUE;
415        } else if (xdrs->x_op == XDR_DECODE) {
416                 if (!xdr_nfs_fh (xdrs, &objp->file))
417                         return FALSE;
418                buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
419                if (buf == NULL) {
420                         if (!xdr_u_int (xdrs, &objp->beginoffset))
421                                 return FALSE;
422                         if (!xdr_u_int (xdrs, &objp->offset))
423                                 return FALSE;
424                         if (!xdr_u_int (xdrs, &objp->totalcount))
425                                 return FALSE;
426
427                } else {
428                objp->beginoffset = IXDR_GET_U_LONG(buf);
429                objp->offset = IXDR_GET_U_LONG(buf);
430                objp->totalcount = IXDR_GET_U_LONG(buf);
431                }
432                 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS_MAXDATA))
433                         return FALSE;
434         return TRUE;
435        }
436
437         if (!xdr_nfs_fh (xdrs, &objp->file))
438                 return FALSE;
439         if (!xdr_u_int (xdrs, &objp->beginoffset))
440                 return FALSE;
441         if (!xdr_u_int (xdrs, &objp->offset))
442                 return FALSE;
443         if (!xdr_u_int (xdrs, &objp->totalcount))
444                 return FALSE;
445         if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS_MAXDATA))
446                 return FALSE;
447        return TRUE;
448}
449
450bool_t
451xdr_createargs (XDR *xdrs, createargs *objp)
452{
453         if (!xdr_diropargs (xdrs, &objp->where))
454                 return FALSE;
455         if (!xdr_sattr (xdrs, &objp->attributes))
456                 return FALSE;
457        return TRUE;
458}
459
460bool_t
461xdr_renameargs (XDR *xdrs, renameargs *objp)
462{
463         if (!xdr_diropargs (xdrs, &objp->from))
464                 return FALSE;
465         if (!xdr_diropargs (xdrs, &objp->to))
466                 return FALSE;
467        return TRUE;
468}
469
470bool_t
471xdr_linkargs (XDR *xdrs, linkargs *objp)
472{
473         if (!xdr_nfs_fh (xdrs, &objp->from))
474                 return FALSE;
475         if (!xdr_diropargs (xdrs, &objp->to))
476                 return FALSE;
477        return TRUE;
478}
479
480bool_t
481xdr_symlinkargs (XDR *xdrs, symlinkargs *objp)
482{
483         if (!xdr_diropargs (xdrs, &objp->from))
484                 return FALSE;
485         if (!xdr_nfspath (xdrs, &objp->to))
486                 return FALSE;
487         if (!xdr_sattr (xdrs, &objp->attributes))
488                 return FALSE;
489        return TRUE;
490}
491
492bool_t
493xdr_nfscookie (XDR *xdrs, nfscookie *objp)
494{
495         if (!xdr_opaque (xdrs, objp->data, NFS_COOKIESIZE))
496                 return FALSE;
497        return TRUE;
498}
499
500bool_t
501xdr_readdirargs (XDR *xdrs, readdirargs *objp)
502{
503         if (!xdr_nfs_fh (xdrs, &objp->dir))
504                 return FALSE;
505         if (!xdr_nfscookie (xdrs, &objp->cookie))
506                 return FALSE;
507         if (!xdr_u_int (xdrs, &objp->count))
508                 return FALSE;
509        return TRUE;
510}
511
512bool_t
513xdr_entry (XDR *xdrs, entry *objp)
514{
515         if (!xdr_u_int (xdrs, &objp->fileid))
516                 return FALSE;
517         if (!xdr_filename (xdrs, &objp->name))
518                 return FALSE;
519         if (!xdr_nfscookie (xdrs, &objp->cookie))
520                 return FALSE;
521         if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entry), (xdrproc_t) xdr_entry))
522                 return FALSE;
523        return TRUE;
524}
525
526bool_t
527xdr_dirlist (XDR *xdrs, dirlist *objp)
528{
529         if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entry), (xdrproc_t) xdr_entry))
530                 return FALSE;
531         if (!xdr_bool (xdrs, &objp->eof))
532                 return FALSE;
533        return TRUE;
534}
535
536bool_t
537xdr_readdirres (XDR *xdrs, readdirres *objp)
538{
539         if (!xdr_nfsstat (xdrs, &objp->status))
540                 return FALSE;
541        switch (objp->status) {
542        case NFS_OK:
543                 if (!xdr_dirlist (xdrs, &objp->readdirres_u.reply))
544                         return FALSE;
545                break;
546        default:
547                break;
548        }
549        return TRUE;
550}
551
552bool_t
553xdr_statfsokres (XDR *xdrs, statfsokres *objp)
554{
555        register int32_t *buf;
556
557
558        if (xdrs->x_op == XDR_ENCODE) {
559                buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
560                if (buf == NULL) {
561                         if (!xdr_u_int (xdrs, &objp->tsize))
562                                 return FALSE;
563                         if (!xdr_u_int (xdrs, &objp->bsize))
564                                 return FALSE;
565                         if (!xdr_u_int (xdrs, &objp->blocks))
566                                 return FALSE;
567                         if (!xdr_u_int (xdrs, &objp->bfree))
568                                 return FALSE;
569                         if (!xdr_u_int (xdrs, &objp->bavail))
570                                 return FALSE;
571                } else {
572                        IXDR_PUT_U_LONG(buf, objp->tsize);
573                        IXDR_PUT_U_LONG(buf, objp->bsize);
574                        IXDR_PUT_U_LONG(buf, objp->blocks);
575                        IXDR_PUT_U_LONG(buf, objp->bfree);
576                        IXDR_PUT_U_LONG(buf, objp->bavail);
577                }
578                return TRUE;
579        } else if (xdrs->x_op == XDR_DECODE) {
580                buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
581                if (buf == NULL) {
582                         if (!xdr_u_int (xdrs, &objp->tsize))
583                                 return FALSE;
584                         if (!xdr_u_int (xdrs, &objp->bsize))
585                                 return FALSE;
586                         if (!xdr_u_int (xdrs, &objp->blocks))
587                                 return FALSE;
588                         if (!xdr_u_int (xdrs, &objp->bfree))
589                                 return FALSE;
590                         if (!xdr_u_int (xdrs, &objp->bavail))
591                                 return FALSE;
592                } else {
593                        objp->tsize = IXDR_GET_U_LONG(buf);
594                        objp->bsize = IXDR_GET_U_LONG(buf);
595                        objp->blocks = IXDR_GET_U_LONG(buf);
596                        objp->bfree = IXDR_GET_U_LONG(buf);
597                        objp->bavail = IXDR_GET_U_LONG(buf);
598                }
599         return TRUE;
600        }
601
602         if (!xdr_u_int (xdrs, &objp->tsize))
603                 return FALSE;
604         if (!xdr_u_int (xdrs, &objp->bsize))
605                 return FALSE;
606         if (!xdr_u_int (xdrs, &objp->blocks))
607                 return FALSE;
608         if (!xdr_u_int (xdrs, &objp->bfree))
609                 return FALSE;
610         if (!xdr_u_int (xdrs, &objp->bavail))
611                 return FALSE;
612        return TRUE;
613}
614
615bool_t
616xdr_statfsres (XDR *xdrs, statfsres *objp)
617{
618         if (!xdr_nfsstat (xdrs, &objp->status))
619                 return FALSE;
620        switch (objp->status) {
621        case NFS_OK:
622                 if (!xdr_statfsokres (xdrs, &objp->statfsres_u.reply))
623                         return FALSE;
624                break;
625        default:
626                break;
627        }
628        return TRUE;
629}
Note: See TracBrowser for help on using the repository browser.