diff options
author | Florian Weimer <fweimer@redhat.com> | 2017-11-24 17:55:59 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2017-11-24 17:55:59 +0100 |
commit | 7911dd47da73026acc930564c10a1ceeb68d8583 (patch) | |
tree | 7fe8f10770a8a70ba672694c2bd5ca6da62be785 /sysdeps/unix/sysv/linux/bits/mman-shared.h | |
parent | c45d78aac47db08bc8ea7641c5330cccaecd3ddb (diff) | |
download | glibc-7911dd47da73026acc930564c10a1ceeb68d8583.tar.gz glibc-7911dd47da73026acc930564c10a1ceeb68d8583.tar.xz glibc-7911dd47da73026acc930564c10a1ceeb68d8583.zip |
Linux: Introduce <bits/mman-shared.h>
This header file enables sharing of portable declarations and definitions across all Linux architectures, including hppa (which does not use <bits/mman-linux.h>). Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/bits/mman-shared.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/mman-shared.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/mman-shared.h b/sysdeps/unix/sysv/linux/bits/mman-shared.h new file mode 100644 index 0000000000..5bbcbbc14a --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/mman-shared.h @@ -0,0 +1,39 @@ +/* Memory-mapping-related declarations/definitions, not architecture-specific. + Copyright (C) 2017 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 + <http://www.gnu.org/licenses/>. */ + +#ifndef _SYS_MMAN_H +# error "Never use <bits/mman-shared.h> directly; include <sys/mman.h> instead." +#endif + +#ifdef __USE_GNU +/* Flags for memfd_create. */ +# ifndef MFD_CLOEXEC +# define MFD_CLOEXEC 1U +# define MFD_ALLOW_SEALING 2U +# define MFD_HUGETLB 4U +# endif + +__BEGIN_DECLS + +/* Create a new memory file descriptor. NAME is a name for debugging. + FLAGS is a combination of the MFD_* constants. */ +int memfd_create (const char *__name, unsigned int __flags) __THROW; + +__END_DECLS + +#endif /* __USE_GNU */ |