xref: /haiku/headers/build/os/support/Errors.h (revision 220d04022750f40f8bac8f01fa551211e28d04f2)
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 	B_PARTIAL_READ,
138 	B_PARTIAL_WRITE,
139 };
140 
141 
142 /*-------------------------------------------------------------*/
143 /*----- POSIX Errors ------------------------------------------*/
144 #define HAIKU_E2BIG			(B_POSIX_ERROR_BASE + 1)
145 #define HAIKU_ECHILD			(B_POSIX_ERROR_BASE + 2)
146 #define HAIKU_EDEADLK			(B_POSIX_ERROR_BASE + 3)
147 #define HAIKU_EFBIG			(B_POSIX_ERROR_BASE + 4)
148 #define HAIKU_EMLINK			(B_POSIX_ERROR_BASE + 5)
149 #define HAIKU_ENFILE			(B_POSIX_ERROR_BASE + 6)
150 #define HAIKU_ENODEV			(B_POSIX_ERROR_BASE + 7)
151 #define HAIKU_ENOLCK			(B_POSIX_ERROR_BASE + 8)
152 #define HAIKU_ENOSYS			(B_POSIX_ERROR_BASE + 9)
153 #define HAIKU_ENOTTY			(B_POSIX_ERROR_BASE + 10)
154 #define HAIKU_ENXIO			(B_POSIX_ERROR_BASE + 11)
155 #define HAIKU_ESPIPE			(B_POSIX_ERROR_BASE + 12)
156 #define HAIKU_ESRCH			(B_POSIX_ERROR_BASE + 13)
157 #define HAIKU_EFPOS			(B_POSIX_ERROR_BASE + 14)
158 #define HAIKU_ESIGPARM		(B_POSIX_ERROR_BASE + 15)
159 #define HAIKU_EDOM			(B_POSIX_ERROR_BASE + 16)
160 #define HAIKU_ERANGE			(B_POSIX_ERROR_BASE + 17)
161 #define HAIKU_EPROTOTYPE		(B_POSIX_ERROR_BASE + 18)
162 #define HAIKU_EPROTONOSUPPORT	(B_POSIX_ERROR_BASE + 19)
163 #define HAIKU_EPFNOSUPPORT	(B_POSIX_ERROR_BASE + 20)
164 #define HAIKU_EAFNOSUPPORT	(B_POSIX_ERROR_BASE + 21)
165 #define HAIKU_EADDRINUSE		(B_POSIX_ERROR_BASE + 22)
166 #define HAIKU_EADDRNOTAVAIL	(B_POSIX_ERROR_BASE + 23)
167 #define HAIKU_ENETDOWN		(B_POSIX_ERROR_BASE + 24)
168 #define HAIKU_ENETUNREACH		(B_POSIX_ERROR_BASE + 25)
169 #define HAIKU_ENETRESET		(B_POSIX_ERROR_BASE + 26)
170 #define HAIKU_ECONNABORTED	(B_POSIX_ERROR_BASE + 27)
171 #define HAIKU_ECONNRESET		(B_POSIX_ERROR_BASE + 28)
172 #define HAIKU_EISCONN			(B_POSIX_ERROR_BASE + 29)
173 #define HAIKU_ENOTCONN		(B_POSIX_ERROR_BASE + 30)
174 #define HAIKU_ESHUTDOWN		(B_POSIX_ERROR_BASE + 31)
175 #define HAIKU_ECONNREFUSED	(B_POSIX_ERROR_BASE + 32)
176 #define HAIKU_EHOSTUNREACH	(B_POSIX_ERROR_BASE + 33)
177 #define HAIKU_ENOPROTOOPT		(B_POSIX_ERROR_BASE + 34)
178 #define HAIKU_ENOBUFS			(B_POSIX_ERROR_BASE + 35)
179 #define HAIKU_EINPROGRESS		(B_POSIX_ERROR_BASE + 36)
180 #define HAIKU_EALREADY		(B_POSIX_ERROR_BASE + 37)
181 #define HAIKU_EILSEQ          (B_POSIX_ERROR_BASE + 38)
182 #define HAIKU_ENOMSG          (B_POSIX_ERROR_BASE + 39)
183 #define HAIKU_ESTALE          (B_POSIX_ERROR_BASE + 40)
184 #define HAIKU_EOVERFLOW       (B_POSIX_ERROR_BASE + 41)
185 #define HAIKU_EMSGSIZE        (B_POSIX_ERROR_BASE + 42)
186 #define HAIKU_EOPNOTSUPP      (B_POSIX_ERROR_BASE + 43)
187 #define HAIKU_ENOTSOCK		(B_POSIX_ERROR_BASE + 44)
188 #define HAIKU_EHOSTDOWN		(B_POSIX_ERROR_BASE + 45)
189 #define HAIKU_EBADMSG			(B_POSIX_ERROR_BASE + 46)
190 #define HAIKU_ECANCELED		(B_POSIX_ERROR_BASE + 47)
191 #define HAIKU_EDESTADDRREQ	(B_POSIX_ERROR_BASE + 48)
192 #define HAIKU_EDQUOT			(B_POSIX_ERROR_BASE + 49)
193 #define HAIKU_EIDRM			(B_POSIX_ERROR_BASE + 50)
194 #define HAIKU_EMULTIHOP		(B_POSIX_ERROR_BASE + 51)
195 #define HAIKU_ENODATA			(B_POSIX_ERROR_BASE + 52)
196 #define HAIKU_ENOLINK			(B_POSIX_ERROR_BASE + 53)
197 #define HAIKU_ENOSR			(B_POSIX_ERROR_BASE + 54)
198 #define HAIKU_ENOSTR			(B_POSIX_ERROR_BASE + 55)
199 #define HAIKU_ENOTSUP			(B_POSIX_ERROR_BASE + 56)
200 #define HAIKU_EPROTO			(B_POSIX_ERROR_BASE + 57)
201 #define HAIKU_ETIME			(B_POSIX_ERROR_BASE + 58)
202 #define HAIKU_ETXTBSY			(B_POSIX_ERROR_BASE + 59)
203 #define HAIKU_ENOATTR			(B_POSIX_ERROR_BASE + 60)
204 
205 
206 /*---- POSIX errors that can be mapped to BeOS error codes ----*/
207 #define HAIKU_ENOMEM			B_NO_MEMORY
208 #define HAIKU_EACCES			B_PERMISSION_DENIED
209 #define HAIKU_EINTR			B_INTERRUPTED
210 #define HAIKU_EIO				B_IO_ERROR
211 #define HAIKU_EBUSY			B_BUSY
212 #define HAIKU_EFAULT			B_BAD_ADDRESS
213 #define HAIKU_ETIMEDOUT		B_TIMED_OUT
214 #define HAIKU_EAGAIN 			B_WOULD_BLOCK	/* SysV compatibility */
215 #define HAIKU_EWOULDBLOCK 	B_WOULD_BLOCK	/* BSD compatibility */
216 #define HAIKU_EBADF			B_FILE_ERROR
217 #define HAIKU_EEXIST			B_FILE_EXISTS
218 #define HAIKU_EINVAL			B_BAD_VALUE
219 #define HAIKU_ENAMETOOLONG	B_NAME_TOO_LONG
220 #define HAIKU_ENOENT			B_ENTRY_NOT_FOUND
221 #define HAIKU_EPERM			B_NOT_ALLOWED
222 #define HAIKU_ENOTDIR			B_NOT_A_DIRECTORY
223 #define HAIKU_EISDIR			B_IS_A_DIRECTORY
224 #define HAIKU_ENOTEMPTY		B_DIRECTORY_NOT_EMPTY
225 #define HAIKU_ENOSPC			B_DEVICE_FULL
226 #define HAIKU_EROFS			B_READ_ONLY_DEVICE
227 #define HAIKU_EMFILE			B_NO_MORE_FDS
228 #define HAIKU_EXDEV			B_CROSS_DEVICE_LINK
229 #define HAIKU_ELOOP			B_LINK_LIMIT
230 #define HAIKU_ENOEXEC			B_NOT_AN_EXECUTABLE
231 #define HAIKU_EPIPE			B_BUSTED_PIPE
232 
233 #ifndef BUILDING_HAIKU_ERROR_MAPPER
234 	#undef E2BIG
235 	#undef ECHILD
236 	#undef EDEADLK
237 	#undef EFBIG
238 	#undef EMLINK
239 	#undef ENFILE
240 	#undef ENODEV
241 	#undef ENOLCK
242 	#undef ENOSYS
243 	#undef ENOTTY
244 	#undef ENXIO
245 	#undef ESPIPE
246 	#undef ESRCH
247 	#undef EFPOS
248 	#undef ESIGPARM
249 	#undef EDOM
250 	#undef ERANGE
251 	#undef EPROTOTYPE
252 	#undef EPROTONOSUPPORT
253 	#undef EPFNOSUPPORT
254 	#undef EAFNOSUPPORT
255 	#undef EADDRINUSE
256 	#undef EADDRNOTAVAIL
257 	#undef ENETDOWN
258 	#undef ENETUNREACH
259 	#undef ENETRESET
260 	#undef ECONNABORTED
261 	#undef ECONNRESET
262 	#undef EISCONN
263 	#undef ENOTCONN
264 	#undef ESHUTDOWN
265 	#undef ECONNREFUSED
266 	#undef EHOSTUNREACH
267 	#undef ENOPROTOOPT
268 	#undef ENOBUFS
269 	#undef EINPROGRESS
270 	#undef EALREADY
271 	#undef EILSEQ
272 	#undef ENOMSG
273 	#undef ESTALE
274 	#undef EOVERFLOW
275 	#undef EMSGSIZE
276 	#undef EOPNOTSUPP
277 	#undef ENOTSOCK
278 	#undef EHOSTDOWN
279 	#undef EBADMSG
280 	#undef ECANCELED
281 	#undef EDESTADDRREQ
282 	#undef EDQUOT
283 	#undef EIDRM
284 	#undef EMULTIHOP
285 	#undef ENODATA
286 	#undef ENOLINK
287 	#undef ENOSR
288 	#undef ENOSTR
289 	#undef ENOTSUP
290 	#undef EPROTO
291 	#undef ETIME
292 	#undef ETXTBSY
293 	#undef ENOMEM
294 	#undef EACCES
295 	#undef EINTR
296 	#undef EIO
297 	#undef EBUSY
298 	#undef EFAULT
299 	#undef ETIMEDOUT
300 	#undef EAGAIN
301 	#undef EWOULDBLOCK
302 	#undef EBADF
303 	#undef EEXIST
304 	#undef EINVAL
305 	#undef ENAMETOOLONG
306 	#undef ENOENT
307 	#undef EPERM
308 	#undef ENOTDIR
309 	#undef EISDIR
310 	#undef ENOTEMPTY
311 	#undef ENOSPC
312 	#undef EROFS
313 	#undef EMFILE
314 	#undef EXDEV
315 	#undef ELOOP
316 	#undef ENOEXEC
317 	#undef EPIPE
318 	#undef ENOATTR
319 
320 	#define E2BIG HAIKU_E2BIG
321 	#define ECHILD HAIKU_ECHILD
322 	#define EDEADLK HAIKU_EDEADLK
323 	#define EFBIG HAIKU_EFBIG
324 	#define EMLINK HAIKU_EMLINK
325 	#define ENFILE HAIKU_ENFILE
326 	#define ENODEV HAIKU_ENODEV
327 	#define ENOLCK HAIKU_ENOLCK
328 	#define ENOSYS HAIKU_ENOSYS
329 	#define ENOTTY HAIKU_ENOTTY
330 	#define ENXIO HAIKU_ENXIO
331 	#define ESPIPE HAIKU_ESPIPE
332 	#define ESRCH HAIKU_ESRCH
333 	#define EFPOS HAIKU_EFPOS
334 	#define ESIGPARM HAIKU_ESIGPARM
335 	#define EDOM HAIKU_EDOM
336 	#define ERANGE HAIKU_ERANGE
337 	#define EPROTOTYPE HAIKU_EPROTOTYPE
338 	#define EPROTONOSUPPORT HAIKU_EPROTONOSUPPORT
339 	#define EPFNOSUPPORT HAIKU_EPFNOSUPPORT
340 	#define EAFNOSUPPORT HAIKU_EAFNOSUPPORT
341 	#define EADDRINUSE HAIKU_EADDRINUSE
342 	#define EADDRNOTAVAIL HAIKU_EADDRNOTAVAIL
343 	#define ENETDOWN HAIKU_ENETDOWN
344 	#define ENETUNREACH HAIKU_ENETUNREACH
345 	#define ENETRESET HAIKU_ENETRESET
346 	#define ECONNABORTED HAIKU_ECONNABORTED
347 	#define ECONNRESET HAIKU_ECONNRESET
348 	#define EISCONN HAIKU_EISCONN
349 	#define ENOTCONN HAIKU_ENOTCONN
350 	#define ESHUTDOWN HAIKU_ESHUTDOWN
351 	#define ECONNREFUSED HAIKU_ECONNREFUSED
352 	#define EHOSTUNREACH HAIKU_EHOSTUNREACH
353 	#define ENOPROTOOPT HAIKU_ENOPROTOOPT
354 	#define ENOBUFS HAIKU_ENOBUFS
355 	#define EINPROGRESS HAIKU_EINPROGRESS
356 	#define EALREADY HAIKU_EALREADY
357 	#define EILSEQ HAIKU_EILSEQ
358 	#define ENOMSG HAIKU_ENOMSG
359 	#define ESTALE HAIKU_ESTALE
360 	#define EOVERFLOW HAIKU_EOVERFLOW
361 	#define EMSGSIZE HAIKU_EMSGSIZE
362 	#define EOPNOTSUPP HAIKU_EOPNOTSUPP
363 	#define ENOTSOCK HAIKU_ENOTSOCK
364 	#define EHOSTDOWN HAIKU_EHOSTDOWN
365 	#define	EBADMSG HAIKU_EBADMSG
366 	#define ECANCELED HAIKU_ECANCELED
367 	#define EDESTADDRREQ HAIKU_EDESTADDRREQ
368 	#define EDQUOT HAIKU_EDQUOT
369 	#define EIDRM HAIKU_EIDRM
370 	#define EMULTIHOP HAIKU_EMULTIHOP
371 	#define ENODATA HAIKU_ENODATA
372 	#define ENOLINK HAIKU_ENOLINK
373 	#define ENOSR HAIKU_ENOSR
374 	#define ENOSTR HAIKU_ENOSTR
375 	#define ENOTSUP HAIKU_ENOTSUP
376 	#define EPROTO HAIKU_EPROTO
377 	#define ETIME HAIKU_ETIME
378 	#define ETXTBSY HAIKU_ETXTBSY
379 	#define ENOMEM HAIKU_ENOMEM
380 	#define EACCES HAIKU_EACCES
381 	#define EINTR HAIKU_EINTR
382 	#define EIO HAIKU_EIO
383 	#define EBUSY HAIKU_EBUSY
384 	#define EFAULT HAIKU_EFAULT
385 	#define ETIMEDOUT HAIKU_ETIMEDOUT
386 	#define EAGAIN HAIKU_EAGAIN
387 	#define EWOULDBLOCK HAIKU_EWOULDBLOCK
388 	#define EBADF HAIKU_EBADF
389 	#define EEXIST HAIKU_EEXIST
390 	#define EINVAL HAIKU_EINVAL
391 	#define ENAMETOOLONG HAIKU_ENAMETOOLONG
392 	#define ENOENT HAIKU_ENOENT
393 	#define EPERM HAIKU_EPERM
394 	#define ENOTDIR HAIKU_ENOTDIR
395 	#define EISDIR HAIKU_EISDIR
396 	#define ENOTEMPTY HAIKU_ENOTEMPTY
397 	#define ENOSPC HAIKU_ENOSPC
398 	#define EROFS HAIKU_EROFS
399 	#define EMFILE HAIKU_EMFILE
400 	#define EXDEV HAIKU_EXDEV
401 	#define ELOOP HAIKU_ELOOP
402 	#define ENOEXEC HAIKU_ENOEXEC
403 	#define EPIPE HAIKU_EPIPE
404 	#define ENOATTR HAIKU_ENOATTR
405 
406 	#undef errno
407 	#define errno (*_haiku_build_errno())
408 
409 #endif	// ! BUILDING_HAIKU_ERROR_MAPPER
410 
411 #ifdef __cplusplus
412 extern "C" {
413 #endif
414 
415 extern int *_haiku_build_errno();
416 extern int _haiku_to_host_error(int error);
417 
418 #ifdef __cplusplus
419 }
420 #endif
421 
422 
423 /*---- new error codes that can be mapped to POSIX errors ----*/
424 #define	B_BUFFER_OVERFLOW	HAIKU_EOVERFLOW
425 #define B_TOO_MANY_ARGS		HAIKU_E2BIG
426 #define	B_FILE_TOO_LARGE	HAIKU_EFBIG
427 #define B_RESULT_NOT_REPRESENTABLE	HAIKU_ERANGE
428 #define	B_DEVICE_NOT_FOUND	HAIKU_ENODEV
429 #define B_NOT_SUPPORTED		HAIKU_EOPNOTSUPP
430 
431 /*-------------------------------------------------------------*/
432 /*----- Media Kit Errors --------------------------------------*/
433 enum {
434   B_STREAM_NOT_FOUND = B_MEDIA_ERROR_BASE,
435   B_SERVER_NOT_FOUND,
436   B_RESOURCE_NOT_FOUND,
437   B_RESOURCE_UNAVAILABLE,
438   B_BAD_SUBSCRIBER,
439   B_SUBSCRIBER_NOT_ENTERED,
440   B_BUFFER_NOT_AVAILABLE,
441   B_LAST_BUFFER_ERROR
442 };
443 
444 /*-------------------------------------------------------------*/
445 /*----- Mail Kit Errors ---------------------------------------*/
446 enum
447 {
448 	B_MAIL_NO_DAEMON = B_MAIL_ERROR_BASE,
449 	B_MAIL_UNKNOWN_USER,
450 	B_MAIL_WRONG_PASSWORD,
451 	B_MAIL_UNKNOWN_HOST,
452 	B_MAIL_ACCESS_ERROR,
453 	B_MAIL_UNKNOWN_FIELD,
454 	B_MAIL_NO_RECIPIENT,
455 	B_MAIL_INVALID_MAIL
456 };
457 
458 /*-------------------------------------------------------------*/
459 /*----- Printing Errors --------------------------------------*/
460 enum
461 {
462 	B_NO_PRINT_SERVER = B_PRINT_ERROR_BASE
463 };
464 
465 /*-------------------------------------------------------------*/
466 /*----- Device Kit Errors -------------------------------------*/
467 enum
468 {
469 	B_DEV_INVALID_IOCTL = B_DEVICE_ERROR_BASE,
470 	B_DEV_NO_MEMORY,
471 	B_DEV_BAD_DRIVE_NUM,
472 	B_DEV_NO_MEDIA,
473 	B_DEV_UNREADABLE,
474 	B_DEV_FORMAT_ERROR,
475 	B_DEV_TIMEOUT,
476 	B_DEV_RECALIBRATE_ERROR,
477 	B_DEV_SEEK_ERROR,
478 	B_DEV_ID_ERROR,
479 	B_DEV_READ_ERROR,
480 	B_DEV_WRITE_ERROR,
481 	B_DEV_NOT_READY,
482 	B_DEV_MEDIA_CHANGED,
483 	B_DEV_MEDIA_CHANGE_REQUESTED,
484 	B_DEV_RESOURCE_CONFLICT,
485 	B_DEV_CONFIGURATION_ERROR,
486 	B_DEV_DISABLED_BY_USER,
487 	B_DEV_DOOR_OPEN,
488 
489 	B_DEV_INVALID_PIPE,
490 	B_DEV_CRC_ERROR,
491 	B_DEV_STALLED,
492 	B_DEV_BAD_PID,
493 	B_DEV_UNEXPECTED_PID,
494 	B_DEV_DATA_OVERRUN,
495 	B_DEV_DATA_UNDERRUN,
496 	B_DEV_FIFO_OVERRUN,
497 	B_DEV_FIFO_UNDERRUN,
498 	B_DEV_PENDING,
499 	B_DEV_MULTIPLE_ERRORS,
500 	B_DEV_TOO_LATE,
501 };
502 
503 #endif /* _ERRORS_H */
504