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, 108d2f82aa6Sejakowatz B_BAD_MIME_SNIFFER_RULE, 109d2f82aa6Sejakowatz B_NOT_A_MESSAGE 11052a38012Sejakowatz }; 11152a38012Sejakowatz 11252a38012Sejakowatz 11352a38012Sejakowatz /*-------------------------------------------------------------*/ 11452a38012Sejakowatz /*----- Storage Kit/File System Errors ------------------------*/ 11552a38012Sejakowatz enum { 11652a38012Sejakowatz B_FILE_ERROR = B_STORAGE_ERROR_BASE, 11752a38012Sejakowatz B_FILE_NOT_FOUND, /* discouraged; use B_ENTRY_NOT_FOUND in new code*/ 11852a38012Sejakowatz B_FILE_EXISTS, 11952a38012Sejakowatz B_ENTRY_NOT_FOUND, 12052a38012Sejakowatz B_NAME_TOO_LONG, 12152a38012Sejakowatz B_NOT_A_DIRECTORY, 12252a38012Sejakowatz B_DIRECTORY_NOT_EMPTY, 12352a38012Sejakowatz B_DEVICE_FULL, 12452a38012Sejakowatz B_READ_ONLY_DEVICE, 12552a38012Sejakowatz B_IS_A_DIRECTORY, 12652a38012Sejakowatz B_NO_MORE_FDS, 12752a38012Sejakowatz B_CROSS_DEVICE_LINK, 12852a38012Sejakowatz B_LINK_LIMIT, 12952a38012Sejakowatz B_BUSTED_PIPE, 13052a38012Sejakowatz B_UNSUPPORTED, 13152a38012Sejakowatz B_PARTITION_TOO_SMALL 13252a38012Sejakowatz }; 13352a38012Sejakowatz 134afe886fcSDavid Reid 135afe886fcSDavid Reid /*-------------------------------------------------------------*/ 136afe886fcSDavid Reid /*----- POSIX Errors ------------------------------------------*/ 137afe886fcSDavid Reid #define E2BIG (B_POSIX_ERROR_BASE + 1) 138afe886fcSDavid Reid #define ECHILD (B_POSIX_ERROR_BASE + 2) 139afe886fcSDavid Reid #define EDEADLK (B_POSIX_ERROR_BASE + 3) 140afe886fcSDavid Reid #define EFBIG (B_POSIX_ERROR_BASE + 4) 141afe886fcSDavid Reid #define EMLINK (B_POSIX_ERROR_BASE + 5) 142afe886fcSDavid Reid #define ENFILE (B_POSIX_ERROR_BASE + 6) 143afe886fcSDavid Reid #define ENODEV (B_POSIX_ERROR_BASE + 7) 144afe886fcSDavid Reid #define ENOLCK (B_POSIX_ERROR_BASE + 8) 145afe886fcSDavid Reid #define ENOSYS (B_POSIX_ERROR_BASE + 9) 146afe886fcSDavid Reid #define ENOTTY (B_POSIX_ERROR_BASE + 10) 147afe886fcSDavid Reid #define ENXIO (B_POSIX_ERROR_BASE + 11) 148afe886fcSDavid Reid #define ESPIPE (B_POSIX_ERROR_BASE + 12) 149afe886fcSDavid Reid #define ESRCH (B_POSIX_ERROR_BASE + 13) 150afe886fcSDavid Reid #define EFPOS (B_POSIX_ERROR_BASE + 14) 151afe886fcSDavid Reid #define ESIGPARM (B_POSIX_ERROR_BASE + 15) 152afe886fcSDavid Reid #define EDOM (B_POSIX_ERROR_BASE + 16) 153afe886fcSDavid Reid #define ERANGE (B_POSIX_ERROR_BASE + 17) 154afe886fcSDavid Reid #define EPROTOTYPE (B_POSIX_ERROR_BASE + 18) 155afe886fcSDavid Reid #define EPROTONOSUPPORT (B_POSIX_ERROR_BASE + 19) 156afe886fcSDavid Reid #define EPFNOSUPPORT (B_POSIX_ERROR_BASE + 20) 157afe886fcSDavid Reid #define EAFNOSUPPORT (B_POSIX_ERROR_BASE + 21) 158afe886fcSDavid Reid #define EADDRINUSE (B_POSIX_ERROR_BASE + 22) 159afe886fcSDavid Reid #define EADDRNOTAVAIL (B_POSIX_ERROR_BASE + 23) 160afe886fcSDavid Reid #define ENETDOWN (B_POSIX_ERROR_BASE + 24) 161afe886fcSDavid Reid #define ENETUNREACH (B_POSIX_ERROR_BASE + 25) 162afe886fcSDavid Reid #define ENETRESET (B_POSIX_ERROR_BASE + 26) 163afe886fcSDavid Reid #define ECONNABORTED (B_POSIX_ERROR_BASE + 27) 164afe886fcSDavid Reid #define ECONNRESET (B_POSIX_ERROR_BASE + 28) 165afe886fcSDavid Reid #define EISCONN (B_POSIX_ERROR_BASE + 29) 166afe886fcSDavid Reid #define ENOTCONN (B_POSIX_ERROR_BASE + 30) 167afe886fcSDavid Reid #define ESHUTDOWN (B_POSIX_ERROR_BASE + 31) 168afe886fcSDavid Reid #define ECONNREFUSED (B_POSIX_ERROR_BASE + 32) 169afe886fcSDavid Reid #define EHOSTUNREACH (B_POSIX_ERROR_BASE + 33) 170afe886fcSDavid Reid #define ENOPROTOOPT (B_POSIX_ERROR_BASE + 34) 171afe886fcSDavid Reid #define ENOBUFS (B_POSIX_ERROR_BASE + 35) 172afe886fcSDavid Reid #define EINPROGRESS (B_POSIX_ERROR_BASE + 36) 173afe886fcSDavid Reid #define EALREADY (B_POSIX_ERROR_BASE + 37) 174afe886fcSDavid Reid #define EILSEQ (B_POSIX_ERROR_BASE + 38) 175afe886fcSDavid Reid #define ENOMSG (B_POSIX_ERROR_BASE + 39) 176afe886fcSDavid Reid #define ESTALE (B_POSIX_ERROR_BASE + 40) 177afe886fcSDavid Reid #define EOVERFLOW (B_POSIX_ERROR_BASE + 41) 178afe886fcSDavid Reid #define EMSGSIZE (B_POSIX_ERROR_BASE + 42) 179afe886fcSDavid Reid #define EOPNOTSUPP (B_POSIX_ERROR_BASE + 43) 180afe886fcSDavid Reid #define ENOTSOCK (B_POSIX_ERROR_BASE + 44) 1810e2e5d7fSbeveloper #define EHOSTDOWN (B_POSIX_ERROR_BASE + 45) 1829f20e178SJérôme Duval #define EBADMSG (B_POSIX_ERROR_BASE + 46) 1839f20e178SJérôme Duval #define ECANCELED (B_POSIX_ERROR_BASE + 47) 1849f20e178SJérôme Duval #define EDESTADDRREQ (B_POSIX_ERROR_BASE + 48) 1859f20e178SJérôme Duval #define EDQUOT (B_POSIX_ERROR_BASE + 49) 1869f20e178SJérôme Duval #define EIDRM (B_POSIX_ERROR_BASE + 50) 1879f20e178SJérôme Duval #define EMULTIHOP (B_POSIX_ERROR_BASE + 51) 1889f20e178SJérôme Duval #define ENODATA (B_POSIX_ERROR_BASE + 52) 1899f20e178SJérôme Duval #define ENOLINK (B_POSIX_ERROR_BASE + 53) 1909f20e178SJérôme Duval #define ENOSR (B_POSIX_ERROR_BASE + 54) 1919f20e178SJérôme Duval #define ENOSTR (B_POSIX_ERROR_BASE + 55) 1929f20e178SJérôme Duval #define ENOTSUP (B_POSIX_ERROR_BASE + 56) 1939f20e178SJérôme Duval #define EPROTO (B_POSIX_ERROR_BASE + 57) 1949f20e178SJérôme Duval #define ETIME (B_POSIX_ERROR_BASE + 58) 1959f20e178SJérôme Duval #define ETXTBSY (B_POSIX_ERROR_BASE + 59) 1969f20e178SJérôme Duval 197afe886fcSDavid Reid 19868145d0dSAxel Dörfler /*---- POSIX errors that can be mapped to BeOS error codes ----*/ 199afe886fcSDavid Reid #define ENOMEM B_NO_MEMORY 200afe886fcSDavid Reid #define EACCES B_PERMISSION_DENIED 201afe886fcSDavid Reid #define EINTR B_INTERRUPTED 202afe886fcSDavid Reid #define EIO B_IO_ERROR 203afe886fcSDavid Reid #define EBUSY B_BUSY 204afe886fcSDavid Reid #define EFAULT B_BAD_ADDRESS 205afe886fcSDavid Reid #define ETIMEDOUT B_TIMED_OUT 206afe886fcSDavid Reid #define EAGAIN B_WOULD_BLOCK /* SysV compatibility */ 207afe886fcSDavid Reid #define EWOULDBLOCK B_WOULD_BLOCK /* BSD compatibility */ 208afe886fcSDavid Reid #define EBADF B_FILE_ERROR 209afe886fcSDavid Reid #define EEXIST B_FILE_EXISTS 210afe886fcSDavid Reid #define EINVAL B_BAD_VALUE 211afe886fcSDavid Reid #define ENAMETOOLONG B_NAME_TOO_LONG 212afe886fcSDavid Reid #define ENOENT B_ENTRY_NOT_FOUND 213afe886fcSDavid Reid #define EPERM B_NOT_ALLOWED 214afe886fcSDavid Reid #define ENOTDIR B_NOT_A_DIRECTORY 215afe886fcSDavid Reid #define EISDIR B_IS_A_DIRECTORY 216afe886fcSDavid Reid #define ENOTEMPTY B_DIRECTORY_NOT_EMPTY 217afe886fcSDavid Reid #define ENOSPC B_DEVICE_FULL 218afe886fcSDavid Reid #define EROFS B_READ_ONLY_DEVICE 219afe886fcSDavid Reid #define EMFILE B_NO_MORE_FDS 220afe886fcSDavid Reid #define EXDEV B_CROSS_DEVICE_LINK 221afe886fcSDavid Reid #define ELOOP B_LINK_LIMIT 222afe886fcSDavid Reid #define ENOEXEC B_NOT_AN_EXECUTABLE 223afe886fcSDavid Reid #define EPIPE B_BUSTED_PIPE 224afe886fcSDavid Reid 22568145d0dSAxel Dörfler /*---- new error codes that can be mapped to POSIX errors ----*/ 22668145d0dSAxel Dörfler #define B_BUFFER_OVERFLOW EOVERFLOW 22768145d0dSAxel Dörfler #define B_TOO_MANY_ARGS E2BIG 22868145d0dSAxel Dörfler #define B_FILE_TOO_LARGE EFBIG 2299de96ae6SAxel Dörfler #define B_RESULT_NOT_REPRESENTABLE ERANGE 23068145d0dSAxel Dörfler #define B_DEVICE_NOT_FOUND ENODEV 231*ec5a9998SAxel Dörfler #define B_NOT_SUPPORTED EOPNOTSUPP 23268145d0dSAxel Dörfler 23352a38012Sejakowatz /*-------------------------------------------------------------*/ 23452a38012Sejakowatz /*----- Media Kit Errors --------------------------------------*/ 23552a38012Sejakowatz enum { 23652a38012Sejakowatz B_STREAM_NOT_FOUND = B_MEDIA_ERROR_BASE, 23752a38012Sejakowatz B_SERVER_NOT_FOUND, 23852a38012Sejakowatz B_RESOURCE_NOT_FOUND, 23952a38012Sejakowatz B_RESOURCE_UNAVAILABLE, 24052a38012Sejakowatz B_BAD_SUBSCRIBER, 24152a38012Sejakowatz B_SUBSCRIBER_NOT_ENTERED, 24252a38012Sejakowatz B_BUFFER_NOT_AVAILABLE, 24352a38012Sejakowatz B_LAST_BUFFER_ERROR 24452a38012Sejakowatz }; 24552a38012Sejakowatz 24652a38012Sejakowatz /*-------------------------------------------------------------*/ 24752a38012Sejakowatz /*----- Mail Kit Errors ---------------------------------------*/ 24852a38012Sejakowatz enum 24952a38012Sejakowatz { 25052a38012Sejakowatz B_MAIL_NO_DAEMON = B_MAIL_ERROR_BASE, 25152a38012Sejakowatz B_MAIL_UNKNOWN_USER, 25252a38012Sejakowatz B_MAIL_WRONG_PASSWORD, 25352a38012Sejakowatz B_MAIL_UNKNOWN_HOST, 25452a38012Sejakowatz B_MAIL_ACCESS_ERROR, 25552a38012Sejakowatz B_MAIL_UNKNOWN_FIELD, 25652a38012Sejakowatz B_MAIL_NO_RECIPIENT, 25752a38012Sejakowatz B_MAIL_INVALID_MAIL 25852a38012Sejakowatz }; 25952a38012Sejakowatz 26052a38012Sejakowatz /*-------------------------------------------------------------*/ 26152a38012Sejakowatz /*----- Printing Errors --------------------------------------*/ 26252a38012Sejakowatz enum 26352a38012Sejakowatz { 26452a38012Sejakowatz B_NO_PRINT_SERVER = B_PRINT_ERROR_BASE 26552a38012Sejakowatz }; 26652a38012Sejakowatz 26752a38012Sejakowatz /*-------------------------------------------------------------*/ 26852a38012Sejakowatz /*----- Device Kit Errors -------------------------------------*/ 26952a38012Sejakowatz enum 27052a38012Sejakowatz { 27152a38012Sejakowatz B_DEV_INVALID_IOCTL = B_DEVICE_ERROR_BASE, 27252a38012Sejakowatz B_DEV_NO_MEMORY, 27352a38012Sejakowatz B_DEV_BAD_DRIVE_NUM, 27452a38012Sejakowatz B_DEV_NO_MEDIA, 27552a38012Sejakowatz B_DEV_UNREADABLE, 27652a38012Sejakowatz B_DEV_FORMAT_ERROR, 27752a38012Sejakowatz B_DEV_TIMEOUT, 27852a38012Sejakowatz B_DEV_RECALIBRATE_ERROR, 27952a38012Sejakowatz B_DEV_SEEK_ERROR, 28052a38012Sejakowatz B_DEV_ID_ERROR, 28152a38012Sejakowatz B_DEV_READ_ERROR, 28252a38012Sejakowatz B_DEV_WRITE_ERROR, 28352a38012Sejakowatz B_DEV_NOT_READY, 28452a38012Sejakowatz B_DEV_MEDIA_CHANGED, 28552a38012Sejakowatz B_DEV_MEDIA_CHANGE_REQUESTED, 28652a38012Sejakowatz B_DEV_RESOURCE_CONFLICT, 28752a38012Sejakowatz B_DEV_CONFIGURATION_ERROR, 28852a38012Sejakowatz B_DEV_DISABLED_BY_USER, 289a4733dd5SAxel Dörfler B_DEV_DOOR_OPEN, 290a4733dd5SAxel Dörfler 291a4733dd5SAxel Dörfler B_DEV_INVALID_PIPE, 292a4733dd5SAxel Dörfler B_DEV_CRC_ERROR, 293a4733dd5SAxel Dörfler B_DEV_STALLED, 294a4733dd5SAxel Dörfler B_DEV_BAD_PID, 295a4733dd5SAxel Dörfler B_DEV_UNEXPECTED_PID, 296a4733dd5SAxel Dörfler B_DEV_DATA_OVERRUN, 297a4733dd5SAxel Dörfler B_DEV_DATA_UNDERRUN, 298a4733dd5SAxel Dörfler B_DEV_FIFO_OVERRUN, 299a4733dd5SAxel Dörfler B_DEV_FIFO_UNDERRUN, 300a4733dd5SAxel Dörfler B_DEV_PENDING, 301a4733dd5SAxel Dörfler B_DEV_MULTIPLE_ERRORS, 302a4733dd5SAxel Dörfler B_DEV_TOO_LATE, 30352a38012Sejakowatz }; 30452a38012Sejakowatz 305ae614d48SAxel Dörfler #endif /* _ERRORS_H */ 306