/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#include "shibrpc.h"

/* sometimes xdr_enum_t is not defined properly */
#ifndef xdr_enum_t
#define xdr_enum_t xdr_enum
#endif


bool_t
xdr_ShibRpcStatus (XDR *xdrs, ShibRpcStatus *objp)
{
	register int32_t *buf;

	 if (!xdr_enum (xdrs, (enum_t *) objp))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_ShibRpcErr (XDR *xdrs, ShibRpcErr *objp)
{
	register int32_t *buf;

	 if (!xdr_string (xdrs, &objp->error, ~0))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->origin, ~0))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_ShibRpcError (XDR *xdrs, ShibRpcError *objp)
{
	register int32_t *buf;

	 if (!xdr_ShibRpcStatus (xdrs, &objp->status))
		 return FALSE;
	switch (objp->status) {
	case SHIBRPC_OK:
		break;
	default:
		 if (!xdr_ShibRpcErr (xdrs, &objp->ShibRpcError_u.e))
			 return FALSE;
		break;
	}
	return TRUE;
}

bool_t
xdr_ShibRpcHttpCookie_1 (XDR *xdrs, ShibRpcHttpCookie_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_string (xdrs, &objp->cookie, ~0))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->client_addr, ~0))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_ShibRpcXML (XDR *xdrs, ShibRpcXML *objp)
{
	register int32_t *buf;

	 if (!xdr_string (xdrs, &objp->xml_string, ~0))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_shibrpc_session_is_valid_args_1 (XDR *xdrs, shibrpc_session_is_valid_args_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_ShibRpcHttpCookie_1 (xdrs, &objp->cookie))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->url, ~0))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->checkIPAddress))
		 return FALSE;
	 if (!xdr_long (xdrs, &objp->lifetime))
		 return FALSE;
	 if (!xdr_long (xdrs, &objp->timeout))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_shibrpc_session_is_valid_ret_1 (XDR *xdrs, shibrpc_session_is_valid_ret_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_ShibRpcError (xdrs, &objp->status))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_shibrpc_new_session_args_1 (XDR *xdrs, shibrpc_new_session_args_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_string (xdrs, &objp->shire_location, ~0))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->saml_post, ~0))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->client_addr, ~0))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->checkIPAddress))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_shibrpc_new_session_ret_1 (XDR *xdrs, shibrpc_new_session_ret_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_ShibRpcError (xdrs, &objp->status))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->cookie, ~0))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_shibrpc_get_assertions_args_1 (XDR *xdrs, shibrpc_get_assertions_args_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_ShibRpcHttpCookie_1 (xdrs, &objp->cookie))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->checkIPAddress))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->url, ~0))
		 return FALSE;
	return TRUE;
}

bool_t
xdr_shibrpc_get_assertions_ret_1 (XDR *xdrs, shibrpc_get_assertions_ret_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_ShibRpcError (xdrs, &objp->status))
		 return FALSE;
	 if (!xdr_ShibRpcXML (xdrs, &objp->auth_statement))
		 return FALSE;
	 if (!xdr_array (xdrs, (char **)&objp->assertions.assertions_val, (u_int *) &objp->assertions.assertions_len, ~0,
		sizeof (ShibRpcXML), (xdrproc_t) xdr_ShibRpcXML))
		 return FALSE;
	return TRUE;
}
