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 <limits.h> 16 17 /*-------------------------------------------------------------*/ 18 /*----- Error baselines ---------------------------------------*/ 19 20 #define B_GENERAL_ERROR_BASE LONG_MIN 21 #define B_OS_ERROR_BASE B_GENERAL_ERROR_BASE + 0x1000 22 #define B_APP_ERROR_BASE B_GENERAL_ERROR_BASE + 0x2000 23 #define B_INTERFACE_ERROR_BASE B_GENERAL_ERROR_BASE + 0x3000 24 #define B_MEDIA_ERROR_BASE B_GENERAL_ERROR_BASE + 0x4000 /* - 0x41ff */ 25 #define B_TRANSLATION_ERROR_BASE B_GENERAL_ERROR_BASE + 0x4800 /* - 0x48ff */ 26 #define B_MIDI_ERROR_BASE B_GENERAL_ERROR_BASE + 0x5000 27 #define B_STORAGE_ERROR_BASE B_GENERAL_ERROR_BASE + 0x6000 28 #define B_POSIX_ERROR_BASE B_GENERAL_ERROR_BASE + 0x7000 29 #define B_MAIL_ERROR_BASE B_GENERAL_ERROR_BASE + 0x8000 30 #define B_PRINT_ERROR_BASE B_GENERAL_ERROR_BASE + 0x9000 31 #define B_DEVICE_ERROR_BASE B_GENERAL_ERROR_BASE + 0xa000 32 33 /*--- Developer-defined errors start at (B_ERRORS_END+1)----*/ 34 35 #define B_ERRORS_END (B_GENERAL_ERROR_BASE + 0xffff) 36 37 38 /*-------------------------------------------------------------*/ 39 /*----- General Errors ----------------------------------------*/ 40 enum { 41 B_NO_MEMORY = B_GENERAL_ERROR_BASE, 42 B_IO_ERROR, 43 B_PERMISSION_DENIED, 44 B_BAD_INDEX, 45 B_BAD_TYPE, 46 B_BAD_VALUE, 47 B_MISMATCHED_VALUES, 48 B_NAME_NOT_FOUND, 49 B_NAME_IN_USE, 50 B_TIMED_OUT, 51 B_INTERRUPTED, 52 B_WOULD_BLOCK, 53 B_CANCELED, 54 B_NO_INIT, 55 B_BUSY, 56 B_NOT_ALLOWED, 57 B_BAD_DATA, 58 B_DONT_DO_THAT, 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 B_BAD_REPLY = B_APP_ERROR_BASE, 94 B_DUPLICATE_REPLY, 95 B_MESSAGE_TO_SELF, 96 B_BAD_HANDLER, 97 B_ALREADY_RUNNING, 98 B_LAUNCH_FAILED, 99 B_AMBIGUOUS_APP_LAUNCH, 100 B_UNKNOWN_MIME_TYPE, 101 B_BAD_SCRIPT_SYNTAX, 102 B_LAUNCH_FAILED_NO_RESOLVE_LINK, 103 B_LAUNCH_FAILED_EXECUTABLE, 104 B_LAUNCH_FAILED_APP_NOT_FOUND, 105 B_LAUNCH_FAILED_APP_IN_TRASH, 106 B_LAUNCH_FAILED_NO_PREFERRED_APP, 107 B_LAUNCH_FAILED_FILES_APP_NOT_FOUND, 108 B_BAD_MIME_SNIFFER_RULE, 109 B_NOT_A_MESSAGE, 110 B_SHUTDOWN_CANCELLED, 111 B_SHUTTING_DOWN 112 }; 113 114 115 /*-------------------------------------------------------------*/ 116 /*----- Storage Kit/File System Errors ------------------------*/ 117 enum { 118 B_FILE_ERROR = B_STORAGE_ERROR_BASE, 119 B_FILE_NOT_FOUND, /* discouraged; use B_ENTRY_NOT_FOUND in new code*/ 120 B_FILE_EXISTS, 121 B_ENTRY_NOT_FOUND, 122 B_NAME_TOO_LONG, 123 B_NOT_A_DIRECTORY, 124 B_DIRECTORY_NOT_EMPTY, 125 B_DEVICE_FULL, 126 B_READ_ONLY_DEVICE, 127 B_IS_A_DIRECTORY, 128 B_NO_MORE_FDS, 129 B_CROSS_DEVICE_LINK, 130 B_LINK_LIMIT, 131 B_BUSTED_PIPE, 132 B_UNSUPPORTED, 133 B_PARTITION_TOO_SMALL 134 }; 135 136 137 /*-------------------------------------------------------------*/ 138 /*----- POSIX Errors ------------------------------------------*/ 139 #define E2BIG (B_POSIX_ERROR_BASE + 1) 140 #define ECHILD (B_POSIX_ERROR_BASE + 2) 141 #define EDEADLK (B_POSIX_ERROR_BASE + 3) 142 #define EFBIG (B_POSIX_ERROR_BASE + 4) 143 #define EMLINK (B_POSIX_ERROR_BASE + 5) 144 #define ENFILE (B_POSIX_ERROR_BASE + 6) 145 #define ENODEV (B_POSIX_ERROR_BASE + 7) 146 #define ENOLCK (B_POSIX_ERROR_BASE + 8) 147 #define ENOSYS (B_POSIX_ERROR_BASE + 9) 148 #define ENOTTY (B_POSIX_ERROR_BASE + 10) 149 #define ENXIO (B_POSIX_ERROR_BASE + 11) 150 #define ESPIPE (B_POSIX_ERROR_BASE + 12) 151 #define ESRCH (B_POSIX_ERROR_BASE + 13) 152 #define EFPOS (B_POSIX_ERROR_BASE + 14) 153 #define ESIGPARM (B_POSIX_ERROR_BASE + 15) 154 #define EDOM (B_POSIX_ERROR_BASE + 16) 155 #define ERANGE (B_POSIX_ERROR_BASE + 17) 156 #define EPROTOTYPE (B_POSIX_ERROR_BASE + 18) 157 #define EPROTONOSUPPORT (B_POSIX_ERROR_BASE + 19) 158 #define EPFNOSUPPORT (B_POSIX_ERROR_BASE + 20) 159 #define EAFNOSUPPORT (B_POSIX_ERROR_BASE + 21) 160 #define EADDRINUSE (B_POSIX_ERROR_BASE + 22) 161 #define EADDRNOTAVAIL (B_POSIX_ERROR_BASE + 23) 162 #define ENETDOWN (B_POSIX_ERROR_BASE + 24) 163 #define ENETUNREACH (B_POSIX_ERROR_BASE + 25) 164 #define ENETRESET (B_POSIX_ERROR_BASE + 26) 165 #define ECONNABORTED (B_POSIX_ERROR_BASE + 27) 166 #define ECONNRESET (B_POSIX_ERROR_BASE + 28) 167 #define EISCONN (B_POSIX_ERROR_BASE + 29) 168 #define ENOTCONN (B_POSIX_ERROR_BASE + 30) 169 #define ESHUTDOWN (B_POSIX_ERROR_BASE + 31) 170 #define ECONNREFUSED (B_POSIX_ERROR_BASE + 32) 171 #define EHOSTUNREACH (B_POSIX_ERROR_BASE + 33) 172 #define ENOPROTOOPT (B_POSIX_ERROR_BASE + 34) 173 #define ENOBUFS (B_POSIX_ERROR_BASE + 35) 174 #define EINPROGRESS (B_POSIX_ERROR_BASE + 36) 175 #define EALREADY (B_POSIX_ERROR_BASE + 37) 176 #define EILSEQ (B_POSIX_ERROR_BASE + 38) 177 #define ENOMSG (B_POSIX_ERROR_BASE + 39) 178 #define ESTALE (B_POSIX_ERROR_BASE + 40) 179 #define EOVERFLOW (B_POSIX_ERROR_BASE + 41) 180 #define EMSGSIZE (B_POSIX_ERROR_BASE + 42) 181 #define EOPNOTSUPP (B_POSIX_ERROR_BASE + 43) 182 #define ENOTSOCK (B_POSIX_ERROR_BASE + 44) 183 #define EHOSTDOWN (B_POSIX_ERROR_BASE + 45) 184 #define EBADMSG (B_POSIX_ERROR_BASE + 46) 185 #define ECANCELED (B_POSIX_ERROR_BASE + 47) 186 #define EDESTADDRREQ (B_POSIX_ERROR_BASE + 48) 187 #define EDQUOT (B_POSIX_ERROR_BASE + 49) 188 #define EIDRM (B_POSIX_ERROR_BASE + 50) 189 #define EMULTIHOP (B_POSIX_ERROR_BASE + 51) 190 #define ENODATA (B_POSIX_ERROR_BASE + 52) 191 #define ENOLINK (B_POSIX_ERROR_BASE + 53) 192 #define ENOSR (B_POSIX_ERROR_BASE + 54) 193 #define ENOSTR (B_POSIX_ERROR_BASE + 55) 194 #define ENOTSUP (B_POSIX_ERROR_BASE + 56) 195 #define EPROTO (B_POSIX_ERROR_BASE + 57) 196 #define ETIME (B_POSIX_ERROR_BASE + 58) 197 #define ETXTBSY (B_POSIX_ERROR_BASE + 59) 198 199 200 /*---- POSIX errors that can be mapped to BeOS error codes ----*/ 201 #define ENOMEM B_NO_MEMORY 202 #define EACCES B_PERMISSION_DENIED 203 #define EINTR B_INTERRUPTED 204 #define EIO B_IO_ERROR 205 #define EBUSY B_BUSY 206 #define EFAULT B_BAD_ADDRESS 207 #define ETIMEDOUT B_TIMED_OUT 208 #define EAGAIN B_WOULD_BLOCK /* SysV compatibility */ 209 #define EWOULDBLOCK B_WOULD_BLOCK /* BSD compatibility */ 210 #define EBADF B_FILE_ERROR 211 #define EEXIST B_FILE_EXISTS 212 #define EINVAL B_BAD_VALUE 213 #define ENAMETOOLONG B_NAME_TOO_LONG 214 #define ENOENT B_ENTRY_NOT_FOUND 215 #define EPERM B_NOT_ALLOWED 216 #define ENOTDIR B_NOT_A_DIRECTORY 217 #define EISDIR B_IS_A_DIRECTORY 218 #define ENOTEMPTY B_DIRECTORY_NOT_EMPTY 219 #define ENOSPC B_DEVICE_FULL 220 #define EROFS B_READ_ONLY_DEVICE 221 #define EMFILE B_NO_MORE_FDS 222 #define EXDEV B_CROSS_DEVICE_LINK 223 #define ELOOP B_LINK_LIMIT 224 #define ENOEXEC B_NOT_AN_EXECUTABLE 225 #define EPIPE B_BUSTED_PIPE 226 227 /*---- new error codes that can be mapped to POSIX errors ----*/ 228 #define B_BUFFER_OVERFLOW EOVERFLOW 229 #define B_TOO_MANY_ARGS E2BIG 230 #define B_FILE_TOO_LARGE EFBIG 231 #define B_RESULT_NOT_REPRESENTABLE ERANGE 232 #define B_DEVICE_NOT_FOUND ENODEV 233 #define B_NOT_SUPPORTED EOPNOTSUPP 234 235 /*-------------------------------------------------------------*/ 236 /*----- Media Kit Errors --------------------------------------*/ 237 enum { 238 B_STREAM_NOT_FOUND = B_MEDIA_ERROR_BASE, 239 B_SERVER_NOT_FOUND, 240 B_RESOURCE_NOT_FOUND, 241 B_RESOURCE_UNAVAILABLE, 242 B_BAD_SUBSCRIBER, 243 B_SUBSCRIBER_NOT_ENTERED, 244 B_BUFFER_NOT_AVAILABLE, 245 B_LAST_BUFFER_ERROR 246 }; 247 248 /*-------------------------------------------------------------*/ 249 /*----- Mail Kit Errors ---------------------------------------*/ 250 enum { 251 B_MAIL_NO_DAEMON = B_MAIL_ERROR_BASE, 252 B_MAIL_UNKNOWN_USER, 253 B_MAIL_WRONG_PASSWORD, 254 B_MAIL_UNKNOWN_HOST, 255 B_MAIL_ACCESS_ERROR, 256 B_MAIL_UNKNOWN_FIELD, 257 B_MAIL_NO_RECIPIENT, 258 B_MAIL_INVALID_MAIL 259 }; 260 261 /*-------------------------------------------------------------*/ 262 /*----- Printing Errors --------------------------------------*/ 263 enum { 264 B_NO_PRINT_SERVER = B_PRINT_ERROR_BASE 265 }; 266 267 /*-------------------------------------------------------------*/ 268 /*----- Device Kit Errors -------------------------------------*/ 269 enum { 270 B_DEV_INVALID_IOCTL = B_DEVICE_ERROR_BASE, 271 B_DEV_NO_MEMORY, 272 B_DEV_BAD_DRIVE_NUM, 273 B_DEV_NO_MEDIA, 274 B_DEV_UNREADABLE, 275 B_DEV_FORMAT_ERROR, 276 B_DEV_TIMEOUT, 277 B_DEV_RECALIBRATE_ERROR, 278 B_DEV_SEEK_ERROR, 279 B_DEV_ID_ERROR, 280 B_DEV_READ_ERROR, 281 B_DEV_WRITE_ERROR, 282 B_DEV_NOT_READY, 283 B_DEV_MEDIA_CHANGED, 284 B_DEV_MEDIA_CHANGE_REQUESTED, 285 B_DEV_RESOURCE_CONFLICT, 286 B_DEV_CONFIGURATION_ERROR, 287 B_DEV_DISABLED_BY_USER, 288 B_DEV_DOOR_OPEN, 289 290 B_DEV_INVALID_PIPE, 291 B_DEV_CRC_ERROR, 292 B_DEV_STALLED, 293 B_DEV_BAD_PID, 294 B_DEV_UNEXPECTED_PID, 295 B_DEV_DATA_OVERRUN, 296 B_DEV_DATA_UNDERRUN, 297 B_DEV_FIFO_OVERRUN, 298 B_DEV_FIFO_UNDERRUN, 299 B_DEV_PENDING, 300 B_DEV_MULTIPLE_ERRORS, 301 B_DEV_TOO_LATE, 302 }; 303 304 #endif /* _ERRORS_H */ 305