/*
 * XDR a reply message
 */
bool_t xdr_replymsg(XDR *xdrs, struct rpc_msg *rmsg)
{
	if (xdr_u_long(xdrs, &(rmsg->rm_xid)) &&
		xdr_enum(xdrs, (enum_t *) & (rmsg->rm_direction)) &&
		(rmsg->rm_direction == REPLY))
		return (xdr_union(xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat),
						  (char*) & (rmsg->rm_reply.ru), reply_dscrm,
						  NULL_xdrproc_t));
	return (FALSE);
}
Exemple #2
0
/*
 * XDR a reply message
 */
bool_t
xdr_replymsg(XDR *xdrs, struct rpc_msg *rmsg)
{
	if (xdr_u_int32_t(xdrs, &(rmsg->rm_xid)) && 
	    xdr_enum(xdrs, (enum_t *)&(rmsg->rm_direction)) &&
	    rmsg->rm_direction == REPLY)
		return (xdr_union(xdrs, (enum_t *)&(rmsg->rm_reply.rp_stat),
		   (caddr_t)&(rmsg->rm_reply.ru), reply_dscrm, NULL));
	return (FALSE);
}
Exemple #3
0
/*
 * XDR a reply message
 */
bool_t
xdr_replymsg(XDR *xdrs, struct rpc_msg *rmsg)
{
	_DIAGASSERT(xdrs != NULL);
	_DIAGASSERT(rmsg != NULL);

	if (
	    xdr_u_int32_t(xdrs, &(rmsg->rm_xid)) && 
	    xdr_enum(xdrs, (enum_t *)(void *)&(rmsg->rm_direction)) &&
	    (rmsg->rm_direction == REPLY) )
		return (xdr_union(xdrs, (enum_t *)(void *)&(rmsg->rm_reply.rp_stat),
		   (caddr_t)(void *)&(rmsg->rm_reply.ru), reply_dscrm,
		   NULL_xdrproc_t));
	return (FALSE);
}
Exemple #4
0
/*
 * Serializes/deserializes a ypresponse structure.
 */
bool
_xdr_ypresponse(XDR *xdrs, struct ypresponse *ps)
{
	XDR_DISCRIM ypresponse_arms[4];

	ypresponse_arms[0].value = (int)YPRESP_VAL;
	ypresponse_arms[1].value = (int)YPRESP_KEY_VAL;
	ypresponse_arms[2].value = (int)YPRESP_MAP_PARMS;
	ypresponse_arms[3].value = __dontcare__;
	ypresponse_arms[0].proc = (xdrproc_t)xdr_ypresp_val;
	ypresponse_arms[1].proc = (xdrproc_t)xdr_ypresp_key_val;
	ypresponse_arms[2].proc = (xdrproc_t)xdr_ypmap_parms;
	ypresponse_arms[3].proc = (xdrproc_t)NULL;

	return (xdr_union(xdrs,
				(int *) &ps->yp_resptype,
				(char *) &ps->yp_respbody,
				ypresponse_arms, NULL));
}
Exemple #5
0
/*
 * Serializes/deserializes a yprequest structure.
 */
bool
_xdr_yprequest(XDR *xdrs, struct yprequest *ps)
{
	XDR_DISCRIM yprequest_arms[4];

	yprequest_arms[0].value = (int)YPREQ_KEY;
	yprequest_arms[1].value = (int)YPREQ_NOKEY;
	yprequest_arms[2].value = (int)YPREQ_KEY;
	yprequest_arms[3].value = __dontcare__;
	yprequest_arms[0].proc = (xdrproc_t)xdr_ypreq_key;
	yprequest_arms[1].proc = (xdrproc_t)xdr_ypreq_nokey;
	yprequest_arms[2].proc = (xdrproc_t)xdr_ypmap_parms;
	yprequest_arms[3].proc = (xdrproc_t)NULL;

	return (xdr_union(xdrs,
				(int *) &ps->yp_reqtype,
				(char *) &ps->yp_reqbody,
				yprequest_arms, NULL));
}
Exemple #6
0
/*
 * XDR a reply message
 */
bool_t
xdr_replymsg(XDR *xdrs, struct rpc_msg *rmsg)
{
	enum msg_type *prm_direction;
	enum reply_stat *prp_stat;

	assert(xdrs != NULL);
	assert(rmsg != NULL);

	prm_direction = &rmsg->rm_direction;
	prp_stat = &rmsg->rm_reply.rp_stat;

	if (
	    xdr_u_int32_t(xdrs, &(rmsg->rm_xid)) &&
	    xdr_enum(xdrs, (enum_t *) prm_direction) &&
	    (rmsg->rm_direction == REPLY) )
		return (xdr_union(xdrs, (enum_t *) prp_stat,
		   (caddr_t)(void *)&(rmsg->rm_reply.ru), reply_dscrm,
		   NULL_xdrproc_t));
	return (FALSE);
}