Tag stable-78x for 7.86 release
[citadel.git] / webcit / webcit.h
index 2e53e309802580f1084a878059c763b278cd0f5b..5ba500b2b73cf58c9ba9b6ec244009fe05fb0640 100644 (file)
@@ -1,5 +1,4 @@
-/* $Id$
- *
+/*
  * Copyright (c) 1987-2010 by the citadel.org team
  *
  * This program is free software; you can redistribute it and/or modify
@@ -114,6 +113,17 @@ extern char *ssl_cipher_list;
 #define        DEFAULT_SSL_CIPHER_LIST "DEFAULT"       /* See http://openssl.org/docs/apps/ciphers.html */
 #endif
 
+#if SIZEOF_SIZE_T == SIZEOF_INT 
+#define SIZE_T_FMT "%d"
+#else
+#define SIZE_T_FMT "%ld"
+#endif
+
+#if SIZEOF_LONG_UNSIGNED_INT == SIZEOF_INT
+#define ULONG_FMT "%d"
+#else
+#define ULONG_FMT "%ld"
+#endif
 
 #define CALENDAR_ROOM_NAME     "Calendar"
 #define PRODID "-//Citadel//NONSGML Citadel Calendar//EN"
@@ -127,9 +137,9 @@ extern char *ssl_cipher_list;
 #define PORT_NUM               2000            /* port number to listen on */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         780             /* This version of WebCit */
-#define MINIMUM_CIT_VERSION    780             /* min required Citadel ver */
-#define        LIBCITADEL_MIN          780             /* min required libcitadel ver */
+#define CLIENT_VERSION         786             /* This version of WebCit */
+#define MINIMUM_CIT_VERSION    786             /* min required Citadel ver */
+#define        LIBCITADEL_MIN          786             /* min required libcitadel ver */
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
 #define TARGET                 "webcit01"      /* Target for inline URL's */
@@ -396,7 +406,7 @@ enum {
        eCOPY,
        eNONE
 };
-const char *ReqStrs[eNONE];
+extern const char *ReqStrs[eNONE];
 
 #define NO_AUTH 0
 #define AUTH_COOKIE 1
@@ -500,7 +510,6 @@ struct wcsession {
        StrBuf *httpauth_pass;                  /* only for GroupDAV sessions */
        int axlevel;                            /* this user's access level */
        int is_aide;                            /* nonzero == this user is an Aide */
-       int is_room_aide;                       /* nonzero == this user is a Room Aide in this room */
        int connected;                          /* nonzero == we are connected to Citadel */
        int logged_in;                          /* nonzero == we are logged in  */
        int need_regi;                          /* This user needs to register. */
@@ -508,7 +517,6 @@ struct wcsession {
 
 /* Preferences */
        StrBuf *cs_inet_email;                  /* User's preferred Internet addr. */
-       char reply_to[512];                     /* reply-to address */
        HashList *hash_prefs;                   /* WebCit preferences for this user */
        StrBuf *DefaultCharset;                 /* Charset the user preferes */
        int downloaded_prefs;                   /* Has the client download its prefs yet? */
@@ -516,16 +524,6 @@ struct wcsession {
        int selected_language;                  /* Language selected by user */
        int time_format_cache;                  /* which timeformat does our user like? */
 
-/* current room related */
-/*     StrBuf *wc_roomname;                    / * Room we are currently in */
-/*     unsigned room_flags;                    / * flags associated with the current room */
-/*     unsigned room_flags2;                   / * flags associated with the current room */
-/*     int wc_view;                            / * view for the current room */
-/*     int wc_default_view;                    / * default view for the current room */
-/*     int wc_is_trash;                        / * nonzero == current room is a Trash folder */
-/*     int wc_floor;                           / * floor number of current room */
-/*     int is_mailbox;                         / * the current room is a private mailbox */
-
        folder CurRoom;                         /* information about our current room */
        const folder *ThisRoom;                 /* if REST found a room, remember it here. */
 /* next/previous room thingabob */
@@ -537,7 +535,7 @@ struct wcsession {
        HashList *attachments;                  /* list of attachments for 'enter message' */
        int upload_length;                      /* content length of http-uploaded data */
        StrBuf *upload;                         /* pointer to http-uploaded data */
-       char upload_filename[PATH_MAX];         /* filename of http-uploaded data */
+       StrBuf *upload_filename;                /* filename of http-uploaded data */
        char upload_content_type[256];          /* content type of http-uploaded data */
 
        int new_mail;                           /* user has new mail waiting */
@@ -822,6 +820,7 @@ void sleeeeeeeeeep(int);
 void http_transmit_thing(const char *content_type, int is_static);
 long unescape_input(char *buf);
 void do_selected_iconbar(void);
+void check_thread_pool_size(void);
 void spawn_another_worker_thread(void);
 void StrEndTab(StrBuf *Target, int tabnum, int num_tabs);
 void StrBeginTab(StrBuf *Target, int tabnum, int num_tabs);
@@ -899,3 +898,4 @@ void http_datestring(char *buf, size_t n, time_t xtime);
 #define WC_TIMEFORMAT_AMPM 1
 #define WC_TIMEFORMAT_24 2
 
+extern int time_to_die;                        /* Nonzero if server is shutting down */