Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/include/mach/notify.h

Source at commit 1808 created 12 years 4 months ago.
By blackosx, Revise layout of package installer 'Welcome' file so it looks cleaner. Change the copyright notice to begin from 2009 as seen in the Chameleon 2.0 r431 installer. Should this date be set earlier?
1/*
2 * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28/*
29 * @OSF_COPYRIGHT@
30 */
31/*
32 * Mach Operating System
33 * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
34 * All Rights Reserved.
35 *
36 * Permission to use, copy, modify and distribute this software and its
37 * documentation is hereby granted, provided that both the copyright
38 * notice and this permission notice appear in all copies of the
39 * software, derivative works or modified versions, and any portions
40 * thereof, and that both notices appear in supporting documentation.
41 *
42 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
43 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
44 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
45 *
46 * Carnegie Mellon requests users of this software to return to
47 *
48 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
49 * School of Computer Science
50 * Carnegie Mellon University
51 * Pittsburgh PA 15213-3890
52 *
53 * any improvements or extensions that they make and grant Carnegie Mellon
54 * the rights to redistribute these changes.
55 */
56/*
57 */
58/*
59 *File:mach/notify.h
60 *
61 *Kernel notification message definitions.
62 */
63
64#ifndef_MACH_NOTIFY_H_
65#define _MACH_NOTIFY_H_
66
67#include <mach/port.h>
68#include <mach/message.h>
69#include <mach/ndr.h>
70
71/*
72 * An alternative specification of the notification interface
73 * may be found in mach/notify.defs.
74 */
75
76#define MACH_NOTIFY_FIRST0100
77#define MACH_NOTIFY_PORT_DELETED(MACH_NOTIFY_FIRST + 001 )
78/* A send or send-once right was deleted. */
79#define MACH_NOTIFY_PORT_DESTROYED(MACH_NOTIFY_FIRST + 005)
80/* A receive right was (would have been) deallocated */
81#define MACH_NOTIFY_NO_SENDERS(MACH_NOTIFY_FIRST + 006)
82/* Receive right has no extant send rights */
83#define MACH_NOTIFY_SEND_ONCE(MACH_NOTIFY_FIRST + 007)
84/* An extant send-once right died */
85#define MACH_NOTIFY_DEAD_NAME(MACH_NOTIFY_FIRST + 010)
86/* Send or send-once right died, leaving a dead-name */
87#define MACH_NOTIFY_LAST(MACH_NOTIFY_FIRST + 015)
88
89typedef mach_port_t notify_port_t;
90
91/*
92 * Hard-coded message structures for receiving Mach port notification
93 * messages. However, they are not actual large enough to receive
94 * the largest trailers current exported by Mach IPC (so they cannot
95 * be used for space allocations in situations using these new larger
96 * trailers). Instead, the MIG-generated server routines (and
97 * related prototypes should be used).
98 */
99typedef struct {
100 mach_msg_header_tnot_header;
101 NDR_record_tNDR;
102 mach_port_name_t not_port;/* MACH_MSG_TYPE_PORT_NAME */
103 mach_msg_format_0_trailer_t trailer;
104} mach_port_deleted_notification_t;
105
106typedef struct {
107 mach_msg_header_tnot_header;
108 mach_msg_body_tnot_body;
109 mach_msg_port_descriptor_t not_port;/* MACH_MSG_TYPE_PORT_RECEIVE */
110 mach_msg_format_0_trailer_t trailer;
111} mach_port_destroyed_notification_t;
112
113typedef struct {
114 mach_msg_header_tnot_header;
115 NDR_record_tNDR;
116 mach_msg_type_number_t not_count;
117 mach_msg_format_0_trailer_t trailer;
118} mach_no_senders_notification_t;
119
120typedef struct {
121 mach_msg_header_tnot_header;
122 mach_msg_format_0_trailer_t trailer;
123} mach_send_once_notification_t;
124
125typedef struct {
126 mach_msg_header_tnot_header;
127 NDR_record_tNDR;
128 mach_port_name_t not_port;/* MACH_MSG_TYPE_PORT_NAME */
129 mach_msg_format_0_trailer_t trailer;
130} mach_dead_name_notification_t;
131
132#endif/* _MACH_NOTIFY_H_ */
133

Archive Download this file

Revision: 1808