X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/56d71638dbf48b8e4885e1e5ed5d0f1859674541..4f5142fe4df2692c095a64d89ad81e612058a62d:/package/uhttpd/src/uhttpd.h?ds=sidebyside

diff --git a/package/uhttpd/src/uhttpd.h b/package/uhttpd/src/uhttpd.h
index bb08afa1a..993bf93af 100644
--- a/package/uhttpd/src/uhttpd.h
+++ b/package/uhttpd/src/uhttpd.h
@@ -26,12 +26,14 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/select.h>
+#include <sys/wait.h>
 #include <netinet/in.h>
+#include <netinet/tcp.h>
 #include <arpa/inet.h>
 #include <linux/limits.h>
 #include <netdb.h>
 #include <ctype.h>
-
+#include <errno.h>
 #include <dlfcn.h>
 
 
@@ -43,13 +45,16 @@
 #include <openssl/ssl.h>
 #endif
 
+/* uClibc... */
+#ifndef SOL_TCP
+#define SOL_TCP	6
+#endif
+
 
 #define UH_LIMIT_MSGHEAD	4096
 #define UH_LIMIT_HEADERS	64
 
-#define UH_LIMIT_LISTENERS	16
 #define UH_LIMIT_CLIENTS	64
-#define UH_LIMIT_AUTHREALMS	8
 
 #define UH_HTTP_MSG_GET		0
 #define UH_HTTP_MSG_HEAD	1
@@ -57,22 +62,34 @@
 
 struct listener;
 struct client;
+struct interpreter;
 struct http_request;
 
 struct config {
 	char docroot[PATH_MAX];
 	char *realm;
 	char *file;
+	char *index_file;
+	char *error_handler;
+	int no_symlinks;
+	int no_dirlists;
+	int network_timeout;
+	int rfc1918_filter;
+	int tcp_keepalive;
 #ifdef HAVE_CGI
 	char *cgi_prefix;
 #endif
 #ifdef HAVE_LUA
 	char *lua_prefix;
 	char *lua_handler;
+	lua_State *lua_state;
 	lua_State * (*lua_init) (const char *handler);
 	void (*lua_close) (lua_State *L);
 	void (*lua_request) (struct client *cl, struct http_request *req, lua_State *L);
 #endif
+#if defined(HAVE_CGI) || defined(HAVE_LUA)
+	int script_timeout;
+#endif
 #ifdef HAVE_TLS
 	char *cert;
 	char *key;
@@ -81,7 +98,7 @@ struct config {
 	int (*tls_cert) (SSL_CTX *c, const char *file);
 	int (*tls_key) (SSL_CTX *c, const char *file);
 	void (*tls_free) (struct listener *l);
-	void (*tls_accept) (struct client *c);
+	int (*tls_accept) (struct client *c);
 	void (*tls_close) (struct client *c);
 	int (*tls_recv) (struct client *c, void *buf, int len);
 	int (*tls_send) (struct client *c, void *buf, int len);
@@ -95,6 +112,7 @@ struct listener {
 #ifdef HAVE_TLS
 	SSL_CTX *tls;
 #endif
+	struct listener *next;
 };
 
 struct client {
@@ -107,17 +125,20 @@ struct client {
 #ifdef HAVE_TLS
 	SSL *tls;
 #endif
+	struct client *next;
 };
 
 struct auth_realm {
 	char path[PATH_MAX];
 	char user[32];
 	char pass[128];
+	struct auth_realm *next;
 };
 
 struct http_request {
 	int	method;
 	float version;
+	int redirect_status;
 	char *url;
 	char *headers[UH_LIMIT_HEADERS];
 	struct auth_realm *realm;
@@ -129,5 +150,12 @@ struct http_response {
 	char *headers[UH_LIMIT_HEADERS];
 };
 
+#ifdef HAVE_CGI
+struct interpreter {
+	char path[PATH_MAX];
+	char extn[32];
+	struct interpreter *next;
+};
 #endif
 
+#endif