]> arthur.barton.de Git - netdata.git/blobdiff - src/web_server.h
dns_query_time plugin: replace "." with "_" in dimensions
[netdata.git] / src / web_server.h
index 0d1e2da9253277091db43dcb4e2a70862dbc86fb..41dcfcf0957d15d7f5ed8a638ac530d94dc51ded 100644 (file)
@@ -1,20 +1,46 @@
 #ifndef NETDATA_WEB_SERVER_H
 #define NETDATA_WEB_SERVER_H 1
 
-#define WEB_PATH_FILE                          "file"
-#define WEB_PATH_DATA                          "data"
-#define WEB_PATH_DATASOURCE                    "datasource"
-#define WEB_PATH_GRAPH                         "graph"
+#define WEB_PATH_FILE               "file"
+#define WEB_PATH_DATA               "data"
+#define WEB_PATH_DATASOURCE         "datasource"
+#define WEB_PATH_GRAPH              "graph"
 
 #define LISTEN_PORT 19999
 #define LISTEN_BACKLOG 100
 
-extern int listen_backlog;
-extern int listen_fd;
-extern int listen_port;
+#ifndef MAX_LISTEN_FDS
+#define MAX_LISTEN_FDS 100
+#endif
 
-extern int create_listen_socket4(int port, int listen_backlog);
-extern int create_listen_socket6(int port, int listen_backlog);
-extern void *socket_listen_main(void *ptr);
+typedef enum web_server_mode {
+    WEB_SERVER_MODE_SINGLE_THREADED,
+    WEB_SERVER_MODE_MULTI_THREADED,
+    WEB_SERVER_MODE_NONE
+} WEB_SERVER_MODE;
+
+extern WEB_SERVER_MODE web_server_mode;
+
+extern WEB_SERVER_MODE web_server_mode_id(const char *mode);
+extern const char *web_server_mode_name(WEB_SERVER_MODE id);
+
+
+extern void *socket_listen_main_multi_threaded(void *ptr);
+extern void *socket_listen_main_single_threaded(void *ptr);
+extern int create_listen_sockets(void);
+extern int is_listen_socket(int fd);
+
+#ifndef HAVE_ACCEPT4
+extern int accept4(int sock, struct sockaddr *addr, socklen_t *addrlen, int flags);
+
+#ifndef SOCK_NONBLOCK
+#define SOCK_NONBLOCK 00004000
+#endif  /* #ifndef SOCK_NONBLOCK */
+
+#ifndef SOCK_CLOEXEC
+#define SOCK_CLOEXEC 02000000
+#endif /* #ifndef SOCK_CLOEXEC */
+
+#endif /* #ifndef HAVE_ACCEPT4 */
 
 #endif /* NETDATA_WEB_SERVER_H */