The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/mach/vm_prot.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* 
    2  * Mach Operating System
    3  * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
    4  * All Rights Reserved.
    5  * 
    6  * Permission to use, copy, modify and distribute this software and its
    7  * documentation is hereby granted, provided that both the copyright
    8  * notice and this permission notice appear in all copies of the
    9  * software, derivative works or modified versions, and any portions
   10  * thereof, and that both notices appear in supporting documentation.
   11  * 
   12  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   13  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
   14  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   15  * 
   16  * Carnegie Mellon requests users of this software to return to
   17  * 
   18  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   19  *  School of Computer Science
   20  *  Carnegie Mellon University
   21  *  Pittsburgh PA 15213-3890
   22  * 
   23  * any improvements or extensions that they make and grant Carnegie Mellon
   24  * the rights to redistribute these changes.
   25  */
   26 /*
   27  * HISTORY
   28  * $Log:        vm_prot.h,v $
   29  * Revision 2.6  93/01/14  17:49:10  danner
   30  *      Standardized include symbol name.
   31  *      [92/06/10            pds]
   32  * 
   33  * Revision 2.5  92/03/10  16:27:15  jsb
   34  *      Add no change protection value for memory_object_lock_request.
   35  *      [David L. Black 92/02/22  17:03:43  dlb@osf.org]
   36  * 
   37  * Revision 2.4  91/05/14  17:03:00  mrt
   38  *      Correcting copyright
   39  * 
   40  * Revision 2.3  91/02/05  17:37:38  mrt
   41  *      Changed to new Mach copyright
   42  *      [91/02/01  17:22:39  mrt]
   43  * 
   44  * Revision 2.2  90/01/22  23:05:57  af
   45  *      Removed execute permission from default protection.
   46  *      On the only machine that cares for execute permission (mips)
   47  *      this is an expensive liability: it requires keeping
   48  *      Icache consistent memory that never contains code.
   49  *      [89/12/15            af]
   50  * 
   51  * Revision 2.1  89/08/03  16:06:47  rwd
   52  * Created.
   53  * 
   54  * Revision 2.3  89/02/25  18:42:29  gm0w
   55  *      Changes for cleanup.
   56  * 
   57  *  6-Jun-85  Avadis Tevanian (avie) at Carnegie-Mellon University
   58  *      Created.
   59  *
   60  */
   61 /*
   62  *      File:   mach/vm_prot.h
   63  *      Author: Avadis Tevanian, Jr., Michael Wayne Young
   64  *
   65  *      Virtual memory protection definitions.
   66  *
   67  */
   68 
   69 #ifndef _MACH_VM_PROT_H_
   70 #define _MACH_VM_PROT_H_
   71 
   72 /*
   73  *      Types defined:
   74  *
   75  *      vm_prot_t               VM protection values.
   76  */
   77 
   78 typedef int             vm_prot_t;
   79 
   80 /*
   81  *      Protection values, defined as bits within the vm_prot_t type
   82  */
   83 
   84 #define VM_PROT_NONE    ((vm_prot_t) 0x00)
   85 
   86 #define VM_PROT_READ    ((vm_prot_t) 0x01)      /* read permission */
   87 #define VM_PROT_WRITE   ((vm_prot_t) 0x02)      /* write permission */
   88 #define VM_PROT_EXECUTE ((vm_prot_t) 0x04)      /* execute permission */
   89 
   90 /*
   91  *      The default protection for newly-created virtual memory
   92  */
   93 
   94 #define VM_PROT_DEFAULT (VM_PROT_READ|VM_PROT_WRITE)
   95 
   96 /*
   97  *      The maximum privileges possible, for parameter checking.
   98  */
   99 
  100 #define VM_PROT_ALL     (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE)
  101 
  102 /*
  103  *      An invalid protection value.
  104  *      Used only by memory_object_lock_request to indicate no change
  105  *      to page locks.  Using -1 here is a bad idea because it
  106  *      looks like VM_PROT_ALL and then some.
  107  */
  108 #define VM_PROT_NO_CHANGE       ((vm_prot_t) 0x08)
  109 
  110 #endif  /* _MACH_VM_PROT_H_ */

Cache object: e6a1c988a65b1bc1e0dacd99a5f518bc


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.