/* Serializes the "static part" of a call message header. The fields include: rm_xid, rm_direction, rpcvers, prog, and vers. The rm_xid is not really static, but the user can easily munge on the fly.  */
bool_t xdr_callhdr(XDR *xdrs, struct rpc_msg *cmsg)
/* Serializes the "static part" of a call message header. The fields include: rm_xid, rm_direction, rpcvers, prog, and vers. The rm_xid is not really static, but the user can easily munge on the fly.  */
bool_t xdr_callhdr(XDR *xdrs, struct rpc_msg *cmsg)
{
    cmsg->rm_direction = CALL;
    cmsg->rm_call.cb_rpcvers = RPC_MSG_VERSION;
    if (
        (xdrs->x_op == XDR_ENCODE) &&
        xdr_u_long(xdrs, &(cmsg->rm_xid)) &&
        xdr_enum(xdrs, (enum_t *) & (cmsg->rm_direction)) &&
        xdr_u_long(xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
        xdr_u_long(xdrs, &(cmsg->rm_call.cb_prog)))
            return (xdr_u_long(xdrs, &(cmsg->rm_call.cb_vers)));
    return (FALSE);
}