master
h 25 lines 835 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #ifndef NETDATA_ND_MMAP_H
4 #define NETDATA_ND_MMAP_H
5
6 #include "../common.h"
7
8 int madvise_sequential(void *mem, size_t len);
9 int madvise_random(void *mem, size_t len);
10 int madvise_dontfork(void *mem, size_t len);
11 int madvise_willneed(void *mem, size_t len);
12 int madvise_dontneed(void *mem, size_t len);
13 int madvise_dontdump(void *mem, size_t len);
14 int madvise_mergeable(void *mem, size_t len);
15 int madvise_thp(void *mem, size_t len);
16
17 extern size_t nd_mmap_count;
18 extern size_t nd_mmap_size;
19 extern int enable_ksm;
20
21 void *nd_mmap_advanced(const char *filename, size_t size, int flags, int ksm, bool read_only, bool dont_dump, int *open_fd);
22 void *nd_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset);
23 int nd_munmap(void *ptr, size_t size);
24
25 #endif //NETDATA_ND_MMAP_H