FreeBSD/Linux Kernel Cross Reference
sys/kern/memory.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1993 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: memory.h,v $
29 * Revision 2.2 93/11/17 19:06:10 dbg
30 * Created.
31 * [93/09/28 dbg]
32 *
33 */
34
35 #ifndef _KERN_MEMORY_H_
36 #define _KERN_MEMORY_H_
37
38 /*
39 * Clear a region of memory
40 */
41 #ifndef bzero /* may be builtin */
42 extern void bzero(
43 void * dest,
44 unsigned long size);
45 #endif
46
47 /*
48 * Copy one region of memory to another
49 */
50 #ifndef bcopy /* may be builtin */
51 extern void bcopy(
52 const void * src,
53 void * dest,
54 unsigned long size);
55 #endif
56
57 /*
58 * Copy memory from user to kernel.
59 * Returns non-zero if user memory inaccessible.
60 */
61 extern int copyin(
62 const void * user_src,
63 void * kernel_dest,
64 unsigned long size);
65
66 /*
67 * Copy memory from kernel to user.
68 * Returns non-zero if user memory inaccessible.
69 */
70 extern int copyout(
71 const void * kernel_src,
72 void * user_dest,
73 unsigned long size);
74
75 /*
76 * Same as copyin, but memory must be 32-bit aligned.
77 */
78 extern int copyinmsg(
79 const void * user_src,
80 void * kernel_dest,
81 unsigned long size);
82
83 /*
84 * Same as copyout, but memory must be 32-bit aligned.
85 */
86 extern int copyoutmsg(
87 const void * kernel_src,
88 void * user_dest,
89 unsigned long size);
90
91 #endif /* _KERN_MEMORY_H_ */
Cache object: e5b41554b3446216251758d3dff86e19
|