]> arthur.barton.de Git - netdata.git/blob - src/web_server.h
dns_query_time plugin: replace "." with "_" in dimensions
[netdata.git] / src / web_server.h
1 #ifndef NETDATA_WEB_SERVER_H
2 #define NETDATA_WEB_SERVER_H 1
3
4 #define WEB_PATH_FILE               "file"
5 #define WEB_PATH_DATA               "data"
6 #define WEB_PATH_DATASOURCE         "datasource"
7 #define WEB_PATH_GRAPH              "graph"
8
9 #define LISTEN_PORT 19999
10 #define LISTEN_BACKLOG 100
11
12 #ifndef MAX_LISTEN_FDS
13 #define MAX_LISTEN_FDS 100
14 #endif
15
16 typedef enum web_server_mode {
17     WEB_SERVER_MODE_SINGLE_THREADED,
18     WEB_SERVER_MODE_MULTI_THREADED,
19     WEB_SERVER_MODE_NONE
20 } WEB_SERVER_MODE;
21
22 extern WEB_SERVER_MODE web_server_mode;
23
24 extern WEB_SERVER_MODE web_server_mode_id(const char *mode);
25 extern const char *web_server_mode_name(WEB_SERVER_MODE id);
26
27
28 extern void *socket_listen_main_multi_threaded(void *ptr);
29 extern void *socket_listen_main_single_threaded(void *ptr);
30 extern int create_listen_sockets(void);
31 extern int is_listen_socket(int fd);
32
33 #ifndef HAVE_ACCEPT4
34 extern int accept4(int sock, struct sockaddr *addr, socklen_t *addrlen, int flags);
35
36 #ifndef SOCK_NONBLOCK
37 #define SOCK_NONBLOCK 00004000
38 #endif  /* #ifndef SOCK_NONBLOCK */
39
40 #ifndef SOCK_CLOEXEC
41 #define SOCK_CLOEXEC 02000000
42 #endif /* #ifndef SOCK_CLOEXEC */
43
44 #endif /* #ifndef HAVE_ACCEPT4 */
45
46 #endif /* NETDATA_WEB_SERVER_H */