source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/asm/mman.h @ 2

Last change on this file since 2 was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 2.7 KB
Line 
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License.  See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1995, 1999, 2002 by Ralf Baechle
7 */
8#ifndef _ASM_MMAN_H
9#define _ASM_MMAN_H
10
11/*
12 * Protections are chosen from these bits, OR'd together.  The
13 * implementation does not necessarily support PROT_EXEC or PROT_WRITE
14 * without PROT_READ.  The only guarantees are that no writing will be
15 * allowed without PROT_WRITE and no access will be allowed for PROT_NONE.
16 */
17#define PROT_NONE       0x00            /* page can not be accessed */
18#define PROT_READ       0x01            /* page can be read */
19#define PROT_WRITE      0x02            /* page can be written */
20#define PROT_EXEC       0x04            /* page can be executed */
21/*                      0x08               reserved for PROT_EXEC_NOFLUSH */
22#define PROT_SEM        0x10            /* page may be used for atomic ops */
23#define PROT_GROWSDOWN  0x01000000      /* mprotect flag: extend change to start of growsdown vma */
24#define PROT_GROWSUP    0x02000000      /* mprotect flag: extend change to end of growsup vma */
25
26/*
27 * Flags for mmap
28 */
29#define MAP_SHARED      0x001           /* Share changes */
30#define MAP_PRIVATE     0x002           /* Changes are private */
31#define MAP_TYPE        0x00f           /* Mask for type of mapping */
32#define MAP_FIXED       0x010           /* Interpret addr exactly */
33
34/* not used by linux, but here to make sure we don't clash with ABI defines */
35#define MAP_RENAME      0x020           /* Assign page to file */
36#define MAP_AUTOGROW    0x040           /* File may grow by writing */
37#define MAP_LOCAL       0x080           /* Copy on fork/sproc */
38#define MAP_AUTORSRV    0x100           /* Logical swap reserved on demand */
39
40/* These are linux-specific */
41#define MAP_NORESERVE   0x0400          /* don't check for reservations */
42#define MAP_ANONYMOUS   0x0800          /* don't use a file */
43#define MAP_GROWSDOWN   0x1000          /* stack-like segment */
44#define MAP_DENYWRITE   0x2000          /* ETXTBSY */
45#define MAP_EXECUTABLE  0x4000          /* mark it as an executable */
46#define MAP_LOCKED      0x8000          /* pages are locked */
47#define MAP_POPULATE    0x10000         /* populate (prefault) pagetables */
48#define MAP_NONBLOCK    0x20000         /* do not block on IO */
49
50/*
51 * Flags for msync
52 */
53#define MS_ASYNC        0x0001          /* sync memory asynchronously */
54#define MS_INVALIDATE   0x0002          /* invalidate mappings & caches */
55#define MS_SYNC         0x0004          /* synchronous memory sync */
56
57/*
58 * Flags for mlockall
59 */
60#define MCL_CURRENT     1               /* lock all current mappings */
61#define MCL_FUTURE      2               /* lock all future mappings */
62
63#define MADV_NORMAL     0x0             /* default page-in behavior */
64#define MADV_RANDOM     0x1             /* page-in minimum required */
65#define MADV_SEQUENTIAL 0x2             /* read-ahead aggressively */
66#define MADV_WILLNEED   0x3             /* pre-fault pages */
67#define MADV_DONTNEED   0x4             /* discard these pages */
68
69/* compatibility flags */
70#define MAP_ANON       MAP_ANONYMOUS
71#define MAP_FILE       0
72
73#endif /* _ASM_MMAN_H */
Note: See TracBrowser for help on using the repository browser.