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

#include "budb.h"

#ifndef NEVERDATE
#define NEVERDATE 037777777777 /* a date that will never come */
#endif
#ifndef Date
#define Date afs_uint32
#endif
#ifndef dumpId
#define dumpId afs_uint32
#endif
#define TB_DUMPSCHEDULE 0
#define TB_VOLUMESET 1
#define TB_TAPEHOSTS 2
#define TB_NUM 3 /* no. of block types */
#define TB_MAX 6 /* unused items are spares */


bool_t
xdr_budb_principal(XDR *xdrs, budb_principal *objp)
{
	if (!xdr_vector(xdrs, (char *)objp->name, 256, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->instance, 128, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->cell, 256, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	return (TRUE);
}




bool_t
xdr_budb_tapeSet(XDR *xdrs, budb_tapeSet *objp)
{
	if (!xdr_afs_int32(xdrs, &objp->id)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->tapeServer, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->format, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->maxTapes)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->a)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->b)) {
		return (FALSE);
	}
	return (TRUE);
}


#define budb_MakeTapeName(name,set,seq) sprintf (name, (set)->format, (set)->a*(seq) + (set)->b)


bool_t
xdr_budb_dumpEntry(XDR *xdrs, budb_dumpEntry *objp)
{
	if (!xdr_afs_uint32(xdrs, &objp->id)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->parent)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->level)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->flags)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->volumeSetName, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->dumpPath, 256, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->name, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->created)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->incTime)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->nVolumes)) {
		return (FALSE);
	}
	if (!xdr_budb_tapeSet(xdrs, &objp->tapes)) {
		return (FALSE);
	}
	if (!xdr_budb_principal(xdrs, &objp->dumper)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->initialDumpID)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->appendedDumpID)) {
		return (FALSE);
	}
	return (TRUE);
}


#define BUDB_DUMP_INCOMPLETE (1<<0) /* some vols omitted due to errors */
#define BUDB_DUMP_TAPEERROR (1<<1) /* tape error during dump */
#define BUDB_DUMP_INPROGRESS (1<<2)
#define BUDB_DUMP_ABORTED (1<<3) /* aborted: prob. dump unavailable */
#define BUDB_DUMP_XBSA_NSS (1<<8) /* dump was done with a client    */
#define BUDB_DUMP_BUTA (1<<11) /* (used by ADSM buta) == 0x800 */
#define BUDB_DUMP_ADSM (1<<12) /* (used by XBSA/ADSM buta) == 0x1000 */


bool_t
xdr_budb_tapeEntry(XDR *xdrs, budb_tapeEntry *objp)
{
	if (!xdr_vector(xdrs, (char *)objp->name, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->flags)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->written)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->expires)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->nMBytes)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->nBytes)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->nFiles)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->nVolumes)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->seq)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->labelpos)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->useCount)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->useKBytes)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->dump)) {
		return (FALSE);
	}
	return (TRUE);
}


#define BUDB_TAPE_TAPEERROR (1<<0)
#define BUDB_TAPE_DELETED (1<<1)
#define BUDB_TAPE_BEINGWRITTEN (1<<2) /* writing in progress */
#define BUDB_TAPE_ABORTED (1<<3) /* aborted: tape probably garbaged */
#define BUDB_TAPE_STAGED (1<<4) /* not yet on permanent media */
#define BUDB_TAPE_WRITTEN (1<<5) /* tape writing finished: all OK */


bool_t
xdr_budb_volumeEntry(XDR *xdrs, budb_volumeEntry *objp)
{
	if (!xdr_vector(xdrs, (char *)objp->name, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->flags)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->id)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->server, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->partition)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->tapeSeq)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->position)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->clone)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->incTime)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->startByte)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->nBytes)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->seq)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->dump)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->tape, 32, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	return (TRUE);
}


