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