|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * @OSF_COPYRIGHT@ ! 24: */ ! 25: /* ! 26: * HISTORY ! 27: * ! 28: * Revision 1.1.1.1 1998/09/22 21:05:30 wsanchez ! 29: * Import of Mac OS X kernel (~semeria) ! 30: * ! 31: * Revision 1.1.1.1 1998/03/07 02:25:46 wsanchez ! 32: * Import of OSF Mach kernel (~mburg) ! 33: * ! 34: * Revision 1.2.12.2 1996/01/09 19:22:05 devrcs ! 35: * Made not_count in mach_no_senders_notification_t ! 36: * a mach_msg_type_number_t. ! 37: * [1995/12/01 19:49:21 jfraser] ! 38: * ! 39: * Merged '64-bit safe' changes from DEC alpha port. ! 40: * [1995/11/21 18:09:14 jfraser] ! 41: * ! 42: * Revision 1.2.12.1 1994/09/23 02:41:27 ezf ! 43: * change marker to not FREE ! 44: * [1994/09/22 21:42:15 ezf] ! 45: * ! 46: * Revision 1.2.6.5 1993/09/09 16:07:46 jeffc ! 47: * CR9745 - delete message accepted notifications ! 48: * [1993/09/03 22:15:11 jeffc] ! 49: * ! 50: * Revision 1.2.6.4 1993/08/05 19:09:35 jeffc ! 51: * CR9508 - Delete dead code. Remove MACH_IPC_TYPED ! 52: * [1993/08/03 20:18:41 jeffc] ! 53: * ! 54: * CR9508 - Delete dead code. Remove MACH_IPC_COMPAT ! 55: * [1993/08/03 17:09:19 jeffc] ! 56: * ! 57: * Revision 1.2.6.3 1993/08/03 18:29:46 gm ! 58: * CR9596: Change KERNEL to MACH_KERNEL. ! 59: * [1993/08/02 18:24:51 gm] ! 60: * ! 61: * Revision 1.2.6.2 1993/06/09 02:42:49 gm ! 62: * Fix untyped notifications. CR #8969 ! 63: * [1993/04/27 11:29:30 rod] ! 64: * ! 65: * Revision 1.2 1993/04/19 16:38:19 devrcs ! 66: * Added trailer support to untyped ipc. [[email protected], [email protected]] ! 67: * [1993/04/06 18:28:00 travos] ! 68: * Merge untyped ipc: ! 69: * Remove the NDR format label from messages with no untyped data ! 70: * [1993/03/12 22:50:02 travos] ! 71: * changed msgh_body to not_body in the notification message structures. ! 72: * [1993/02/25 21:50:38 fdr] ! 73: * New definitions for notifications (via compile option MACH_IPC_TYPED) ! 74: * [1993/02/24 19:25:42 travos] ! 75: * ! 76: * ansi C conformance changes ! 77: * [1993/02/02 18:54:03 david] ! 78: * Revision 1.1 1992/09/30 02:31:55 robert ! 79: * Initial revision ! 80: * [1993/02/02 19:05:08 david] ! 81: * ! 82: * $EndLog$ ! 83: */ ! 84: /* CMU_HIST */ ! 85: /* ! 86: * Revision 2.4.2.1 92/03/03 16:22:23 jeffreyh ! 87: * Changes form TRUNK ! 88: * [92/02/26 12:12:10 jeffreyh] ! 89: * ! 90: * Revision 2.5 92/01/15 13:44:41 rpd ! 91: * Changed MACH_IPC_COMPAT conditionals to default to not present. ! 92: * ! 93: * Revision 2.4 91/05/14 16:58:21 mrt ! 94: * Correcting copyright ! 95: * ! 96: * Revision 2.3 91/02/05 17:35:18 mrt ! 97: * Changed to new Mach copyright ! 98: * [91/02/01 17:20:02 mrt] ! 99: * ! 100: * Revision 2.2 90/06/02 14:59:32 rpd ! 101: * Converted to new IPC. ! 102: * [90/03/26 22:38:14 rpd] ! 103: * ! 104: * Revision 2.7.7.1 90/02/20 22:24:32 rpd ! 105: * Revised for new IPC. ! 106: * [90/02/19 23:38:57 rpd] ! 107: * ! 108: * ! 109: * Condensed history: ! 110: * Moved ownership rights under MACH_IPC_XXXHACK (rpd). ! 111: * Added NOTIFY_PORT_DESTROYED (rpd). ! 112: * Added notification message structure definition (mwyoung). ! 113: * Created, based on Accent values (mwyoung). ! 114: */ ! 115: /* CMU_ENDHIST */ ! 116: /* ! 117: * Mach Operating System ! 118: * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University ! 119: * All Rights Reserved. ! 120: * ! 121: * Permission to use, copy, modify and distribute this software and its ! 122: * documentation is hereby granted, provided that both the copyright ! 123: * notice and this permission notice appear in all copies of the ! 124: * software, derivative works or modified versions, and any portions ! 125: * thereof, and that both notices appear in supporting documentation. ! 126: * ! 127: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" ! 128: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ! 129: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. ! 130: * ! 131: * Carnegie Mellon requests users of this software to return to ! 132: * ! 133: * Software Distribution Coordinator or [email protected] ! 134: * School of Computer Science ! 135: * Carnegie Mellon University ! 136: * Pittsburgh PA 15213-3890 ! 137: * ! 138: * any improvements or extensions that they make and grant Carnegie Mellon ! 139: * the rights to redistribute these changes. ! 140: */ ! 141: /* ! 142: */ ! 143: /* ! 144: * File: mach/notify.h ! 145: * ! 146: * Kernel notification message definitions. ! 147: */ ! 148: ! 149: #ifndef _MACH_NOTIFY_H_ ! 150: #define _MACH_NOTIFY_H_ ! 151: ! 152: #include <mach/port.h> ! 153: #include <mach/message.h> ! 154: #include <mach/ndr.h> ! 155: ! 156: /* ! 157: * An alternative specification of the notification interface ! 158: * may be found in mach/notify.defs. ! 159: */ ! 160: ! 161: #define MACH_NOTIFY_FIRST 0100 ! 162: #define MACH_NOTIFY_PORT_DELETED (MACH_NOTIFY_FIRST + 001 ) ! 163: /* A send or send-once right was deleted. */ ! 164: #define MACH_NOTIFY_PORT_DESTROYED (MACH_NOTIFY_FIRST + 005) ! 165: /* A receive right was (would have been) deallocated */ ! 166: #define MACH_NOTIFY_NO_SENDERS (MACH_NOTIFY_FIRST + 006) ! 167: /* Receive right has no extant send rights */ ! 168: #define MACH_NOTIFY_SEND_ONCE (MACH_NOTIFY_FIRST + 007) ! 169: /* An extant send-once right died */ ! 170: #define MACH_NOTIFY_DEAD_NAME (MACH_NOTIFY_FIRST + 010) ! 171: /* Send or send-once right died, leaving a dead-name */ ! 172: #define MACH_NOTIFY_LAST (MACH_NOTIFY_FIRST + 015) ! 173: ! 174: typedef struct { ! 175: mach_msg_header_t not_header; ! 176: NDR_record_t NDR; ! 177: mach_port_name_t not_port;/* MACH_MSG_TYPE_PORT_NAME */ ! 178: mach_msg_format_0_trailer_t trailer; ! 179: } mach_port_deleted_notification_t; ! 180: ! 181: typedef struct { ! 182: mach_msg_header_t not_header; ! 183: mach_msg_body_t not_body; ! 184: mach_msg_port_descriptor_t not_port;/* MACH_MSG_TYPE_PORT_RECEIVE */ ! 185: mach_msg_format_0_trailer_t trailer; ! 186: } mach_port_destroyed_notification_t; ! 187: ! 188: typedef struct { ! 189: mach_msg_header_t not_header; ! 190: NDR_record_t NDR; ! 191: mach_msg_type_number_t not_count; ! 192: mach_msg_format_0_trailer_t trailer; ! 193: } mach_no_senders_notification_t; ! 194: ! 195: typedef struct { ! 196: mach_msg_header_t not_header; ! 197: mach_msg_format_0_trailer_t trailer; ! 198: } mach_send_once_notification_t; ! 199: ! 200: typedef struct { ! 201: mach_msg_header_t not_header; ! 202: NDR_record_t NDR; ! 203: mach_port_name_t not_port;/* MACH_MSG_TYPE_PORT_NAME */ ! 204: mach_msg_format_0_trailer_t trailer; ! 205: } mach_dead_name_notification_t; ! 206: ! 207: #endif /* _MACH_NOTIFY_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.