| 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 |