Что такое заголовочный файл для Legacy_MAP_MASK в mmap()?

Я хочу знать заголовочный файл, который содержит LEGACY_MAP_MASK в mmap(), а также биты всех флагов в LEGACY_MAP_MASK. Я много искал, но не смог найти. Спасибо:).

Я включил заголовочный файл #inlcude‹sys/mman.h› и попытался назначить, например unsigned long map = LEGACY_MAP_MASK. Но он выдает необъявленную ошибку «LEGACY_MAP_MASK» (первое использование в этой функции).


person Paul    schedule 07.09.2020    source источник


Ответы (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)
person Sunil Bojanapally    schedule 07.09.2020
comment
Включил заголовочный файл #include‹sys/mman.h›, но я не могу использовать длинные флаги без знака = LEGACY_MAP_MASK, так как он выдает LEGACY_MAP_MASK необъявленным. - person Paul; 07.09.2020
comment
@VijayAntony, какая у вас версия ядра? uname -a вывод ? - person Sunil Bojanapally; 07.09.2020
comment
Linux debian 4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux - person Paul; 07.09.2020
comment
@VijayAntony, макрос фактически определен в заголовке ядра Linux mman.h. Если вы включаете его в модуль области ядра, вы должны найти его, иначе вам не рекомендуется пытаться включать заголовок ядра из пользовательского пространства. - person Sunil Bojanapally; 07.09.2020