Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / rx / xdr_afsuuid.c
1 /*
2 * Copyright 2000, International Business Machines Corporation and others.
3 * All Rights Reserved.
4 *
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
8 */
9
10 /*
11 * xdr_afsuuid.c, XDR routine for built in afsUUID data type.
12 */
13
14 #include <afsconfig.h>
15 #include <afs/param.h>
16
17 #if defined(KERNEL) && !defined(UKERNEL)
18 #ifdef AFS_LINUX20_ENV
19 #include "h/string.h"
20 #else
21 #include <sys/param.h>
22 #include <sys/systm.h>
23 #endif
24 #include <roken.h>
25 #endif
26 #include "xdr.h"
27
28 int
29 xdr_afsUUID(XDR * xdrs, afsUUID * objp)
30 {
31 if (!xdr_afs_uint32(xdrs, &objp->time_low)) {
32 return (FALSE);
33 }
34 if (!xdr_u_short(xdrs, &objp->time_mid)) {
35 return (FALSE);
36 }
37 if (!xdr_u_short(xdrs, &objp->time_hi_and_version)) {
38 return (FALSE);
39 }
40 if (!xdr_char(xdrs, &objp->clock_seq_hi_and_reserved)) {
41 return (FALSE);
42 }
43 if (!xdr_char(xdrs, &objp->clock_seq_low)) {
44 return (FALSE);
45 }
46 /* Cast needed here because xdrproc_t officially takes 3 args :-( */
47 if (!xdr_vector(xdrs, (char *)objp->node, 6, sizeof(char), (xdrproc_t)xdr_char)) {
48 return (FALSE);
49 }
50 return (TRUE);
51 }