aboutsummaryrefslogtreecommitdiff
path: root/src/net.h
diff options
context:
space:
mode:
authorame <[email protected]>2024-04-19 11:09:20 -0500
committerame <[email protected]>2024-04-19 11:09:20 -0500
commitcebd1b729739b020d6b3700c87c4ef8d4d67890a (patch)
treeab28f51d76a9eebc186ac6c50acd41a1ff3dca26 /src/net.h
parent7ed170c58e9d9f8edab6e5226bf66d7a71c2222e (diff)
horay! more net code
Diffstat (limited to 'src/net.h')
-rw-r--r--src/net.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/net.h b/src/net.h
index 95b6cf9..2efab03 100644
--- a/src/net.h
+++ b/src/net.h
@@ -1,7 +1,42 @@
+#ifdef _WIN32 //add -lws2_32
+ #include <winsock2.h>
+ //#define socklen_t __socklen_t
+ //#define close closesocket
+ typedef int socklen_t;
+#else
+ #include <sys/socket.h>
+ #include <arpa/inet.h>
+#define closesocket close
+#endif
+
#include "lua.h"
+#include "types/str.h"
+#include "types/parray.h"
+#include <stdint.h>
int l_listen(lua_State*);
+int64_t recv_full_buffer(int client_fd, char** _buffer, int* header_eof, int* state);
+
+int parse_header(char* buffer, int header_eof, parray_t** _table);
+
+void http_build(str** _dest, int code, char* code_det, char* header_vs, char* content, size_t len);
+
+void http_code(int code, char* code_det);
+
+void i_write_header(lua_State* L, int header_top, str** _resp, char* content, size_t len);
+
+void client_fd_errors(int client_fd);
+
+int content_disposition(str* src, parray_t** _dest);
+
+//int rolling_file_parse(lua_State* L, int* files_idx, int* body_idx, char* buffer, str* content_type, size_t blen, struct file_parse* _content);
+
+void* handle_client(void *_arg);
+
+int start_serv(lua_State* L, int port);
+
+//
static char* http_codes[600] = {0};
extern volatile size_t threads;