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

#ifndef _GUESTQUIESCE_H_RPCGEN
#define _GUESTQUIESCE_H_RPCGEN

#include <vmxrpc.h>


#ifdef __cplusplus
extern "C" {
#endif


enum GuestQuiesceParamsVersion {
	GUESTQUIESCEPARAMS_V1 = 1,
	GUESTQUIESCEPARAMS_V2 = 2,
};
typedef enum GuestQuiesceParamsVersion GuestQuiesceParamsVersion;
#define GUESTQUIESCE_SCRIPTARG_MAX_LEN 256
#define GUESTQUIESCE_DISKUUID_MAX_LEN 3200

struct GuestQuiesceParamsV1 {
	Bool createManifest;
	Bool quiesceApps;
	Bool quiesceFS;
	Bool writableSnapshot;
	Bool execScripts;
	char *scriptArg;
	uint32 timeout;
	char *diskUuids;
};
typedef struct GuestQuiesceParamsV1 GuestQuiesceParamsV1;

struct GuestQuiesceParamsV2 {
	struct GuestQuiesceParamsV1 paramsV1;
	uint32 vssBackupContext;
	uint32 vssBackupType;
	Bool vssBootableSystemState;
	Bool vssPartialFileSupport;
};
typedef struct GuestQuiesceParamsV2 GuestQuiesceParamsV2;

struct GuestQuiesceParams {
	GuestQuiesceParamsVersion ver;
	union {
		struct GuestQuiesceParamsV1 *guestQuiesceParamsV1;
		struct GuestQuiesceParamsV2 *guestQuiesceParamsV2;
	} GuestQuiesceParams_u;
};
typedef struct GuestQuiesceParams GuestQuiesceParams;

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_GuestQuiesceParamsVersion (XDR *, GuestQuiesceParamsVersion*);
extern  bool_t xdr_GuestQuiesceParamsV1 (XDR *, GuestQuiesceParamsV1*);
extern  bool_t xdr_GuestQuiesceParamsV2 (XDR *, GuestQuiesceParamsV2*);
extern  bool_t xdr_GuestQuiesceParams (XDR *, GuestQuiesceParams*);

#else /* K&R C */
extern bool_t xdr_GuestQuiesceParamsVersion ();
extern bool_t xdr_GuestQuiesceParamsV1 ();
extern bool_t xdr_GuestQuiesceParamsV2 ();
extern bool_t xdr_GuestQuiesceParams ();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_GUESTQUIESCE_H_RPCGEN */
