#ifndef _CONTROL_H
#define _CONTROL_H
-/** Number of actuators **/
-#define NUMACTUATORS 2
+typedef enum ControlModes {
+ CONTROL_START,
+ CONTROL_PAUSE,
+ CONTROL_RESUME,
+ CONTROL_STOP,
+ CONTROL_EMERGENCY
+} ControlModes;
-/** List of actuator ids (should be of size NUMACTUATORS) **/
-typedef enum ActuatorId {
- ACT_PRESSURE,
- ACT_SOLENOID1
-} ActuatorId;
+/** Invalid filename characters **/
+#define INVALID_CHARACTERS "\"*/:<>?\\|. "
+/** The same as INVALID_CHARACTERS, except escaped for use in JSON strings **/
+#define INVALID_CHARACTERS_JSON "\\\"*/:<>?\\\\|. "
-/** Human readable names for the actuator ids **/
-extern const char * g_actuator_names[NUMACTUATORS];
+#define NOAUTH_USERNAME "_anonymous_noauth"
-/** ID codes for all the actuators **/
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