]>
Commit | Line | Data |
---|---|---|
cb323159 A |
1 | /* |
2 | * Copyright (c) 1998-2002 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 | * HISTORY | |
30 | */ | |
31 | ||
32 | /* | |
33 | * Core IOReturn values. Others may be family defined. | |
34 | */ | |
35 | ||
36 | #ifndef __IOKIT_IORETURN_H | |
37 | #define __IOKIT_IORETURN_H | |
38 | ||
39 | #ifdef __cplusplus | |
40 | extern "C" { | |
41 | #endif | |
42 | ||
43 | #ifndef PLATFORM_DriverKit | |
44 | ||
45 | #include <mach/error.h> | |
46 | ||
47 | #else /* PLATFORM_DriverKit */ | |
48 | ||
ea3f0419 A |
49 | #ifdef DRIVERKIT_PRIVATE |
50 | ||
51 | #include <mach/error.h> | |
52 | ||
53 | #else /* DRIVERKIT_PRIVATE */ | |
cb323159 A |
54 | |
55 | typedef int kern_return_t; | |
56 | ||
57 | #define KERN_SUCCESS 0 | |
58 | ||
59 | /* | |
60 | * error number layout as follows: | |
61 | * | |
62 | * hi lo | |
63 | * | system(6) | subsystem(12) | code(14) | | |
64 | */ | |
65 | ||
66 | #define err_none (kern_return_t)0 | |
67 | #define ERR_SUCCESS (kern_return_t)0 | |
68 | ||
69 | #define err_system(x) ((signed)((((unsigned)(x))&0x3f)<<26)) | |
70 | #define err_sub(x) (((x)&0xfff)<<14) | |
71 | ||
72 | #define err_get_system(err) (((err)>>26)&0x3f) | |
73 | #define err_get_sub(err) (((err)>>14)&0xfff) | |
74 | #define err_get_code(err) ((err)&0x3fff) | |
75 | ||
76 | #define err_max_system 0x3f | |
77 | ||
78 | #define system_emask (err_system(err_max_system)) | |
79 | #define sub_emask (err_sub(0xfff)) | |
80 | #define code_emask (0x3fff) | |
81 | ||
ea3f0419 | 82 | #endif /* DRIVERKIT_PRIVATE */ |
cb323159 A |
83 | |
84 | #endif /* PLATFORM_DriverKit */ | |
85 | ||
86 | typedef kern_return_t IOReturn; | |
87 | ||
88 | #ifndef sys_iokit | |
89 | #define sys_iokit err_system(0x38) | |
90 | #endif /* sys_iokit */ | |
91 | #define sub_iokit_common err_sub(0) | |
92 | #define sub_iokit_usb err_sub(1) | |
93 | #define sub_iokit_firewire err_sub(2) | |
94 | #define sub_iokit_block_storage err_sub(4) | |
95 | #define sub_iokit_graphics err_sub(5) | |
96 | #define sub_iokit_networking err_sub(6) | |
97 | #define sub_iokit_bluetooth err_sub(8) | |
98 | #define sub_iokit_pmu err_sub(9) | |
99 | #define sub_iokit_acpi err_sub(10) | |
100 | #define sub_iokit_smbus err_sub(11) | |
101 | #define sub_iokit_ahci err_sub(12) | |
102 | #define sub_iokit_powermanagement err_sub(13) | |
103 | #define sub_iokit_hidsystem err_sub(14) | |
104 | #define sub_iokit_scsi err_sub(16) | |
105 | #define sub_iokit_usbaudio err_sub(17) | |
106 | #define sub_iokit_wirelesscharging err_sub(18) | |
107 | //#define sub_iokit_pccard err_sub(21) | |
108 | #ifdef PRIVATE | |
109 | #define sub_iokit_nvme err_sub(28) | |
110 | #endif | |
111 | #define sub_iokit_thunderbolt err_sub(29) | |
112 | #define sub_iokit_graphics_acceleration err_sub(30) | |
113 | #define sub_iokit_keystore err_sub(31) | |
114 | #ifdef PRIVATE | |
115 | #define sub_iokit_smc err_sub(32) | |
116 | #endif | |
117 | #define sub_iokit_apfs err_sub(33) | |
ea3f0419 A |
118 | #define sub_iokit_acpiec err_sub(34) |
119 | #define sub_iokit_timesync_avb err_sub(35) | |
120 | ||
cb323159 A |
121 | #define sub_iokit_platform err_sub(0x2A) |
122 | #define sub_iokit_audio_video err_sub(0x45) | |
123 | #define sub_iokit_cec err_sub(0x46) | |
124 | #define sub_iokit_baseband err_sub(0x80) | |
125 | #define sub_iokit_HDA err_sub(0xFE) | |
126 | #define sub_iokit_hsic err_sub(0x147) | |
127 | #define sub_iokit_sdio err_sub(0x174) | |
128 | #define sub_iokit_wlan err_sub(0x208) | |
129 | #define sub_iokit_appleembeddedsleepwakehandler err_sub(0x209) | |
130 | #define sub_iokit_appleppm err_sub(0x20A) | |
131 | ||
132 | #define sub_iokit_vendor_specific err_sub(-2) | |
133 | #define sub_iokit_reserved err_sub(-1) | |
134 | ||
135 | #define iokit_common_err(return ) (sys_iokit|sub_iokit_common|return) | |
136 | #define iokit_family_err(sub, return ) (sys_iokit|sub|return) | |
137 | #define iokit_vendor_specific_err(return ) (sys_iokit|sub_iokit_vendor_specific|return) | |
138 | ||
139 | #define kIOReturnSuccess KERN_SUCCESS // OK | |
140 | #define kIOReturnError iokit_common_err(0x2bc) // general error | |
141 | #define kIOReturnNoMemory iokit_common_err(0x2bd) // can't allocate memory | |
142 | #define kIOReturnNoResources iokit_common_err(0x2be) // resource shortage | |
143 | #define kIOReturnIPCError iokit_common_err(0x2bf) // error during IPC | |
144 | #define kIOReturnNoDevice iokit_common_err(0x2c0) // no such device | |
145 | #define kIOReturnNotPrivileged iokit_common_err(0x2c1) // privilege violation | |
146 | #define kIOReturnBadArgument iokit_common_err(0x2c2) // invalid argument | |
147 | #define kIOReturnLockedRead iokit_common_err(0x2c3) // device read locked | |
148 | #define kIOReturnLockedWrite iokit_common_err(0x2c4) // device write locked | |
149 | #define kIOReturnExclusiveAccess iokit_common_err(0x2c5) // exclusive access and | |
150 | // device already open | |
151 | #define kIOReturnBadMessageID iokit_common_err(0x2c6) // sent/received messages | |
152 | // had different msg_id | |
153 | #define kIOReturnUnsupported iokit_common_err(0x2c7) // unsupported function | |
154 | #define kIOReturnVMError iokit_common_err(0x2c8) // misc. VM failure | |
155 | #define kIOReturnInternalError iokit_common_err(0x2c9) // internal error | |
156 | #define kIOReturnIOError iokit_common_err(0x2ca) // General I/O error | |
157 | //#define kIOReturn???Error iokit_common_err(0x2cb) // ??? | |
158 | #define kIOReturnCannotLock iokit_common_err(0x2cc) // can't acquire lock | |
159 | #define kIOReturnNotOpen iokit_common_err(0x2cd) // device not open | |
160 | #define kIOReturnNotReadable iokit_common_err(0x2ce) // read not supported | |
161 | #define kIOReturnNotWritable iokit_common_err(0x2cf) // write not supported | |
162 | #define kIOReturnNotAligned iokit_common_err(0x2d0) // alignment error | |
163 | #define kIOReturnBadMedia iokit_common_err(0x2d1) // Media Error | |
164 | #define kIOReturnStillOpen iokit_common_err(0x2d2) // device(s) still open | |
165 | #define kIOReturnRLDError iokit_common_err(0x2d3) // rld failure | |
166 | #define kIOReturnDMAError iokit_common_err(0x2d4) // DMA failure | |
167 | #define kIOReturnBusy iokit_common_err(0x2d5) // Device Busy | |
168 | #define kIOReturnTimeout iokit_common_err(0x2d6) // I/O Timeout | |
169 | #define kIOReturnOffline iokit_common_err(0x2d7) // device offline | |
170 | #define kIOReturnNotReady iokit_common_err(0x2d8) // not ready | |
171 | #define kIOReturnNotAttached iokit_common_err(0x2d9) // device not attached | |
172 | #define kIOReturnNoChannels iokit_common_err(0x2da) // no DMA channels left | |
173 | #define kIOReturnNoSpace iokit_common_err(0x2db) // no space for data | |
174 | //#define kIOReturn???Error iokit_common_err(0x2dc) // ??? | |
175 | #define kIOReturnPortExists iokit_common_err(0x2dd) // port already exists | |
176 | #define kIOReturnCannotWire iokit_common_err(0x2de) // can't wire down | |
177 | // physical memory | |
178 | #define kIOReturnNoInterrupt iokit_common_err(0x2df) // no interrupt attached | |
179 | #define kIOReturnNoFrames iokit_common_err(0x2e0) // no DMA frames enqueued | |
180 | #define kIOReturnMessageTooLarge iokit_common_err(0x2e1) // oversized msg received | |
181 | // on interrupt port | |
182 | #define kIOReturnNotPermitted iokit_common_err(0x2e2) // not permitted | |
183 | #define kIOReturnNoPower iokit_common_err(0x2e3) // no power to device | |
184 | #define kIOReturnNoMedia iokit_common_err(0x2e4) // media not present | |
185 | #define kIOReturnUnformattedMedia iokit_common_err(0x2e5)// media not formatted | |
186 | #define kIOReturnUnsupportedMode iokit_common_err(0x2e6) // no such mode | |
187 | #define kIOReturnUnderrun iokit_common_err(0x2e7) // data underrun | |
188 | #define kIOReturnOverrun iokit_common_err(0x2e8) // data overrun | |
189 | #define kIOReturnDeviceError iokit_common_err(0x2e9) // the device is not working properly! | |
190 | #define kIOReturnNoCompletion iokit_common_err(0x2ea) // a completion routine is required | |
191 | #define kIOReturnAborted iokit_common_err(0x2eb) // operation aborted | |
192 | #define kIOReturnNoBandwidth iokit_common_err(0x2ec) // bus bandwidth would be exceeded | |
193 | #define kIOReturnNotResponding iokit_common_err(0x2ed) // device not responding | |
194 | #define kIOReturnIsoTooOld iokit_common_err(0x2ee) // isochronous I/O request for distant past! | |
195 | #define kIOReturnIsoTooNew iokit_common_err(0x2ef) // isochronous I/O request for distant future | |
196 | #define kIOReturnNotFound iokit_common_err(0x2f0) // data was not found | |
197 | #define kIOReturnInvalid iokit_common_err(0x1) // should never be seen | |
198 | ||
199 | #ifdef __cplusplus | |
200 | } | |
201 | #endif | |
202 | ||
203 | #endif /* ! __IOKIT_IORETURN_H */ |