Annotation of Gnu-Mach/vm/vm_fault.h, revision 1.1.1.3

1.1.1.2   root        1: /*
1.1       root        2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
                      4:  * All Rights Reserved.
1.1.1.2   root        5:  *
1.1       root        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.
1.1.1.2   root       11:  *
1.1       root       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.
1.1.1.2   root       15:  *
1.1       root       16:  * Carnegie Mellon requests users of this software to return to
1.1.1.2   root       17:  *
1.1       root       18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
1.1.1.2   root       22:  *
1.1       root       23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: /*
                     27:  *     File:   vm/vm_fault.h
                     28:  *
                     29:  *     Page fault handling module declarations.
                     30:  */
                     31: 
                     32: #ifndef        _VM_VM_FAULT_H_
                     33: #define _VM_VM_FAULT_H_
                     34: 
                     35: #include <mach/kern_return.h>
1.1.1.3 ! root       36: #include <mach/vm_prot.h>
        !            37: #include <vm/vm_map.h>
        !            38: #include <vm/vm_types.h>
1.1       root       39: 
                     40: /*
                     41:  *     Page fault handling based on vm_object only.
                     42:  */
                     43: 
                     44: typedef        kern_return_t   vm_fault_return_t;
                     45: #define VM_FAULT_SUCCESS               0
                     46: #define VM_FAULT_RETRY                 1
                     47: #define VM_FAULT_INTERRUPTED           2
                     48: #define VM_FAULT_MEMORY_SHORTAGE       3
                     49: #define VM_FAULT_FICTITIOUS_SHORTAGE   4
                     50: #define VM_FAULT_MEMORY_ERROR          5
                     51: 
1.1.1.3 ! root       52: extern void vm_fault_init(void);
        !            53: extern vm_fault_return_t vm_fault_page(vm_object_t, vm_offset_t, vm_prot_t,
        !            54:                                       boolean_t, boolean_t, vm_prot_t *,
        !            55:                                       vm_page_t *, vm_page_t *, boolean_t,
        !            56:                                       void (*)());
1.1       root       57: 
1.1.1.3 ! root       58: extern void            vm_fault_cleanup(vm_object_t, vm_page_t);
1.1       root       59: /*
                     60:  *     Page fault handling based on vm_map (or entries therein)
                     61:  */
                     62: 
1.1.1.3 ! root       63: extern kern_return_t   vm_fault(vm_map_t, vm_offset_t, vm_prot_t, boolean_t,
        !            64:                                 boolean_t, void (*)());
        !            65: extern void            vm_fault_wire(vm_map_t, vm_map_entry_t);
        !            66: extern void            vm_fault_unwire(vm_map_t, vm_map_entry_t);
        !            67: 
        !            68: /* Copy pages from one object to another.  */
        !            69: extern kern_return_t   vm_fault_copy(vm_object_t, vm_offset_t, vm_size_t *,
        !            70:                                      vm_object_t, vm_offset_t, vm_map_t,
        !            71:                                      vm_map_version_t *, boolean_t);
1.1.1.2   root       72: #endif /* _VM_VM_FAULT_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.