1*71db0c75SAndroid Build Coastguard Worker //===-- Macros defined in sys/mman.h header file --------------------------===// 2*71db0c75SAndroid Build Coastguard Worker // 3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information. 5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*71db0c75SAndroid Build Coastguard Worker // 7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 8*71db0c75SAndroid Build Coastguard Worker 9*71db0c75SAndroid Build Coastguard Worker #ifndef LLVM_LIBC_MACROS_SYS_MMAN_MACROS_H 10*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_MACROS_SYS_MMAN_MACROS_H 11*71db0c75SAndroid Build Coastguard Worker 12*71db0c75SAndroid Build Coastguard Worker // Use definitions from <linux/mman.h> to dispatch arch-specific flag values. 13*71db0c75SAndroid Build Coastguard Worker // For example, MCL_CURRENT/MCL_FUTURE/MCL_ONFAULT are different on different 14*71db0c75SAndroid Build Coastguard Worker // architectures. 15*71db0c75SAndroid Build Coastguard Worker #if __has_include(<linux/mman.h>) 16*71db0c75SAndroid Build Coastguard Worker #include <linux/mman.h> 17*71db0c75SAndroid Build Coastguard Worker #else 18*71db0c75SAndroid Build Coastguard Worker #error "cannot use <sys/mman.h> without proper system headers." 19*71db0c75SAndroid Build Coastguard Worker #endif 20*71db0c75SAndroid Build Coastguard Worker 21*71db0c75SAndroid Build Coastguard Worker // Some posix standard flags may not be defined in system headers. 22*71db0c75SAndroid Build Coastguard Worker // Posix mmap flags. 23*71db0c75SAndroid Build Coastguard Worker #ifndef MAP_FAILED 24*71db0c75SAndroid Build Coastguard Worker #define MAP_FAILED ((void *)-1) 25*71db0c75SAndroid Build Coastguard Worker #endif 26*71db0c75SAndroid Build Coastguard Worker 27*71db0c75SAndroid Build Coastguard Worker // Posix memory advise flags. (posix_madvise) 28*71db0c75SAndroid Build Coastguard Worker #ifndef POSIX_MADV_NORMAL 29*71db0c75SAndroid Build Coastguard Worker #define POSIX_MADV_NORMAL MADV_NORMAL 30*71db0c75SAndroid Build Coastguard Worker #endif 31*71db0c75SAndroid Build Coastguard Worker 32*71db0c75SAndroid Build Coastguard Worker #ifndef POSIX_MADV_SEQUENTIAL 33*71db0c75SAndroid Build Coastguard Worker #define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL 34*71db0c75SAndroid Build Coastguard Worker #endif 35*71db0c75SAndroid Build Coastguard Worker 36*71db0c75SAndroid Build Coastguard Worker #ifndef POSIX_MADV_RANDOM 37*71db0c75SAndroid Build Coastguard Worker #define POSIX_MADV_RANDOM MADV_RANDOM 38*71db0c75SAndroid Build Coastguard Worker #endif 39*71db0c75SAndroid Build Coastguard Worker 40*71db0c75SAndroid Build Coastguard Worker #ifndef POSIX_MADV_WILLNEED 41*71db0c75SAndroid Build Coastguard Worker #define POSIX_MADV_WILLNEED MADV_WILLNEED 42*71db0c75SAndroid Build Coastguard Worker #endif 43*71db0c75SAndroid Build Coastguard Worker 44*71db0c75SAndroid Build Coastguard Worker #ifndef POSIX_MADV_DONTNEED 45*71db0c75SAndroid Build Coastguard Worker #define POSIX_MADV_DONTNEED MADV_DONTNEED 46*71db0c75SAndroid Build Coastguard Worker #endif 47*71db0c75SAndroid Build Coastguard Worker 48*71db0c75SAndroid Build Coastguard Worker #endif // LLVM_LIBC_MACROS_SYS_MMAN_MACROS_H 49