FreeBSD/Linux Kernel Cross Reference
sys/ipc/ipc_hash.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_hash.h,v $
29 * Revision 2.6 92/01/14 16:44:18 rpd
30 * Changed ipc_hash_info for CountInOut.
31 * [92/01/14 rpd]
32 *
33 * Revision 2.5 91/05/14 16:32:23 mrt
34 * Correcting copyright
35 *
36 * Revision 2.4 91/02/05 17:21:34 mrt
37 * Changed to new Mach copyright
38 * [91/02/01 15:44:52 mrt]
39 *
40 * Revision 2.3 91/01/08 15:13:35 rpd
41 * Changed ipc_info_bucket_t to hash_info_bucket_t.
42 * [91/01/02 rpd]
43 *
44 * Revision 2.2 90/06/02 14:49:51 rpd
45 * Created for new IPC.
46 * [90/03/26 20:55:01 rpd]
47 *
48 */
49 /*
50 * File: ipc/ipc_hash.h
51 * Author: Rich Draves
52 * Date: 1989
53 *
54 * Declarations of entry hash table operations.
55 */
56
57 #ifndef _IPC_IPC_HASH_H_
58 #define _IPC_IPC_HASH_H_
59
60 #include <mach_ipc_debug.h>
61
62 #include <mach/boolean.h>
63 #include <mach/kern_return.h>
64
65 extern void
66 ipc_hash_init();
67
68 #if MACH_IPC_DEBUG
69
70 extern unsigned int
71 ipc_hash_info(/* hash_info_bucket_t *, unsigned int */);
72
73 #endif MACH_IPC_DEBUG
74
75 extern boolean_t
76 ipc_hash_lookup(/* ipc_space_t space, ipc_object_t obj,
77 mach_port_t *namep, ipc_entry_t *entryp */);
78
79 extern void
80 ipc_hash_insert(/* ipc_space_t space, ipc_object_t obj,
81 mach_port_t name, ipc_entry_t entry */);
82
83 extern void
84 ipc_hash_delete(/* ipc_space_t space, ipc_object_t obj,
85 mach_port_t name, ipc_entry_t entry */);
86
87 /*
88 * For use by functions that know what they're doing:
89 * the global primitives, for splay tree entries,
90 * and the local primitives, for table entries.
91 */
92
93 extern boolean_t
94 ipc_hash_global_lookup(/* ipc_space_t space, ipc_object_t obj,
95 mach_port_t *namep, ipc_tree_entry_t *entryp */);
96
97 extern void
98 ipc_hash_global_insert(/* ipc_space_t space, ipc_object_t obj,
99 mach_port_t name, ipc_tree_entry_t entry */);
100
101 extern void
102 ipc_hash_global_delete(/* ipc_space_t space, ipc_object_t obj,
103 mach_port_t name, ipc_tree_entry_t entry */);
104
105 extern boolean_t
106 ipc_hash_local_lookup(/* ipc_space_t space, ipc_object_t obj,
107 mach_port_t *namep, ipc_entry_t *entryp */);
108
109 extern void
110 ipc_hash_local_insert(/* ipc_space_t space, ipc_object_t obj,
111 mach_port_index_t index, ipc_entry_t entry */);
112
113 extern void
114 ipc_hash_local_delete(/* ipc_space_t space, ipc_object_t obj,
115 mach_port_index_t index, ipc_entry_t entry */);
116
117 #endif _IPC_IPC_HASH_H_
Cache object: 1a291c89da10a0bacf343f6417224db8
|