diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-09-23 18:52:55 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-09-23 18:52:55 +0000 |
commit | 3d42e04d74bea7bb2965a81c8d9799a8c8b9f21b (patch) | |
tree | 9c89554cbd3a5c0f10427090925d73838b79b581 /bits/mman.h | |
parent | a379e56acc0955dd1ec03740cfbb632ce54b7416 (diff) | |
download | glibc-3d42e04d74bea7bb2965a81c8d9799a8c8b9f21b.zip glibc-3d42e04d74bea7bb2965a81c8d9799a8c8b9f21b.tar.gz glibc-3d42e04d74bea7bb2965a81c8d9799a8c8b9f21b.tar.bz2 |
Update.
1998-09-23 17:28 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* misc/sys/mman.h: New file.
* sysdeps/generic/bits/mman.h: New file.
* sysdeps/unix/bsd/osf/bits/mman.h: New file.
* sysdeps/unix/bsd/sun/sunos4/bits/mman.h: New file.
* sysdeps/unix/bsd/ultrix4/bits/mman.h: New file.
* sysdeps/unix/sysv/irix4/bits/mman.h: New file.
* sysdeps/generic/sys/mman.h: Removed.
* sysdeps/unix/bsd/osf/sys/mman.h: Removed.
* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Removed.
* sysdeps/unix/bsd/ultrix4/sys/mman.h: Removed.
* sysdeps/unix/sysv/irix4/sys/mman.h: Removed.
* sysdeps/unix/sysv/linux/sys/mman.h: Removed.
* include/sys/mman.h: Look directly for misc/sys/mman.h.
* misc/Makefile (headers): Add bits/mman.h.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove
bits/mman.h.
* sysdeps/unix/sysv/linux/alpha/Dist: Don't mention bits/mman.h.
* sysdeps/unix/sysv/linux/arm/Dist: Likewise.
* sysdeps/unix/sysv/linux/i386/Dist: Likewise.
* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
* sysdeps/unix/sysv/linux/mips/Dist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/Dist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise.
1998-09-23 16:27 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/mach/alpha/sysdep.h: Don't use #include_next.
* sysdeps/mach/alpha/thread_state.h: Likewise.
* sysdeps/mach/i386/sysdep.h: Likewise.
* sysdeps/mach/i386/thread_state.h: Likewise.
* sysdeps/mach/mips/sysdep.h: Likewise.
* sysdeps/mach/mips/thread_state.h: Likewise.
* sysdeps/posix/profil.c: Likewise.
* sysdeps/i386/i586/memcopy.h: Likewise.
* sysdeps/mach/pagecopy.h: Likewise.
Diffstat (limited to 'bits/mman.h')
-rw-r--r-- | bits/mman.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/bits/mman.h b/bits/mman.h new file mode 100644 index 0000000..0afdf20 --- /dev/null +++ b/bits/mman.h @@ -0,0 +1,70 @@ +/* Definitions for BSD-style memory management. + Copyright (C) 1994, 1995, 1996, 1997, 1998 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 Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* These are the bits used by 4.4 BSD and its derivatives. On systems + (such as GNU) where these facilities are not system services but can be + emulated in the C library, these are the definitions we emulate. */ + +#ifndef _BITS_MMAN_H +#define _BITS_MMAN_H 1 + +/* Protections are chosen from these bits, OR'd together. The + implementation does not necessarily support PROT_EXEC or PROT_WRITE + without PROT_READ. The only guarantees are that no writing will be + allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ + +#define PROT_NONE 0x00 /* No access. */ +#define PROT_READ 0x04 /* Pages can be read. */ +#define PROT_WRITE 0x02 /* Pages can be written. */ +#define PROT_EXEC 0x01 /* Pages can be executed. */ + +/* Flags contain mapping type, sharing type and options. */ + +/* Mapping type (must choose one and only one of these). */ +#ifdef __USE_BSD +# define MAP_FILE 0x0001 /* Mapped from a file or device. */ +# define MAP_ANON 0x0002 /* Allocated from anonymous virtual memory. */ +# define MAP_TYPE 0x000f /* Mask for type field. */ +#endif + +/* Sharing types (must choose one and only one of these). */ +#ifdef __USE_BSD +# define MAP_COPY 0x0020 /* Virtual copy of region at mapping time. */ +#endif +#define MAP_SHARED 0x0010 /* Share changes. */ +#define MAP_PRIVATE 0x0000 /* Changes private; copy pages on write. */ + +/* Other flags. */ +#define MAP_FIXED 0x0100 /* Map address must be exactly as requested. */ +#ifdef __USE_BSD +# define MAP_NOEXTEND 0x0200 /* For MAP_FILE, don't change file size. */ +# define MAP_HASSEMPHORE 0x0400 /* Region may contain semaphores. */ +# define MAP_INHERIT 0x0800 /* Region is retained after exec. */ +#endif + +/* Advice to `madvise'. */ +#ifdef __USE_BSD +# define MADV_NORMAL 0 /* No further special treatment. */ +# define MADV_RANDOM 1 /* Expect random page references. */ +# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define MADV_WILLNEED 3 /* Will need these pages. */ +# define MADV_DONTNEED 4 /* Don't need these pages. */ +#endif + +#endif /* bits/mman.h */ |