If script name ends with ';' HTTP/GET/Expires will be defined.
[egate.git] / www / wproto.h
index fef0d48..ec71a80 100644 (file)
  * USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * $Log: wproto.h,v $
- * Revision 1.1  1995/10/20 11:49:27  adam
+ * Revision 1.5  1996/01/12 10:05:21  adam
+ * If script name ends with ';' HTTP/GET/Expires will be defined.
+ * The cgi interface only reads final handshake if response from
+ * server (shell) was zero-terminated [If it isn't it probably died].
+ *
+ * Revision 1.4  1995/11/06  10:51:18  adam
+ * End of response marker in response from wsh/wproto to wcgi.
+ * Shells are respawned when necessary.
+ *
+ * Revision 1.3  1995/10/27  15:12:11  adam
+ * IrTcl incorporated in the gateway.
+ * Better separation of script types.
+ * Z39.50 gateway scripts entered.
+ *
+ * Revision 1.2  1995/10/23  16:55:41  adam
+ * A lot of changes - really.
+ *
+ * Revision 1.1  1995/10/20  11:49:27  adam
  * First version of www gateway.
  *
  */
@@ -70,8 +87,18 @@ typedef struct cache_data
     char path[256];
 } cache_data;
 
+struct w_select_handle {
+    int  fd;
+    struct {
+        void (*sproc)(int, void *);
+        void *obj;
+    } rwx[3];
+    struct w_select_handle *next;
+};
+
 typedef struct wclient_data
 {
+    int id;
     wform_data wf_data[100];
     char wf_parms[512];
     char wf_serverp[512];
@@ -84,6 +111,7 @@ typedef struct wclient_data
     int cache_level;
     cache_data cache[20];
     int cache_fd;
+    struct w_select_handle *select_list;
 } *WCLIENT, wclient_data;
 
 #define wo_putc(wc, ch)   \
@@ -94,13 +122,13 @@ char *wgetval(WCLIENT wc, char *name);
 int wproto_process(WCLIENT wc, int timeout);
 WCLIENT wproto_init(void);
 void wo_printf(WCLIENT wc, const char *fmt, ...);
-void wo_clear(WCLIENT wc, char *type);
+void wo_clear(WCLIENT wc, const char *type);
 int wo_finish(WCLIENT wc);
 int wo_flush(WCLIENT wc);
 int wo_overflow(WCLIENT wc, char ch);
 void wproto_terminate(WCLIENT wc);
 int wproto_cache(WCLIENT wc, int level);
 int wo_puthtml(WCLIENT wc, char *name);
-void wo_puts(WCLIENT wc, char *s);
+void wo_puts(WCLIENT wc, const char *s);
 
 #endif