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

#include "CALCServer.h"

bool_t
xdr_getCALC_arg(xdrs, objp)
register XDR *xdrs;
getCALC_arg *objp;
{
	int i;

	if (!xdr_long(xdrs, &objp->request_id))
		return (FALSE);
	if (!xdr_long(xdrs, &objp->date))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->time))
		return (FALSE);
	if (!xdr_long(xdrs, &objp->ref_frame))
		return (FALSE);
	for (i = 0; i < 64; i++)
		if (!xdr_short(xdrs, &objp->kflags[i]))
			return (FALSE);
	if (!xdr_double(xdrs, &objp->a_x))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->a_y))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->a_z))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->axis_off_a))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->b_x))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->b_y))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->b_z))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->axis_off_b))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->ra))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->dec))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->dra))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->ddec))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->depoch))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->parallax))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->pressure_a))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->pressure_b))
		return (FALSE);

	if (!xdr_string(xdrs, &objp->station_a, ~0))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->axis_type_a, ~0))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->station_b, ~0))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->axis_type_b, ~0))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->source, ~0))
		return (FALSE);

	for (i = 0; i < 5; i++)
	{
		if (!xdr_double(xdrs, &objp->EOP_time[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->tai_utc[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->ut1_utc[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->xpole[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->ypole[i]))
			return (FALSE);
	}
	return (TRUE);
}

bool_t
xdr_CALCRecord(xdrs, objp)
register XDR *xdrs;
CALCRecord *objp;
{
	int i;

	if (!xdr_long(xdrs, &objp->request_id))
		return (FALSE);
	if (!xdr_long(xdrs, &objp->date))
		return (FALSE);
	if (!xdr_double(xdrs, &objp->time))
		return (FALSE);
	for (i = 0; i < 2; i++)
	{ 
		if (!xdr_double(xdrs, &objp->delay[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->UV[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->riseset[i]))
			return (FALSE);
	}
	if (!xdr_double(xdrs, &objp->UV[2]))
		return (FALSE);
	for (i = 0; i < 4; i++)
	{
		if (!xdr_double(xdrs, &objp->dry_atmos[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->wet_atmos[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->el[i]))
			return (FALSE);
		if (!xdr_double(xdrs, &objp->az[i]))
			return (FALSE);
	}
	return (TRUE);
}

bool_t
xdr_getCALC_res(xdrs, objp)
register XDR *xdrs;
getCALC_res *objp;
{


	if (!xdr_int(xdrs, &objp->error))
		return (FALSE);
	switch (objp->error) {
	case 0:
		if (!xdr_CALCRecord(xdrs, &objp->getCALC_res_u.record))
			return (FALSE);
		break;
	default:
		if (!xdr_string(xdrs, &objp->getCALC_res_u.errmsg, ~0))
			return (FALSE);
		break;
	}
	return (TRUE);
}
