glibc/sysdeps/unix/sysv/linux/bits/mman_ext.h
Florian Weimer ecd0fbebc0 Linux: Forward declaration of struct iovec for process_madvise
This maintains compatibility between <sys/mman.h> and <linux/uio.h>.
Before that, the addition of process_madvise made those two header
files incompatible.  This has been observed resulting in a build
failure in LLDB's Process/Linux/NativeRegisterContextLinux_s390x.cpp
source file.

Fixes commit d19ee3473d
("linux: Add process_madvise").

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2022-06-29 13:50:50 +02:00

33 lines
1.2 KiB
C

/* System-specific extensions of <sys/mman.h>, Linux version.
Copyright (C) 2022 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#ifndef _SYS_MMAN_H
# error "Never include <bits/mman_ext.h> directly; use <sys/mman.h> instead."
#endif
#ifdef __USE_GNU
struct iovec;
extern __ssize_t process_madvise (int __pid_fd, const struct iovec *__iov,
size_t __count, int __advice,
unsigned __flags)
__THROW;
extern int process_mrelease (int pidfd, unsigned int flags) __THROW;
#endif /* __USE_GNU */