1

我想知道在 mmap() 中包含 LEGACY_MAP_MASK 的头文件,以及 LEGACY_MAP_MASK 中所有标志的位。我搜索了很多,但找不到它。谢谢:)。

我包含了头文件 #inlcude<sys/mman.h> 并尝试分配,例如 unsigned long map = LEGACY_MAP_MASK。但它会抛出未声明的错误“LEGACY_MAP_MASK”(在此函数中首次使用)。

4

1 回答 1

1

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)
于 2020-09-07T08:07:15.217 回答