/* Machine generated file -- Do NOT edit */

#include <afsconfig.h>
#include <afs/param.h>
#include <roken.h>
#ifdef AFS_NT40_ENV
#define AFS_RXGEN_EXPORT __declspec(dllexport)
#endif /* AFS_NT40_ENV */
#include "token.h"



bool_t
xdr_token_rxkad(XDR *xdrs, token_rxkad *objp)
{
	if (!xdr_afs_int32(xdrs, &objp->rk_viceid)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->rk_kvno)) {
		return (FALSE);
	}
	if (!xdr_opaque(xdrs, (caddr_t) objp->rk_key, 8)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->rk_begintime)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->rk_endtime)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->rk_primary_flag)) {
		return (FALSE);
	}
	{
		u_int __len = (u_int) *(&objp->rk_ticket.rk_ticket_len);
		if (!xdr_bytes(xdrs, (char **)&objp->rk_ticket.rk_ticket_val, &__len, AFSTOKEN_RK_TIX_MAX)) {
			return (FALSE);
		}
		*(&objp->rk_ticket.rk_ticket_len) = __len;
	}
	return (TRUE);
}




bool_t
xdr_ktc_tokenUnion(XDR *xdrs, ktc_tokenUnion *objp)
{
	if (!xdr_afs_int32(xdrs, &objp->at_type)) {
		return (FALSE);
	}
	switch (objp->at_type) {
	case AFSTOKEN_UNION_KAD:
		if (!xdr_token_rxkad(xdrs, &objp->ktc_tokenUnion_u.at_kad)) {
			return (FALSE);
		}
		break;
	default:
		return (FALSE);
	}
	return (TRUE);
}




bool_t
xdr_token_opaque(XDR *xdrs, token_opaque *objp)
{
	{
		u_int __len = (u_int) *(&objp->token_opaque_len);
		if (!xdr_bytes(xdrs, (char **)&objp->token_opaque_val, &__len, AFSTOKEN_LENGTH_MAX)) {
			return (FALSE);
		}
		*(&objp->token_opaque_len) = __len;
	}
	return (TRUE);
}




bool_t
xdr_ktc_setTokenData(XDR *xdrs, ktc_setTokenData *objp)
{
	if (!xdr_afs_int32(xdrs, &objp->flags)) {
		return (FALSE);
	}
	if (!xdr_string(xdrs, &objp->cell, AFSTOKEN_CELL_MAX)) {
		return (FALSE);
	}
	if (!xdr_array(xdrs, (caddr_t *)&objp->tokens.tokens_val, &objp->tokens.tokens_len, AFSTOKEN_MAX, sizeof(token_opaque), (xdrproc_t) xdr_token_opaque)) {
		return (FALSE);
	}
	return (TRUE);
}


