/*****************************************************************************/ /* Control.h */ /*****************************************************************************/ #ifndef CONTROL_H_LOADED #define CONTROL_H_LOADED 1 #include "wasd.h" #define CONTROL_ABORT "ABORT" /* compatability only */ #define CONTROL_ADHOC "ADHOC=" /* devlopment use only */ #define CONTROL_ALIGN_FAULT "ALIGN=" #define CONTROL_AUTH_CHECK "AUTH=CHECK" #define CONTROL_AUTH_LOAD1 "AUTH" #define CONTROL_AUTH_LOAD2 "AUTH=LOAD" #define CONTROL_AUTH_PURGE "AUTH=PURGE" #define CONTROL_AUTH_SKELKEY "AUTH=SKELKEY=" #define CONTROL_CACHE_ON "CACHE=ON" #define CONTROL_CACHE_OFF "CACHE=OFF" #define CONTROL_CACHE_PURGE "CACHE=PURGE" #define CONTROL_CONFIG_CHECK "CONFIG=CHECK" #define CONTROL_DCL_DELETE "DCL=DELETE" #define CONTROL_DCL_PROCTOR_APPLY "DCL=PROCTOR=APPLY" #define CONTROL_DCL_PROCTOR_LOAD "DCL=PROCTOR=LOAD" #define CONTROL_DCL_PURGE "DCL=PURGE" #define CONTROL_DECNET_PURGE "DECNET=PURGE" #define CONTROL_DECNET_DISCONNECT "DECNET=DISCONNECT" #define CONTROL_EXIT "EXIT" #define CONTROL_EXIT_NOW "EXIT=NOW" #define CONTROL_HELP "HELP" #define CONTROL_GLOBAL_CHECK "GLOBAL=CHECK" #define CONTROL_HTTP2_PURGE "HTTP2=PURGE" #define CONTROL_HTTP2_PURGE_ALL "HTTP2=PURGE=ALL" #define CONTROL_INSTANCE "INSTANCE=" #define CONTROL_INSTANCE_ACTIVE "INSTANCE=ACTIVE" #define CONTROL_INSTANCE_PASSIVE "INSTANCE=PASSIVE" #define CONTROL_LIST "LIST" /* command-line info only */ #define CONTROL_LOG_OPEN "LOG=OPEN" #define CONTROL_LOG_CLOSE "LOG=CLOSE" #define CONTROL_LOG_FLUSH "LOG=FLUSH" #define CONTROL_LOG_OPEN_AS "LOG=OPEN=" #define CONTROL_LOG_REOPEN "LOG=REOPEN" #define CONTROL_LOG_REOPEN_AS "LOG=REOPEN=" #define CONTROL_LOG_FORMAT_AS "LOG=FORMAT=" #define CONTROL_LOG_PERIOD_AS "LOG=PERIOD=" #define CONTROL_MAP_CHECK "MAP=CHECK" #define CONTROL_MAP_LOAD1 "MAP" #define CONTROL_MAP_LOAD2 "MAP=LOAD" #define CONTROL_NOTE_META "NOTE=" /* metacon note */ #define CONTROL_MSG_CHECK "MSG=CHECK" #define CONTROL_NET_LIST "NET=LIST" #define CONTROL_NET_PURGE "NET=PURGE" #define CONTROL_NET_PURGE_ALL "NET=PURGE=ALL" #define CONTROL_NET_PURGE_HTTP1 "NET=PURGE=HTTP1" #define CONTROL_NET_PURGE_HTTP2 "NET=PURGE=HTTP2" #define CONTROL_NET_PURGE_URI "NET=PURGE=URI=" #define CONTROL_NET_RESUME "NET=RESUME" #define CONTROL_NET_SUSPEND "NET=SUSPEND" #define CONTROL_NET_SUSPEND_NOW "NET=SUSPEND=NOW" #define CONTROL_NET_NOSUSPEND "NET=NOSUSPEND" #define CONTROL_NOTE_SERVER "/NOTE=" /* server process log note */ #define CONTROL_PROXY_ADJUST "PROXY=ADJUST" #define CONTROL_PROXY_ON "PROXY=ON" #define CONTROL_PROXY_OFF "PROXY=OFF" #define CONTROL_PROXY_PURGE_HOST "PROXY=PURGE=HOST" #define CONTROL_PROXY_STATISTICS "PROXY=STATISTICS" #define CONTROL_REQUEST_RUNDOWN "REQUEST=RUNDOWN=" #define CONTROL_REQUEST_RUNDOWN_ALL "REQUEST=RUNDOWN=ALL" #define CONTROL_RESTART "RESTART" #define CONTROL_RESTART_NOW "RESTART=NOW" #define CONTROL_RESTART_QUIET "RESTART=QUIET" #define CONTROL_SERVICE_CHECK "SERVICE=CHECK" #define CONTROL_SESSION_TICKET_KEY "TICKET=KEY" #define CONTROL_SSL_CA_LOAD "SSL=CA=LOAD" #define CONTROL_SSL_CERT_LOAD "SSL=CERT=LOAD" #define CONTROL_SSL_PKPASSWD "SSL=KEY=PASSWORD" #define CONTROL_STATUS "STATUS" #define CONTROL_STATUS_NOW "STATUS=NOW" #define CONTROL_STATUS_PURGE "STATUS=PURGE" #define CONTROL_STATUS_RESET "STATUS=RESET" #define CONTROL_THROTTLE_RELEASE "THROTTLE=RELEASE" #define CONTROL_THROTTLE_TERMINATE "THROTTLE=TERMINATE" #define CONTROL_THROTTLE_ZERO "THROTTLE=ZERO" #define CONTROL_WEBSOCKET_DISCONNECT "WEBSOCKET=DISCONNECT" #define CONTROL_ZERO "ZERO" #define CONTROL_ZERO_NOTICED "ZERO=NOTICED" #define CONTROL_ZERO_PROXY "ZERO=PROXY" #define CONTROL_ZERO_STATUS "ZERO=STATUS" #define CONTROL_DELAY_EXIT 0x01 #define CONTROL_DELAY_RESTART 0x02 #define CONTROL_DELAY_RESTART_NOW 0x04 #define CONTROL_DELAY_RESTART_QUIET 0x08 #define CONTROL_DELAY_DO 0x10 /* wait for this many seconds to take control */ #define CONTROL_WAIT_SECONDS 5 /***********************/ /* function prototypes */ /***********************/ ControlAdhoc (char*); ControlAllCommand (char*); ControlAllHttpd (char*); int ControlAuthSkelKey (char*, BOOL); int ControlCheck (META_CONFIG*, char*, int); ControlCommand (char*, BOOL); ControlCommandAst (); ControlDelay (int); char* ControlEnqueueCommand (int, char*); int ControlEnqueueCommandSize (); void ControlDoHelp (REQUEST_STRUCT*); ControlHttpdAst (struct lksb*); ControlMessage (char*); ControlZeroAccounting (); ControlZeroNoticed (); ControlZeroProxyAccounting (); ControlZeroStatus (); #endif /* CONTROL_H_LOADED */ /*****************************************************************************/