blob: 81584e2b945c546c0d9201e83c64ec19408e9d1e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/* Copyright (C) 2013 the GSS-PROXY contributors, see COPYING for license */
#include "rpcgen/gp_xdr.h"
bool_t gp_xdr_uint64_t(XDR *xdrs, uint64_t *objp)
{
uint32_t h;
uint32_t l;
switch(xdrs->x_op) {
case XDR_ENCODE:
h = (uint32_t)((*objp) >> 32);
l = (uint32_t)(*objp);
if (!xdr_u_int32(xdrs, &h) || !xdr_u_int32(xdrs, &l)) {
return FALSE;
}
return TRUE;
case XDR_DECODE:
if (!xdr_u_int32(xdrs, &h) || !xdr_u_int32(xdrs, &l)) {
return FALSE;
}
*objp = (((uint64_t)h) << 32) | l;
return TRUE;
case XDR_FREE:
return TRUE;
default:
return FALSE;
}
}
|