|
|
1.1.1.2 root 1: /*
1.1 root 2: * Mach Operating System
3: * Copyright (c) 1991,1990,1989 Carnegie Mellon University
4: * All Rights Reserved.
1.1.1.2 root 5: *
1.1 root 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.
1.1.1.2 root 11: *
1.1 root 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.
1.1.1.2 root 15: *
1.1 root 16: * Carnegie Mellon requests users of this software to return to
1.1.1.2 root 17: *
1.1 root 18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
1.1.1.2 root 22: *
1.1 root 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/boolean.h>
40: #include <mach/kern_return.h>
1.1.1.3 ! root 41: #include <ipc/ipc_entry.h>
1.1 root 42: #include <ipc/ipc_port.h>
43:
44: #define ipc_right_lookup_read ipc_right_lookup_write
45:
46: extern kern_return_t
1.1.1.3 ! root 47: ipc_right_lookup_write(ipc_space_t, mach_port_t, ipc_entry_t *);
1.1 root 48:
49: extern boolean_t
1.1.1.3 ! root 50: ipc_right_reverse(ipc_space_t, ipc_object_t,
! 51: mach_port_t *, ipc_entry_t *);
1.1 root 52:
53: extern kern_return_t
1.1.1.3 ! root 54: ipc_right_dnrequest(ipc_space_t, mach_port_t, boolean_t,
! 55: ipc_port_t, ipc_port_t *);
1.1 root 56:
57: extern ipc_port_t
1.1.1.3 ! root 58: ipc_right_dncancel(ipc_space_t, ipc_port_t, mach_port_t, ipc_entry_t);
1.1 root 59:
60: #define ipc_right_dncancel_macro(space, port, name, entry) \
61: (((entry)->ie_request == 0) ? IP_NULL : \
62: ipc_right_dncancel((space), (port), (name), (entry)))
63:
64: extern boolean_t
1.1.1.3 ! root 65: ipc_right_inuse(ipc_space_t, mach_port_t, ipc_entry_t);
1.1 root 66:
67: extern boolean_t
1.1.1.3 ! root 68: ipc_right_check(ipc_space_t, ipc_port_t, mach_port_t, ipc_entry_t);
1.1 root 69:
70: extern void
1.1.1.3 ! root 71: ipc_right_clean(ipc_space_t, mach_port_t, ipc_entry_t);
1.1 root 72:
73: extern kern_return_t
1.1.1.3 ! root 74: ipc_right_destroy(ipc_space_t, mach_port_t, ipc_entry_t);
1.1 root 75:
76: extern kern_return_t
1.1.1.3 ! root 77: ipc_right_dealloc(ipc_space_t, mach_port_t, ipc_entry_t);
1.1 root 78:
79: extern kern_return_t
1.1.1.3 ! root 80: ipc_right_delta(ipc_space_t, mach_port_t, ipc_entry_t,
! 81: mach_port_right_t, mach_port_delta_t);
1.1 root 82:
83: extern kern_return_t
1.1.1.3 ! root 84: ipc_right_info(ipc_space_t, mach_port_t, ipc_entry_t,
! 85: mach_port_type_t *, mach_port_urefs_t *);
1.1 root 86:
87: extern boolean_t
1.1.1.3 ! root 88: ipc_right_copyin_check(ipc_space_t, mach_port_t, ipc_entry_t,
! 89: mach_msg_type_name_t);
1.1 root 90:
91: extern kern_return_t
1.1.1.3 ! root 92: ipc_right_copyin(ipc_space_t, mach_port_t, ipc_entry_t,
! 93: mach_msg_type_name_t, boolean_t,
! 94: ipc_object_t *, ipc_port_t *);
1.1 root 95:
96: extern void
1.1.1.3 ! root 97: ipc_right_copyin_undo(ipc_space_t, mach_port_t, ipc_entry_t,
! 98: mach_msg_type_name_t, ipc_object_t, ipc_port_t);
1.1 root 99:
100: extern kern_return_t
1.1.1.3 ! root 101: ipc_right_copyin_two(ipc_space_t, mach_port_t, ipc_entry_t,
! 102: ipc_object_t *, ipc_port_t *);
1.1 root 103:
104: extern kern_return_t
1.1.1.3 ! root 105: ipc_right_copyout(ipc_space_t, mach_port_t, ipc_entry_t,
! 106: mach_msg_type_name_t, boolean_t, ipc_object_t);
1.1 root 107:
108: extern kern_return_t
1.1.1.3 ! root 109: ipc_right_rename(ipc_space_t, mach_port_t, ipc_entry_t,
! 110: mach_port_t, ipc_entry_t);
1.1 root 111:
1.1.1.2 root 112: #endif /* _IPC_IPC_RIGHT_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.