OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [linux/] [uClibc/] [libc/] [sysdeps/] [linux/] [microblaze/] [bits/] [mman.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
/* Definitions for POSIX memory map interface.  Linux/microblaze version.
2
   Copyright (C) 1997, 1999, 2001, 2002 Free Software Foundation, Inc.
3
   This file is part of the GNU C Library.
4
 
5
   The GNU C Library is free software; you can redistribute it and/or
6
   modify it under the terms of the GNU Lesser General Public
7
   License as published by the Free Software Foundation; either
8
   version 2.1 of the License, or (at your option) any later version.
9
 
10
   The GNU C Library is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
   Lesser General Public License for more details.
14
 
15
   You should have received a copy of the GNU Lesser General Public
16
   License along with the GNU C Library; if not, write to the Free
17
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18
   02111-1307 USA.  */
19
 
20
/* These are the bits used by 4.4 BSD and its derivatives.  On systems
21
   (such as GNU) where these facilities are not system services but can be
22
   emulated in the C library, these are the definitions we emulate.  */
23
 
24
#ifndef _SYS_MMAN_H
25
# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
26
#endif
27
 
28
/* The following definitions basically come from the kernel headers.
29
   But the kernel header is not namespace clean.  */
30
 
31
 
32
/* Protections are chosen from these bits, OR'd together.  The
33
   implementation does not necessarily support PROT_EXEC or PROT_WRITE
34
   without PROT_READ.  The only guarantees are that no writing will be
35
   allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
36
 
37
#define PROT_READ       0x1             /* Page can be read.  */
38
#define PROT_WRITE      0x2             /* Page can be written.  */
39
#define PROT_EXEC       0x4             /* Page can be executed.  */
40
#define PROT_NONE       0x0             /* Page can not be accessed.  */
41
 
42
/* Sharing types (must choose one and only one of these).  */
43
#define MAP_SHARED      0x01            /* Share changes.  */
44
#define MAP_PRIVATE     0x02            /* Changes are private.  */
45
#ifdef __USE_MISC
46
# define MAP_TYPE       0x0f            /* Mask for type of mapping.  */
47
#endif
48
 
49
/* Other flags.  */
50
#define MAP_FIXED       0x10            /* Interpret addr exactly.  */
51
#ifdef __USE_MISC
52
# define MAP_FILE       0
53
# define MAP_ANONYMOUS  0x20            /* Don't use a file.  */
54
# define MAP_ANON       MAP_ANONYMOUS
55
#endif
56
 
57
/* These are Linux-specific.  */
58
#ifdef __USE_MISC
59
# define MAP_GROWSDOWN  0x0100          /* Stack-like segment.  */
60
# define MAP_DENYWRITE  0x0800          /* ETXTBSY */
61
# define MAP_EXECUTABLE 0x1000          /* Mark it as an executable.  */
62
# define MAP_LOCKED     0x2000          /* Lock the mapping.  */
63
# define MAP_NORESERVE  0x4000          /* Don't check for reservations.  */
64
#endif
65
 
66
/* Flags to `msync'.  */
67
#define MS_ASYNC        1               /* Sync memory asynchronously.  */
68
#define MS_SYNC         4               /* Synchronous memory sync.  */
69
#define MS_INVALIDATE   2               /* Invalidate the caches.  */
70
 
71
/* Advice to `madvise'.  */
72
#ifdef __USE_BSD
73
# define MADV_NORMAL     0      /* No further special treatment.  */
74
# define MADV_RANDOM     1      /* Expect random page references.  */
75
# define MADV_SEQUENTIAL 2      /* Expect sequential page references.  */
76
# define MADV_WILLNEED   3      /* Will need these pages.  */
77
# define MADV_DONTNEED   4      /* Don't need these pages.  */
78
#endif
79
 
80
/* The POSIX people had to invent similar names for the same things.  */
81
#ifdef __USE_XOPEN2K
82
# define POSIX_MADV_NORMAL      0 /* No further special treatment.  */
83
# define POSIX_MADV_RANDOM      1 /* Expect random page references.  */
84
# define POSIX_MADV_SEQUENTIAL  2 /* Expect sequential page references.  */
85
# define POSIX_MADV_WILLNEED    3 /* Will need these pages.  */
86
# define POSIX_MADV_DONTNEED    4 /* Don't need these pages.  */
87
#endif
88
 
89
 
90
/* Flags for `mlockall' (can be OR'd together).  */
91
#define MCL_CURRENT     1               /* Lock all currently mapped pages.  */
92
#define MCL_FUTURE      2               /* Lock all additions to address
93
                                           space.  */
94
 
95
/* Flags for `mremap'.  */
96
#ifdef __USE_GNU
97
# define MREMAP_MAYMOVE 1
98
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.