|
Packit Service |
9f2c4a |
/* Copyright (C) 2013 the GSS-PROXY contributors, see COPYING for license */
|
|
Packit Service |
9f2c4a |
|
|
Packit Service |
9f2c4a |
#include "rpcgen/gp_xdr.h"
|
|
Packit Service |
9f2c4a |
|
|
Packit Service |
9f2c4a |
bool_t gp_xdr_uint64_t(XDR *xdrs, uint64_t *objp)
|
|
Packit Service |
9f2c4a |
{
|
|
Packit Service |
9f2c4a |
uint32_t h;
|
|
Packit Service |
9f2c4a |
uint32_t l;
|
|
Packit Service |
9f2c4a |
|
|
Packit Service |
9f2c4a |
switch(xdrs->x_op) {
|
|
Packit Service |
9f2c4a |
case XDR_ENCODE:
|
|
Packit Service |
9f2c4a |
h = (uint32_t)((*objp) >> 32);
|
|
Packit Service |
9f2c4a |
l = (uint32_t)(*objp);
|
|
Packit Service |
9f2c4a |
if (!xdr_u_int32(xdrs, &h) || !xdr_u_int32(xdrs, &l)) {
|
|
Packit Service |
9f2c4a |
return FALSE;
|
|
Packit Service |
9f2c4a |
}
|
|
Packit Service |
9f2c4a |
return TRUE;
|
|
Packit Service |
9f2c4a |
case XDR_DECODE:
|
|
Packit Service |
9f2c4a |
if (!xdr_u_int32(xdrs, &h) || !xdr_u_int32(xdrs, &l)) {
|
|
Packit Service |
9f2c4a |
return FALSE;
|
|
Packit Service |
9f2c4a |
}
|
|
Packit Service |
9f2c4a |
*objp = (((uint64_t)h) << 32) | l;
|
|
Packit Service |
9f2c4a |
return TRUE;
|
|
Packit Service |
9f2c4a |
case XDR_FREE:
|
|
Packit Service |
9f2c4a |
return TRUE;
|
|
Packit Service |
9f2c4a |
default:
|
|
Packit Service |
9f2c4a |
return FALSE;
|
|
Packit Service |
9f2c4a |
}
|
|
Packit Service |
9f2c4a |
}
|