{ This file is part of the Free Pascal run time library. Copyright (c) 1999-2000 by the Free Pascal development team. BeOS POSIX compliant error codes See the file COPYING.FPC, included in this distribution, for details about the copyright. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. **********************************************************************} const LONG_MIN = -2147483648; //----- Error baselines --------------------------------------- B_GENERAL_ERROR_BASE = LONG_MIN; B_OS_ERROR_BASE = B_GENERAL_ERROR_BASE + $1000; B_APP_ERROR_BASE = B_GENERAL_ERROR_BASE + $2000; B_INTERFACE_ERROR_BASE = B_GENERAL_ERROR_BASE + $3000; B_MEDIA_ERROR_BASE = B_GENERAL_ERROR_BASE + $4000; // - 0x41ff B_TRANSLATION_ERROR_BASE = B_GENERAL_ERROR_BASE + $4800; // - 0x48ff B_MIDI_ERROR_BASE = B_GENERAL_ERROR_BASE + $5000; B_STORAGE_ERROR_BASE = B_GENERAL_ERROR_BASE + $6000; B_POSIX_ERROR_BASE = B_GENERAL_ERROR_BASE + $7000; B_MAIL_ERROR_BASE = B_GENERAL_ERROR_BASE + $8000; B_PRINT_ERROR_BASE = B_GENERAL_ERROR_BASE + $9000; B_DEVICE_ERROR_BASE = B_GENERAL_ERROR_BASE + $a000; //--- Developer-defined errors start at (B_ERRORS_END+1) B_ERRORS_END = B_GENERAL_ERROR_BASE + $ffff; //----- General Errors ---------------------------------------- B_NO_MEMORY = B_GENERAL_ERROR_BASE; B_IO_ERROR = B_GENERAL_ERROR_BASE + 1; B_PERMISSION_DENIED = B_GENERAL_ERROR_BASE + 2; B_BAD_INDEX = B_GENERAL_ERROR_BASE + 3; B_BAD_TYPE = B_GENERAL_ERROR_BASE + 4; B_BAD_VALUE = B_GENERAL_ERROR_BASE + 5; B_MISMATCHED_VALUES = B_GENERAL_ERROR_BASE + 6; B_NAME_NOT_FOUND = B_GENERAL_ERROR_BASE + 7; B_NAME_IN_USE = B_GENERAL_ERROR_BASE + 8; B_TIMED_OUT = B_GENERAL_ERROR_BASE + 9; B_INTERRUPTED = B_GENERAL_ERROR_BASE + 10; B_WOULD_BLOCK = B_GENERAL_ERROR_BASE + 11; B_CANCELED = B_GENERAL_ERROR_BASE + 12; B_NO_INIT = B_GENERAL_ERROR_BASE + 13; B_BUSY = B_GENERAL_ERROR_BASE + 14; B_NOT_ALLOWED = B_GENERAL_ERROR_BASE + 15; B_ERROR = -1; B_OK = 0; B_NO_ERROR = 0; //----- Kernel Kit Errors ------------------------------------- B_BAD_SEM_ID = B_OS_ERROR_BASE; B_NO_MORE_SEMS = B_OS_ERROR_BASE + 1; B_BAD_THREAD_ID = B_OS_ERROR_BASE + $100; B_NO_MORE_THREADS = B_BAD_THREAD_ID + 1; B_BAD_THREAD_STATE = B_BAD_THREAD_ID + 2; B_BAD_TEAM_ID = B_BAD_THREAD_ID + 3; B_NO_MORE_TEAMS = B_BAD_THREAD_ID + 4; B_BAD_PORT_ID = B_OS_ERROR_BASE + $200; B_NO_MORE_PORTS = B_BAD_PORT_ID + 1; B_BAD_IMAGE_ID = B_OS_ERROR_BASE + $300; B_BAD_ADDRESS = B_BAD_IMAGE_ID + 1; B_NOT_AN_EXECUTABLE = B_BAD_IMAGE_ID + 2; B_MISSING_LIBRARY = B_BAD_IMAGE_ID + 3; B_MISSING_SYMBOL = B_BAD_IMAGE_ID + 4; B_DEBUGGER_ALREADY_INSTALLED = B_OS_ERROR_BASE + $400; //----- Application Kit Errors -------------------------------- B_BAD_REPLY = B_APP_ERROR_BASE; B_DUPLICATE_REPLY = B_APP_ERROR_BASE + 1; B_MESSAGE_TO_SELF = B_APP_ERROR_BASE + 2; B_BAD_HANDLER = B_APP_ERROR_BASE + 3; B_ALREADY_RUNNING = B_APP_ERROR_BASE + 4; B_LAUNCH_FAILED = B_APP_ERROR_BASE + 5; B_AMBIGUOUS_APP_LAUNCH = B_APP_ERROR_BASE + 6; B_UNKNOWN_MIME_TYPE = B_APP_ERROR_BASE + 7; B_BAD_SCRIPT_SYNTAX = B_APP_ERROR_BASE + 8; B_LAUNCH_FAILED_NO_RESOLVE_LINK = B_APP_ERROR_BASE + 9; B_LAUNCH_FAILED_EXECUTABLE = B_APP_ERROR_BASE + 10; B_LAUNCH_FAILED_APP_NOT_FOUND = B_APP_ERROR_BASE + 11; B_LAUNCH_FAILED_APP_IN_TRASH = B_APP_ERROR_BASE + 12; B_LAUNCH_FAILED_NO_PREFERRED_APP = B_APP_ERROR_BASE + 13; B_LAUNCH_FAILED_FILES_APP_NOT_FOUND = B_APP_ERROR_BASE + 14; B_BAD_MIME_SNIFFER_RULE = B_APP_ERROR_BASE + 15; //----- Storage Kit/File System Errors ------------------------ B_FILE_ERROR = B_STORAGE_ERROR_BASE; B_FILE_NOT_FOUND = B_STORAGE_ERROR_BASE + 1; // discouraged; use B_ENTRY_NOT_FOUND in new code B_FILE_EXISTS = B_STORAGE_ERROR_BASE + 2; B_ENTRY_NOT_FOUND = B_STORAGE_ERROR_BASE + 3; B_NAME_TOO_LONG = B_STORAGE_ERROR_BASE + 4; B_NOT_A_DIRECTORY = B_STORAGE_ERROR_BASE + 5; B_DIRECTORY_NOT_EMPTY = B_STORAGE_ERROR_BASE + 6; B_DEVICE_FULL = B_STORAGE_ERROR_BASE + 7; B_READ_ONLY_DEVICE = B_STORAGE_ERROR_BASE + 8; B_IS_A_DIRECTORY = B_STORAGE_ERROR_BASE + 9; B_NO_MORE_FDS = B_STORAGE_ERROR_BASE + 10; B_CROSS_DEVICE_LINK = B_STORAGE_ERROR_BASE + 11; B_LINK_LIMIT = B_STORAGE_ERROR_BASE + 12; B_BUSTED_PIPE = B_STORAGE_ERROR_BASE + 13; B_UNSUPPORTED = B_STORAGE_ERROR_BASE + 14; B_PARTITION_TOO_SMALL = B_STORAGE_ERROR_BASE + 15; //----- POSIX Errors ------------------------------------------ E2BIG = B_POSIX_ERROR_BASE + 1; ECHILD = B_POSIX_ERROR_BASE + 2; EDEADLK = B_POSIX_ERROR_BASE + 3; EFBIG = B_POSIX_ERROR_BASE + 4; EMLINK = B_POSIX_ERROR_BASE + 5; ENFILE = B_POSIX_ERROR_BASE + 6; ENODEV = B_POSIX_ERROR_BASE + 7; ENOLCK = B_POSIX_ERROR_BASE + 8; ENOSYS = B_POSIX_ERROR_BASE + 9; ENOTTY = B_POSIX_ERROR_BASE + 10; ENXIO = B_POSIX_ERROR_BASE + 11; ESPIPE = B_POSIX_ERROR_BASE + 12; ESRCH = B_POSIX_ERROR_BASE + 13; EFPOS = B_POSIX_ERROR_BASE + 14; ESIGPARM = B_POSIX_ERROR_BASE + 15; EDOM = B_POSIX_ERROR_BASE + 16; ERANGE = B_POSIX_ERROR_BASE + 17; EPROTOTYPE = B_POSIX_ERROR_BASE + 18; EPROTONOSUPPORT = B_POSIX_ERROR_BASE + 19; EPFNOSUPPORT = B_POSIX_ERROR_BASE + 20; EAFNOSUPPORT = B_POSIX_ERROR_BASE + 21; EADDRINUSE = B_POSIX_ERROR_BASE + 22; EADDRNOTAVAIL = B_POSIX_ERROR_BASE + 23; ENETDOWN = B_POSIX_ERROR_BASE + 24; ENETUNREACH = B_POSIX_ERROR_BASE + 25; ENETRESET = B_POSIX_ERROR_BASE + 26; ECONNABORTED = B_POSIX_ERROR_BASE + 27; ECONNRESET = B_POSIX_ERROR_BASE + 28; EISCONN = B_POSIX_ERROR_BASE + 29; ENOTCONN = B_POSIX_ERROR_BASE + 30; ESHUTDOWN = B_POSIX_ERROR_BASE + 31; ECONNREFUSED = B_POSIX_ERROR_BASE + 32; EHOSTUNREACH = B_POSIX_ERROR_BASE + 33; ENOPROTOOPT = B_POSIX_ERROR_BASE + 34; ENOBUFS = B_POSIX_ERROR_BASE + 35; EINPROGRESS = B_POSIX_ERROR_BASE + 36; EALREADY = B_POSIX_ERROR_BASE + 37; EILSEQ = B_POSIX_ERROR_BASE + 38; ENOMSG = B_POSIX_ERROR_BASE + 39; ESTALE = B_POSIX_ERROR_BASE + 40; EOVERFLOW = B_POSIX_ERROR_BASE + 41; EMSGSIZE = B_POSIX_ERROR_BASE + 42; EOPNOTSUPP = B_POSIX_ERROR_BASE + 43; ENOTSOCK = B_POSIX_ERROR_BASE + 44; ENOMEM = B_NO_MEMORY; EACCES = B_PERMISSION_DENIED; EINTR = B_INTERRUPTED; EIO = B_IO_ERROR; EBUSY = B_BUSY; EFAULT = B_BAD_ADDRESS; ETIMEDOUT = B_TIMED_OUT; EAGAIN = B_WOULD_BLOCK; // SysV compatibility EWOULDBLOCK = B_WOULD_BLOCK; // BSD compatibility EBADF = B_FILE_ERROR; EEXIST = B_FILE_EXISTS; EINVAL = B_BAD_VALUE; ENAMETOOLONG = B_NAME_TOO_LONG; ENOENT = B_ENTRY_NOT_FOUND; EPERM = B_NOT_ALLOWED; ENOTDIR = B_NOT_A_DIRECTORY; EISDIR = B_IS_A_DIRECTORY; ENOTEMPTY = B_DIRECTORY_NOT_EMPTY; ENOSPC = B_DEVICE_FULL; EROFS = B_READ_ONLY_DEVICE; EMFILE = B_NO_MORE_FDS; EXDEV = B_CROSS_DEVICE_LINK; ELOOP = B_LINK_LIMIT; ENOEXEC = B_NOT_AN_EXECUTABLE; EPIPE = B_BUSTED_PIPE; //----- Media Kit Errors -------------------------------------- B_STREAM_NOT_FOUND = B_MEDIA_ERROR_BASE; B_SERVER_NOT_FOUND = B_MEDIA_ERROR_BASE + 1; B_RESOURCE_NOT_FOUND = B_MEDIA_ERROR_BASE + 2; B_RESOURCE_UNAVAILABLE = B_MEDIA_ERROR_BASE + 3; B_BAD_SUBSCRIBER = B_MEDIA_ERROR_BASE + 4; B_SUBSCRIBER_NOT_ENTERED = B_MEDIA_ERROR_BASE + 5; B_BUFFER_NOT_AVAILABLE = B_MEDIA_ERROR_BASE + 6; B_LAST_BUFFER_ERROR = B_MEDIA_ERROR_BASE + 7; //----- Mail Kit Errors --------------------------------------- B_MAIL_NO_DAEMON = B_MAIL_ERROR_BASE; B_MAIL_UNKNOWN_USER = B_MAIL_ERROR_BASE + 1; B_MAIL_WRONG_PASSWORD = B_MAIL_ERROR_BASE + 2; B_MAIL_UNKNOWN_HOST = B_MAIL_ERROR_BASE + 3; B_MAIL_ACCESS_ERROR = B_MAIL_ERROR_BASE + 4; B_MAIL_UNKNOWN_FIELD = B_MAIL_ERROR_BASE + 5; B_MAIL_NO_RECIPIENT = B_MAIL_ERROR_BASE + 6; B_MAIL_INVALID_MAIL = B_MAIL_ERROR_BASE + 7; //----- Printing Errors -------------------------------------- B_NO_PRINT_SERVER = B_PRINT_ERROR_BASE; //----- Device Kit Errors ------------------------------------- B_DEV_INVALID_IOCTL = B_DEVICE_ERROR_BASE; B_DEV_NO_MEMORY = B_DEVICE_ERROR_BASE + 1; B_DEV_BAD_DRIVE_NUM = B_DEVICE_ERROR_BASE + 2; B_DEV_NO_MEDIA = B_DEVICE_ERROR_BASE + 3; B_DEV_UNREADABLE = B_DEVICE_ERROR_BASE + 4; B_DEV_FORMAT_ERROR = B_DEVICE_ERROR_BASE + 5; B_DEV_TIMEOUT = B_DEVICE_ERROR_BASE + 6; B_DEV_RECALIBRATE_ERROR = B_DEVICE_ERROR_BASE + 7; B_DEV_SEEK_ERROR = B_DEVICE_ERROR_BASE + 8; B_DEV_ID_ERROR = B_DEVICE_ERROR_BASE + 9; B_DEV_READ_ERROR = B_DEVICE_ERROR_BASE + 10; B_DEV_WRITE_ERROR = B_DEVICE_ERROR_BASE + 11; B_DEV_NOT_READY = B_DEVICE_ERROR_BASE + 12; B_DEV_MEDIA_CHANGED = B_DEVICE_ERROR_BASE + 13; B_DEV_MEDIA_CHANGE_REQUESTED = B_DEVICE_ERROR_BASE + 14; B_DEV_RESOURCE_CONFLICT = B_DEVICE_ERROR_BASE + 15; B_DEV_CONFIGURATION_ERROR = B_DEVICE_ERROR_BASE + 16; B_DEV_DISABLED_BY_USER = B_DEVICE_ERROR_BASE + 17; B_DEV_DOOR_OPEN = B_DEVICE_ERROR_BASE + 18; //------------------------------------------------------------- (* {----- Error baselines ---------------------------------------} B_GENERAL_ERROR_BASE = -2147483647-1; B_OS_ERROR_BASE = B_GENERAL_ERROR_BASE + $1000; B_APP_ERROR_BASE = B_GENERAL_ERROR_BASE + $2000; B_INTERFACE_ERROR_BASE = B_GENERAL_ERROR_BASE + $3000; B_MEDIA_ERROR_BASE = B_GENERAL_ERROR_BASE + $4000; {* - $41ff *} B_TRANSLATION_ERROR_BASE = B_GENERAL_ERROR_BASE + $4800; {* - $48ff *} B_MIDI_ERROR_BASE = B_GENERAL_ERROR_BASE + $5000; B_STORAGE_ERROR_BASE = B_GENERAL_ERROR_BASE + $6000; B_POSIX_ERROR_BASE = B_GENERAL_ERROR_BASE + $7000; B_MAIL_ERROR_BASE = B_GENERAL_ERROR_BASE + $8000; B_PRINT_ERROR_BASE = B_GENERAL_ERROR_BASE + $9000; B_DEVICE_ERROR_BASE = B_GENERAL_ERROR_BASE + $a000; {--- Developer-defined errors start at (B_ERRORS_END+1)----} B_ERRORS_END = (B_GENERAL_ERROR_BASE + $ffff); type {----- General Errors ----------------------------------------} tgeneralerrors= ( B_NO_MEMORY := B_GENERAL_ERROR_BASE, B_IO_ERROR, B_PERMISSION_DENIED, B_BAD_INDEX, B_BAD_TYPE, B_BAD_VALUE, B_MISMATCHED_VALUES, B_NAME_NOT_FOUND, B_NAME_IN_USE, B_TIMED_OUT, B_INTERRUPTED, B_WOULD_BLOCK, B_CANCELED, B_NO_INIT, B_BUSY, B_NOT_ALLOWED, B_ERROR := -1, B_OK := 0, B_NO_ERROR := 0 ); {----- Kernel Kit Errors -------------------------------------} tkernelerror = ( B_BAD_SEM_ID := B_OS_ERROR_BASE, B_NO_MORE_SEMS, B_BAD_THREAD_ID := B_OS_ERROR_BASE + $100, B_NO_MORE_THREADS, B_BAD_THREAD_STATE, B_BAD_TEAM_ID, B_NO_MORE_TEAMS, B_BAD_PORT_ID := B_OS_ERROR_BASE + $200, B_NO_MORE_PORTS, B_BAD_IMAGE_ID := B_OS_ERROR_BASE + $300, B_BAD_ADDRESS, B_NOT_AN_EXECUTABLE, B_MISSING_LIBRARY, B_MISSING_SYMBOL, B_DEBUGGER_ALREADY_INSTALLED := B_OS_ERROR_BASE + $400 ); {----- Application Kit Errors --------------------------------} tapperrors = ( B_BAD_REPLY := B_APP_ERROR_BASE, B_DUPLICATE_REPLY, B_MESSAGE_TO_SELF, B_BAD_HANDLER, B_ALREADY_RUNNING, B_LAUNCH_FAILED, B_AMBIGUOUS_APP_LAUNCH, B_UNKNOWN_MIME_TYPE, B_BAD_SCRIPT_SYNTAX, B_LAUNCH_FAILED_NO_RESOLVE_LINK, B_LAUNCH_FAILED_EXECUTABLE, B_LAUNCH_FAILED_APP_NOT_FOUND, B_LAUNCH_FAILED_APP_IN_TRASH, B_LAUNCH_FAILED_NO_PREFERRED_APP, B_LAUNCH_FAILED_FILES_APP_NOT_FOUND ); {----- Storage Kit/File System Errors ------------------------} tfserrors= ( B_FILE_ERROR :=B_STORAGE_ERROR_BASE, B_FILE_NOT_FOUND, { discouraged; use B_ENTRY_NOT_FOUND in new code } B_FILE_EXISTS, B_ENTRY_NOT_FOUND, B_NAME_TOO_LONG, B_NOT_A_DIRECTORY, B_DIRECTORY_NOT_EMPTY, B_DEVICE_FULL, B_READ_ONLY_DEVICE, B_IS_A_DIRECTORY, B_NO_MORE_FDS, B_CROSS_DEVICE_LINK, B_LINK_LIMIT, B_BUSTED_PIPE, B_UNSUPPORTED, B_PARTITION_TOO_SMALL ); *) const {***********************************************************************} { POSIX ERROR DEFINITIONS } {***********************************************************************} { The following constants are system dependent but must all exist } ESysE2BIG = (B_POSIX_ERROR_BASE + 1); ESysEACCES = ord(B_PERMISSION_DENIED); ESysEAGAIN = ord(B_WOULD_BLOCK); ESysEBADF = ord(B_FILE_ERROR); ESysEBUSY = ord(B_BUSY); ESysECHILD = (B_POSIX_ERROR_BASE + 2); ESysEDEADLK = (B_POSIX_ERROR_BASE + 3); ESysEDOM = (B_POSIX_ERROR_BASE + 16); ESysEEXIST = ord(B_FILE_EXISTS); ESysEFAULT = ord(B_BAD_ADDRESS); ESysEFBIG = (B_POSIX_ERROR_BASE + 4); ESysEINTR = ord(B_INTERRUPTED); ESysEINVAL = ord(B_BAD_VALUE); ESysEIO = ord(B_IO_ERROR); ESysEISDIR = ord(B_IS_A_DIRECTORY); ESysEMFILE = ord(B_NO_MORE_FDS); ESysEMLINK = (B_POSIX_ERROR_BASE + 5); ESysENAMETOOLONG= ord(B_NAME_TOO_LONG); ESysENFILE = (B_POSIX_ERROR_BASE + 6); ESysENODEV = (B_POSIX_ERROR_BASE + 7); ESysENOENT = ord(B_ENTRY_NOT_FOUND); ESysENOEXEC = ord(B_NOT_AN_EXECUTABLE); ESysENOLCK = (B_POSIX_ERROR_BASE + 8); ESysENOMEM = ord(B_NO_MEMORY); ESysENOSPC = ord(B_DEVICE_FULL); ESysENOSYS = (B_POSIX_ERROR_BASE + 9); ESysENOTDIR = ord(B_NOT_A_DIRECTORY); ESysENOTEMPTY = ord(B_DIRECTORY_NOT_EMPTY); ESysENOTTY = (B_POSIX_ERROR_BASE + 10); ESysENXIO = (B_POSIX_ERROR_BASE + 11); ESysEPERM = ord(B_NOT_ALLOWED); ESysEPIPE = ord(B_BUSTED_PIPE); ESysERANGE = (B_POSIX_ERROR_BASE + 17); ESysEROFS = ord(B_READ_ONLY_DEVICE); ESysESPIPE = (B_POSIX_ERROR_BASE + 12); ESysESRCH = (B_POSIX_ERROR_BASE + 13); ESysETIMEDOUT = ord(B_TIMED_OUT); ESysEXDEV = ord(B_CROSS_DEVICE_LINK); {ESysEBADMSG = realtime extension POSIX only } {ESysECANCELED = async. I/O extension POSIX only } {ESysEMSGSIZE = realtime extension POSIX only } {ESysEINPROGRESS = async. I/O extension POSIX only } {***********************************************************************} { NON POSIX ERROR DEFINITIONS } {***********************************************************************} EsysEFPOS = (B_POSIX_ERROR_BASE + 14); EsysESIGPARM = (B_POSIX_ERROR_BASE + 15); EsysEPROTOTYPE = (B_POSIX_ERROR_BASE + 18); EsysEPROTONOSUPPORT = (B_POSIX_ERROR_BASE + 19); EsysEPFNOSUPPORT = (B_POSIX_ERROR_BASE + 20); EsysEAFNOSUPPORT = (B_POSIX_ERROR_BASE + 21); EsysEADDRINUSE = (B_POSIX_ERROR_BASE + 22); EsysEADDRNOTAVAIL = (B_POSIX_ERROR_BASE + 23); EsysENETDOWN = (B_POSIX_ERROR_BASE + 24); EsysENETUNREACH = (B_POSIX_ERROR_BASE + 25); EsysENETRESET = (B_POSIX_ERROR_BASE + 26); EsysECONNABORTED = (B_POSIX_ERROR_BASE + 27); EsysECONNRESET = (B_POSIX_ERROR_BASE + 28); EsysEISCONN = (B_POSIX_ERROR_BASE + 29); EsysENOTCONN = (B_POSIX_ERROR_BASE + 30); EsysESHUTDOWN = (B_POSIX_ERROR_BASE + 31); EsysECONNREFUSED = (B_POSIX_ERROR_BASE + 32); EsysEHOSTUNREACH = (B_POSIX_ERROR_BASE + 33); EsysENOPROTOOPT = (B_POSIX_ERROR_BASE + 34); EsysENOBUFS = (B_POSIX_ERROR_BASE + 35); EsysEINPROGRESS = (B_POSIX_ERROR_BASE + 36); EsysEALREADY = (B_POSIX_ERROR_BASE + 37); EsysEWOULDBLOCK = ord(B_WOULD_BLOCK); {* BSD compatibility *} EsysELOOP = ord(B_LINK_LIMIT);