Blame rpcgen/gp_xdr.c

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
}