master
h 32 lines 946 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #ifndef NETDATA_EBPF_SOCKET_IPC_H
4 #define NETDATA_EBPF_SOCKET_IPC_H 1
5
6 #define NETDATA_EBPF_IPC_SECTION "ipc"
7 #define NETDATA_EBPF_IPC_INTEGRATION "integration"
8 #define NETDATA_EBPF_IPC_BACKLOG "backlog"
9 #define NETDATA_EBPF_IPC_BIND_TO "bind to"
10 #define NETDATA_EBPF_IPC_BIND_TO_DEFAULT "unix:/tmp/netdata_ebpf_sock"
11
12 #define NETDATA_EBPF_IPC_INTEGRATION_SHM "shm"
13 #define NETDATA_EBPF_IPC_INTEGRATION_SOCKET "socket"
14 #define NETDATA_EBPF_IPC_INTEGRATION_DISABLED "disabled"
15
16 #include "ebpf.h"
17 #include <fcntl.h>
18 #include <sys/stat.h>
19 #include <semaphore.h>
20
21 enum ebpf_integration_list {
22 NETDATA_EBPF_INTEGRATION_DISABLED,
23 NETDATA_EBPF_INTEGRATION_SOCKET,
24 NETDATA_EBPF_INTEGRATION_SHM
25 };
26
27 extern LISTEN_SOCKETS ipc_sockets;
28 extern sem_t *shm_mutex_ebpf_integration;
29 void ebpf_socket_thread_ipc(void *ptr);
30 void netdata_integration_cleanup_shm();
31
32 #endif /* NETDATA_EBPF_SOCKET_IPC_H_ */