1 /*
2 * Mach Operating System
3 * Copyright (c) 1993,1992 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: mig_support.h,v $
29 * Revision 2.7 93/11/17 17:42:23 dbg
30 * Kernel now includes <kern/memory.h> for declaration of bcopy.
31 * [93/09/30 dbg]
32 *
33 * Revision 2.6 93/05/14 15:10:07 rvb
34 * #include string.h -> strings.h
35 * [93/05/14 rvb]
36 *
37 * Revision 2.5 93/05/10 21:20:03 rvb
38 * size_t --> vm_size_t.
39 * [93/04/09 af]
40 *
41 * Revision 2.4 93/05/10 17:47:54 rvb
42 * Totally eliminate size_t.
43 * [93/05/04 17:42:35 rvb]
44 *
45 * Revision 2.3 93/03/11 13:46:26 danner
46 * eliminate size_t.
47 * [93/03/09 danner]
48 *
49 * Revision 2.2 93/01/14 17:45:03 danner
50 * Changed the argument to mig_init to void * for compatibility
51 * with the C-Threads mig_init.
52 * [92/12/18 pds]
53 * Define memcpy to be bcopy in the kernel, otherwise include string.h.
54 * Added include of sys/types.h.
55 * [92/12/17 pds]
56 * Created.
57 * [92/12/11 pds]
58 *
59 */
60
61 /*
62 * Abstract:
63 * Header file for support routines called by MiG generated interfaces.
64 *
65 */
66
67 #ifndef _MACH_MIG_SUPPORT_H_
68 #define _MACH_MIG_SUPPORT_H_
69
70 #include <mach/std_types.h>
71 #include <mach/message.h>
72 #include <sys/types.h>
73
74 #if defined(KERNEL)
75
76 #if !defined(bcopy)
77
78 #include <kern/memory.h> /* bcopy */
79 #define memcpy(_dst,_src,_len) bcopy((_src),(_dst),(_len))
80
81 #endif /* defined(bcopy) */
82
83 #else /* not defined(KERNEL) */
84
85 #include <strings.h>
86
87 #endif /* defined(KERNEL) */
88
89 extern void mig_init(void *_first);
90
91 extern void mig_allocate(vm_address_t *_addr_p, vm_size_t _size);
92
93 extern void mig_deallocate(vm_address_t _addr, vm_size_t _size);
94
95 extern void mig_dealloc_reply_port(void);
96
97 extern mach_port_t mig_get_reply_port(void);
98
99 extern void mig_reply_setup(const mach_msg_header_t *_request,
100 mach_msg_header_t *reply);
101
102 #ifndef KERNEL
103 extern vm_size_t mig_strncpy(char *_dest, const char *_src,
104 vm_size_t _len);
105 #endif
106
107 #endif /* not defined(_MACH_MIG_SUPPORT_H_) */
Cache object: 03f5a3ca05c666380f0c67d1342bc3e5
|