/* 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; } }