|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /*
26: * Mach Operating System
27: * Copyright (c) 1991,1990,1989 Carnegie Mellon University
28: * All Rights Reserved.
29: *
30: * Permission to use, copy, modify and distribute this software and its
31: * documentation is hereby granted, provided that both the copyright
32: * notice and this permission notice appear in all copies of the
33: * software, derivative works or modified versions, and any portions
34: * thereof, and that both notices appear in supporting documentation.
35: *
36: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
37: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
38: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
39: *
40: * Carnegie Mellon requests users of this software to return to
41: *
42: * Software Distribution Coordinator or [email protected]
43: * School of Computer Science
44: * Carnegie Mellon University
45: * Pittsburgh PA 15213-3890
46: *
47: * any improvements or extensions that they make and grant Carnegie Mellon
48: * the rights to redistribute these changes.
49: */
50: /*
51: * File: kern/ipc_kobject.h
52: * Author: Rich Draves
53: * Date: 1989
54: *
55: * Declarations for letting a port represent a kernel object.
56: */
57:
58: #ifndef _KERN_IPC_KOBJECT_H_
59: #define _KERN_IPC_KOBJECT_H_
60:
61: #include <mach/machine/vm_types.h>
62:
63: typedef vm_offset_t ipc_kobject_t;
64:
65: #define IKO_NULL ((ipc_kobject_t) 0)
66:
67: typedef unsigned int ipc_kobject_type_t;
68:
69: #define IKOT_NONE 0
70: #define IKOT_THREAD 1
71: #define IKOT_TASK 2
72: #define IKOT_HOST 3
73: #define IKOT_HOST_PRIV 4
74: #define IKOT_PROCESSOR 5
75: #define IKOT_PSET 6
76: #define IKOT_PSET_NAME 7
77: #define IKOT_PAGER 8
78: #define IKOT_PAGER_TERMINATING 9
79: #define IKOT_PAGING_REQUEST 10
80: #define IKOT_PAGING_NAME 11
81: #define IKOT_DEVICE 12
82: #define IKOT_XMM_PAGER 13
83: #define IKOT_XMM_OBJECT 14
84: #define IKOT_XMM_KERNEL 15
85: #define IKOT_XMM_REPLY 16
86: #define IKOT_NETIPC 17
87:
88: /*
89: * Define types of kernel objects that use page lists instead
90: * of entry lists for copyin of out of line memory.
91: */
92:
93: #define ipc_kobject_vm_page_list(ikot) \
94: ((ikot == IKOT_PAGING_REQUEST) || (ikot == IKOT_DEVICE))
95:
96: #define ipc_kobject_vm_page_steal(ikot) (ikot == IKOT_PAGING_REQUEST)
97:
98: extern struct ipc_kmsg *
99: ipc_kobject_server(/* ipc_kmsg_t */);
100:
101: extern void
102: ipc_kobject_set(/* ipc_port_t, ipc_kobject_t, ipc_kobject_type_t */);
103:
104: extern void
105: ipc_kobject_destroy(/* ipc_port_t */);
106:
107: #define null_conversion(port) (port)
108:
109: #endif /* _KERN_IPC_KOBJECT_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.