X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fcontrol.h;h=0dfdc47c4a8a191884606f7320cc439222e04321;hb=0654fb285c91da103314610cd4f27295e3da38f3;hp=cc8f32753c53dcc4a261e053c6231038cfe3acec;hpb=744b902d7f7b532ddb19d95828d8787653e1b84c;p=matches%2FMCTX3420.git diff --git a/server/control.h b/server/control.h index cc8f327..0dfdc47 100644 --- a/server/control.h +++ b/server/control.h @@ -1,7 +1,31 @@ +/** + * @file control.h + * @brief Header file for control functions + */ #ifndef _CONTROL_H #define _CONTROL_H -typedef enum Actuators {ACT_NONE = -1, ACT_PREG = 0, ACT_SOLENOID1} Actuators; +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 "\\\"*/:<>?\\\\|. " + +#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