/* XDR unsigned long integers same as xdr_long - open coded to save a proc call!  */
bool_t xdr_u_long(XDR *xdrs, unsigned long *ulp)
/* XDR unsigned long integers same as xdr_long - open coded to save a proc call!  */
bool_t xdr_u_long(XDR *xdrs, unsigned long *ulp)
{
  if (xdrs->x_op == XDR_DECODE) {
    long l;
    if (XDR_GETLONG(xdrs, &l) == FALSE)
      return FALSE;
    *ulp = (uint32_t) l;
    return TRUE;
  }
  if (xdrs->x_op == XDR_ENCODE) {
    if (sizeof(uint32_t) != sizeof(unsigned long)
        && (uint32_t) *ulp != *ulp)
      return FALSE;
        return (XDR_PUTLONG(xdrs, (long *) ulp));
  }
    if (xdrs->x_op == XDR_FREE)
        return (TRUE);
    return (FALSE);
}