X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=src%2Fweb_server.h;h=41dcfcf0957d15d7f5ed8a638ac530d94dc51ded;hb=9dccc16d3763392f0b13349de18c3a838a667653;hp=0d1e2da9253277091db43dcb4e2a70862dbc86fb;hpb=d7d1f5f7addff7e57954936f81b60c843d4958af;p=netdata.git diff --git a/src/web_server.h b/src/web_server.h index 0d1e2da9..41dcfcf0 100644 --- a/src/web_server.h +++ b/src/web_server.h @@ -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 */