|
|
1.1 ! root 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 [email protected] ! 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: */ ! 28: /* ! 29: * File: ipc/ipc_right.h ! 30: * Author: Rich Draves ! 31: * Date: 1989 ! 32: * ! 33: * Declarations of functions to manipulate IPC capabilities. ! 34: */ ! 35: ! 36: #ifndef _IPC_IPC_RIGHT_H_ ! 37: #define _IPC_IPC_RIGHT_H_ ! 38: ! 39: #include <mach_ipc_compat.h> ! 40: ! 41: #include <mach/boolean.h> ! 42: #include <mach/kern_return.h> ! 43: #include <ipc/ipc_port.h> ! 44: ! 45: #define ipc_right_lookup_read ipc_right_lookup_write ! 46: ! 47: extern kern_return_t ! 48: ipc_right_lookup_write(/* ipc_space_t, mach_port_t, ipc_entry_t * */); ! 49: ! 50: extern boolean_t ! 51: ipc_right_reverse(/* ipc_space_t, ipc_object_t, ! 52: mach_port_t *, ipc_entry_t * */); ! 53: ! 54: extern kern_return_t ! 55: ipc_right_dnrequest(/* ipc_space_t, mach_port_t, boolean_t, ! 56: ipc_port_t, ipc_port_t * */); ! 57: ! 58: extern ipc_port_t ! 59: ipc_right_dncancel(/* ipc_space_t, ipc_port_t, mach_port_t, ipc_entry_t */); ! 60: ! 61: #define ipc_right_dncancel_macro(space, port, name, entry) \ ! 62: (((entry)->ie_request == 0) ? IP_NULL : \ ! 63: ipc_right_dncancel((space), (port), (name), (entry))) ! 64: ! 65: extern boolean_t ! 66: ipc_right_inuse(/* ipc_space_t, mach_port_t, ipc_entry_t */); ! 67: ! 68: extern boolean_t ! 69: ipc_right_check(/* ipc_space_t, mach_port_t, ipc_entry_t, ipc_port_t */); ! 70: ! 71: extern void ! 72: ipc_right_clean(/* ipc_space_t, mach_port_t, ipc_entry_t */); ! 73: ! 74: extern kern_return_t ! 75: ipc_right_destroy(/* ipc_space_t, mach_port_t, ipc_entry_t */); ! 76: ! 77: extern kern_return_t ! 78: ipc_right_dealloc(/* ipc_space_t, mach_port_t, ipc_entry_t */); ! 79: ! 80: extern kern_return_t ! 81: ipc_right_delta(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 82: mach_port_right_t, mach_port_delta_t */); ! 83: ! 84: extern kern_return_t ! 85: ipc_right_info(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 86: mach_port_type_t *, mach_port_urefs_t * */); ! 87: ! 88: extern boolean_t ! 89: ipc_right_copyin_check(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 90: mach_msg_type_name_t */); ! 91: ! 92: extern kern_return_t ! 93: ipc_right_copyin(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 94: mach_msg_type_name_t, boolean_t, ! 95: ipc_object_t *, ipc_port_t * */); ! 96: ! 97: extern void ! 98: ipc_right_copyin_undo(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 99: mach_msg_type_name_t, ipc_object_t, ipc_port_t */); ! 100: ! 101: extern kern_return_t ! 102: ipc_right_copyin_two(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 103: ipc_object_t *, ipc_port_t * */); ! 104: ! 105: extern kern_return_t ! 106: ipc_right_copyout(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 107: mach_msg_type_name_t, boolean_t, ipc_object_t */); ! 108: ! 109: extern kern_return_t ! 110: ipc_right_rename(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 111: mach_port_t, ipc_entry_t */); ! 112: ! 113: #if MACH_IPC_COMPAT ! 114: ! 115: extern kern_return_t ! 116: ipc_right_copyin_compat(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 117: mach_msg_type_name_t, boolean_t, ipc_object_t * */); ! 118: ! 119: extern kern_return_t ! 120: ipc_right_copyin_header(/* ipc_space_t, mach_port_t, ipc_entry_t, ! 121: ipc_object_t *, mach_msg_type_name_t * */); ! 122: ! 123: #endif /* MACH_IPC_COMPAT */ ! 124: #endif /* _IPC_IPC_RIGHT_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.