X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=src%2Fweb_server.h;h=41dcfcf0957d15d7f5ed8a638ac530d94dc51ded;hb=9dccc16d3763392f0b13349de18c3a838a667653;hp=5df6bfa71c8456fbf67f254ce116c4f1a06b2a04;hpb=e313e0d5a50476cfa5c68aad2fe3bc414d6bab6b;p=netdata.git diff --git a/src/web_server.h b/src/web_server.h index 5df6bfa7..41dcfcf0 100644 --- a/src/web_server.h +++ b/src/web_server.h @@ -1,26 +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 + +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); -#define WEB_SERVER_MODE_MULTI_THREADED 0 -#define WEB_SERVER_MODE_SINGLE_THREADED 1 -extern int web_server_mode; -extern int create_listen_socket4(const char *ip, int port, int listen_backlog); -extern int create_listen_socket6(const char *ip, int port, int listen_backlog); extern void *socket_listen_main_multi_threaded(void *ptr); extern void *socket_listen_main_single_threaded(void *ptr); -extern int create_listen_socket(void); +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 */