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"
15 #define bzero(A,C) memset((A), 0, (C))
18 #include <sys/param.h>
19 #include <sys/systm.h>
25 #if defined(KERNEL) && !defined(UKERNEL)
27 #include <afs/longc_procs.h>
33 * XDR afs_int64 integers
40 static afs_int32 high;
41 static afs_uint32 low;
43 if (xdrs->x_op == XDR_DECODE) {
44 if (!XDR_GETINT32(xdrs, (afs_int32 *) &high)) return (FALSE);
45 if (!XDR_GETINT32(xdrs, (afs_int32 *) &low)) return (FALSE);
51 if (xdrs->x_op == XDR_ENCODE) {
53 low = *ulp & 0xFFFFFFFFL;
54 if (!XDR_PUTINT32(xdrs, (afs_int32 *) &high)) return (FALSE);
55 return (XDR_PUTINT32(xdrs, (afs_int32 *) &low));
57 if (xdrs->x_op == XDR_FREE)
63 * XDR afs_int64 integers
70 static afs_uint32 high;
71 static afs_uint32 low;
73 if (xdrs->x_op == XDR_DECODE) {
74 if (!XDR_GETINT32(xdrs, (afs_uint32 *) &high)) return (FALSE);
75 if (!XDR_GETINT32(xdrs, (afs_uint32 *) &low)) return (FALSE);
81 if (xdrs->x_op == XDR_ENCODE) {
83 low = *ulp & 0xFFFFFFFFL;
84 if (!XDR_PUTINT32(xdrs, (afs_uint32 *) &high)) return (FALSE);
85 return (XDR_PUTINT32(xdrs, (afs_uint32 *) &low));
87 if (xdrs->x_op == XDR_FREE)
91 #else /* AFS_64BIT_ENV */
93 * XDR afs_int64 integers
100 if (xdrs->x_op == XDR_DECODE) {
101 if (!XDR_GETINT32(xdrs, (afs_int32 *) &ulp->high)) return (FALSE);
102 return (XDR_GETINT32(xdrs, (afs_int32 *) &ulp->low));
104 if (xdrs->x_op == XDR_ENCODE) {
105 if (!XDR_PUTINT32(xdrs, (afs_int32 *) &ulp->high)) return (FALSE);
106 return (XDR_PUTINT32(xdrs, (afs_int32 *) &ulp->low));
108 if (xdrs->x_op == XDR_FREE)
114 * XDR afs_uint64 integers
117 xdr_uint64(xdrs, ulp)
121 if (xdrs->x_op == XDR_DECODE) {
122 if (!XDR_GETINT32(xdrs, (afs_uint32 *) &ulp->high)) return (FALSE);
123 return (XDR_GETINT32(xdrs, (afs_uint32 *) &ulp->low));
125 if (xdrs->x_op == XDR_ENCODE) {
126 if (!XDR_PUTINT32(xdrs, (afs_uint32 *) &ulp->high)) return (FALSE);
127 return (XDR_PUTINT32(xdrs, (afs_uint32 *) &ulp->low));
129 if (xdrs->x_op == XDR_FREE)
133 #endif /* AFS_64BIT_ENV */