src/server/safs/cgi.h

changeset 433
39fe86ae4db0
parent 431
032b0ad35ee3
child 451
edbbb3000494
--- a/src/server/safs/cgi.h	Sun Nov 13 10:57:38 2022 +0100
+++ b/src/server/safs/cgi.h	Sun Nov 13 12:58:25 2022 +0100
@@ -56,12 +56,20 @@
 typedef struct CGIHandler {
     CGIProcess process;
     CGIResponseParser *parser;
+    HttpResponseWriter *response;
     char *path;
     Event *writeev;
     Event *stderrev;
     char *stderr_tmp;
     int stderr_tmplen;
+    char *writebuf;
+    size_t writebuf_alloc;
+    size_t writebuf_size;
+    size_t writebuf_pos;
     WSBool stderr_finished;
+    WSBool read_output_finished;
+    WSBool send_response_finished;
+    WSBool poll_out;
     int result;
 } CGIHandler;
     
@@ -76,6 +84,9 @@
 int cgi_stdout_readevent(EventHandler *ev, Event *event);
 int cgi_stderr_readevent(EventHandler *ev, Event *event);
 int cgi_event_finish(EventHandler *ev, Event *event);
+int cgi_writeevent(EventHandler *ev, Event *event);
+
+int cgi_read_output(CGIHandler *handler, EventHandler *ev);
 
 CGIResponseParser* cgi_parser_new(Session *sn, Request *rq);
 void cgi_parser_free(CGIResponseParser *parser);

mercurial