Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / rx / xdr_afsuuid.c
CommitLineData
805e021f
CE
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
28int
29xdr_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}