source: rtems/cpukit/libfs/src/nfsclient/proto/nfs_prot_xdr.c @ 4e59276

4.115
Last change on this file since 4e59276 was 4e59276, checked in by Mathew Kallada <matkallada@…>, on 12/28/12 at 14:05:20

libfs: Doxygen Enhancement Task #5

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