3 * XDR routine for int64 (long long or struct)
11 #if defined(KERNEL) && !defined(UKERNEL)
12 #ifdef AFS_LINUX20_ENV
13 #include "../h/string.h"
14 #define bzero(A,C) memset((A), 0, (C))
16 #include <sys/param.h>
17 #include <sys/systm.h>
23 #if defined(KERNEL) && !defined(UKERNEL)
25 #include <afs/longc_procs.h>
31 * XDR afs_int64 integers
38 static afs_int32 high;
39 static afs_uint32 low;
41 if (xdrs->x_op == XDR_DECODE) {
42 if (!XDR_GETINT32(xdrs, (afs_int32 *) &high)) return (FALSE);
43 if (!XDR_GETINT32(xdrs, (afs_int32 *) &low)) return (FALSE);
49 if (xdrs->x_op == XDR_ENCODE) {
51 low = *ulp & 0xFFFFFFFFL;
52 if (!XDR_PUTINT32(xdrs, (afs_int32 *) &high)) return (FALSE);
53 return (XDR_PUTINT32(xdrs, (afs_int32 *) &low));
55 if (xdrs->x_op == XDR_FREE)
61 * XDR afs_int64 integers
68 static afs_uint32 high;
69 static afs_uint32 low;
71 if (xdrs->x_op == XDR_DECODE) {
72 if (!XDR_GETINT32(xdrs, (afs_uint32 *) &high)) return (FALSE);
73 if (!XDR_GETINT32(xdrs, (afs_uint32 *) &low)) return (FALSE);
79 if (xdrs->x_op == XDR_ENCODE) {
81 low = *ulp & 0xFFFFFFFFL;
82 if (!XDR_PUTINT32(xdrs, (afs_uint32 *) &high)) return (FALSE);
83 return (XDR_PUTINT32(xdrs, (afs_uint32 *) &low));
85 if (xdrs->x_op == XDR_FREE)
89 #else /* AFS_64BIT_ENV */
91 * XDR afs_int64 integers
98 if (xdrs->x_op == XDR_DECODE) {
99 if (!XDR_GETINT32(xdrs, (afs_int32 *) &ulp->high)) return (FALSE);
100 return (XDR_GETINT32(xdrs, (afs_int32 *) &ulp->low));
102 if (xdrs->x_op == XDR_ENCODE) {
103 if (!XDR_PUTINT32(xdrs, (afs_int32 *) &ulp->high)) return (FALSE);
104 return (XDR_PUTINT32(xdrs, (afs_int32 *) &ulp->low));
106 if (xdrs->x_op == XDR_FREE)
112 * XDR afs_uint64 integers
115 xdr_uint64(xdrs, ulp)
119 if (xdrs->x_op == XDR_DECODE) {
120 if (!XDR_GETINT32(xdrs, (afs_uint32 *) &ulp->high)) return (FALSE);
121 return (XDR_GETINT32(xdrs, (afs_uint32 *) &ulp->low));
123 if (xdrs->x_op == XDR_ENCODE) {
124 if (!XDR_PUTINT32(xdrs, (afs_uint32 *) &ulp->high)) return (FALSE);
125 return (XDR_PUTINT32(xdrs, (afs_uint32 *) &ulp->low));
127 if (xdrs->x_op == XDR_FREE)
131 #endif /* AFS_64BIT_ENV */