* Set version number to 7.50 across the entire system in preparation for upcoming...
[citadel.git] / webcit / webcit.h
index 604205bc0f4d19d556b619dd63978626ca4dc8b6..0f4a1533277ed0a22682cc6f35a71ede9c4dbac9 100644 (file)
 #define PORT_NUM               2000            /* port number to listen on */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         739             /* This version of WebCit */
-#define MINIMUM_CIT_VERSION    739             /* min required Citadel ver */
-#define        LIBCITADEL_MIN          739             /* min required libcitadel ver */
+#define CLIENT_VERSION         750             /* This version of WebCit */
+#define MINIMUM_CIT_VERSION    744             /* min required Citadel ver */
+#define        LIBCITADEL_MIN          744             /* min required libcitadel ver */
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
 #define TARGET                 "webcit01"      /* Target for inline URL's */
@@ -340,6 +340,7 @@ struct wcsession {
 /* Session local Members */
        int http_sock;                          /**< HTTP server socket */
        int serv_sock;                          /**< Client socket to Citadel server */
+       StrBuf *ReadBuf;
        int chat_sock;                          /**< Client socket to Citadel server - for chat */
        time_t lastreq;                         /**< Timestamp of most recent HTTP */
        time_t last_pager_check;                /**< last time we polled for instant msgs */
@@ -349,6 +350,7 @@ struct wcsession {
        StrBuf *UrlFragment1;                   /**< first urlfragment, if NEED_URL is specified by the handler*/
        StrBuf *UrlFragment2;                   /**< second urlfragment, if NEED_URL is specified by the handler*/
        StrBuf *UrlFragment3;                   /**< third urlfragment, if NEED_URL is specified by the handler*/
+       StrBuf *UrlFragment4;                   /**< fourth urlfragment, if NEED_URL is specified by the handler*/
        StrBuf *WBuf;                           /**< Our output buffer */
        StrBuf *HBuf;                           /**< Our HeaderBuffer */
        StrBuf *this_page;                      /**< URL of current page */
@@ -532,6 +534,7 @@ int uds_connectsock(char *);
 int tcp_connectsock(char *, char *);
 int serv_getln(char *strbuf, int bufsize);
 int StrBuf_ServGetln(StrBuf *buf);
+int StrBuf_ServGetlnBuffered(StrBuf *buf);
 int GetServerStatus(StrBuf *Line, long* FullState);
 void serv_puts(const char *string);
 void who(void);
@@ -577,15 +580,14 @@ void escputs1(const char *strbuf, int nbsp, int nolinebreaks);
 void msgesc(char *target, size_t tlen, char *strbuf);
 void msgescputs(char *strbuf);
 void msgescputs1(char *strbuf);
-void stripout(char *str, char leftboundary, char rightboundary);
 void dump_vars(void);
 void embed_main_menu(void);
 void serv_read(char *buf, int bytes);
 
 void SetAccessCommand(long Oper);
 void do_addrbook_view(addrbookent *addrbook, int num_ab);
-void fetch_ab_name(message_summary *Msg, char *namebuf);
-void display_vcard(StrBuf *Target, const char *vcard_source, char alpha, int full, char *storename, long msgnum);
+void fetch_ab_name(message_summary *Msg, char **namebuf);
+void display_vcard(StrBuf *Target, const char *vcard_source, char alpha, int full, char **storename, long msgnum);
 void jsonMessageList(void);
 void new_summary_view(void);
 void getseen(void);
@@ -719,7 +721,12 @@ long guess_calhourformat(void);
 int get_time_format_cached (void);
 int xtoi(const char *in, size_t len);
 const char *get_selected_language(void);
-void webcit_fmt_date(char *buf, time_t thetime, int brief);
+
+#define DATEFMT_FULL 0
+#define DATEFMT_BRIEF 1
+#define DATEFMT_RAWDATE 2
+#define DATEFMT_LOCALEDATE 3
+void webcit_fmt_date(char *buf, time_t thetime, int Format);
 int fetch_http(char *url, char *target_buf, int maxbytes);
 void free_attachments(wcsession *sess);
 void summary(void);