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

#ifndef _STATEPACKET_H_RPCGEN
#define _STATEPACKET_H_RPCGEN

#include <rpc/rpc.h>


enum BatteryState {
	BattUnknown = 0,
	BattShutdown = 1,
	BattDischarging = 2,
	BattCharging = 3,
	BattBalancing = 4,
};
typedef enum BatteryState BatteryState;
#ifdef __cplusplus 
extern "C" bool_t xdr_BatteryState(XDR *, BatteryState*);
#elif __STDC__ 
extern  bool_t xdr_BatteryState(XDR *, BatteryState*);
#else /* Old Style C */ 
bool_t xdr_BatteryState();
#endif /* Old Style C */ 


enum BatteryFaultCode {
	BattClear = 0,
	BattOverVolt = 1,
	BattUnderVolt = 2,
	BattOverCurrent = 3,
	BattMaxCellOverVolt = 4,
	BattMinCellUnderVolt = 5,
	BattOverTemp = 6,
	BattWaterLeak = 7,
	BattHardwareProt = 8,
	BattHardwareTransient = 9,
	BattWatchdogTimeout = 10,
	BattUnknownFault = 11,
};
typedef enum BatteryFaultCode BatteryFaultCode;
#ifdef __cplusplus 
extern "C" bool_t xdr_BatteryFaultCode(XDR *, BatteryFaultCode*);
#elif __STDC__ 
extern  bool_t xdr_BatteryFaultCode(XDR *, BatteryFaultCode*);
#else /* Old Style C */ 
bool_t xdr_BatteryFaultCode();
#endif /* Old Style C */ 


struct Battery {
	BatteryState state;
	float voltage;
	float minvoltage;
};
typedef struct Battery Battery;
#ifdef __cplusplus 
extern "C" bool_t xdr_Battery(XDR *, Battery*);
#elif __STDC__ 
extern  bool_t xdr_Battery(XDR *, Battery*);
#else /* Old Style C */ 
bool_t xdr_Battery();
#endif /* Old Style C */ 


struct Hydroscat {
	bool_t valid;
	double bb470;
	double bb676;
	double fl;
};
typedef struct Hydroscat Hydroscat;
#ifdef __cplusplus 
extern "C" bool_t xdr_Hydroscat(XDR *, Hydroscat*);
#elif __STDC__ 
extern  bool_t xdr_Hydroscat(XDR *, Hydroscat*);
#else /* Old Style C */ 
bool_t xdr_Hydroscat();
#endif /* Old Style C */ 


struct Attitude {
	bool_t valid;
	double roll;
	double pitch;
	double yaw;
	double omega_B_x;
	double omega_B_y;
	double omega_B_z;
	long updateTimeSec;
	long updateTimeNanosec;
};
typedef struct Attitude Attitude;
#ifdef __cplusplus 
extern "C" bool_t xdr_Attitude(XDR *, Attitude*);
#elif __STDC__ 
extern  bool_t xdr_Attitude(XDR *, Attitude*);
#else /* Old Style C */ 
bool_t xdr_Attitude();
#endif /* Old Style C */ 


struct Position {
	bool_t valid;
	double latitude;
	double longitude;
	double x;
	double y;
	double z;
};
typedef struct Position Position;
#ifdef __cplusplus 
extern "C" bool_t xdr_Position(XDR *, Position*);
#elif __STDC__ 
extern  bool_t xdr_Position(XDR *, Position*);
#else /* Old Style C */ 
bool_t xdr_Position();
#endif /* Old Style C */ 


struct TailCone {
	bool_t valid;
	double omega;
	double elevator;
	double rudder;
	long updateTimeSec;
	long updateTimeNanosec;
};
typedef struct TailCone TailCone;
#ifdef __cplusplus 
extern "C" bool_t xdr_TailCone(XDR *, TailCone*);
#elif __STDC__ 
extern  bool_t xdr_TailCone(XDR *, TailCone*);
#else /* Old Style C */ 
bool_t xdr_TailCone();
#endif /* Old Style C */ 


struct Cluster {
	bool_t valid;
	int id;
};
typedef struct Cluster Cluster;
#ifdef __cplusplus 
extern "C" bool_t xdr_Cluster(XDR *, Cluster*);
#elif __STDC__ 
extern  bool_t xdr_Cluster(XDR *, Cluster*);
#else /* Old Style C */ 
bool_t xdr_Cluster();
#endif /* Old Style C */ 


struct Ctd {
	bool_t valid;
	float c;
	float t;
	float d;
	float salinity;
};
typedef struct Ctd Ctd;
#ifdef __cplusplus 
extern "C" bool_t xdr_Ctd(XDR *, Ctd*);
#elif __STDC__ 
extern  bool_t xdr_Ctd(XDR *, Ctd*);
#else /* Old Style C */ 
bool_t xdr_Ctd();
#endif /* Old Style C */ 


struct Isus {
	bool_t valid;
	double nitrate;
};
typedef struct Isus Isus;
#ifdef __cplusplus 
extern "C" bool_t xdr_Isus(XDR *, Isus*);
#elif __STDC__ 
extern  bool_t xdr_Isus(XDR *, Isus*);
#else /* Old Style C */ 
bool_t xdr_Isus();
#endif /* Old Style C */ 


enum GulperState {
	g_Free = 0,
	g_Allocated = 1,
	g_Fired = 2,
	g_Unknown = 3,
};
typedef enum GulperState GulperState;
#ifdef __cplusplus 
extern "C" bool_t xdr_GulperState(XDR *, GulperState*);
#elif __STDC__ 
extern  bool_t xdr_GulperState(XDR *, GulperState*);
#else /* Old Style C */ 
bool_t xdr_GulperState();
#endif /* Old Style C */ 


struct GulperInfo {
	GulperState state;
};
typedef struct GulperInfo GulperInfo;
#ifdef __cplusplus 
extern "C" bool_t xdr_GulperInfo(XDR *, GulperInfo*);
#elif __STDC__ 
extern  bool_t xdr_GulperInfo(XDR *, GulperInfo*);
#else /* Old Style C */ 
bool_t xdr_GulperInfo();
#endif /* Old Style C */ 


struct StatePacket {
	struct Position position;
	struct Cluster cluster;
	struct Hydroscat hydroscat;
	struct Ctd ctd;
	struct Isus isus;
	struct GulperInfo gulper[10];
};
typedef struct StatePacket StatePacket;
#ifdef __cplusplus 
extern "C" bool_t xdr_StatePacket(XDR *, StatePacket*);
#elif __STDC__ 
extern  bool_t xdr_StatePacket(XDR *, StatePacket*);
#else /* Old Style C */ 
bool_t xdr_StatePacket();
#endif /* Old Style C */ 


#endif /* !_STATEPACKET_H_RPCGEN */
