/* * Copyright 2007-2014, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. */ #ifndef _FSSH_ERRORS_H #define _FSSH_ERRORS_H #include /* Error baselines */ #define FSSH_B_GENERAL_ERROR_BASE INT_MIN #define FSSH_B_OS_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x1000 #define FSSH_B_APP_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x2000 #define FSSH_B_INTERFACE_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x3000 #define FSSH_B_MEDIA_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x4000 /* - 0x41ff */ #define FSSH_B_TRANSLATION_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x4800 /* - 0x48ff */ #define FSSH_B_MIDI_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x5000 #define FSSH_B_STORAGE_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x6000 #define FSSH_B_POSIX_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x7000 #define FSSH_B_MAIL_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x8000 #define FSSH_B_PRINT_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x9000 #define FSSH_B_DEVICE_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0xa000 /* Developer-defined errors start at (B_ERRORS_END+1) */ #define FSSH_B_ERRORS_END (FSSH_B_GENERAL_ERROR_BASE + 0xffff) /* General Errors */ #define FSSH_B_NO_MEMORY (FSSH_B_GENERAL_ERROR_BASE + 0) #define FSSH_B_IO_ERROR (FSSH_B_GENERAL_ERROR_BASE + 1) #define FSSH_B_PERMISSION_DENIED (FSSH_B_GENERAL_ERROR_BASE + 2) #define FSSH_B_BAD_INDEX (FSSH_B_GENERAL_ERROR_BASE + 3) #define FSSH_B_BAD_TYPE (FSSH_B_GENERAL_ERROR_BASE + 4) #define FSSH_B_BAD_VALUE (FSSH_B_GENERAL_ERROR_BASE + 5) #define FSSH_B_MISMATCHED_VALUES (FSSH_B_GENERAL_ERROR_BASE + 6) #define FSSH_B_NAME_NOT_FOUND (FSSH_B_GENERAL_ERROR_BASE + 7) #define FSSH_B_NAME_IN_USE (FSSH_B_GENERAL_ERROR_BASE + 8) #define FSSH_B_TIMED_OUT (FSSH_B_GENERAL_ERROR_BASE + 9) #define FSSH_B_INTERRUPTED (FSSH_B_GENERAL_ERROR_BASE + 10) #define FSSH_B_WOULD_BLOCK (FSSH_B_GENERAL_ERROR_BASE + 11) #define FSSH_B_CANCELED (FSSH_B_GENERAL_ERROR_BASE + 12) #define FSSH_B_NO_INIT (FSSH_B_GENERAL_ERROR_BASE + 13) #define FSSH_B_BUSY (FSSH_B_GENERAL_ERROR_BASE + 14) #define FSSH_B_NOT_ALLOWED (FSSH_B_GENERAL_ERROR_BASE + 15) #define FSSH_B_BAD_DATA (FSSH_B_GENERAL_ERROR_BASE + 16) #define FSSH_B_DONT_DO_THAT (FSSH_B_GENERAL_ERROR_BASE + 17) #define FSSH_B_ERROR (-1) #define FSSH_B_OK ((int)0) #define FSSH_B_NO_ERROR ((int)0) /* Kernel Kit Errors */ #define FSSH_B_BAD_SEM_ID (FSSH_B_OS_ERROR_BASE + 0) #define FSSH_B_NO_MORE_SEMS (FSSH_B_OS_ERROR_BASE + 1) #define FSSH_B_BAD_THREAD_ID (FSSH_B_OS_ERROR_BASE + 0x100) #define FSSH_B_NO_MORE_THREADS (FSSH_B_OS_ERROR_BASE + 0x101) #define FSSH_B_BAD_THREAD_STATE (FSSH_B_OS_ERROR_BASE + 0x102) #define FSSH_B_BAD_TEAM_ID (FSSH_B_OS_ERROR_BASE + 0x103) #define FSSH_B_NO_MORE_TEAMS (FSSH_B_OS_ERROR_BASE + 0x104) #define FSSH_B_BAD_PORT_ID (FSSH_B_OS_ERROR_BASE + 0x200) #define FSSH_B_NO_MORE_PORTS (FSSH_B_OS_ERROR_BASE + 0x201) #define FSSH_B_BAD_IMAGE_ID (FSSH_B_OS_ERROR_BASE + 0x300) #define FSSH_B_BAD_ADDRESS (FSSH_B_OS_ERROR_BASE + 0x301) #define FSSH_B_NOT_AN_EXECUTABLE (FSSH_B_OS_ERROR_BASE + 0x302) #define FSSH_B_MISSING_LIBRARY (FSSH_B_OS_ERROR_BASE + 0x303) #define FSSH_B_MISSING_SYMBOL (FSSH_B_OS_ERROR_BASE + 0x304) #define FSSH_B_DEBUGGER_ALREADY_INSTALLED (FSSH_B_OS_ERROR_BASE + 0x400) /* Application Kit Errors */ enum { FSSH_B_BAD_REPLY = FSSH_B_APP_ERROR_BASE, FSSH_B_DUPLICATE_REPLY, FSSH_B_MESSAGE_TO_SELF, FSSH_B_BAD_HANDLER, FSSH_B_ALREADY_RUNNING, FSSH_B_LAUNCH_FAILED, FSSH_B_AMBIGUOUS_APP_LAUNCH, FSSH_B_UNKNOWN_MIME_TYPE, FSSH_B_BAD_SCRIPT_SYNTAX, FSSH_B_LAUNCH_FAILED_NO_RESOLVE_LINK, FSSH_B_LAUNCH_FAILED_EXECUTABLE, FSSH_B_LAUNCH_FAILED_APP_NOT_FOUND, FSSH_B_LAUNCH_FAILED_APP_IN_TRASH, FSSH_B_LAUNCH_FAILED_NO_PREFERRED_APP, FSSH_B_LAUNCH_FAILED_FILES_APP_NOT_FOUND, FSSH_B_BAD_MIME_SNIFFER_RULE, FSSH_B_NOT_A_MESSAGE, FSSH_B_SHUTDOWN_CANCELLED, FSSH_B_SHUTTING_DOWN }; /* Storage Kit/File System Errors */ #define FSSH_B_FILE_ERROR (FSSH_B_STORAGE_ERROR_BASE + 0) #define FSSH_B_FILE_EXISTS (FSSH_B_STORAGE_ERROR_BASE + 2) #define FSSH_B_ENTRY_NOT_FOUND (FSSH_B_STORAGE_ERROR_BASE + 3) #define FSSH_B_NAME_TOO_LONG (FSSH_B_STORAGE_ERROR_BASE + 4) #define FSSH_B_NOT_A_DIRECTORY (FSSH_B_STORAGE_ERROR_BASE + 5) #define FSSH_B_DIRECTORY_NOT_EMPTY (FSSH_B_STORAGE_ERROR_BASE + 6) #define FSSH_B_DEVICE_FULL (FSSH_B_STORAGE_ERROR_BASE + 7) #define FSSH_B_READ_ONLY_DEVICE (FSSH_B_STORAGE_ERROR_BASE + 8) #define FSSH_B_IS_A_DIRECTORY (FSSH_B_STORAGE_ERROR_BASE + 9) #define FSSH_B_NO_MORE_FDS (FSSH_B_STORAGE_ERROR_BASE + 10) #define FSSH_B_CROSS_DEVICE_LINK (FSSH_B_STORAGE_ERROR_BASE + 11) #define FSSH_B_LINK_LIMIT (FSSH_B_STORAGE_ERROR_BASE + 12) #define FSSH_B_BUSTED_PIPE (FSSH_B_STORAGE_ERROR_BASE + 13) #define FSSH_B_UNSUPPORTED (FSSH_B_STORAGE_ERROR_BASE + 14) #define FSSH_B_PARTITION_TOO_SMALL (FSSH_B_STORAGE_ERROR_BASE + 15) #define FSSH_B_PARTIAL_READ (FSSH_B_STORAGE_ERROR_BASE + 16) #define FSSH_B_PARTIAL_WRITE (FSSH_B_STORAGE_ERROR_BASE + 17) /* POSIX Errors */ #define FSSH_E2BIG (FSSH_B_POSIX_ERROR_BASE + 1) #define FSSH_ECHILD (FSSH_B_POSIX_ERROR_BASE + 2) #define FSSH_EDEADLK (FSSH_B_POSIX_ERROR_BASE + 3) #define FSSH_EFBIG (FSSH_B_POSIX_ERROR_BASE + 4) #define FSSH_EMLINK (FSSH_B_POSIX_ERROR_BASE + 5) #define FSSH_ENFILE (FSSH_B_POSIX_ERROR_BASE + 6) #define FSSH_ENODEV (FSSH_B_POSIX_ERROR_BASE + 7) #define FSSH_ENOLCK (FSSH_B_POSIX_ERROR_BASE + 8) #define FSSH_ENOSYS (FSSH_B_POSIX_ERROR_BASE + 9) #define FSSH_ENOTTY (FSSH_B_POSIX_ERROR_BASE + 10) #define FSSH_ENXIO (FSSH_B_POSIX_ERROR_BASE + 11) #define FSSH_ESPIPE (FSSH_B_POSIX_ERROR_BASE + 12) #define FSSH_ESRCH (FSSH_B_POSIX_ERROR_BASE + 13) #define FSSH_EFPOS (FSSH_B_POSIX_ERROR_BASE + 14) #define FSSH_ESIGPARM (FSSH_B_POSIX_ERROR_BASE + 15) #define FSSH_EDOM (FSSH_B_POSIX_ERROR_BASE + 16) #define FSSH_ERANGE (FSSH_B_POSIX_ERROR_BASE + 17) #define FSSH_EPROTOTYPE (FSSH_B_POSIX_ERROR_BASE + 18) #define FSSH_EPROTONOSUPPORT (FSSH_B_POSIX_ERROR_BASE + 19) #define FSSH_EPFNOSUPPORT (FSSH_B_POSIX_ERROR_BASE + 20) #define FSSH_EAFNOSUPPORT (FSSH_B_POSIX_ERROR_BASE + 21) #define FSSH_EADDRINUSE (FSSH_B_POSIX_ERROR_BASE + 22) #define FSSH_EADDRNOTAVAIL (FSSH_B_POSIX_ERROR_BASE + 23) #define FSSH_ENETDOWN (FSSH_B_POSIX_ERROR_BASE + 24) #define FSSH_ENETUNREACH (FSSH_B_POSIX_ERROR_BASE + 25) #define FSSH_ENETRESET (FSSH_B_POSIX_ERROR_BASE + 26) #define FSSH_ECONNABORTED (FSSH_B_POSIX_ERROR_BASE + 27) #define FSSH_ECONNRESET (FSSH_B_POSIX_ERROR_BASE + 28) #define FSSH_EISCONN (FSSH_B_POSIX_ERROR_BASE + 29) #define FSSH_ENOTCONN (FSSH_B_POSIX_ERROR_BASE + 30) #define FSSH_ESHUTDOWN (FSSH_B_POSIX_ERROR_BASE + 31) #define FSSH_ECONNREFUSED (FSSH_B_POSIX_ERROR_BASE + 32) #define FSSH_EHOSTUNREACH (FSSH_B_POSIX_ERROR_BASE + 33) #define FSSH_ENOPROTOOPT (FSSH_B_POSIX_ERROR_BASE + 34) #define FSSH_ENOBUFS (FSSH_B_POSIX_ERROR_BASE + 35) #define FSSH_EINPROGRESS (FSSH_B_POSIX_ERROR_BASE + 36) #define FSSH_EALREADY (FSSH_B_POSIX_ERROR_BASE + 37) #define FSSH_EILSEQ (FSSH_B_POSIX_ERROR_BASE + 38) #define FSSH_ENOMSG (FSSH_B_POSIX_ERROR_BASE + 39) #define FSSH_ESTALE (FSSH_B_POSIX_ERROR_BASE + 40) #define FSSH_EOVERFLOW (FSSH_B_POSIX_ERROR_BASE + 41) #define FSSH_EMSGSIZE (FSSH_B_POSIX_ERROR_BASE + 42) #define FSSH_EOPNOTSUPP (FSSH_B_POSIX_ERROR_BASE + 43) #define FSSH_ENOTSOCK (FSSH_B_POSIX_ERROR_BASE + 44) #define FSSH_EHOSTDOWN (FSSH_B_POSIX_ERROR_BASE + 45) #define FSSH_EBADMSG (FSSH_B_POSIX_ERROR_BASE + 46) #define FSSH_ECANCELED (FSSH_B_POSIX_ERROR_BASE + 47) #define FSSH_EDESTADDRREQ (FSSH_B_POSIX_ERROR_BASE + 48) #define FSSH_EDQUOT (FSSH_B_POSIX_ERROR_BASE + 49) #define FSSH_EIDRM (FSSH_B_POSIX_ERROR_BASE + 50) #define FSSH_EMULTIHOP (FSSH_B_POSIX_ERROR_BASE + 51) #define FSSH_ENODATA (FSSH_B_POSIX_ERROR_BASE + 52) #define FSSH_ENOLINK (FSSH_B_POSIX_ERROR_BASE + 53) #define FSSH_ENOSR (FSSH_B_POSIX_ERROR_BASE + 54) #define FSSH_ENOSTR (FSSH_B_POSIX_ERROR_BASE + 55) #define FSSH_ENOTSUP (FSSH_B_POSIX_ERROR_BASE + 56) #define FSSH_EPROTO (FSSH_B_POSIX_ERROR_BASE + 57) #define FSSH_ETIME (FSSH_B_POSIX_ERROR_BASE + 58) #define FSSH_ETXTBSY (FSSH_B_POSIX_ERROR_BASE + 59) /* POSIX errors that can be mapped to BeOS error codes */ #define FSSH_ENOMEM FSSH_B_NO_MEMORY #define FSSH_EACCES FSSH_B_PERMISSION_DENIED #define FSSH_EINTR FSSH_B_INTERRUPTED #define FSSH_EIO FSSH_B_IO_ERROR #define FSSH_EBUSY FSSH_B_BUSY #define FSSH_EFAULT FSSH_B_BAD_ADDRESS #define FSSH_ETIMEDOUT FSSH_B_TIMED_OUT #define FSSH_EAGAIN FSSH_B_WOULD_BLOCK /* SysV compatibility */ #define FSSH_EWOULDBLOCK FSSH_B_WOULD_BLOCK /* BSD compatibility */ #define FSSH_EBADF FSSH_B_FILE_ERROR #define FSSH_EEXIST FSSH_B_FILE_EXISTS #define FSSH_EINVAL FSSH_B_BAD_VALUE #define FSSH_ENAMETOOLONG FSSH_B_NAME_TOO_LONG #define FSSH_ENOENT FSSH_B_ENTRY_NOT_FOUND #define FSSH_EPERM FSSH_B_NOT_ALLOWED #define FSSH_ENOTDIR FSSH_B_NOT_A_DIRECTORY #define FSSH_EISDIR FSSH_B_IS_A_DIRECTORY #define FSSH_ENOTEMPTY FSSH_B_DIRECTORY_NOT_EMPTY #define FSSH_ENOSPC FSSH_B_DEVICE_FULL #define FSSH_EROFS FSSH_B_READ_ONLY_DEVICE #define FSSH_EMFILE FSSH_B_NO_MORE_FDS #define FSSH_EXDEV FSSH_B_CROSS_DEVICE_LINK #define FSSH_ELOOP FSSH_B_LINK_LIMIT #define FSSH_ENOEXEC FSSH_B_NOT_AN_EXECUTABLE #define FSSH_EPIPE FSSH_B_BUSTED_PIPE /* new error codes that can be mapped to POSIX errors */ #define FSSH_B_BUFFER_OVERFLOW FSSH_EOVERFLOW #define FSSH_B_TOO_MANY_ARGS FSSH_E2BIG #define FSSH_B_FILE_TOO_LARGE FSSH_EFBIG #define FSSH_B_RESULT_NOT_REPRESENTABLE FSSH_ERANGE #define FSSH_B_DEVICE_NOT_FOUND FSSH_ENODEV #define FSSH_B_NOT_SUPPORTED FSSH_EOPNOTSUPP /* Media Kit Errors */ enum { FSSH_B_STREAM_NOT_FOUND = FSSH_B_MEDIA_ERROR_BASE, FSSH_B_SERVER_NOT_FOUND, FSSH_B_RESOURCE_NOT_FOUND, FSSH_B_RESOURCE_UNAVAILABLE, FSSH_B_BAD_SUBSCRIBER, FSSH_B_SUBSCRIBER_NOT_ENTERED, FSSH_B_BUFFER_NOT_AVAILABLE, FSSH_B_LAST_BUFFER_ERROR }; /* Mail Kit Errors */ enum { FSSH_B_MAIL_NO_DAEMON = FSSH_B_MAIL_ERROR_BASE, FSSH_B_MAIL_UNKNOWN_USER, FSSH_B_MAIL_WRONG_PASSWORD, FSSH_B_MAIL_UNKNOWN_HOST, FSSH_B_MAIL_ACCESS_ERROR, FSSH_B_MAIL_UNKNOWN_FIELD, FSSH_B_MAIL_NO_RECIPIENT, FSSH_B_MAIL_INVALID_MAIL }; /* Printing Errors */ enum { FSSH_B_NO_PRINT_SERVER = FSSH_B_PRINT_ERROR_BASE }; /* Device Kit Errors */ enum { FSSH_B_DEV_INVALID_IOCTL = FSSH_B_DEVICE_ERROR_BASE, FSSH_B_DEV_NO_MEMORY, FSSH_B_DEV_BAD_DRIVE_NUM, FSSH_B_DEV_NO_MEDIA, FSSH_B_DEV_UNREADABLE, FSSH_B_DEV_FORMAT_ERROR, FSSH_B_DEV_TIMEOUT, FSSH_B_DEV_RECALIBRATE_ERROR, FSSH_B_DEV_SEEK_ERROR, FSSH_B_DEV_ID_ERROR, FSSH_B_DEV_READ_ERROR, FSSH_B_DEV_WRITE_ERROR, FSSH_B_DEV_NOT_READY, FSSH_B_DEV_MEDIA_CHANGED, FSSH_B_DEV_MEDIA_CHANGE_REQUESTED, FSSH_B_DEV_RESOURCE_CONFLICT, FSSH_B_DEV_CONFIGURATION_ERROR, FSSH_B_DEV_DISABLED_BY_USER, FSSH_B_DEV_DOOR_OPEN, FSSH_B_DEV_INVALID_PIPE, FSSH_B_DEV_CRC_ERROR, FSSH_B_DEV_STALLED, FSSH_B_DEV_BAD_PID, FSSH_B_DEV_UNEXPECTED_PID, FSSH_B_DEV_DATA_OVERRUN, FSSH_B_DEV_DATA_UNDERRUN, FSSH_B_DEV_FIFO_OVERRUN, FSSH_B_DEV_FIFO_UNDERRUN, FSSH_B_DEV_PENDING, FSSH_B_DEV_MULTIPLE_ERRORS, FSSH_B_DEV_TOO_LATE }; #endif /* _FSSH_ERRORS_H */