remove unnecessary client struct field members
[project/uhttpd.git] / uhttpd.h
index 1e487f8..20ad4f8 100644 (file)
--- a/uhttpd.h
+++ b/uhttpd.h
@@ -41,6 +41,7 @@ struct config {
        char *realm;
        char *file;
        char *error_handler;
+       char *cgi_prefix;
        int no_symlinks;
        int no_dirlists;
        int network_timeout;
@@ -101,12 +102,7 @@ struct client {
 #ifdef HAVE_TLS
        struct ustream_ssl stream_ssl;
 #endif
-       struct uloop_fd rpipe;
-       struct uloop_fd wpipe;
-       struct uloop_process proc;
        struct uloop_timeout timeout;
-       bool (*cb)(struct client *);
-       void *priv;
 
        enum client_state state;
 
@@ -117,15 +113,17 @@ struct client {
 
        struct blob_buf hdr;
 
-       void (*dispatch_write_cb)(struct client *cl);
-       void (*dispatch_free)(struct client *cl);
-
-       union {
-               struct {
-                       struct blob_attr **hdr;
-                       int fd;
-               } file;
-       } data;
+       struct {
+               void (*write_cb)(struct client *cl);
+               void (*close_fds)(struct client *cl);
+               void (*free)(struct client *cl);
+               union {
+                       struct {
+                               struct blob_attr **hdr;
+                               int fd;
+                       } file;
+               };
+       } dispatch;
 };
 
 extern int n_clients;
@@ -157,4 +155,7 @@ void uh_handle_file_request(struct client *cl);
 
 void uh_auth_add(const char *path, const char *user, const char *pass);
 
+void uh_close_listen_fds(void);
+void uh_close_fds(void);
+
 #endif