X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fcontrol.h;h=e6230332cf5215231f77b4ff2d5ff9d8224c36f8;hb=3521cee9644bd955fd053c5b4ea173efd1e78fe8;hp=2878a88e52fd5200e1fb6b4227f83ac7ce44c3e0;hpb=8aa358c02e86aee0486c1951ee3c5634cb7586a1;p=matches%2FMCTX3420.git diff --git a/server/control.h b/server/control.h index 2878a88..e623033 100644 --- a/server/control.h +++ b/server/control.h @@ -5,8 +5,31 @@ #ifndef _CONTROL_H #define _CONTROL_H -/**ID codes for all the actuators**/ -typedef enum Actuators {ACT_NONE = -1, ACT_PREG = 0, ACT_SOLENOID1} Actuators; +/** + * The possible experiment control modes that the server can be in. + * At present, CONTROL_EMERGENCY largely does nothing. TODO: Fix this + */ +typedef enum ControlModes { + CONTROL_START, + CONTROL_PAUSE, + CONTROL_RESUME, + CONTROL_STOP, + CONTROL_EMERGENCY +} ControlModes; + +/** Invalid filename characters **/ +#define INVALID_CHARACTERS "\"*/:<>?\\|. " +/** The same as INVALID_CHARACTERS, except escaped for use in JSON strings **/ +#define INVALID_CHARACTERS_JSON "\\\"*/:<>?\\\\|. " +/** The username of a user with no authentication (DEBUG ONLY) **/ +#define NOAUTH_USERNAME "_anonymous_noauth" + extern void Control_Handler(FCGIContext *context, char *params); +extern const char* Control_SetMode(ControlModes desired_mode, void * arg); +//extern ControlModes Control_GetMode(); +extern const char * Control_GetModeName(); +//extern bool Control_Lock(); +//extern void Control_Unlock(); +extern const struct timespec* Control_GetStartTime(); #endif