Annotation of Gnu-Mach/vm/vm_kern.h, revision 1.1.1.5

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_kern.h
                     28:  *     Author: Avadis Tevanian, Jr., Michael Wayne Young
                     29:  *     Date:   1985
                     30:  *
                     31:  *     Kernel memory management definitions.
                     32:  */
                     33: 
                     34: #ifndef        _VM_VM_KERN_H_
                     35: #define _VM_VM_KERN_H_
                     36: 
                     37: #include <mach/kern_return.h>
                     38: #include <vm/vm_map.h>
                     39: 
1.1.1.3   root       40: extern kern_return_t    projected_buffer_allocate(vm_map_t, vm_size_t, int,
                     41:                                                  vm_offset_t *, vm_offset_t *,
                     42:                                                  vm_prot_t, vm_inherit_t);
                     43: extern kern_return_t    projected_buffer_deallocate(vm_map_t, vm_offset_t,
                     44:                                                    vm_offset_t);
                     45: extern kern_return_t    projected_buffer_map(vm_map_t, vm_offset_t, vm_size_t,
                     46:                                             vm_offset_t *, vm_prot_t,
                     47:                                             vm_inherit_t);
                     48: extern kern_return_t    projected_buffer_collect(vm_map_t);
                     49: 
                     50: extern void            kmem_init(vm_offset_t, vm_offset_t);
                     51: 
                     52: extern kern_return_t   kmem_alloc(vm_map_t, vm_offset_t *, vm_size_t);
                     53: extern kern_return_t   kmem_alloc_pageable(vm_map_t, vm_offset_t *,
                     54:                                            vm_size_t);
                     55: extern kern_return_t   kmem_alloc_wired(vm_map_t, vm_offset_t *, vm_size_t);
                     56: extern kern_return_t   kmem_alloc_aligned(vm_map_t, vm_offset_t *, vm_size_t);
                     57: extern void            kmem_free(vm_map_t, vm_offset_t, vm_size_t);
                     58: 
                     59: extern void            kmem_submap(vm_map_t, vm_map_t, vm_offset_t *,
                     60:                                    vm_offset_t *, vm_size_t, boolean_t);
                     61: 
                     62: extern kern_return_t   kmem_io_map_copyout(vm_map_t, vm_offset_t *,
                     63:                                            vm_offset_t *, vm_size_t *,
                     64:                                            vm_map_copy_t, vm_size_t);
                     65: extern void            kmem_io_map_deallocate(vm_map_t, vm_offset_t,
                     66:                                               vm_size_t);
1.1       root       67: 
1.1.1.3   root       68: extern int
                     69: copyinmap (vm_map_t map, char *fromaddr, char *toaddr, int length);
1.1       root       70: 
1.1.1.3   root       71: extern int
                     72: copyoutmap (vm_map_t map, char *fromaddr, char *toaddr, int length);
1.1       root       73: 
                     74: extern vm_map_t        kernel_map;
                     75: extern vm_map_t        kernel_pageable_map;
                     76: extern vm_map_t ipc_kernel_map;
                     77: 
1.1.1.3   root       78: extern boolean_t projected_buffer_in_range(
                     79:         vm_map_t map,
                     80:         vm_offset_t start,
                     81:                vm_offset_t end);
                     82: 
1.1.1.4   root       83: extern void kmem_alloc_pages(
                     84:        vm_object_t     object,
                     85:        vm_offset_t     offset,
                     86:        vm_offset_t     start,
                     87:        vm_offset_t     end,
                     88:        vm_prot_t       protection);
                     89: 
                     90: extern void kmem_remap_pages(
                     91:        vm_object_t     object,
                     92:        vm_offset_t     offset,
                     93:        vm_offset_t     start,
                     94:        vm_offset_t     end,
                     95:        vm_prot_t       protection);
                     96: 
1.1.1.2   root       97: #endif /* _VM_VM_KERN_H_ */

unix.superglobalmegacorp.com

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