]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.h
* Brought over an update of the MIME parser from Citadel.
[citadel.git] / webcit / webcit.h
index f066699fdf55c136af05209d7179b2ff3edd59d9..940b34c434414149d2215767826529ee20c57b29 100644 (file)
@@ -1,14 +1,16 @@
 /* $Id$ */
 
+#define SIZ                    4096            /* generic buffer size */
+
 #define TRACE fprintf(stderr, "Checkpoint: %s, %d\n", __FILE__, __LINE__)
 
 #define SLEEPING               180             /* TCP connection timeout */
 #define WEBCIT_TIMEOUT         900             /* WebCit session timeout */
 #define PORT_NUM               2000            /* port number to listen on */
-#define SERVER                 "WebCit v3.00"  /* who's in da house */
+#define SERVER                 "WebCit v3.01"  /* who's in da house */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         300
+#define CLIENT_VERSION         301
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
 #define LB                     (1)             /* Internal escape chars */
@@ -17,7 +19,7 @@
 #define TARGET                 "webcit01"      /* Target for inline URL's */
 #define HOUSEKEEPING           15              /* Housekeeping frequency */
 #define INITIAL_WORKER_THREADS 5
-#define LISTEN_QUEUE_LENGTH    20              /* listen() backlog queue */
+#define LISTEN_QUEUE_LENGTH    100             /* listen() backlog queue */
 
 
 /* Room flags (from Citadel) */
@@ -40,7 +42,7 @@
 
 struct httprequest {
        struct httprequest *next;
-       char line[256];
+       char line[SIZ];
 };
 
 struct urlcontent {
@@ -58,7 +60,7 @@ struct serv_info {
        int serv_rev_level;
        char serv_bbs_city[64];
        char serv_sysadm[64];
-       char serv_moreprompt[256];
+       char serv_moreprompt[SIZ];
        int serv_ok_floors;
 };
 
@@ -117,9 +119,9 @@ enum {
 struct wcsession {
         struct wcsession *next;                /* Linked list */
        int wc_session;                 /* WebCit session ID */
-       char wc_username[256];
-       char wc_password[256];
-       char wc_roomname[256];
+       char wc_username[SIZ];
+       char wc_password[SIZ];
+       char wc_roomname[SIZ];
        int connected;
        int logged_in;
        int axlevel;
@@ -147,15 +149,17 @@ struct wcsession {
        struct wcsubst *vars;
 };
 
-
+#define extract(dest,source,parmnum)   extract_token(dest,source,parmnum,'|')
+#define num_parms(source)              num_tokens(source, '|')
 
 #define WC ((struct wcsession *)pthread_getspecific(MyConKey))
 extern pthread_key_t MyConKey;
 
 struct serv_info serv_info;
-extern char floorlist[128][256];
+extern char floorlist[128][SIZ];
 extern char *axdefs[];
 extern char *defaulthost, *defaultport;
+extern char *server_cookie;
 
 extern struct wcsubst *global_subst;
 
@@ -190,14 +194,13 @@ char *urlesc(char *);
 void urlescputs(char *);
 void output_headers(int);
 void wprintf(const char *format,...);
-void extract(char *dest, char *source, int parmnum);
-int extract_int(char *source, int parmnum);
 void output_static(char *what);
 void stresc(char *target, char *strbuf, int nbsp);
 void escputs(char *strbuf);
 void url(char *buf);
 void escputs1(char *strbuf, int nbsp);
 long extract_long(char *source, long int parmnum);
+int extract_int(char *source, int parmnum);
 void dump_vars(void);
 void embed_main_menu(void);
 void serv_read(char *buf, int bytes);
@@ -249,15 +252,12 @@ void register_user(void);
 void display_changepw(void);
 void changepw(void);
 void display_edit_node(void);
+void edit_node(void);
 void display_netconf(void);
-void display_confirm_unshare(void);
 void display_confirm_delete_node(void);
 void delete_node(void);
-void unshare(void);
 void display_add_node(void);
 void add_node(void);
-void display_share(void);
-void share(void);
 void terminate_session(void);
 void edit_me(void);
 void display_siteconfig(void);
@@ -279,3 +279,8 @@ void svprintf(char *keyname, int keytype, const char *format,...);
 void svcallback(char *keyname, void (*fcn_ptr)() );
 void do_template(void *templatename);
 int lingering_close(int fd);
+char *memreadline(char *start, char *buf, int maxlen);
+int num_tokens (char *source, char tok);
+void extract_token(char *dest, char *source, int parmnum, char separator);
+void remove_token(char *source, int parmnum, char separator);
+int decode_base64(char *dest, char *source);