// SAL_VERSION=4.1.2 XML_VERSION=5.1.0
module ATPneumatics {
struct command_abort_5b5332fb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_abort_5b5332fb 
struct command_closeInstrumentAirValve_fb05b96b {  // @Metadata=(Description="Closes air valve that provides positive pressure to instrument(s)")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_closeInstrumentAirValve_fb05b96b 
struct command_closeM1CellVents_a1c03f43 {  // @Metadata=(Description="Closes M1 cell vents")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_closeM1CellVents_a1c03f43 
struct command_closeM1Cover_3e2edcec {  // @Metadata=(Description="Close the 4 petals of the M1 mirror cover")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_closeM1Cover_3e2edcec 
struct command_closeMasterAirSupply_cbc678ec {  // @Metadata=(Description="Closes air valve from compressor and all air supply to telescope/instrument(s)")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_closeMasterAirSupply_cbc678ec 
struct command_disable_6c28fb48 {  // @Metadata=(Description="Transition from state Enabled to Disabled.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_disable_6c28fb48 
struct command_enable_3d4604d6 {  // @Metadata=(Description="Transition from state Disabled to Enabled.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enable_3d4604d6 
struct command_enterControl_8c88ff1f {  // @Metadata=(Description="Transition from state Offline to Standby. Only "externally commandable" CSCs support this command; other CSCs start in Standby state and quit when they go to Offline.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enterControl_8c88ff1f 
struct command_exitControl_951acd0e {  // @Metadata=(Description="Transition from state Standby to Offline. For CSCs that are not "externally commandable" this makes the CSC quit.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_exitControl_951acd0e 
struct command_m1CloseAirValve_157c7e2d {  // @Metadata=(Description="Closes the air valve to M1 mirror pneumatics. Pneumatics will slowly lose pressure.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_m1CloseAirValve_157c7e2d 
struct command_m1OpenAirValve_f5529a10 {  // @Metadata=(Description="Opens air valve to M1 mirror pneumatics. Pneumatics will receive pressure given by m1SetPressure command")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_m1OpenAirValve_f5529a10 
struct command_m1SetPressure_9fd3afb0 {  // @Metadata=(Description="Set the desired air pressure for the M1 support system.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	pressure; // @Metadata=(Units="Pa",Description="Commanded M1 air pressure")
	};
#pragma keylist command_m1SetPressure_9fd3afb0 
struct command_m2CloseAirValve_8e5ec435 {  // @Metadata=(Description="Closes air valve to M2 mirror pneumatic. (Hardware not functional; see DM-20577)")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_m2CloseAirValve_8e5ec435 
struct command_m2OpenAirValve_90777a6c {  // @Metadata=(Description="Opens air valve to M2 mirror pneumatic (Hardware not functional; see DM-20577)")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_m2OpenAirValve_90777a6c 
struct command_m2SetPressure_451cc52c {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	pressure; // @Metadata=(Units="Pa",Description="Commanded pressure for M2 support system (Hardware not functional; see DM-20577)")
	};
#pragma keylist command_m2SetPressure_451cc52c 
struct command_openInstrumentAirValve_656e4cba {  // @Metadata=(Description="Opens air valve that provides positive pressure to instrument(s)")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_openInstrumentAirValve_656e4cba 
struct command_openM1CellVents_d65db786 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_openM1CellVents_d65db786 
struct command_openM1Cover_ac248ce4 {  // @Metadata=(Description="Open the M1 mirror covers.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_openM1Cover_ac248ce4 
struct command_openMasterAirSupply_fc94f436 {  // @Metadata=(Description="Opens master air supply valve that receives air from the compressor")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_openMasterAirSupply_fc94f436 
struct command_setLogLevel_6a1cd9f3 {  // @Metadata=(Description="Set the logging level.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Logging level; as a Python logging level: error=40; warning=30; info=20; debug=10.")
	};
#pragma keylist command_setLogLevel_6a1cd9f3 
struct command_setSimulationMode_ced355ef {  // @Metadata=(Description="Set the simulation mode.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Desired simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	};
#pragma keylist command_setSimulationMode_ced355ef 
struct command_setValue_4fe2fb53 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	parametersAndValues; // @Metadata=(Units="unitless",Description="List of parameters and their values as a Json string")
	};
#pragma keylist command_setValue_4fe2fb53 
struct command_standby_b7d083cd {  // @Metadata=(Description="Transition from state Offline; Disabled or Fault to Standby.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_standby_b7d083cd 
struct command_start_37da2505 {  // @Metadata=(Description="Transition from state Standby to Disable; in a specified configuration.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsToApply; // @Metadata=(Units="unitless",Description="Name of the selected settings set")
	};
#pragma keylist command_start_37da2505 
struct loadCell_9793faf2 {  // @Metadata=(Description="Load cell value (from M1 hardpoint)")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cellLoad; // @Metadata=(Units="kg",Description="Load cell measurement")
	};
#pragma keylist loadCell_9793faf2 
struct logevent_appliedSettingsMatchStart_b967577f {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	appliedSettingsMatchStartIsTrue; // @Metadata=(Units="unitless",Description="True when the configuration matches the start conditions")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_appliedSettingsMatchStart_b967577f 
struct logevent_cellVentsState_0c96e3fc {  // @Metadata=(Description="The substates of the cell vents")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="Substate of cell vents")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_cellVentsState_0c96e3fc 
struct logevent_eStop_a833f3c1 {  // @Metadata=(Description="Event is published if the Emergency Stop")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	triggered; // @Metadata=(Units="dimensionless",Description="True if Emergency Stop")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_eStop_a833f3c1 
struct logevent_errorCode_de38f4a7 {  // @Metadata=(Description="Output when a CSC goes into the Fault state as an explanation of the problem.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	errorCode; // @Metadata=(Units="unitless",Description="A numeric error code")
	  string	errorReport; // @Metadata=(Units="unitless",Description="An string providing detailed information about the error")
	  string	traceback; // @Metadata=(Units="unitless",Description="An optional stack trace of the error condition")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_errorCode_de38f4a7 
struct logevent_heartbeat_350212f9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	heartbeat; // @Metadata=(Units="unitless",Description="Beats the drum.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_heartbeat_350212f9 
struct logevent_instrumentState_c02b0bd6 {  // @Metadata=(Description="The substates of the instrument valve")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="Substate of instrument valve")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_instrumentState_c02b0bd6 
struct logevent_logLevel_afad4e23 {  // @Metadata=(Description="Current logging level.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Current logging level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logLevel_afad4e23 
struct logevent_logMessage_1421a6f3 {  // @Metadata=(Description="A log message.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="Log name.")
	  long	level; // @Metadata=(Units="unitless",Description="Message level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  string	message; // @Metadata=(Units="unitless",Description="Log message.")
	  string	traceback; // @Metadata=(Units="unitless",Description="Exception traceback; "" if not an exception.")
	  string	filePath; // @Metadata=(Units="unitless",Description="Path to source file.")
	  string	functionName; // @Metadata=(Units="unitless",Description="Function or method name.")
	  long	lineNumber; // @Metadata=(Units="unitless",Description="Line number in the file specified by filePath.")
	  long	process; // @Metadata=(Units="unitless",Description="Process ID.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logMessage_1421a6f3 
struct logevent_m1CoverLimitSwitches_5121daba {  // @Metadata=(Description="The state of each of the 4 M1 mirror cover petals")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	cover1ClosedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 1 closed")
	  boolean	cover2ClosedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 2 closed")
	  boolean	cover3ClosedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 3 closed")
	  boolean	cover4ClosedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 4 closed")
	  boolean	cover1OpenedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 1 open")
	  boolean	cover2OpenedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 2 open")
	  boolean	cover3OpenedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 3 open")
	  boolean	cover4OpenedActive; // @Metadata=(Units="dimensionless",Description="True if cover/petal 4 open")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m1CoverLimitSwitches_5121daba 
	 const long ATPneumatics_shared_MirrorCoverState_Closed=1;
	 const long ATPneumatics_shared_MirrorCoverState_Opened=2;
	 const long ATPneumatics_shared_MirrorCoverState_InMotion=3;
	 const long ATPneumatics_shared_MirrorCoverState_Invalid=4;
	 const long ATPneumatics_shared_CellVentState_CellVentsOpened=1;
	 const long ATPneumatics_shared_CellVentState_CellVentsClosed=2;
	 const long ATPneumatics_shared_CellVentState_InMotion=3;
	 const long ATPneumatics_shared_AirValveState_ValveOpened=1;
	 const long ATPneumatics_shared_AirValveState_ValveClosed=2;
	 const long ATPneumatics_shared_VentsPosition_Opened=1;
	 const long ATPneumatics_shared_VentsPosition_Closed=2;
	 const long ATPneumatics_shared_VentsPosition_PartiallyOpened=3;
struct logevent_m1CoverState_70d0a7ef {  // @Metadata=(Description="Substate of the M1 Mirror Covers. 1")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="Current substate of the M1 Mirror Cover")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m1CoverState_70d0a7ef 
struct logevent_m1SetPressure_a3067402 {  // @Metadata=(Description="Commanded air pressure for the M1 support system; as specified by the m1SetPressure command. Note that the measured pressure is reported in a telemetry topic.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	pressure; // @Metadata=(Units="Pa",Description="Pressure to M1 pneumatic actuators")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m1SetPressure_a3067402 
struct logevent_m1State_61ba8e95 {  // @Metadata=(Description="States of the M1 pneumatics value")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="The substate of the M1 pneumatics valve")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m1State_61ba8e95 
struct logevent_m1VentsLimitSwitches_50393126 {  // @Metadata=(Description="Indicates if M1 vents are open/closed. Note that only one of the ~8 vents has switches")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	ventsClosedActive; // @Metadata=(Units="dimensionless",Description="True if M1 vents closed")
	  boolean	ventsOpenedActive; // @Metadata=(Units="dimensionless",Description="True if M1 vents open")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m1VentsLimitSwitches_50393126 
struct logevent_m1VentsPosition_cda6bcee {  // @Metadata=(Description="State of M1 vents")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	position; // @Metadata=(Units="dimensionless",Description="Substate of M1 vents")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m1VentsPosition_cda6bcee 
struct logevent_m2SetPressure_91df14ba {  // @Metadata=(Description="Commanded air pressure for the M2 support system; as specified by the m1SetPressure command (Hardware not functional; see DM-20577). Note that the measured pressure is reported in a telemetry topic.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	pressure; // @Metadata=(Units="Pa",Description="Pressure to M2 mirror (Hardware not functional; see DM-20577).")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m2SetPressure_91df14ba 
struct logevent_m2State_e5a5725e {  // @Metadata=(Description="The substates (enumeration) of the M2 valve")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="Enumerations (substates): 1:AirValveState_ValveOpened; 2:AirValveState_ValveClosed")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m2State_e5a5725e 
struct logevent_mainValveState_99295aff {  // @Metadata=(Description="The substates of the main air valve")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="Substate of main air valve")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_mainValveState_99295aff 
struct logevent_powerStatus_17311214 {  // @Metadata=(Description="State of circuit breakers for ATMCS drives.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	powerOnL1; // @Metadata=(Units="dimensionless",Description="Status Power line 1; Azimuth motors 1 and 2")
	  boolean	powerOnL2; // @Metadata=(Units="dimensionless",Description="Status Power line 2; Elevation and M3 rotator")
	  boolean	powerOnL3; // @Metadata=(Units="dimensionless",Description="Status Power line 3; Nasmyth ports 1 and 2")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_powerStatus_17311214 
struct logevent_settingVersions_1eaa60d7 {  // @Metadata=(Description="Information about settings which can be specified in the start command.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	recommendedSettingsVersion; // @Metadata=(Units="unitless",Description="List of comma seperated recomended versions of settings sets")
	  string	recommendedSettingsLabels; // @Metadata=(Units="unitless",Description="List of comma seperated names of settings sets")
	  string	settingsUrl; // @Metadata=(Units="unitless",Description="The URL where the settings sets definitions can be found")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingVersions_1eaa60d7 
struct logevent_settingsApplied_662dc5fe {  // @Metadata=(Description="Base settings applied.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsVersion; // @Metadata=(Units="unitless",Description="The SHA or name corresponding to the published configuration")
	  string	otherSettingsEvents; // @Metadata=(Units="unitless",Description="A comma delimited list of other specific CSC configuration events. This may be blank if no other CSC specific events are necessary")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingsApplied_662dc5fe 
struct logevent_simulationMode_fa883eb4 {  // @Metadata=(Description="Current simulation mode.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Current simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_simulationMode_fa883eb4 
struct logevent_softwareVersions_c9c3d351 {  // @Metadata=(Description="Current verions of software in use by CSC.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<16>	salVersion; // @Metadata=(Units="unitless",Description="This is the current version of SAL generation")
	  string<16>	xmlVersion; // @Metadata=(Units="unitless",Description="This is the current version of CSC XML")
	  string<16>	openSpliceVersion; // @Metadata=(Units="unitless",Description="This is the current version of OpenSplice")
	  string<16>	cscVersion; // @Metadata=(Units="unitless",Description="This is the top-level version of the CSC")
	  string	subsystemVersions; // @Metadata=(Units="unitless",Description="A comma delimited list of key=value pairs relating subsystem name (key) to its version number (value). This may be left blank if there are no subsystems within a CSC")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_softwareVersions_c9c3d351 
struct logevent_summaryState_aa24da9e {  // @Metadata=(Description="Current summary state of the CSC")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	summaryState; // @Metadata=(Units="unitless",Description="High level state machine state identifier")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_summaryState_aa24da9e 
struct m1AirPressure_7bab57b0 {  // @Metadata=(Description="Measured pressure in air line to M1 pneumatic actuators")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	pressure; // @Metadata=(Units="Pa",Description="Measured pressure of M1 air line")
	};
#pragma keylist m1AirPressure_7bab57b0 
struct m2AirPressure_3e587aa5 {  // @Metadata=(Description="Measured pressure of airline to M2 pneumatic actuator (Hardware not functional; see DM-20577)")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	pressure; // @Metadata=(Units="Pa",Description="Measured pressure of M2 air line")
	};
#pragma keylist m2AirPressure_3e587aa5 
struct mainAirSourcePressure_fe0781c7 {  // @Metadata=(Description="Measured pressure in main supply line from compressor")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	pressure; // @Metadata=(Units="Pa",Description="Measured pressure of main air supply line")
	};
#pragma keylist mainAirSourcePressure_fe0781c7 
struct ackcmd_5f8ca45f {  // @Metadata=(Description="")
      string<8>	private_revCode;
      double		private_sndStamp;
      double		private_rcvStamp;
      long		private_origin;
      long 		private_host;
      long		private_seqNum;
      long 		ack;
      long 		error;
      string<256>	result;
      long		host;
      long		origin;
      long		cmdtype;
      double		timeout;
	};
#pragma keylist ackcmd_5f8ca45f 
};

