我想知道在 mmap() 中包含 LEGACY_MAP_MASK 的头文件,以及 LEGACY_MAP_MASK 中所有标志的位。我搜索了很多,但找不到它。谢谢:)。
我包含了头文件 #inlcude<sys/mman.h> 并尝试分配,例如 unsigned long map = LEGACY_MAP_MASK。但它会抛出未声明的错误“LEGACY_MAP_MASK”(在此函数中首次使用)。
它mman.h,您可以包含#include <linux/mman.h>以获取LEGACY_MAP_MASK宏。
/*
* The historical set of flags that all mmap implementations implicitly
* support when a ->mmap_validate() op is not provided in file_operations.
*/
#define LEGACY_MAP_MASK (MAP_SHARED \
| MAP_PRIVATE \
| MAP_FIXED \
| MAP_ANONYMOUS \
| MAP_DENYWRITE \
| MAP_EXECUTABLE \
| MAP_UNINITIALIZED \
| MAP_GROWSDOWN \
| MAP_LOCKED \
| MAP_NORESERVE \
| MAP_POPULATE \
| MAP_NONBLOCK \
| MAP_STACK \
| MAP_HUGETLB \
| MAP_32BIT \
| MAP_HUGE_2MB \
| MAP_HUGE_1GB)