//===-- Macros defined in sys/mman.h header file --------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef __LLVM_LIBC_MACROS_SYS_MMAN_MACROS_H
#define __LLVM_LIBC_MACROS_SYS_MMAN_MACROS_H

// Use definitions from <linux/mman.h> to dispatch arch-specific flag values.
// For example, MCL_CURRENT/MCL_FUTURE/MCL_ONFAULT are different on different
// architectures.
#if __has_include(<linux/mman.h>)
#include <linux/mman.h>
#else
#error "cannot use <sys/mman.h> without proper system headers."
#endif

// Some posix standard flags may not be defined in system headers.
// Posix mmap flags.
#ifndef MAP_FAILED
#define MAP_FAILED ((void *)-1)
#endif

// Posix memory advise flags. (posix_madvise)
#ifndef POSIX_MADV_NORMAL
#define POSIX_MADV_NORMAL MADV_NORMAL
#endif

#ifndef POSIX_MADV_SEQUENTIAL
#define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL
#endif

#ifndef POSIX_MADV_RANDOM
#define POSIX_MADV_RANDOM MADV_RANDOM
#endif

#ifndef POSIX_MADV_WILLNEED
#define POSIX_MADV_WILLNEED MADV_WILLNEED
#endif

#ifndef POSIX_MADV_DONTNEED
#define POSIX_MADV_DONTNEED MADV_DONTNEED
#endif

#endif // __LLVM_LIBC_MACROS_SYS_MMAN_MACROS_H
