summaryrefslogtreecommitdiffhomepage
path: root/contrib/package/uhttpd/src/uhttpd.h
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-03-25 02:04:50 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-03-25 02:04:50 +0000
commitaf4611d4e02c8a5b0c72cae08c1d944528d63787 (patch)
tree321a71c77c3da0c7ee20bae6183e5c89fd35fb25 /contrib/package/uhttpd/src/uhttpd.h
parenta6722be769be20d3e06d0ca77eac1bd3af6f9593 (diff)
uhttpd: move Lua and TLS support into loadable plugins
Diffstat (limited to 'contrib/package/uhttpd/src/uhttpd.h')
-rw-r--r--contrib/package/uhttpd/src/uhttpd.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/package/uhttpd/src/uhttpd.h b/contrib/package/uhttpd/src/uhttpd.h
index d26835a70..bb08afa1a 100644
--- a/contrib/package/uhttpd/src/uhttpd.h
+++ b/contrib/package/uhttpd/src/uhttpd.h
@@ -32,6 +32,13 @@
#include <netdb.h>
#include <ctype.h>
+#include <dlfcn.h>
+
+
+#ifdef HAVE_LUA
+#include <lua.h>
+#endif
+
#ifdef HAVE_TLS
#include <openssl/ssl.h>
#endif
@@ -48,6 +55,9 @@
#define UH_HTTP_MSG_HEAD 1
#define UH_HTTP_MSG_POST 2
+struct listener;
+struct client;
+struct http_request;
struct config {
char docroot[PATH_MAX];
@@ -59,11 +69,22 @@ struct config {
#ifdef HAVE_LUA
char *lua_prefix;
char *lua_handler;
+ 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
#ifdef HAVE_TLS
char *cert;
char *key;
SSL_CTX *tls;
+ SSL_CTX * (*tls_init) (void);
+ 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);
+ 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);
#endif
};