]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.h
* Finished gzip compression of dynamic pages (when browser supports it)
[citadel.git] / webcit / webcit.h
index a7c8363cb5391af325915135b87bdbc46ba84264..4aac82df13adc3984ea2b00c16c34bbf7ebd91f0 100644 (file)
@@ -1,5 +1,9 @@
 /* $Id$ */
 
+#ifdef WITH_ZLIB
+#include <zlib.h>
+#endif
+
 #define SIZ                    4096            /* generic buffer size */
 
 #define TRACE fprintf(stderr, "Checkpoint: %s, %d\n", __FILE__, __LINE__)
@@ -164,6 +168,10 @@ struct wcsession {
        char this_page[SIZ];            /* address of current page */
        char http_host[SIZ];            /* HTTP Host: header */
        char *preferences;
+#ifdef WITH_ZLIB
+       int gzcompressed;               /* nonzero if compressed output */
+       gzFile gzfd;                    /* stream to send compressed */
+#endif
 };
 
 #define extract(dest,source,parmnum)   extract_token(dest,source,parmnum,'|')
@@ -285,7 +293,7 @@ void display_menubar(int);
 void embed_room_banner(char *);
 void smart_goto(char *);
 void worker_entry(void);
-void session_loop(struct httprequest *);
+void session_loop(struct httprequest *, int gzip);
 void fmt_date(char *buf, time_t thetime);
 void httpdate(char *buf, time_t thetime);
 void end_webcit_session(void);
@@ -332,3 +340,4 @@ void rename_floor(void);
 void do_listsub(void);
 void toggle_self_service(void);
 void summary(void);
+ssize_t write(int fd, const void *buf, size_t count);