remove unnecessary client struct field members
[project/uhttpd.git] / uhttpd.h
index c900e90..20ad4f8 100644 (file)
--- a/uhttpd.h
+++ b/uhttpd.h
@@ -102,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;
 
@@ -118,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;
@@ -158,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