#define DEFAULT_PORT "504"
#define TARGET "webcit01" /* Target for inline URL's */
#define HOUSEKEEPING 15 /* Housekeeping frequency */
-#define MIN_WORKER_THREADS 5
#define MAX_WORKER_THREADS 250
#define LISTEN_QUEUE_LENGTH 100 /* listen() backlog queue */
#define ISSTATIC (1<<7)
#define FORCE_SESSIONCLOSE (1<<8)
#define PARSE_REST_URL (1<<9)
+#define PROHIBIT_STARTPAGE (1<<10)
+typedef enum _RESTDispatchID {
+ ExistsID,
+ PutID,
+ DeleteID
+} RESTDispatchID;
+
+typedef int (*WebcitRESTDispatchID)(RESTDispatchID WhichAction, int IgnoreFloor);
typedef void (*WebcitHandlerFunc)(void);
typedef struct _WebcitHandler{
WebcitHandlerFunc F;
+ WebcitRESTDispatchID RID;
long Flags;
StrBuf *Name;
StrBuf *DisplayName;
StrBuf *ReadBuf; /* here we keep our stuff while reading linebuffered from the server. */
StrBuf *MigrateReadLineBuf; /* here we buffer legacy server read stuff */
const char *ReadPos; /* whats our read position in ReadBuf? */
- int chat_sock; /* Client socket to Citadel server - for chat */
+ int last_chat_seq; /* When in chat - last message seq# we saw */
time_t lastreq; /* Timestamp of most recent HTTP */
time_t last_pager_check; /* last time we polled for instant msgs */
ServInfo *serv_info; /* Information about the citserver we're connected to */
ParsedHttpHdrs *Hdr;
StrBuf *WBuf; /* Our output buffer */
StrBuf *HBuf; /* Our HeaderBuffer */
+ StrBuf *WFBuf; /* Wildfire error logging buffer */
HashList *vars; /* HTTP variable substitutions for this page */
StrBuf *trailing_javascript; /* extra javascript to be appended to page */
enum {
- S_SELECT,
S_SHUTDOWN,
+ S_SPAWNER,
MAX_SEMAPHORES
};
extern int setup_wizard;
extern char wizard_filename[];
extern int follow_xff;
-extern int num_threads;
+extern int num_threads_existing;
+extern int num_threads_executing;
void InitialiseSemaphores(void);
void begin_critical_section(int which_one);
int GetConnected(void);
void DeleteServInfo(ServInfo **FreeMe);
int uds_connectsock(char *);
-int tcp_connectsock(char *, char *);
+int tcp_connectsock(char *, int);
int serv_getln(char *strbuf, int bufsize);
int StrBuf_ServGetln(StrBuf *buf);
int GetServerStatus(StrBuf *Line, long* FullState);