xref: /haiku/headers/build/os/support/Errors.h (revision 720423579387710769ce1018cd78417098e305c6)
1 /******************************************************************************
2 /
3 /	File:			Errors.h
4 /
5 /	Description:	Error code constants.
6 /
7 /	Copyright 1993-98, Be Incorporated
8 /
9 ******************************************************************************/
10 
11 
12 #ifndef _ERRORS_H
13 #define _ERRORS_H
14 
15 #include <errno.h>
16 #include <limits.h>
17 
18 /*-------------------------------------------------------------*/
19 /*----- Error baselines ---------------------------------------*/
20 
21 #define B_GENERAL_ERROR_BASE		INT_MIN
22 #define B_OS_ERROR_BASE				B_GENERAL_ERROR_BASE + 0x1000
23 #define B_APP_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x2000
24 #define B_INTERFACE_ERROR_BASE		B_GENERAL_ERROR_BASE + 0x3000
25 #define B_MEDIA_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x4000 /* - 0x41ff */
26 #define B_TRANSLATION_ERROR_BASE	B_GENERAL_ERROR_BASE + 0x4800 /* - 0x48ff */
27 #define B_MIDI_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x5000
28 #define B_STORAGE_ERROR_BASE		B_GENERAL_ERROR_BASE + 0x6000
29 #define B_POSIX_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x7000
30 #define B_MAIL_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x8000
31 #define B_PRINT_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x9000
32 #define B_DEVICE_ERROR_BASE			B_GENERAL_ERROR_BASE + 0xa000
33 
34 /*--- Developer-defined errors start at (B_ERRORS_END+1)----*/
35 
36 #define B_ERRORS_END		(B_GENERAL_ERROR_BASE + 0xffff)
37 
38 
39 /*-------------------------------------------------------------*/
40 /*----- General Errors ----------------------------------------*/
41 enum {
42 	B_NO_MEMORY = B_GENERAL_ERROR_BASE,
43 	B_IO_ERROR,
44 	B_PERMISSION_DENIED,
45 	B_BAD_INDEX,
46 	B_BAD_TYPE,
47 	B_BAD_VALUE,
48 	B_MISMATCHED_VALUES,
49 	B_NAME_NOT_FOUND,
50 	B_NAME_IN_USE,
51 	B_TIMED_OUT,
52     B_INTERRUPTED,
53 	B_WOULD_BLOCK,
54     B_CANCELED,
55 	B_NO_INIT,
56 	B_BUSY,
57 	B_NOT_ALLOWED,
58 	B_BAD_DATA,
59 
60 	B_ERROR = -1,
61 	B_OK = 0,
62 	B_NO_ERROR = 0
63 };
64 
65 /*-------------------------------------------------------------*/
66 /*----- Kernel Kit Errors -------------------------------------*/
67 enum {
68 	B_BAD_SEM_ID = B_OS_ERROR_BASE,
69 	B_NO_MORE_SEMS,
70 
71 	B_BAD_THREAD_ID = B_OS_ERROR_BASE + 0x100,
72 	B_NO_MORE_THREADS,
73 	B_BAD_THREAD_STATE,
74 	B_BAD_TEAM_ID,
75 	B_NO_MORE_TEAMS,
76 
77 	B_BAD_PORT_ID = B_OS_ERROR_BASE + 0x200,
78 	B_NO_MORE_PORTS,
79 
80 	B_BAD_IMAGE_ID = B_OS_ERROR_BASE + 0x300,
81 	B_BAD_ADDRESS,
82 	B_NOT_AN_EXECUTABLE,
83 	B_MISSING_LIBRARY,
84 	B_MISSING_SYMBOL,
85 	B_UNKNOWN_EXECUTABLE,
86 	B_LEGACY_EXECUTABLE,
87 
88 	B_DEBUGGER_ALREADY_INSTALLED = B_OS_ERROR_BASE + 0x400
89 };
90 
91 
92 /*-------------------------------------------------------------*/
93 /*----- Application Kit Errors --------------------------------*/
94 enum
95 {
96 	B_BAD_REPLY = B_APP_ERROR_BASE,
97 	B_DUPLICATE_REPLY,
98 	B_MESSAGE_TO_SELF,
99 	B_BAD_HANDLER,
100 	B_ALREADY_RUNNING,
101 	B_LAUNCH_FAILED,
102 	B_AMBIGUOUS_APP_LAUNCH,
103 	B_UNKNOWN_MIME_TYPE,
104 	B_BAD_SCRIPT_SYNTAX,
105 	B_LAUNCH_FAILED_NO_RESOLVE_LINK,
106 	B_LAUNCH_FAILED_EXECUTABLE,
107 	B_LAUNCH_FAILED_APP_NOT_FOUND,
108 	B_LAUNCH_FAILED_APP_IN_TRASH,
109 	B_LAUNCH_FAILED_NO_PREFERRED_APP,
110 	B_LAUNCH_FAILED_FILES_APP_NOT_FOUND,
111 	B_BAD_MIME_SNIFFER_RULE,
112 	B_NOT_A_MESSAGE,
113 	B_SHUTDOWN_CANCELLED,
114 	B_SHUTTING_DOWN
115 };
116 
117 
118 /*-------------------------------------------------------------*/
119 /*----- Storage Kit/File System Errors ------------------------*/
120 enum {
121 	B_FILE_ERROR = B_STORAGE_ERROR_BASE,
122 	B_FILE_NOT_FOUND,	/* discouraged; use B_ENTRY_NOT_FOUND in new code*/
123 	B_FILE_EXISTS,
124 	B_ENTRY_NOT_FOUND,
125 	B_NAME_TOO_LONG,
126 	B_NOT_A_DIRECTORY,
127 	B_DIRECTORY_NOT_EMPTY,
128 	B_DEVICE_FULL,
129 	B_READ_ONLY_DEVICE,
130 	B_IS_A_DIRECTORY,
131 	B_NO_MORE_FDS,
132 	B_CROSS_DEVICE_LINK,
133 	B_LINK_LIMIT,
134 	B_BUSTED_PIPE,
135 	B_UNSUPPORTED,
136 	B_PARTITION_TOO_SMALL
137 };
138 
139 
140 /*-------------------------------------------------------------*/
141 /*----- POSIX Errors ------------------------------------------*/
142 #define HAIKU_E2BIG			(B_POSIX_ERROR_BASE + 1)
143 #define HAIKU_ECHILD			(B_POSIX_ERROR_BASE + 2)
144 #define HAIKU_EDEADLK			(B_POSIX_ERROR_BASE + 3)
145 #define HAIKU_EFBIG			(B_POSIX_ERROR_BASE + 4)
146 #define HAIKU_EMLINK			(B_POSIX_ERROR_BASE + 5)
147 #define HAIKU_ENFILE			(B_POSIX_ERROR_BASE + 6)
148 #define HAIKU_ENODEV			(B_POSIX_ERROR_BASE + 7)
149 #define HAIKU_ENOLCK			(B_POSIX_ERROR_BASE + 8)
150 #define HAIKU_ENOSYS			(B_POSIX_ERROR_BASE + 9)
151 #define HAIKU_ENOTTY			(B_POSIX_ERROR_BASE + 10)
152 #define HAIKU_ENXIO			(B_POSIX_ERROR_BASE + 11)
153 #define HAIKU_ESPIPE			(B_POSIX_ERROR_BASE + 12)
154 #define HAIKU_ESRCH			(B_POSIX_ERROR_BASE + 13)
155 #define HAIKU_EFPOS			(B_POSIX_ERROR_BASE + 14)
156 #define HAIKU_ESIGPARM		(B_POSIX_ERROR_BASE + 15)
157 #define HAIKU_EDOM			(B_POSIX_ERROR_BASE + 16)
158 #define HAIKU_ERANGE			(B_POSIX_ERROR_BASE + 17)
159 #define HAIKU_EPROTOTYPE		(B_POSIX_ERROR_BASE + 18)
160 #define HAIKU_EPROTONOSUPPORT	(B_POSIX_ERROR_BASE + 19)
161 #define HAIKU_EPFNOSUPPORT	(B_POSIX_ERROR_BASE + 20)
162 #define HAIKU_EAFNOSUPPORT	(B_POSIX_ERROR_BASE + 21)
163 #define HAIKU_EADDRINUSE		(B_POSIX_ERROR_BASE + 22)
164 #define HAIKU_EADDRNOTAVAIL	(B_POSIX_ERROR_BASE + 23)
165 #define HAIKU_ENETDOWN		(B_POSIX_ERROR_BASE + 24)
166 #define HAIKU_ENETUNREACH		(B_POSIX_ERROR_BASE + 25)
167 #define HAIKU_ENETRESET		(B_POSIX_ERROR_BASE + 26)
168 #define HAIKU_ECONNABORTED	(B_POSIX_ERROR_BASE + 27)
169 #define HAIKU_ECONNRESET		(B_POSIX_ERROR_BASE + 28)
170 #define HAIKU_EISCONN			(B_POSIX_ERROR_BASE + 29)
171 #define HAIKU_ENOTCONN		(B_POSIX_ERROR_BASE + 30)
172 #define HAIKU_ESHUTDOWN		(B_POSIX_ERROR_BASE + 31)
173 #define HAIKU_ECONNREFUSED	(B_POSIX_ERROR_BASE + 32)
174 #define HAIKU_EHOSTUNREACH	(B_POSIX_ERROR_BASE + 33)
175 #define HAIKU_ENOPROTOOPT		(B_POSIX_ERROR_BASE + 34)
176 #define HAIKU_ENOBUFS			(B_POSIX_ERROR_BASE + 35)
177 #define HAIKU_EINPROGRESS		(B_POSIX_ERROR_BASE + 36)
178 #define HAIKU_EALREADY		(B_POSIX_ERROR_BASE + 37)
179 #define HAIKU_EILSEQ          (B_POSIX_ERROR_BASE + 38)
180 #define HAIKU_ENOMSG          (B_POSIX_ERROR_BASE + 39)
181 #define HAIKU_ESTALE          (B_POSIX_ERROR_BASE + 40)
182 #define HAIKU_EOVERFLOW       (B_POSIX_ERROR_BASE + 41)
183 #define HAIKU_EMSGSIZE        (B_POSIX_ERROR_BASE + 42)
184 #define HAIKU_EOPNOTSUPP      (B_POSIX_ERROR_BASE + 43)
185 #define HAIKU_ENOTSOCK		(B_POSIX_ERROR_BASE + 44)
186 #define HAIKU_EHOSTDOWN		(B_POSIX_ERROR_BASE + 45)
187 #define HAIKU_EBADMSG			(B_POSIX_ERROR_BASE + 46)
188 #define HAIKU_ECANCELED		(B_POSIX_ERROR_BASE + 47)
189 #define HAIKU_EDESTADDRREQ	(B_POSIX_ERROR_BASE + 48)
190 #define HAIKU_EDQUOT			(B_POSIX_ERROR_BASE + 49)
191 #define HAIKU_EIDRM			(B_POSIX_ERROR_BASE + 50)
192 #define HAIKU_EMULTIHOP		(B_POSIX_ERROR_BASE + 51)
193 #define HAIKU_ENODATA			(B_POSIX_ERROR_BASE + 52)
194 #define HAIKU_ENOLINK			(B_POSIX_ERROR_BASE + 53)
195 #define HAIKU_ENOSR			(B_POSIX_ERROR_BASE + 54)
196 #define HAIKU_ENOSTR			(B_POSIX_ERROR_BASE + 55)
197 #define HAIKU_ENOTSUP			(B_POSIX_ERROR_BASE + 56)
198 #define HAIKU_EPROTO			(B_POSIX_ERROR_BASE + 57)
199 #define HAIKU_ETIME			(B_POSIX_ERROR_BASE + 58)
200 #define HAIKU_ETXTBSY			(B_POSIX_ERROR_BASE + 59)
201 #define HAIKU_ENOATTR			(B_POSIX_ERROR_BASE + 60)
202 
203 
204 /*---- POSIX errors that can be mapped to BeOS error codes ----*/
205 #define HAIKU_ENOMEM			B_NO_MEMORY
206 #define HAIKU_EACCES			B_PERMISSION_DENIED
207 #define HAIKU_EINTR			B_INTERRUPTED
208 #define HAIKU_EIO				B_IO_ERROR
209 #define HAIKU_EBUSY			B_BUSY
210 #define HAIKU_EFAULT			B_BAD_ADDRESS
211 #define HAIKU_ETIMEDOUT		B_TIMED_OUT
212 #define HAIKU_EAGAIN 			B_WOULD_BLOCK	/* SysV compatibility */
213 #define HAIKU_EWOULDBLOCK 	B_WOULD_BLOCK	/* BSD compatibility */
214 #define HAIKU_EBADF			B_FILE_ERROR
215 #define HAIKU_EEXIST			B_FILE_EXISTS
216 #define HAIKU_EINVAL			B_BAD_VALUE
217 #define HAIKU_ENAMETOOLONG	B_NAME_TOO_LONG
218 #define HAIKU_ENOENT			B_ENTRY_NOT_FOUND
219 #define HAIKU_EPERM			B_NOT_ALLOWED
220 #define HAIKU_ENOTDIR			B_NOT_A_DIRECTORY
221 #define HAIKU_EISDIR			B_IS_A_DIRECTORY
222 #define HAIKU_ENOTEMPTY		B_DIRECTORY_NOT_EMPTY
223 #define HAIKU_ENOSPC			B_DEVICE_FULL
224 #define HAIKU_EROFS			B_READ_ONLY_DEVICE
225 #define HAIKU_EMFILE			B_NO_MORE_FDS
226 #define HAIKU_EXDEV			B_CROSS_DEVICE_LINK
227 #define HAIKU_ELOOP			B_LINK_LIMIT
228 #define HAIKU_ENOEXEC			B_NOT_AN_EXECUTABLE
229 #define HAIKU_EPIPE			B_BUSTED_PIPE
230 
231 #ifndef BUILDING_HAIKU_ERROR_MAPPER
232 	#undef E2BIG
233 	#undef ECHILD
234 	#undef EDEADLK
235 	#undef EFBIG
236 	#undef EMLINK
237 	#undef ENFILE
238 	#undef ENODEV
239 	#undef ENOLCK
240 	#undef ENOSYS
241 	#undef ENOTTY
242 	#undef ENXIO
243 	#undef ESPIPE
244 	#undef ESRCH
245 	#undef EFPOS
246 	#undef ESIGPARM
247 	#undef EDOM
248 	#undef ERANGE
249 	#undef EPROTOTYPE
250 	#undef EPROTONOSUPPORT
251 	#undef EPFNOSUPPORT
252 	#undef EAFNOSUPPORT
253 	#undef EADDRINUSE
254 	#undef EADDRNOTAVAIL
255 	#undef ENETDOWN
256 	#undef ENETUNREACH
257 	#undef ENETRESET
258 	#undef ECONNABORTED
259 	#undef ECONNRESET
260 	#undef EISCONN
261 	#undef ENOTCONN
262 	#undef ESHUTDOWN
263 	#undef ECONNREFUSED
264 	#undef EHOSTUNREACH
265 	#undef ENOPROTOOPT
266 	#undef ENOBUFS
267 	#undef EINPROGRESS
268 	#undef EALREADY
269 	#undef EILSEQ
270 	#undef ENOMSG
271 	#undef ESTALE
272 	#undef EOVERFLOW
273 	#undef EMSGSIZE
274 	#undef EOPNOTSUPP
275 	#undef ENOTSOCK
276 	#undef EHOSTDOWN
277 	#undef EBADMSG
278 	#undef ECANCELED
279 	#undef EDESTADDRREQ
280 	#undef EDQUOT
281 	#undef EIDRM
282 	#undef EMULTIHOP
283 	#undef ENODATA
284 	#undef ENOLINK
285 	#undef ENOSR
286 	#undef ENOSTR
287 	#undef ENOTSUP
288 	#undef EPROTO
289 	#undef ETIME
290 	#undef ETXTBSY
291 	#undef ENOMEM
292 	#undef EACCES
293 	#undef EINTR
294 	#undef EIO
295 	#undef EBUSY
296 	#undef EFAULT
297 	#undef ETIMEDOUT
298 	#undef EAGAIN
299 	#undef EWOULDBLOCK
300 	#undef EBADF
301 	#undef EEXIST
302 	#undef EINVAL
303 	#undef ENAMETOOLONG
304 	#undef ENOENT
305 	#undef EPERM
306 	#undef ENOTDIR
307 	#undef EISDIR
308 	#undef ENOTEMPTY
309 	#undef ENOSPC
310 	#undef EROFS
311 	#undef EMFILE
312 	#undef EXDEV
313 	#undef ELOOP
314 	#undef ENOEXEC
315 	#undef EPIPE
316 	#undef ENOATTR
317 
318 	#define E2BIG HAIKU_E2BIG
319 	#define ECHILD HAIKU_ECHILD
320 	#define EDEADLK HAIKU_EDEADLK
321 	#define EFBIG HAIKU_EFBIG
322 	#define EMLINK HAIKU_EMLINK
323 	#define ENFILE HAIKU_ENFILE
324 	#define ENODEV HAIKU_ENODEV
325 	#define ENOLCK HAIKU_ENOLCK
326 	#define ENOSYS HAIKU_ENOSYS
327 	#define ENOTTY HAIKU_ENOTTY
328 	#define ENXIO HAIKU_ENXIO
329 	#define ESPIPE HAIKU_ESPIPE
330 	#define ESRCH HAIKU_ESRCH
331 	#define EFPOS HAIKU_EFPOS
332 	#define ESIGPARM HAIKU_ESIGPARM
333 	#define EDOM HAIKU_EDOM
334 	#define ERANGE HAIKU_ERANGE
335 	#define EPROTOTYPE HAIKU_EPROTOTYPE
336 	#define EPROTONOSUPPORT HAIKU_EPROTONOSUPPORT
337 	#define EPFNOSUPPORT HAIKU_EPFNOSUPPORT
338 	#define EAFNOSUPPORT HAIKU_EAFNOSUPPORT
339 	#define EADDRINUSE HAIKU_EADDRINUSE
340 	#define EADDRNOTAVAIL HAIKU_EADDRNOTAVAIL
341 	#define ENETDOWN HAIKU_ENETDOWN
342 	#define ENETUNREACH HAIKU_ENETUNREACH
343 	#define ENETRESET HAIKU_ENETRESET
344 	#define ECONNABORTED HAIKU_ECONNABORTED
345 	#define ECONNRESET HAIKU_ECONNRESET
346 	#define EISCONN HAIKU_EISCONN
347 	#define ENOTCONN HAIKU_ENOTCONN
348 	#define ESHUTDOWN HAIKU_ESHUTDOWN
349 	#define ECONNREFUSED HAIKU_ECONNREFUSED
350 	#define EHOSTUNREACH HAIKU_EHOSTUNREACH
351 	#define ENOPROTOOPT HAIKU_ENOPROTOOPT
352 	#define ENOBUFS HAIKU_ENOBUFS
353 	#define EINPROGRESS HAIKU_EINPROGRESS
354 	#define EALREADY HAIKU_EALREADY
355 	#define EILSEQ HAIKU_EILSEQ
356 	#define ENOMSG HAIKU_ENOMSG
357 	#define ESTALE HAIKU_ESTALE
358 	#define EOVERFLOW HAIKU_EOVERFLOW
359 	#define EMSGSIZE HAIKU_EMSGSIZE
360 	#define EOPNOTSUPP HAIKU_EOPNOTSUPP
361 	#define ENOTSOCK HAIKU_ENOTSOCK
362 	#define EHOSTDOWN HAIKU_EHOSTDOWN
363 	#define	EBADMSG HAIKU_EBADMSG
364 	#define ECANCELED HAIKU_ECANCELED
365 	#define EDESTADDRREQ HAIKU_EDESTADDRREQ
366 	#define EDQUOT HAIKU_EDQUOT
367 	#define EIDRM HAIKU_EIDRM
368 	#define EMULTIHOP HAIKU_EMULTIHOP
369 	#define ENODATA HAIKU_ENODATA
370 	#define ENOLINK HAIKU_ENOLINK
371 	#define ENOSR HAIKU_ENOSR
372 	#define ENOSTR HAIKU_ENOSTR
373 	#define ENOTSUP HAIKU_ENOTSUP
374 	#define EPROTO HAIKU_EPROTO
375 	#define ETIME HAIKU_ETIME
376 	#define ETXTBSY HAIKU_ETXTBSY
377 	#define ENOMEM HAIKU_ENOMEM
378 	#define EACCES HAIKU_EACCES
379 	#define EINTR HAIKU_EINTR
380 	#define EIO HAIKU_EIO
381 	#define EBUSY HAIKU_EBUSY
382 	#define EFAULT HAIKU_EFAULT
383 	#define ETIMEDOUT HAIKU_ETIMEDOUT
384 	#define EAGAIN HAIKU_EAGAIN
385 	#define EWOULDBLOCK HAIKU_EWOULDBLOCK
386 	#define EBADF HAIKU_EBADF
387 	#define EEXIST HAIKU_EEXIST
388 	#define EINVAL HAIKU_EINVAL
389 	#define ENAMETOOLONG HAIKU_ENAMETOOLONG
390 	#define ENOENT HAIKU_ENOENT
391 	#define EPERM HAIKU_EPERM
392 	#define ENOTDIR HAIKU_ENOTDIR
393 	#define EISDIR HAIKU_EISDIR
394 	#define ENOTEMPTY HAIKU_ENOTEMPTY
395 	#define ENOSPC HAIKU_ENOSPC
396 	#define EROFS HAIKU_EROFS
397 	#define EMFILE HAIKU_EMFILE
398 	#define EXDEV HAIKU_EXDEV
399 	#define ELOOP HAIKU_ELOOP
400 	#define ENOEXEC HAIKU_ENOEXEC
401 	#define EPIPE HAIKU_EPIPE
402 	#define ENOATTR HAIKU_ENOATTR
403 
404 	#undef errno
405 	#define errno (*_haiku_build_errno())
406 
407 #endif	// ! BUILDING_HAIKU_ERROR_MAPPER
408 
409 #ifdef __cplusplus
410 extern "C" {
411 #endif
412 
413 extern int *_haiku_build_errno();
414 extern int _haiku_to_host_error(int error);
415 
416 #ifdef __cplusplus
417 }
418 #endif
419 
420 
421 /*---- new error codes that can be mapped to POSIX errors ----*/
422 #define	B_BUFFER_OVERFLOW	HAIKU_EOVERFLOW
423 #define B_TOO_MANY_ARGS		HAIKU_E2BIG
424 #define	B_FILE_TOO_LARGE	HAIKU_EFBIG
425 #define B_RESULT_NOT_REPRESENTABLE	HAIKU_ERANGE
426 #define	B_DEVICE_NOT_FOUND	HAIKU_ENODEV
427 #define B_NOT_SUPPORTED		HAIKU_EOPNOTSUPP
428 
429 /*-------------------------------------------------------------*/
430 /*----- Media Kit Errors --------------------------------------*/
431 enum {
432   B_STREAM_NOT_FOUND = B_MEDIA_ERROR_BASE,
433   B_SERVER_NOT_FOUND,
434   B_RESOURCE_NOT_FOUND,
435   B_RESOURCE_UNAVAILABLE,
436   B_BAD_SUBSCRIBER,
437   B_SUBSCRIBER_NOT_ENTERED,
438   B_BUFFER_NOT_AVAILABLE,
439   B_LAST_BUFFER_ERROR
440 };
441 
442 /*-------------------------------------------------------------*/
443 /*----- Mail Kit Errors ---------------------------------------*/
444 enum
445 {
446 	B_MAIL_NO_DAEMON = B_MAIL_ERROR_BASE,
447 	B_MAIL_UNKNOWN_USER,
448 	B_MAIL_WRONG_PASSWORD,
449 	B_MAIL_UNKNOWN_HOST,
450 	B_MAIL_ACCESS_ERROR,
451 	B_MAIL_UNKNOWN_FIELD,
452 	B_MAIL_NO_RECIPIENT,
453 	B_MAIL_INVALID_MAIL
454 };
455 
456 /*-------------------------------------------------------------*/
457 /*----- Printing Errors --------------------------------------*/
458 enum
459 {
460 	B_NO_PRINT_SERVER = B_PRINT_ERROR_BASE
461 };
462 
463 /*-------------------------------------------------------------*/
464 /*----- Device Kit Errors -------------------------------------*/
465 enum
466 {
467 	B_DEV_INVALID_IOCTL = B_DEVICE_ERROR_BASE,
468 	B_DEV_NO_MEMORY,
469 	B_DEV_BAD_DRIVE_NUM,
470 	B_DEV_NO_MEDIA,
471 	B_DEV_UNREADABLE,
472 	B_DEV_FORMAT_ERROR,
473 	B_DEV_TIMEOUT,
474 	B_DEV_RECALIBRATE_ERROR,
475 	B_DEV_SEEK_ERROR,
476 	B_DEV_ID_ERROR,
477 	B_DEV_READ_ERROR,
478 	B_DEV_WRITE_ERROR,
479 	B_DEV_NOT_READY,
480 	B_DEV_MEDIA_CHANGED,
481 	B_DEV_MEDIA_CHANGE_REQUESTED,
482 	B_DEV_RESOURCE_CONFLICT,
483 	B_DEV_CONFIGURATION_ERROR,
484 	B_DEV_DISABLED_BY_USER,
485 	B_DEV_DOOR_OPEN,
486 
487 	B_DEV_INVALID_PIPE,
488 	B_DEV_CRC_ERROR,
489 	B_DEV_STALLED,
490 	B_DEV_BAD_PID,
491 	B_DEV_UNEXPECTED_PID,
492 	B_DEV_DATA_OVERRUN,
493 	B_DEV_DATA_UNDERRUN,
494 	B_DEV_FIFO_OVERRUN,
495 	B_DEV_FIFO_UNDERRUN,
496 	B_DEV_PENDING,
497 	B_DEV_MULTIPLE_ERRORS,
498 	B_DEV_TOO_LATE,
499 };
500 
501 #endif /* _ERRORS_H */
502