Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/include/IOKit/OSMessageNotification.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) 1998-2000 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 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
30 *
31 * HISTORY
32 *
33 */
34
35#ifndef__OS_OSMESSAGENOTIFICATION_H
36#define __OS_OSMESSAGENOTIFICATION_H
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42#include <mach/mach_types.h>
43#include <device/device_types.h>
44#include <IOKit/IOReturn.h>
45
46enum {
47 kFirstIOKitNotificationType = 100,
48 kIOServicePublishNotificationType = 100,
49 kIOServiceMatchedNotificationType= 101,
50 kIOServiceTerminatedNotificationType= 102,
51 kIOAsyncCompletionNotificationType= 150,
52 kIOServiceMessageNotificationType= 160,
53 kLastIOKitNotificationType = 199
54};
55
56enum {
57 kOSNotificationMessageID= 53,
58 kOSAsyncCompleteMessageID= 57,
59 kMaxAsyncArgs= 16
60};
61
62enum {
63 kIOAsyncReservedIndex = 0,
64 kIOAsyncReservedCount,
65
66 kIOAsyncCalloutFuncIndex = kIOAsyncReservedCount,
67 kIOAsyncCalloutRefconIndex,
68 kIOAsyncCalloutCount,
69
70 kIOMatchingCalloutFuncIndex= kIOAsyncReservedCount,
71 kIOMatchingCalloutRefconIndex,
72 kIOMatchingCalloutCount,
73
74 kIOInterestCalloutFuncIndex= kIOAsyncReservedCount,
75 kIOInterestCalloutRefconIndex,
76 kIOInterestCalloutServiceIndex,
77 kIOInterestCalloutCount
78};
79
80
81
82// --------------
83enum {
84 kOSAsyncRef64Count= 8,
85 kOSAsyncRef64Size = kOSAsyncRef64Count * ((int) sizeof(io_user_reference_t))
86};
87typedef io_user_reference_t OSAsyncReference64[kOSAsyncRef64Count];
88
89struct OSNotificationHeader64 {
90 mach_msg_size_tsize;/* content size */
91 natural_ttype;
92 OSAsyncReference64reference;
93
94#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
95 unsigned charcontent[];
96#else
97 unsigned charcontent[0];
98#endif
99};
100
101#pragma pack(4)
102struct IOServiceInterestContent64 {
103 natural_tmessageType;
104 io_user_reference_tmessageArgument[1];
105};
106#pragma pack()
107// --------------
108
109#if !KERNEL_USER32
110
111enum {
112 kOSAsyncRefCount= 8,
113 kOSAsyncRefSize = 32
114};
115typedef natural_t OSAsyncReference[kOSAsyncRefCount];
116
117struct OSNotificationHeader {
118 mach_msg_size_tsize;/* content size */
119 natural_ttype;
120 OSAsyncReferencereference;
121
122#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
123 unsigned charcontent[];
124#else
125 unsigned charcontent[0];
126#endif
127};
128
129#pragma pack(4)
130struct IOServiceInterestContent {
131 natural_tmessageType;
132 void *messageArgument[1];
133};
134#pragma pack()
135
136#endif /* KERNEL_USER32 */
137
138struct IOAsyncCompletionContent {
139 IOReturn result;
140#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
141 void * args[] __attribute__ ((packed));
142#else
143 void * args[0] __attribute__ ((packed));
144#endif
145};
146
147#ifndef __cplusplus
148typedef struct OSNotificationHeader OSNotificationHeader;
149typedef struct IOServiceInterestContent IOServiceInterestContent;
150typedef struct IOAsyncCompletionContent IOAsyncCompletionContent;
151#endif
152
153#ifdef __cplusplus
154}
155#endif
156
157#endif /* __OS_OSMESSAGENOTIFICATION_H */
158
159

Archive Download this file

Revision: 1808