FreeBSD/Linux Kernel Cross Reference
sys/vm/vm_kern.h
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_kern.h,v $
29 * Revision 2.10 93/08/10 15:12:46 mrt
30 * Included support for projected buffers.
31 * [93/02/16 09:30:12 jcb]
32 *
33 * Revision 2.9 91/08/28 11:18:05 jsb
34 * Delete io_wire, io_unwire.
35 * [91/08/06 17:18:36 dlb]
36 *
37 * Add declarations for kmem_io_map_{copyout,deallocate}.
38 * [91/08/05 17:46:55 dlb]
39 *
40 * Revision 2.8 91/05/18 14:40:39 rpd
41 * Added kmem_alloc_aligned.
42 * [91/05/02 rpd]
43 *
44 * Revision 2.7 91/05/14 17:49:27 mrt
45 * Correcting copyright
46 *
47 * Revision 2.6 91/03/16 15:05:31 rpd
48 * Added kmem_realloc. Changed kmem_alloc and friends
49 * to return a kern_return_t.
50 * [91/03/03 rpd]
51 *
52 * Revision 2.5 91/02/05 17:58:31 mrt
53 * Changed to new Mach copyright
54 * [91/02/01 16:32:28 mrt]
55 *
56 * Revision 2.4 90/06/02 15:10:51 rpd
57 * Added ipc_kernel_map.
58 * [90/03/26 23:13:05 rpd]
59 *
60 * Revision 2.3 90/02/22 20:05:46 dbg
61 * Remove vm_move(), kmem_alloc_wait(), kmem_free_wakeup().
62 * [90/01/25 dbg]
63 *
64 * Revision 2.2 90/01/11 11:47:53 dbg
65 * Remove kmem_mb_alloc, mb_map. Add io_wire and io_unwire.
66 * [89/12/11 dbg]
67 *
68 * Changes for MACH_KERNEL:
69 * . Added kmem_alloc_wired.
70 * . Removed non-MACH header files, user_pt_map, vm_kern_zero_page.
71 * [89/04/28 dbg]
72 *
73 * Revision 2.1 89/08/03 16:45:13 rwd
74 * Created.
75 *
76 * Revision 2.8 89/04/18 21:25:51 mwyoung
77 * No relevant history.
78 * [89/04/18 mwyoung]
79 *
80 */
81 /*
82 * File: vm/vm_kern.h
83 * Author: Avadis Tevanian, Jr., Michael Wayne Young
84 * Date: 1985
85 *
86 * Kernel memory management definitions.
87 */
88
89 #ifndef _VM_VM_KERN_H_
90 #define _VM_VM_KERN_H_
91
92 #include <mach/kern_return.h>
93 #include <vm/vm_map.h>
94
95 extern kern_return_t projected_buffer_allocate();
96 extern kern_return_t projected_buffer_deallocate();
97 extern kern_return_t projected_buffer_map();
98 extern kern_return_t projected_buffer_collect();
99
100 extern void kmem_init();
101
102 extern kern_return_t kmem_alloc();
103 extern kern_return_t kmem_alloc_pageable();
104 extern kern_return_t kmem_alloc_wired();
105 extern kern_return_t kmem_alloc_aligned();
106 extern kern_return_t kmem_realloc();
107 extern void kmem_free();
108
109 extern vm_map_t kmem_suballoc();
110
111 extern kern_return_t kmem_io_map_copyout();
112 extern void kmem_io_map_deallocate();
113
114 extern vm_map_t kernel_map;
115 extern vm_map_t kernel_pageable_map;
116 extern vm_map_t ipc_kernel_map;
117
118 #endif _VM_VM_KERN_H_
Cache object: 4f4a058c7243bbfef024964d7791af45
|