// SAL_VERSION=4.1.2 XML_VERSION=5.1.0
module Script {
struct command_configure_df62beb9 {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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	config; // @Metadata=(Units="unitless",Description="Configuration as yaml text that is parsed to make a keyword argument dict for the script's configure method.")
	  long	logLevel; // @Metadata=(Units="unitless",Description="Logging level; as a Python logging level: error=40; warning=30; info=20; debug=10; use default=0.")
	  string	pauseCheckpoint; // @Metadata=(Units="unitless",Description="Checkpoint(s) at which to pause; as a regular expression. No checkpoints if blank; all checkpoints if ".*".")
	  string	stopCheckpoint; // @Metadata=(Units="unitless",Description="Checkpoint(s) at which to stop; as a regular expression. No checkpoints if blank; all checkpoints if ".*".")
	};
#pragma keylist command_configure_df62beb9 ScriptID
struct command_resume_1f6c74d2 {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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")
	  octet	ignored; // @Metadata=(Units="unitless",Description="This field is ignored.")
	};
#pragma keylist command_resume_1f6c74d2 ScriptID
struct command_run_22d75d38 {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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")
	  octet	ignored; // @Metadata=(Units="unitless",Description="This field is ignored.")
	};
#pragma keylist command_run_22d75d38 ScriptID
struct command_setCheckpoints_401c0ee3 {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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	pause; // @Metadata=(Units="unitless",Description="Checkpoint(s) at which to pause; as a regular expression. No checkpoints if blank; all checkpoints if ".*".")
	  string	stop; // @Metadata=(Units="unitless",Description="Checkpoint(s) at which to stop; as a regular expression. No checkpoints if blank; all checkpoints if ".*".")
	};
#pragma keylist command_setCheckpoints_401c0ee3 ScriptID
struct command_setGroupId_93724c8b {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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	groupId; // @Metadata=(Units="unitless",Description="Group ID for images taken by the script.")
	};
#pragma keylist command_setGroupId_93724c8b ScriptID
struct command_setLogLevel_0ba7491d {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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. This command is deprecated. Please specify log level as part of the configure command instead.")
	};
#pragma keylist command_setLogLevel_0ba7491d ScriptID
struct command_stop_76b11eed {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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")
	  octet	ignored; // @Metadata=(Units="unitless",Description="This field is ignored.")
	};
#pragma keylist command_stop_76b11eed ScriptID
struct logevent_checkpoints_a3c1bf1e {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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	pause; // @Metadata=(Units="unitless",Description="Checkpoint(s) at which to pause; as a regular expression. No checkpoints if blank; all checkpoints if ".*".")
	  string	stop; // @Metadata=(Units="unitless",Description="Checkpoint(s) at which to stop; as a regular expression. No checkpoints if blank; all checkpoints if ".*".")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_checkpoints_a3c1bf1e ScriptID
struct logevent_description_87d7443e {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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	classname; // @Metadata=(Units="unitless",Description="Name of script class.")
	  string	description; // @Metadata=(Units="unitless",Description="Brief description of the script.")
	  string	remotes; // @Metadata=(Units="unitless",Description="Names of remote SAL components used by the script as a comma-separated list. Each name is appended with :&lt;index&gt; if the component is indexed (and possibly with :0 if not indexed).")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_description_87d7443e ScriptID
struct logevent_heartbeat_d76ff679 {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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="This field is ignored.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_heartbeat_d76ff679 ScriptID
	 const long Script_shared_ScriptState_Unconfigured=1;
	 const long Script_shared_ScriptState_Configured=2;
	 const long Script_shared_ScriptState_Running=3;
	 const long Script_shared_ScriptState_Paused=4;
	 const long Script_shared_ScriptState_Ending=5;
	 const long Script_shared_ScriptState_Stopping=6;
	 const long Script_shared_ScriptState_Failing=7;
	 const long Script_shared_ScriptState_Done=8;
	 const long Script_shared_ScriptState_Stopped=9;
	 const long Script_shared_ScriptState_Failed=10;
	 const long Script_shared_MetadataCoordSys_None=1;
	 const long Script_shared_MetadataCoordSys_ICRS=2;
	 const long Script_shared_MetadataCoordSys_Observed=3;
	 const long Script_shared_MetadataCoordSys_Mount=4;
	 const long Script_shared_MetadataRotSys_None=1;
	 const long Script_shared_MetadataRotSys_Sky=2;
	 const long Script_shared_MetadataRotSys_Horizon=3;
	 const long Script_shared_MetadataRotSys_Mount=4;
	 const long Script_shared_MetadataDome_Closed=1;
	 const long Script_shared_MetadataDome_Open=2;
	 const long Script_shared_MetadataDome_Either=3;
struct logevent_logLevel_5204232a {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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_5204232a ScriptID
struct logevent_logMessage_4cafb0b4 {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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_4cafb0b4 ScriptID
struct logevent_metadata_17fa80e6 {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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")
	  short	coordinateSystem; // @Metadata=(Units="unitless",Description="Coordinate system for position. A MetadataCoordSys enum. Observed is refracted apparent topocentric; e.g. similar to Mount but the telescope model is applied and the azimuth is wrapped. If None then position should be ignored.")
	  double	position[2]; // @Metadata=(Units="degree",Description="Longitude; latitude axes of position in coordinateSystem")
	  short	rotationSystem; // @Metadata=(Units="unitless",Description="Rotation system for cameraAngle; a MetadataRotSys enum")
	  double	cameraAngle; // @Metadata=(Units="degree",Description="Camera angle in rotationSystem")
	  string	filters; // @Metadata=(Units="unitless",Description="Comma-separated names of acceptable filters; or blank for any filter.")
	  short	dome; // @Metadata=(Units="unitless",Description="Desired dome state; a MetadataDome enum.")
	  double	duration; // @Metadata=(Units="second",Description="Estimated duration of the script; excluding slewing to the initial position required by the script.")
	  long	nimages; // @Metadata=(Units="unitless",Description="Predicted number of images to take; 0 if unknown.")
	  string	survey; // @Metadata=(Units="unitless",Description="Survey name.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_metadata_17fa80e6 ScriptID
	 const long metadata_CSys_None=1;
	 const long metadata_CSys_ICRS=2;
	 const long metadata_CSys_Observed=3;
	 const long metadata_CSys_Mount=4;
struct logevent_state_d3cb1c2e {  // @Metadata=(Description="")
	  long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  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")
	  octet	state; // @Metadata=(Units="unitless",Description="A ScriptState enum indicating the script state.")
	  string	reason; // @Metadata=(Units="unitless",Description="More information about the state change; typically a reason for failure if the state is FAILED.")
	  string	groupId; // @Metadata=(Units="unitless",Description="Group ID; none if "".")
	  string	lastCheckpoint; // @Metadata=(Units="unitless",Description="Name of most recently seen checkpoint.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_state_d3cb1c2e ScriptID
	 const long state_Unconfigured=1;
	 const long state_Configured=2;
	 const long state_Running=3;
	 const long state_Paused=4;
	 const long state_Ending=5;
	 const long state_Stopping=6;
	 const long state_Failing=7;
	 const long state_Done=8;
	 const long state_Stopped=9;
	 const long state_Failed=10;
struct ackcmd_0bdebe8c {  // @Metadata=(Description="")
      string<8>	private_revCode;
      double		private_sndStamp;
      double		private_rcvStamp;
      long		private_origin;
      long 		private_host;
      long		private_seqNum;
      long	ScriptID; // @Metadata=(Description="Index number for CSC with multiple instances")
      long 		ack;
      long 		error;
      string<256>	result;
      long		host;
      long		origin;
      long		cmdtype;
      double		timeout;
	};
#pragma keylist ackcmd_0bdebe8c ScriptID
};

