FreeBSD/Linux Kernel Cross Reference
sys/ipc/ipc_right.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991,1990,1989 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: ipc_right.h,v $
29 * Revision 2.4 91/05/14 16:36:32 mrt
30 * Correcting copyright
31 *
32 * Revision 2.3 91/02/05 17:23:39 mrt
33 * Changed to new Mach copyright
34 * [91/02/01 15:51:08 mrt]
35 *
36 * Revision 2.2 90/06/02 14:51:35 rpd
37 * Created for new IPC.
38 * [90/03/26 21:02:56 rpd]
39 *
40 */
41 /*
42 * File: ipc/ipc_right.h
43 * Author: Rich Draves
44 * Date: 1989
45 *
46 * Declarations of functions to manipulate IPC capabilities.
47 */
48
49 #ifndef _IPC_IPC_RIGHT_H_
50 #define _IPC_IPC_RIGHT_H_
51
52 #include <mach_ipc_compat.h>
53
54 #include <mach/boolean.h>
55 #include <mach/kern_return.h>
56 #include <ipc/ipc_port.h>
57
58 #define ipc_right_lookup_read ipc_right_lookup_write
59
60 extern kern_return_t
61 ipc_right_lookup_write(/* ipc_space_t, mach_port_t, ipc_entry_t * */);
62
63 extern boolean_t
64 ipc_right_reverse(/* ipc_space_t, ipc_object_t,
65 mach_port_t *, ipc_entry_t * */);
66
67 extern kern_return_t
68 ipc_right_dnrequest(/* ipc_space_t, mach_port_t, boolean_t,
69 ipc_port_t, ipc_port_t * */);
70
71 extern ipc_port_t
72 ipc_right_dncancel(/* ipc_space_t, ipc_port_t, mach_port_t, ipc_entry_t */);
73
74 #define ipc_right_dncancel_macro(space, port, name, entry) \
75 (((entry)->ie_request == 0) ? IP_NULL : \
76 ipc_right_dncancel((space), (port), (name), (entry)))
77
78 extern boolean_t
79 ipc_right_inuse(/* ipc_space_t, mach_port_t, ipc_entry_t */);
80
81 extern boolean_t
82 ipc_right_check(/* ipc_space_t, mach_port_t, ipc_entry_t, ipc_port_t */);
83
84 extern void
85 ipc_right_clean(/* ipc_space_t, mach_port_t, ipc_entry_t */);
86
87 extern kern_return_t
88 ipc_right_destroy(/* ipc_space_t, mach_port_t, ipc_entry_t */);
89
90 extern kern_return_t
91 ipc_right_dealloc(/* ipc_space_t, mach_port_t, ipc_entry_t */);
92
93 extern kern_return_t
94 ipc_right_delta(/* ipc_space_t, mach_port_t, ipc_entry_t,
95 mach_port_right_t, mach_port_delta_t */);
96
97 extern kern_return_t
98 ipc_right_info(/* ipc_space_t, mach_port_t, ipc_entry_t,
99 mach_port_type_t *, mach_port_urefs_t * */);
100
101 extern boolean_t
102 ipc_right_copyin_check(/* ipc_space_t, mach_port_t, ipc_entry_t,
103 mach_msg_type_name_t */);
104
105 extern kern_return_t
106 ipc_right_copyin(/* ipc_space_t, mach_port_t, ipc_entry_t,
107 mach_msg_type_name_t, boolean_t,
108 ipc_object_t *, ipc_port_t * */);
109
110 extern void
111 ipc_right_copyin_undo(/* ipc_space_t, mach_port_t, ipc_entry_t,
112 mach_msg_type_name_t, ipc_object_t, ipc_port_t */);
113
114 extern kern_return_t
115 ipc_right_copyin_two(/* ipc_space_t, mach_port_t, ipc_entry_t,
116 ipc_object_t *, ipc_port_t * */);
117
118 extern kern_return_t
119 ipc_right_copyout(/* ipc_space_t, mach_port_t, ipc_entry_t,
120 mach_msg_type_name_t, boolean_t, ipc_object_t */);
121
122 extern kern_return_t
123 ipc_right_rename(/* ipc_space_t, mach_port_t, ipc_entry_t,
124 mach_port_t, ipc_entry_t */);
125
126 #if MACH_IPC_COMPAT
127
128 extern kern_return_t
129 ipc_right_copyin_compat(/* ipc_space_t, mach_port_t, ipc_entry_t,
130 mach_msg_type_name_t, boolean_t, ipc_object_t * */);
131
132 extern kern_return_t
133 ipc_right_copyin_header(/* ipc_space_t, mach_port_t, ipc_entry_t,
134 ipc_object_t *, mach_msg_type_name_t * */);
135
136 #endif MACH_IPC_COMPAT
137 #endif _IPC_IPC_RIGHT_H_
Cache object: 47efca4b5f621450ba4f22e0b6cb55ea
|