#define BUDB_VOL_TAPEERROR (1<<0) /* tape problem during dump */
#define BUDB_VOL_FILEERROR (1<<1) /* voldump aborted during dump */
#define BUDB_VOL_BEINGWRITTEN (1<<2)
#define BUDB_VOL_FIRSTFRAG (1<<3) /* same as low bits of tape position */
#define BUDB_VOL_LASTFRAG (1<<4)
#define BUDB_VOL_ABORTED (1<<5) /* aborted: vol probably undumped */
#define BUDB_OP_NAMES (0x7)
#define BUDB_OP_STARTS (0x7<<3)
#define BUDB_OP_ENDS (0x7<<6)
#define BUDB_OP_TIMES (0x3<<9)
#define BUDB_OP_MISC (0xff<<16)
#define BUDB_OP_DUMPNAME (1<<0)
#define BUDB_OP_VOLUMENAME (2<<0)
#define BUDB_OP_TAPENAME (3<<0)
#define BUDB_OP_TAPESEQ (4<<0)
#define BUDB_OP_STARTTIME (1<<3)
#define BUDB_OP_RANGE (1<<6)
#define BUDB_OP_NPREVIOUS (2<<6)
#define BUDB_OP_NFOLLOWING (3<<6)
#define BUDB_OP_DUMPID (2<<3)
#define BUDB_OP_CLONETIME (1<<9) /* use clone time */
#define BUDB_OP_DUMPTIME (2<<9) /* use dump time (create?) */
#define BUDB_OP_INCTIME (3<<9) /* use inc time */
#define BUDB_OP_FIRSTFRAG (1<<16)


bool_t
xdr_budb_volumeList(XDR *xdrs, budb_volumeList *objp)
{
	if (!xdr_array(xdrs, (char **)&objp->budb_volumeList_val, (u_int *)&objp->budb_volumeList_len, BUDB_MAX_RETURN_LIST, sizeof(budb_volumeEntry), (xdrproc_t) xdr_budb_volumeEntry)) {
		return (FALSE);
	}
	return (TRUE);
}




bool_t
xdr_budb_dumpList(XDR *xdrs, budb_dumpList *objp)
{
	if (!xdr_array(xdrs, (char **)&objp->budb_dumpList_val, (u_int *)&objp->budb_dumpList_len, BUDB_MAX_RETURN_LIST, sizeof(budb_dumpEntry), (xdrproc_t) xdr_budb_dumpEntry)) {
		return (FALSE);
	}
	return (TRUE);
}




bool_t
xdr_budb_tapeList(XDR *xdrs, budb_tapeList *objp)
{
	if (!xdr_array(xdrs, (char **)&objp->budb_tapeList_val, (u_int *)&objp->budb_tapeList_len, BUDB_MAX_RETURN_LIST, sizeof(budb_tapeEntry), (xdrproc_t) xdr_budb_tapeEntry)) {
		return (FALSE);
	}
	return (TRUE);
}




bool_t
xdr_budb_dumpsList(XDR *xdrs, budb_dumpsList *objp)
{
	if (!xdr_array(xdrs, (char **)&objp->budb_dumpsList_val, (u_int *)&objp->budb_dumpsList_len, BUDB_MAX_RETURN_LIST, sizeof(afs_int32), (xdrproc_t) xdr_afs_int32)) {
		return (FALSE);
	}
	return (TRUE);
}




bool_t
xdr_charListT(XDR *xdrs, charListT *objp)
{
	if (!xdr_array(xdrs, (char **)&objp->charListT_val, (u_int *)&objp->charListT_len, ~0, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	return (TRUE);
}


#define BUDB_TEXT_COMPLETE 1
#define SD_DBHEADER 1
#define SD_DUMP 2
#define SD_TAPE 3
#define SD_VOLUME 4
#define SD_TEXT_DUMPSCHEDULE 5
#define SD_TEXT_VOLUMESET 6
#define SD_TEXT_TAPEHOSTS 7
#define SD_END 8
#define BUDB_OP_DATES (0x01)
#define BUDB_OP_GROUPID (0x02)
#define BUDB_OP_APPDUMP (0x01)
#define BUDB_OP_DBDUMP (0x02)


bool_t
xdr_DbHeader(XDR *xdrs, DbHeader *objp)
{
	if (!xdr_afs_int32(xdrs, &objp->dbversion)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->created)) {
		return (FALSE);
	}
	if (!xdr_vector(xdrs, (char *)objp->cell, 256, sizeof(char), (xdrproc_t) xdr_char)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->lastDumpId)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->lastInstanceId)) {
		return (FALSE);
	}
	if (!xdr_afs_uint32(xdrs, &objp->lastTapeId)) {
		return (FALSE);
	}
	return (TRUE);
}




bool_t
xdr_structDumpHeader(XDR *xdrs, structDumpHeader *objp)
{
	if (!xdr_afs_int32(xdrs, &objp->type)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->structversion)) {
		return (FALSE);
	}
	if (!xdr_afs_int32(xdrs, &objp->size)) {
		return (FALSE);
	}
	return (TRUE);
}


