[0001]
[0002]
[0003]
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121]
[0122]
[0123]
[0124]
[0125]
/*****************************************************************************/
/*
                                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 */

/*****************************************************************************/