Bug fix: missing argument to gw_log-call.
[egate.git] / www / wproto.h
index fef0d48..43da580 100644 (file)
  * USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * $Log: wproto.h,v $
- * Revision 1.1  1995/10/20 11:49:27  adam
+ * Revision 1.7  1996/01/24 08:26:55  adam
+ * All tcl commands prefixed with egw_ (except the html command).
+ *
+ * Revision 1.6  1996/01/12  13:08:07  adam
+ * CGI script passes name of lock file to the shell. The server will not close
+ * the response FIFO until this file becomes unlocked. This method handles
+ * cancel operations much better.
+ *
+ * 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,11 +95,22 @@ 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];
+    char wf_serverf[512];
     char path[512];
     int linein;
     int lineout;
@@ -84,6 +120,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 +131,14 @@ 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);
+void wo_write(WCLIENT wc, const char *s, size_t len);
 
 #endif