xref: /haiku/headers/os/support/Errors.h (revision 0e2e5d7f7683fc241e3ddb0cbf83846a373d7894)
1afe886fcSDavid Reid /******************************************************************************
2afe886fcSDavid Reid /
3afe886fcSDavid Reid /	File:			Errors.h
4afe886fcSDavid Reid /
5afe886fcSDavid Reid /	Description:	Error code constants.
6afe886fcSDavid Reid /
7afe886fcSDavid Reid /	Copyright 1993-98, Be Incorporated
8afe886fcSDavid Reid /
9afe886fcSDavid Reid ******************************************************************************/
10afe886fcSDavid Reid 
11afe886fcSDavid Reid 
1252a38012Sejakowatz #ifndef _ERRORS_H
1352a38012Sejakowatz #define _ERRORS_H
1452a38012Sejakowatz 
15afe886fcSDavid Reid #include <limits.h>
1652a38012Sejakowatz 
1752a38012Sejakowatz /*-------------------------------------------------------------*/
1852a38012Sejakowatz /*----- Error baselines ---------------------------------------*/
1952a38012Sejakowatz 
2052a38012Sejakowatz #define B_GENERAL_ERROR_BASE		LONG_MIN
2152a38012Sejakowatz #define B_OS_ERROR_BASE				B_GENERAL_ERROR_BASE + 0x1000
2252a38012Sejakowatz #define B_APP_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x2000
2352a38012Sejakowatz #define B_INTERFACE_ERROR_BASE		B_GENERAL_ERROR_BASE + 0x3000
24afe886fcSDavid Reid #define B_MEDIA_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x4000 /* - 0x41ff */
25afe886fcSDavid Reid #define B_TRANSLATION_ERROR_BASE	B_GENERAL_ERROR_BASE + 0x4800 /* - 0x48ff */
2652a38012Sejakowatz #define B_MIDI_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x5000
2752a38012Sejakowatz #define B_STORAGE_ERROR_BASE		B_GENERAL_ERROR_BASE + 0x6000
28afe886fcSDavid Reid #define B_POSIX_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x7000
2952a38012Sejakowatz #define B_MAIL_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x8000
3052a38012Sejakowatz #define B_PRINT_ERROR_BASE			B_GENERAL_ERROR_BASE + 0x9000
3152a38012Sejakowatz #define B_DEVICE_ERROR_BASE			B_GENERAL_ERROR_BASE + 0xa000
3252a38012Sejakowatz 
3352a38012Sejakowatz /*--- Developer-defined errors start at (B_ERRORS_END+1)----*/
3452a38012Sejakowatz 
3552a38012Sejakowatz #define B_ERRORS_END		(B_GENERAL_ERROR_BASE + 0xffff)
3652a38012Sejakowatz 
3752a38012Sejakowatz 
3852a38012Sejakowatz /*-------------------------------------------------------------*/
3952a38012Sejakowatz /*----- General Errors ----------------------------------------*/
4052a38012Sejakowatz enum {
4152a38012Sejakowatz 	B_NO_MEMORY = B_GENERAL_ERROR_BASE,
4252a38012Sejakowatz 	B_IO_ERROR,
4352a38012Sejakowatz 	B_PERMISSION_DENIED,
4452a38012Sejakowatz 	B_BAD_INDEX,
4552a38012Sejakowatz 	B_BAD_TYPE,
4652a38012Sejakowatz 	B_BAD_VALUE,
4752a38012Sejakowatz 	B_MISMATCHED_VALUES,
4852a38012Sejakowatz 	B_NAME_NOT_FOUND,
4952a38012Sejakowatz 	B_NAME_IN_USE,
5052a38012Sejakowatz 	B_TIMED_OUT,
5152a38012Sejakowatz     B_INTERRUPTED,
5252a38012Sejakowatz 	B_WOULD_BLOCK,
5352a38012Sejakowatz     B_CANCELED,
5452a38012Sejakowatz 	B_NO_INIT,
5552a38012Sejakowatz 	B_BUSY,
5652a38012Sejakowatz 	B_NOT_ALLOWED,
57c3db7c3bSAxel Dörfler 	B_BAD_DATA,
5852a38012Sejakowatz 
5952a38012Sejakowatz 	B_ERROR = -1,
6052a38012Sejakowatz 	B_OK = 0,
6152a38012Sejakowatz 	B_NO_ERROR = 0
6252a38012Sejakowatz };
6352a38012Sejakowatz 
6452a38012Sejakowatz /*-------------------------------------------------------------*/
6552a38012Sejakowatz /*----- Kernel Kit Errors -------------------------------------*/
6652a38012Sejakowatz enum {
6752a38012Sejakowatz 	B_BAD_SEM_ID = B_OS_ERROR_BASE,
6852a38012Sejakowatz 	B_NO_MORE_SEMS,
6952a38012Sejakowatz 
7052a38012Sejakowatz 	B_BAD_THREAD_ID = B_OS_ERROR_BASE + 0x100,
7152a38012Sejakowatz 	B_NO_MORE_THREADS,
7252a38012Sejakowatz 	B_BAD_THREAD_STATE,
7352a38012Sejakowatz 	B_BAD_TEAM_ID,
7452a38012Sejakowatz 	B_NO_MORE_TEAMS,
7552a38012Sejakowatz 
7652a38012Sejakowatz 	B_BAD_PORT_ID = B_OS_ERROR_BASE + 0x200,
7752a38012Sejakowatz 	B_NO_MORE_PORTS,
7852a38012Sejakowatz 
7952a38012Sejakowatz 	B_BAD_IMAGE_ID = B_OS_ERROR_BASE + 0x300,
8052a38012Sejakowatz 	B_BAD_ADDRESS,
8152a38012Sejakowatz 	B_NOT_AN_EXECUTABLE,
8252a38012Sejakowatz 	B_MISSING_LIBRARY,
8352a38012Sejakowatz 	B_MISSING_SYMBOL,
8452a38012Sejakowatz 
8552a38012Sejakowatz 	B_DEBUGGER_ALREADY_INSTALLED = B_OS_ERROR_BASE + 0x400
8652a38012Sejakowatz };
8752a38012Sejakowatz 
8852a38012Sejakowatz 
8952a38012Sejakowatz /*-------------------------------------------------------------*/
9052a38012Sejakowatz /*----- Application Kit Errors --------------------------------*/
9152a38012Sejakowatz enum
9252a38012Sejakowatz {
9352a38012Sejakowatz 	B_BAD_REPLY = B_APP_ERROR_BASE,
9452a38012Sejakowatz 	B_DUPLICATE_REPLY,
9552a38012Sejakowatz 	B_MESSAGE_TO_SELF,
9652a38012Sejakowatz 	B_BAD_HANDLER,
9752a38012Sejakowatz 	B_ALREADY_RUNNING,
9852a38012Sejakowatz 	B_LAUNCH_FAILED,
9952a38012Sejakowatz 	B_AMBIGUOUS_APP_LAUNCH,
10052a38012Sejakowatz 	B_UNKNOWN_MIME_TYPE,
10152a38012Sejakowatz 	B_BAD_SCRIPT_SYNTAX,
10252a38012Sejakowatz 	B_LAUNCH_FAILED_NO_RESOLVE_LINK,
10352a38012Sejakowatz 	B_LAUNCH_FAILED_EXECUTABLE,
10452a38012Sejakowatz 	B_LAUNCH_FAILED_APP_NOT_FOUND,
10552a38012Sejakowatz 	B_LAUNCH_FAILED_APP_IN_TRASH,
10652a38012Sejakowatz 	B_LAUNCH_FAILED_NO_PREFERRED_APP,
10752a38012Sejakowatz 	B_LAUNCH_FAILED_FILES_APP_NOT_FOUND,
10852a38012Sejakowatz 	B_BAD_MIME_SNIFFER_RULE
10952a38012Sejakowatz };
11052a38012Sejakowatz 
11152a38012Sejakowatz 
11252a38012Sejakowatz /*-------------------------------------------------------------*/
11352a38012Sejakowatz /*----- Storage Kit/File System Errors ------------------------*/
11452a38012Sejakowatz enum {
11552a38012Sejakowatz 	B_FILE_ERROR = B_STORAGE_ERROR_BASE,
11652a38012Sejakowatz 	B_FILE_NOT_FOUND,	/* discouraged; use B_ENTRY_NOT_FOUND in new code*/
11752a38012Sejakowatz 	B_FILE_EXISTS,
11852a38012Sejakowatz 	B_ENTRY_NOT_FOUND,
11952a38012Sejakowatz 	B_NAME_TOO_LONG,
12052a38012Sejakowatz 	B_NOT_A_DIRECTORY,
12152a38012Sejakowatz 	B_DIRECTORY_NOT_EMPTY,
12252a38012Sejakowatz 	B_DEVICE_FULL,
12352a38012Sejakowatz 	B_READ_ONLY_DEVICE,
12452a38012Sejakowatz 	B_IS_A_DIRECTORY,
12552a38012Sejakowatz 	B_NO_MORE_FDS,
12652a38012Sejakowatz 	B_CROSS_DEVICE_LINK,
12752a38012Sejakowatz 	B_LINK_LIMIT,
12852a38012Sejakowatz 	B_BUSTED_PIPE,
12952a38012Sejakowatz 	B_UNSUPPORTED,
13052a38012Sejakowatz 	B_PARTITION_TOO_SMALL
13152a38012Sejakowatz };
13252a38012Sejakowatz 
133afe886fcSDavid Reid 
134afe886fcSDavid Reid /*-------------------------------------------------------------*/
135afe886fcSDavid Reid /*----- POSIX Errors ------------------------------------------*/
136afe886fcSDavid Reid #define E2BIG			(B_POSIX_ERROR_BASE + 1)
137afe886fcSDavid Reid #define ECHILD			(B_POSIX_ERROR_BASE + 2)
138afe886fcSDavid Reid #define EDEADLK			(B_POSIX_ERROR_BASE + 3)
139afe886fcSDavid Reid #define EFBIG			(B_POSIX_ERROR_BASE + 4)
140afe886fcSDavid Reid #define EMLINK			(B_POSIX_ERROR_BASE + 5)
141afe886fcSDavid Reid #define ENFILE			(B_POSIX_ERROR_BASE + 6)
142afe886fcSDavid Reid #define ENODEV			(B_POSIX_ERROR_BASE + 7)
143afe886fcSDavid Reid #define ENOLCK			(B_POSIX_ERROR_BASE + 8)
144afe886fcSDavid Reid #define ENOSYS			(B_POSIX_ERROR_BASE + 9)
145afe886fcSDavid Reid #define ENOTTY			(B_POSIX_ERROR_BASE + 10)
146afe886fcSDavid Reid #define ENXIO			(B_POSIX_ERROR_BASE + 11)
147afe886fcSDavid Reid #define ESPIPE			(B_POSIX_ERROR_BASE + 12)
148afe886fcSDavid Reid #define ESRCH			(B_POSIX_ERROR_BASE + 13)
149afe886fcSDavid Reid #define EFPOS			(B_POSIX_ERROR_BASE + 14)
150afe886fcSDavid Reid #define ESIGPARM		(B_POSIX_ERROR_BASE + 15)
151afe886fcSDavid Reid #define EDOM			(B_POSIX_ERROR_BASE + 16)
152afe886fcSDavid Reid #define ERANGE			(B_POSIX_ERROR_BASE + 17)
153afe886fcSDavid Reid #define EPROTOTYPE		(B_POSIX_ERROR_BASE + 18)
154afe886fcSDavid Reid #define EPROTONOSUPPORT	(B_POSIX_ERROR_BASE + 19)
155afe886fcSDavid Reid #define EPFNOSUPPORT	(B_POSIX_ERROR_BASE + 20)
156afe886fcSDavid Reid #define EAFNOSUPPORT	(B_POSIX_ERROR_BASE + 21)
157afe886fcSDavid Reid #define EADDRINUSE		(B_POSIX_ERROR_BASE + 22)
158afe886fcSDavid Reid #define EADDRNOTAVAIL	(B_POSIX_ERROR_BASE + 23)
159afe886fcSDavid Reid #define ENETDOWN		(B_POSIX_ERROR_BASE + 24)
160afe886fcSDavid Reid #define ENETUNREACH		(B_POSIX_ERROR_BASE + 25)
161afe886fcSDavid Reid #define ENETRESET		(B_POSIX_ERROR_BASE + 26)
162afe886fcSDavid Reid #define ECONNABORTED	(B_POSIX_ERROR_BASE + 27)
163afe886fcSDavid Reid #define ECONNRESET		(B_POSIX_ERROR_BASE + 28)
164afe886fcSDavid Reid #define EISCONN			(B_POSIX_ERROR_BASE + 29)
165afe886fcSDavid Reid #define ENOTCONN		(B_POSIX_ERROR_BASE + 30)
166afe886fcSDavid Reid #define ESHUTDOWN		(B_POSIX_ERROR_BASE + 31)
167afe886fcSDavid Reid #define ECONNREFUSED	(B_POSIX_ERROR_BASE + 32)
168afe886fcSDavid Reid #define EHOSTUNREACH	(B_POSIX_ERROR_BASE + 33)
169afe886fcSDavid Reid #define ENOPROTOOPT		(B_POSIX_ERROR_BASE + 34)
170afe886fcSDavid Reid #define ENOBUFS			(B_POSIX_ERROR_BASE + 35)
171afe886fcSDavid Reid #define EINPROGRESS		(B_POSIX_ERROR_BASE + 36)
172afe886fcSDavid Reid #define EALREADY		(B_POSIX_ERROR_BASE + 37)
173afe886fcSDavid Reid #define EILSEQ          (B_POSIX_ERROR_BASE + 38)
174afe886fcSDavid Reid #define ENOMSG          (B_POSIX_ERROR_BASE + 39)
175afe886fcSDavid Reid #define ESTALE          (B_POSIX_ERROR_BASE + 40)
176afe886fcSDavid Reid #define EOVERFLOW       (B_POSIX_ERROR_BASE + 41)
177afe886fcSDavid Reid #define EMSGSIZE        (B_POSIX_ERROR_BASE + 42)
178afe886fcSDavid Reid #define EOPNOTSUPP      (B_POSIX_ERROR_BASE + 43)
179afe886fcSDavid Reid #define ENOTSOCK		(B_POSIX_ERROR_BASE + 44)
180*0e2e5d7fSbeveloper #define EHOSTDOWN		(B_POSIX_ERROR_BASE + 45)
181afe886fcSDavid Reid 
182afe886fcSDavid Reid #define ENOMEM			B_NO_MEMORY
183afe886fcSDavid Reid #define EACCES			B_PERMISSION_DENIED
184afe886fcSDavid Reid #define EINTR			B_INTERRUPTED
185afe886fcSDavid Reid #define EIO				B_IO_ERROR
186afe886fcSDavid Reid #define EBUSY			B_BUSY
187afe886fcSDavid Reid #define EFAULT			B_BAD_ADDRESS
188afe886fcSDavid Reid #define ETIMEDOUT		B_TIMED_OUT
189afe886fcSDavid Reid #define EAGAIN 			B_WOULD_BLOCK	/* SysV compatibility */
190afe886fcSDavid Reid #define EWOULDBLOCK 	B_WOULD_BLOCK	/* BSD compatibility */
191afe886fcSDavid Reid #define EBADF			B_FILE_ERROR
192afe886fcSDavid Reid #define EEXIST			B_FILE_EXISTS
193afe886fcSDavid Reid #define EINVAL			B_BAD_VALUE
194afe886fcSDavid Reid #define ENAMETOOLONG	B_NAME_TOO_LONG
195afe886fcSDavid Reid #define ENOENT			B_ENTRY_NOT_FOUND
196afe886fcSDavid Reid #define EPERM			B_NOT_ALLOWED
197afe886fcSDavid Reid #define ENOTDIR			B_NOT_A_DIRECTORY
198afe886fcSDavid Reid #define EISDIR			B_IS_A_DIRECTORY
199afe886fcSDavid Reid #define ENOTEMPTY		B_DIRECTORY_NOT_EMPTY
200afe886fcSDavid Reid #define ENOSPC			B_DEVICE_FULL
201afe886fcSDavid Reid #define EROFS			B_READ_ONLY_DEVICE
202afe886fcSDavid Reid #define EMFILE			B_NO_MORE_FDS
203afe886fcSDavid Reid #define EXDEV			B_CROSS_DEVICE_LINK
204afe886fcSDavid Reid #define ELOOP			B_LINK_LIMIT
205afe886fcSDavid Reid #define ENOEXEC			B_NOT_AN_EXECUTABLE
206afe886fcSDavid Reid #define EPIPE			B_BUSTED_PIPE
207afe886fcSDavid Reid 
20852a38012Sejakowatz /*-------------------------------------------------------------*/
20952a38012Sejakowatz /*----- Media Kit Errors --------------------------------------*/
21052a38012Sejakowatz enum {
21152a38012Sejakowatz   B_STREAM_NOT_FOUND = B_MEDIA_ERROR_BASE,
21252a38012Sejakowatz   B_SERVER_NOT_FOUND,
21352a38012Sejakowatz   B_RESOURCE_NOT_FOUND,
21452a38012Sejakowatz   B_RESOURCE_UNAVAILABLE,
21552a38012Sejakowatz   B_BAD_SUBSCRIBER,
21652a38012Sejakowatz   B_SUBSCRIBER_NOT_ENTERED,
21752a38012Sejakowatz   B_BUFFER_NOT_AVAILABLE,
21852a38012Sejakowatz   B_LAST_BUFFER_ERROR
21952a38012Sejakowatz };
22052a38012Sejakowatz 
22152a38012Sejakowatz /*-------------------------------------------------------------*/
22252a38012Sejakowatz /*----- Mail Kit Errors ---------------------------------------*/
22352a38012Sejakowatz enum
22452a38012Sejakowatz {
22552a38012Sejakowatz 	B_MAIL_NO_DAEMON = B_MAIL_ERROR_BASE,
22652a38012Sejakowatz 	B_MAIL_UNKNOWN_USER,
22752a38012Sejakowatz 	B_MAIL_WRONG_PASSWORD,
22852a38012Sejakowatz 	B_MAIL_UNKNOWN_HOST,
22952a38012Sejakowatz 	B_MAIL_ACCESS_ERROR,
23052a38012Sejakowatz 	B_MAIL_UNKNOWN_FIELD,
23152a38012Sejakowatz 	B_MAIL_NO_RECIPIENT,
23252a38012Sejakowatz 	B_MAIL_INVALID_MAIL
23352a38012Sejakowatz };
23452a38012Sejakowatz 
23552a38012Sejakowatz /*-------------------------------------------------------------*/
23652a38012Sejakowatz /*----- Printing Errors --------------------------------------*/
23752a38012Sejakowatz enum
23852a38012Sejakowatz {
23952a38012Sejakowatz 	B_NO_PRINT_SERVER = B_PRINT_ERROR_BASE
24052a38012Sejakowatz };
24152a38012Sejakowatz 
24252a38012Sejakowatz /*-------------------------------------------------------------*/
24352a38012Sejakowatz /*----- Device Kit Errors -------------------------------------*/
24452a38012Sejakowatz enum
24552a38012Sejakowatz {
24652a38012Sejakowatz 	B_DEV_INVALID_IOCTL = B_DEVICE_ERROR_BASE,
24752a38012Sejakowatz 	B_DEV_NO_MEMORY,
24852a38012Sejakowatz 	B_DEV_BAD_DRIVE_NUM,
24952a38012Sejakowatz 	B_DEV_NO_MEDIA,
25052a38012Sejakowatz 	B_DEV_UNREADABLE,
25152a38012Sejakowatz 	B_DEV_FORMAT_ERROR,
25252a38012Sejakowatz 	B_DEV_TIMEOUT,
25352a38012Sejakowatz 	B_DEV_RECALIBRATE_ERROR,
25452a38012Sejakowatz 	B_DEV_SEEK_ERROR,
25552a38012Sejakowatz 	B_DEV_ID_ERROR,
25652a38012Sejakowatz 	B_DEV_READ_ERROR,
25752a38012Sejakowatz 	B_DEV_WRITE_ERROR,
25852a38012Sejakowatz 	B_DEV_NOT_READY,
25952a38012Sejakowatz 	B_DEV_MEDIA_CHANGED,
26052a38012Sejakowatz 	B_DEV_MEDIA_CHANGE_REQUESTED,
26152a38012Sejakowatz 	B_DEV_RESOURCE_CONFLICT,
26252a38012Sejakowatz 	B_DEV_CONFIGURATION_ERROR,
26352a38012Sejakowatz 	B_DEV_DISABLED_BY_USER,
26452a38012Sejakowatz 	B_DEV_DOOR_OPEN
26552a38012Sejakowatz };
26652a38012Sejakowatz 
26752a38012Sejakowatz /*-------------------------------------------------------------*/
26852a38012Sejakowatz /*-------------------------------------------------------------*/
26952a38012Sejakowatz 
270afe886fcSDavid Reid #endif /* _DERRORS_H */
271