home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-mips / mman.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  3.0 KB  |  79 lines

  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    0        /* no further special treatment */
  64. #define MADV_RANDOM    1        /* expect random page references */
  65. #define MADV_SEQUENTIAL    2        /* expect sequential page references */
  66. #define MADV_WILLNEED    3        /* will need these pages */
  67. #define MADV_DONTNEED    4        /* don't need these pages */
  68.  
  69. /* common parameters: try to keep these consistent across architectures */
  70. #define MADV_REMOVE    9        /* remove these pages & resources */
  71. #define MADV_DONTFORK    10        /* don't inherit across fork */
  72. #define MADV_DOFORK    11        /* do inherit across fork */
  73.  
  74. /* compatibility flags */
  75. #define MAP_ANON    MAP_ANONYMOUS
  76. #define MAP_FILE    0
  77.  
  78. #endif /* _ASM_MMAN_H */
  79.