2014-09-12 17:08:43 +00:00
# include <cstddef> // null
# include <cstdint>
# include <cerrno>
# include <string>
# include "errors.h"
const char * ErrorName ( int16_t error )
{
switch ( error )
{
case - 32768 : return " Temporarily disable card but run primary init. " ;
case - 32767 : return " Bad component instance " ;
case - 32766 : return " Bad component selector " ;
case - 32640 : return " Reserve range -32640 to -32768 for Apple temp disables. " ;
case - 32615 : return " Bitmap font passed to routine that does outlines only " ;
case - 32100 : return " Can't mount system startup volume " ;
case - 32086 : return " Circular reference in hierarchical menu " ;
case - 32085 : return " Unable to load menu bar defproc " ;
case - 32041 : return " The file named \" Finder \" can't be found on the disk " ;
case - 32030 : return " \" Please insert the disk \" " ;
case - 32029 : return " File server error " ;
case - 32028 : return " Stack overflow: the stack has expanded into the heap " ;
case - 32027 : return " File map destroyed " ;
case - 32026 : return " Segment Loader error: a GetResource call to read a 'CODE' resource failed " ;
case - 32025 : return " Can't allocate requested memory block in heap " ;
case - 32024 : return " Can't load package " ;
case - 32023 : return " Can't load package " ;
case - 32022 : return " Can't load package " ;
case - 32021 : return " Can't load package " ;
case - 32020 : return " Can't load package " ;
case - 32019 : return " Can't load package " ;
case - 32018 : return " Can't load package " ;
case - 32017 : return " Can't load package " ;
case - 32016 : return " Floating point error " ;
case - 32015 : return " Segment Loader error: a GetResource call failed " ;
case - 32014 : return " I/O system error " ;
case - 32013 : return " Spurious interrupt " ;
case - 32012 : return " Unimplemented core routine: Unimplemented trap number encountered " ;
case - 32011 : return " Miscellaneous exception " ;
case - 32010 : return " Line 1111 exception: Unimplemented instruction " ;
case - 32009 : return " Line 1010 exception: the 1010 trap dispatcher has failed " ;
case - 32008 : return " Trace exception " ;
case - 32007 : return " Privilege violation " ;
case - 32006 : return " Trap V exception " ;
case - 32005 : return " Check exception: value out of range " ;
case - 32004 : return " Zero divide " ;
case - 32003 : return " Illegal instruction " ;
case - 32002 : return " Address error: word or long-word reference to an odd address " ;
case - 32001 : return " Bus error: invalid memory reference " ;
case - 31009 : return " Inconsistent dump format " ;
case - 31008 : return " Invalid file type " ;
case - 31007 : return " Illegal use of I/O control block " ;
case - 31006 : return " Attempt to use I/O control block which is currently in use " ;
case - 31005 : return " Too many includes " ;
case - 31004 : return " I/O system error (illegal use of buffer) " ;
case - 31003 : return " Not enough heap space to allocate I/O control block " ;
case - 31002 : return " Not enough heap space to allocate I/O buffer " ;
case - 31001 : return " Not a text file " ;
case - 20002 : return " The recordIndex parameter is not valid " ;
case - 20001 : return " The record data is bigger than buffer size (1024 bytes) " ;
case - 20000 : return " There is no such insert mode " ;
case - 13005 : return " Power Manager did not finish handshake during receive " ;
case - 13004 : return " Power Manager did not start handshake during receive " ;
case - 13003 : return " Power Manager did not finish handshake during send " ;
case - 13002 : return " Power Manager did not start handshake during send " ;
case - 13001 : return " Timed out waiting for reply " ;
case - 13000 : return " Power Manager never ready to start handshake " ;
case - 11005 : return " The picture data was invalid " ;
case - 11004 : return " The number of colors requested was illegal " ;
case - 11003 : return " Custom pick method not in resource chain " ;
case - 11002 : return " Invalid verb combination specified " ;
case - 11001 : return " Invalid PictInfo ID " ;
case - 11000 : return " Version number not zero " ;
case - 10016 : return " Apple Event Local Only " ;
case - 10015 : return " Apple Event Can't Undo " ;
case - 10014 : return " Apple Event Not A Single Object " ;
case - 10013 : return " Apple Event No User Selection " ;
case - 10012 : return " Apple Event No Such Transaction " ;
case - 10011 : return " Apple Event In Transaction " ;
case - 10010 : return " Apple Event Can't Handle Class " ;
case - 10009 : return " Apple Event Can't Supply Type " ;
case - 10008 : return " Apple Event Not An Element " ;
case - 10007 : return " Apple Event Index Too Large " ;
case - 10006 : return " Apple Event Write Denied " ;
case - 10005 : return " Apple Event Read Denied " ;
case - 10004 : return " Apple Event Privilege Error " ;
case - 10003 : return " Apple Event Not Modifiable " ;
case - 10002 : return " Apple Event Bad Key Form " ;
case - 10001 : return " Apple Event Type Error " ;
case - 10000 : return " Apple Event Failed " ;
case - 9999 : return " Can't move attached controller " ;
case - 9998 : return " Controller has fixed height " ;
case - 9997 : return " Can't set width of attached controller " ;
case - 9996 : return " Controller bounds not exact " ;
case - 9995 : return " Editing not allowed " ;
case - 9994 : return " Bad controller height " ;
case - 9408 : return " Device can't meet request " ;
case - 9407 : return " Sequence grab info not available " ;
case - 9406 : return " Bad SG channel " ;
case - 9405 : return " Couldn't get required component " ;
case - 9404 : return " Not enough disk space to grab " ;
case - 9403 : return " Not enough memory to grab " ;
case - 9402 : return " Can't do that in current mode " ;
case - 9401 : return " Grab time complete " ;
case - 9400 : return " No device for channel " ;
case - 8976 : return " Codec Nothing to Blit error " ;
case - 8975 : return " Codec Can't Queue error " ;
case - 8974 : return " Codec Can't When error " ;
case - 8973 : return " Codec open error " ;
case - 8972 : return " Codec Condition error " ;
case - 8971 : return " Codec extension not found error " ;
case - 8970 : return " Codec data version error " ;
case - 8969 : return " Codec bad data error " ;
case - 8968 : return " Codec off screen error " ;
case - 8967 : return " Codec abort error " ;
case - 8966 : return " Codec spool error " ;
case - 8965 : return " Codec image buffer error " ;
case - 8964 : return " Codec screen buffer error " ;
case - 8963 : return " Codec size error " ;
case - 8962 : return " Codec unimplemented error " ;
case - 8961 : return " No codec error " ;
case - 8960 : return " Codec error " ;
case - 8159 : return " Printer not initialized " ;
case - 8151 : return " Incompatible printer initialization " ;
case - 8150 : return " No printer chosen " ;
case - 8133 : return " Postscript error " ;
case - 6230 : return " Attempt to add an already installed display " ;
case - 6229 : return " Could not find item " ;
case - 6228 : return " Video Driver does not support display manager " ;
case - 6227 : return " Required software not initialized (eg window manager or display mgr) " ;
case - 6226 : return " Missing critical pieces of System Software " ;
case - 6225 : return " Mirroring is off; should be turned on " ;
case - 6224 : return " Can't Block because mirroring is on (first call DMUnMirror() ) " ;
case - 6223 : return " DMBlockMirroring() has been called " ;
case - 6222 : return " More than two displays attempted " ;
case - 6221 : return " Mirroring is on; should be turned off " ;
case - 6220 : return " Display Manager unexpected error " ;
case - 5553 : return " Gestalt function pointer wasn't in sysheap " ;
case - 5552 : return " Tried to add an entry that already existed " ;
case - 5551 : return " Undefined selector was passed to Gestalt " ;
case - 5550 : return " Value returned if Gestalt doesn't know the answer " ;
case - 5502 : return " The version requested is greater than the current SysEnvirons trap can provide " ;
case - 5501 : return " Non-positive selector was passed to SysEnvirons trap " ;
case - 5500 : return " SysEnvirons call not present as a trap " ;
case - 5044 : return " the folder being shared is inside or being moved to the trash folder " ;
case - 5043 : return " the folder being shared is inside or being moved to a shared folder " ;
case - 5042 : return " the password being used is too old: this requires the user to change the password before log-in can continue " ;
case - 5041 : return " the password being set is too short: there is a minimum length that must be met or exceeded " ;
case - 5040 : return " someone tried to change their password to the same password on a mandatory password change " ;
case - 5039 : return " afpBadIDErr " ;
case - 5038 : return " afpSameObjectErr " ;
case - 5037 : return " afpCatalogChanged " ;
case - 5036 : return " afpDiffVolErr " ;
case - 5035 : return " afpIDExists " ;
case - 5034 : return " afpIDNotFound " ;
case - 5033 : return " the folder being shared contains a shared folder " ;
case - 5032 : return " Object is MODIFY/READ/DELETE/WRITE inhibited " ;
case - 5031 : return " Volume is Read-Only " ;
case - 5030 : return " Icon size specified different from existing icon size " ;
case - 5029 : return " Unknown directory specified " ;
case - 5028 : return " AFPRename cannot rename volume " ;
case - 5027 : return " Server is shutting down " ;
case - 5026 : return " Maximum open file count reached " ;
case - 5025 : return " File/Directory specified where Directory/File expected " ;
case - 5024 : return " Unsupported AFP call was made " ;
case - 5023 : return " No AFPLogin call has successfully been made for this session " ;
case - 5022 : return " Session closed " ;
case - 5021 : return " Some or all of range already locked by same user " ;
case - 5020 : return " Tried to unlock range that was not locked by user " ;
case - 5019 : return " A specified parameter was out of allowable range " ;
case - 5018 : return " Specified file or directory does not exist " ;
case - 5017 : return " Specified destination file or directory already exists " ;
case - 5016 : return " Server not responding " ;
case - 5015 : return " Maximum lock limit reached " ;
case - 5014 : return " Unexpected error encountered during execution " ;
case - 5013 : return " Some or all of requested range is locked by another user " ;
case - 5012 : return " Unknown UserName/UserID or missing comment/APPL entry " ;
case - 5011 : return " Cannot create directory on specified volume " ;
case - 5010 : return " Cannot delete an open file " ;
case - 5009 : return " Read beyond logical end-of-file " ;
case - 5008 : return " Insufficient free space on volume for operation " ;
case - 5007 : return " Cannot delete non-empty directory " ;
case - 5006 : return " Specified open/deny modes conflict with current open modes " ;
case - 5005 : return " Move destination is offspring of source, or root was specified " ;
case - 5004 : return " Bitmap contained bits undefined for call " ;
case - 5003 : return " Unknown AFP version number specified " ;
case - 5002 : return " Unknown user authentication method specified " ;
case - 5001 : return " Further information required to complete AFPLogin call " ;
case - 5000 : return " Insufficient access privileges for operation " ;
case - 4101 : return " Printer not found or closed " ;
case - 4100 : return " Connection to printer closed " ;
case - 4099 : return " Printing failure: write request too big " ;
case - 4098 : return " Printing failure: request already active " ;
case - 4097 : return " Printing failure: bad connection reference number " ;
case - 4096 : return " Printing failure: no free connect control blocks available " ;
case - 3109 : return " Asynchronous call aborted because socket was closed before call was completed " ;
case - 3108 : return " ABRecord not found " ;
case - 3107 : return " Bad response from ATPRequest " ;
case - 3106 : return " ATP response message too large " ;
case - 3105 : return " Socket or protocol type invalid or not found in table " ;
case - 3104 : return " NBP can't find tuple in buffer " ;
case - 3103 : return " DDP bad checksum " ;
case - 3102 : return " MPP driver not installed " ;
case - 3101 : return " ALAP frame too large for buffer / DDP datagram too large for buffer " ;
case - 3032 : return " noPrefAppErr " ;
case - 3031 : return " Bad translation spec " ;
case - 3030 : return " No translation path " ;
case - 3026 : return " Could not parse source file " ;
case - 3025 : return " Invalid translation path " ;
case - 3003 : return " Component doesn't register " ;
case - 3002 : return " Component not captured " ;
case - 3001 : return " Valid instances exist " ;
case - 3000 : return " Invalid component ID " ;
case - 2824 : return " Invalid fragment usage " ;
case - 2823 : return " Fragment targeted for an unacceptable architecture " ;
case - 2822 : return " No application found in cfrg (for Process Manager) " ;
case - 2821 : return " Fragment user initialization routine did not return noErr " ;
case - 2820 : return " Fragment container corrupted (known format) " ;
case - 2819 : return " Fragment internal inconsistency " ;
case - 2818 : return " Error in initialization of CFM " ;
case - 2817 : return " Error connecting to library (error occurred in sub prepare) " ;
case - 2816 : return " Boot library has initialization routine " ;
case - 2815 : return " Fragment circularity detected in mandatory initialization order " ;
case - 2814 : return " Import library was too new and therefore incompatible " ;
case - 2813 : return " Import library was too old and therefore incompatible " ;
case - 2812 : return " Fragment order error during user initialization function invocation " ;
case - 2811 : return " Fragment no more context id's " ;
case - 2810 : return " Fragment out of memory in user's address space for loadable section " ;
case - 2809 : return " Fragment out of memory for internal bookkeeping " ;
case - 2807 : return " Loaded fragment had \" hard \" unresolved imports " ;
case - 2806 : return " Fragment container format unknown " ;
case - 2805 : return " Fragment registered name already in use " ;
case - 2804 : return " Fragment library name not found in registry " ;
case - 2803 : return " Fragment section not found " ;
case - 2802 : return " Fragment symbol not found in connection " ;
case - 2801 : return " Fragment connectionID not valid " ;
case - 2800 : return " Fragment contextID not valid " ;
case - 2780 : return " AppleScript inconsistent names " ;
case - 2763 : return " AppleScript no result returned " ;
case - 2762 : return " AppleScript parameter not for event " ;
case - 2761 : return " AppleScript illegal formal parameter " ;
case - 2760 : return " AppleScript terminology nesting too deep " ;
case - 2721 : return " AppleScript can't compare more than 32k " ;
case - 2720 : return " AppleScript can't consider and ignore " ;
case - 2526 : return " Mixed mode internal error " ;
case - 2519 : return " TSM unknown error " ;
case - 2518 : return " TSM Unsupported interface type " ;
case - 2517 : return " TSM script has no input method or is using old IM " ;
case - 2516 : return " TSM returned by GetDefaultInputMethod " ;
case - 2515 : return " TSM text service already opened for the document " ;
case - 2514 : return " TSM text service is not open " ;
case - 2513 : return " TSM the text service has no menu " ;
case - 2512 : return " Not TSM aware because we are using input window " ;
case - 2511 : return " TSM there are open documents " ;
case - 2510 : return " TSM no text service found " ;
case - 2509 : return " TSM can't open the component " ;
case - 2508 : return " TSM no open text service " ;
case - 2507 : return " TSM document is not active " ;
case - 2506 : return " TSM document is still active " ;
case - 2505 : return " Invalid TSM documentation ID " ;
case - 2504 : return " TSM application not registered " ;
case - 2503 : return " TSM application already registered " ;
case - 2502 : return " TSM not an application " ;
case - 2501 : return " TSM input method not found " ;
case - 2500 : return " Unsupported script language error " ;
case - 2062 : return " Movie text not found " ;
case - 2059 : return " Samples already in media " ;
case - 2058 : return " Auxiliary export data unavailable " ;
case - 2057 : return " Unsupported auxiliary import data " ;
case - 2053 : return " Feature unsupported " ;
case - 2052 : return " Couldn't use an existing sample " ;
case - 2051 : return " No defaultdata reference " ;
case - 2050 : return " Bad data reference index " ;
case - 2049 : return " Invalid data reference container " ;
case - 2048 : return " No movie found " ;
case - 2047 : return " No data reference " ;
case - 2046 : return " End of data reached " ;
case - 2045 : return " data already closed " ;
case - 2044 : return " Data already open for write " ;
case - 2043 : return " Data not open for write " ;
case - 2042 : return " Data not open for read " ;
case - 2041 : return " Invalid sample description " ;
case - 2040 : return " Invalid chunk cache " ;
case - 2039 : return " Invalid sample description index " ;
case - 2038 : return " Invalid chunk number " ;
case - 2037 : return " Invalid sample number " ;
case - 2036 : return " Invalid rectangle " ;
case - 2035 : return " Can't enable track " ;
case - 2034 : return " Internal QuickTime error " ;
case - 2033 : return " Bad edit index " ;
case - 2032 : return " Time not in media " ;
case - 2031 : return " Time not in track " ;
case - 2030 : return " Track not in movie " ;
case - 2029 : return " Track ID not found " ;
case - 2028 : return " Bad track index " ;
case - 2027 : return " Max size to grow too small " ;
case - 2026 : return " User data item not found " ;
case - 2025 : return " Stale edit state " ;
case - 2024 : return " Non-matching edit state " ;
case - 2023 : return " Invalid edit state " ;
case - 2022 : return " Can't create single fork file " ;
case - 2021 : return " WF file not found " ;
case - 2020 : return " Movie toolbox uninitialized " ;
case - 2019 : return " Progress proc aborted " ;
case - 2018 : return " Media types don't match " ;
case - 2017 : return " Bad edit list " ;
case - 2016 : return " Can't put public movie atom " ;
case - 2015 : return " Invalid Time " ;
case - 2014 : return " Invalid duration " ;
case - 2013 : return " Invalid handler " ;
case - 2012 : return " Invalid data reference " ;
case - 2011 : return " Invalid sample table " ;
case - 2010 : return " Invalid movie " ;
case - 2009 : return " Invalid track " ;
case - 2008 : return " Invalid media " ;
case - 2007 : return " No data handler " ;
case - 2006 : return " No media handler " ;
case - 2005 : return " Bad component type " ;
case - 2004 : return " Can't open handler " ;
case - 2003 : return " Can't find handler " ;
case - 2002 : return " Bad public movie atom " ;
case - 2001 : return " Bad image description " ;
case - 2000 : return " Could not resolve data reference " ;
case - 1857 : return " Drag was not accepted by receiver " ;
case - 1856 : return " Handler not found (Drag Manager) " ;
case - 1855 : return " Handler already exists (Drag Manager) " ;
case - 1854 : return " Error while trying to get flavor data (Drag Manager) " ;
case - 1853 : return " Flavor type already exists (Drag Manager) " ;
case - 1852 : return " Unknown flavor type (Drag Manager) " ;
case - 1851 : return " Unknown drag item reference " ;
case - 1850 : return " Unknown drag reference " ;
case - 1813 : return " Apple Event end of body " ;
case - 1812 : return " Apple Event end of document " ;
case - 1811 : return " Apple Event top of body " ;
case - 1810 : return " Apple Event top of document " ;
case - 1801 : return " Apple Event offset outside of view " ;
case - 1800 : return " Apple Event offset invalid " ;
case - 1730 : return " Empty list container " ;
case - 1729 : return " Negative count " ;
case - 1728 : return " No such object " ;
case - 1727 : return " Not an object specifier " ;
case - 1726 : return " Bad test key " ;
case - 1725 : return " No such logical operator " ;
case - 1723 : return " Accessor not found " ;
case - 1721 : return " Wrong number of arguments " ;
case - 1720 : return " Impossible range " ;
case - 1719 : return " Index is out of range in a put operation " ;
case - 1718 : return " The contents of the reply you are accessing have not arrived yet " ;
case - 1717 : return " No handler in the dispatch tables fits the parameters " ;
case - 1716 : return " The target address type is not known " ;
case - 1715 : return " A required parameter was not accessed " ;
case - 1714 : return " There is no special function with this keyword " ;
case - 1713 : return " No user interaction allowed " ;
case - 1712 : return " AppleEvent timed out " ;
case - 1711 : return " In AESend, User canceled out of wait loop for reply or receipt " ;
case - 1710 : return " Mode wasn't NoReply, WaitReply, or QueueReply; or Interaction level is unknown " ;
case - 1709 : return " AEResetTimer was passed an invalid reply parameter " ;
case - 1708 : return " The AppleEvent was not handled by any handler " ;
case - 1707 : return " The event is not in AppleEvent format " ;
case - 1706 : return " Need newer version of AppleEvent Manager " ;
case - 1705 : return " Specified list item does not exist " ;
case - 1704 : return " Not a valid AppleEvent descriptor " ;
case - 1703 : return " Data with a keyword was expected but not found " ;
case - 1702 : return " Data in an AppleEvent could not be read " ;
case - 1701 : return " Descriptor was not found " ;
case - 1700 : return " Data could not be coerced to the requested data type " ;
case - 1308 : return " When _Mount allows only remounts and doesn't get a remount. " ;
case - 1307 : return " File id is dangling or doesn't match with the file number " ;
case - 1306 : return " Can't exchange a file with itself " ;
case - 1305 : return " Desktop database files are corrupted " ;
case - 1304 : return " The catalog has been modified " ;
case - 1303 : return " Files on different volumes " ;
case - 1302 : return " Directory specified " ;
case - 1301 : return " File id already exists " ;
case - 1300 : return " No file thread exists. " ;
case - 1280 : return " Bad connection refNum " ;
case - 1279 : return " Control call was aborted " ;
case - 1278 : return " Bad connection state for this operation " ;
case - 1277 : return " Open connection request failed " ;
case - 1276 : return " Attention message too long " ;
case - 1275 : return " Read terminated by forward reset " ;
case - 1274 : return " DSP Read/Write Queue Too small " ;
case - 1273 : return " Open connection request was denied " ;
case - 1105 : return " Request aborted " ;
case - 1104 : return " Too many outstanding ATP calls " ;
case - 1103 : return " ATPAddRsp issued before ATPSndRsp " ;
case - 1102 : return " ATP control block not found " ;
case - 1101 : return " ATP no release received " ;
case - 1100 : return " ATP bad sequence number " ;
case - 1099 : return " ATP bad responding socket " ;
case - 1098 : return " ATP too many responding sockets " ;
case - 1097 : return " ATP too many concurrent requests " ;
case - 1096 : return " ATPSndRequest failed: retry count exceeded " ;
case - 1075 : return " No acknowledge on server attention request " ;
case - 1074 : return " Too many server clients " ;
case - 1073 : return " Command block too big " ;
case - 1072 : return " Session closed " ;
case - 1071 : return " Server cannot open another session " ;
case - 1070 : return " ASP parameter error " ;
case - 1069 : return " No servers at that address " ;
case - 1068 : return " No more sessions on server " ;
case - 1067 : return " Buffer too small " ;
case - 1066 : return " Server cannot support this ASP version " ;
case - 1029 : return " NBP names information socket error " ;
case - 1028 : return " NBP name not found " ;
case - 1027 : return " NBP duplicate name already exists " ;
case - 1026 : return " NBP name confirmed for different socket " ;
case - 1025 : return " NBP name not confirmed " ;
case - 1024 : return " NBP buffer overflow " ;
case - 1011 : return " Mixed mode failure " ;
case - 1010 : return " Bad shared library " ;
case - 1000 : return " No mask found " ;
case - 932 : return " Destination port requires authentication " ;
case - 931 : return " Location name is invalid " ;
case - 930 : return " Illegal service type, or not supported " ;
case - 928 : return " Invalid user reference number " ;
case - 927 : return " User's password is wrong " ;
case - 926 : return " PPCStart failed because destination did not have inform pending " ;
case - 925 : return " Error has occurred in the network " ;
case - 924 : return " Unable to create a new userRefNum " ;
case - 923 : return " The default userRefNum does not yet exist " ;
case - 922 : return " User hasn't specified an owner's name in Sharing Setup Control Panel " ;
case - 919 : return " PPCPortRec malformed " ;
case - 917 : return " The session was closed " ;
case - 916 : return " The port was closed " ;
case - 915 : return " Unable to contact application " ;
case - 914 : return " A system resource is missing " ;
case - 913 : return " User hasn't named his Macintosh in the Sharing Setup Control Panel " ;
case - 912 : return " Destination rejected the session request " ;
case - 911 : return " User name unknown on destination machine " ;
case - 910 : return " A port is already open with this name " ;
case - 909 : return " Bad parameter or invalid state for operation " ;
case - 908 : return " Invalid session reference number " ;
case - 907 : return " Out of session tables " ;
case - 906 : return " Port does not exist at destination " ;
case - 905 : return " Network activity is currently disabled " ;
case - 904 : return " The system is unable to allocate memory, critical error " ;
case - 903 : return " Unable to open port or bad portRefNum " ;
case - 902 : return " Invalid or inappropriate locationKindSelector in location name " ;
case - 900 : return " PPCToolBox not initialized " ;
case - 863 : return " User using Close View won't let you remove balloons " ;
case - 862 : return " No balloon showing " ;
case - 861 : return " Invalid method passed in the method parameter " ;
case - 860 : return " Help Manager - could not load package " ;
case - 859 : return " Help message record contained a bad type " ;
case - 858 : return " Help manager resource was the wrong version " ;
case - 857 : return " No balloon content to fill in " ;
case - 856 : return " Help Manager - bad selector " ;
case - 855 : return " Help menu not set up " ;
case - 854 : return " Menu & item is same as previous menu, item " ;
case - 853 : return " Because of constant cursor movement, the help balloon was not displayed " ;
case - 852 : return " Help Manager - out of memory " ;
case - 851 : return " Help Manager - resource not found " ;
case - 850 : return " Show Balloons mode was off, call to routine ignored " ;
case - 813 : return " Attempt to call other routine before InitDBPack " ;
case - 812 : return " Wrong version " ;
case - 811 : return " No application handler for specified data type " ;
case - 810 : return " Invalid parameter block specified " ;
case - 809 : return " The database extension does not support async calls " ;
case - 808 : return " Couldn't open or find the specified database extension. " ;
case - 807 : return " Invalid session number " ;
case - 806 : return " Session ID is invalid " ;
case - 805 : return " Query currently executing " ;
case - 804 : return " Function timed out " ;
case - 803 : return " Next data item not of requested data type " ;
case - 802 : return " Error executing function " ;
case - 801 : return " Data available or successfully retrieved " ;
case - 800 : return " The data item was NULL " ;
case - 625 : return " Unable to defer additional functions " ;
case - 624 : return " Called with interrupts masked " ;
case - 623 : return " Specified range of memory is not locked " ;
case - 622 : return " Cannot make specified range contiguous " ;
case - 621 : return " Specified range of memory is not held " ;
case - 620 : return " Insufficient physical memory " ;
case - 619 : return " Bad thread protocol " ;
case - 618 : return " Thread not found " ;
case - 617 : return " Thread Manager--Too many reqs " ;
case - 610 : return " Cannot interact directly with user " ;
case - 609 : return " Connection is invalid " ;
case - 608 : return " No outstanding high-level event " ;
case - 607 : return " Buffer is too small " ;
case - 606 : return " Application is background only " ;
case - 605 : return " Application SIZE not big enough for launch " ;
case - 604 : return " Hardware configuration is not correct for call " ;
case - 603 : return " Application made module calls in improper order " ;
case - 602 : return " Memory mode is 32-bit, but application is not 32-bit clean " ;
case - 601 : return " Not enough room to launch application with special requirements " ;
case - 600 : return " No eligible process with specified process serial number " ;
case - 502 : return " Bad selector for _HWPriv " ;
case - 501 : return " Scrap item too big for text edit record " ;
case - 500 : return " Region is too big " ;
case - 492 : return " User debugger break - execute commands on stack " ;
case - 491 : return " User debugger break - display string on stack " ;
case - 490 : return " User debugger break " ;
case - 489 : return " Unimplemented routine was called (SCSI) " ;
case - 479 : return " Linked command never executed (SCSI) " ;
case - 478 : return " Device did not go through a status phase (SCSI) " ;
case - 477 : return " Non-zero (not \" Good \" ) status returned (SCSI) " ;
case - 476 : return " The bus was reset, so your request was aborted (SCSI) " ;
case - 475 : return " scsiReqTO exceeded (SCSI) " ;
case - 474 : return " scsiSelTO exceeded (selection failed) (SCSI) " ;
case - 473 : return " (SCSI)us error during transfer (SCSI) " ;
case - 472 : return " Write flag conflicts with data transfer phase (SCSI) " ;
case - 471 : return " Attempted to transfer too many bytes (SCSI) " ;
case - 470 : return " Invalid field(s) in the parameter block (SCSI) " ;
case - 463 : return " Not the first registered publisher for that container " ;
case - 462 : return " Container already opened by this section " ;
case - 461 : return " Alias was not resolved " ;
case - 460 : return " A Publisher is already registered for that container " ;
case - 454 : return " Bad edition container spec or invalid edition container " ;
case - 453 : return " Edition file is corrupt " ;
case - 452 : return " Not a registered section type " ;
case - 451 : return " Not a valid section type " ;
case - 450 : return " Edition manager not initialized or could not load package. " ;
case - 417 : return " There is no such a key attribute " ;
case - 416 : return " Maximum key length is too long or equal to zero " ;
case - 415 : return " Record cannot be found " ;
case - 414 : return " Record already exists " ;
case - 413 : return " Can't allocate disk space " ;
case - 410 : return " The file is not a dictionary " ;
case - 400 : return " GCR format on high density media error " ;
case - 360 : return " Invalid slot number " ;
case - 351 : return " Record not found in the SRT " ;
case - 350 : return " SRT overflow " ;
case - 349 : return " No opens were successful in the loop " ;
case - 348 : return " Offset was too big " ;
case - 347 : return " NumByteLanes was determined to be zero " ;
case - 346 : return " Bad sPointer was passed to a SDM call " ;
case - 345 : return " Error occurred during _sGetDriver " ;
case - 344 : return " No more sResources " ;
case - 343 : return " Error occurred during _sDisDrvrName " ;
case - 342 : return " Error occurred during _sGetDrvrName " ;
case - 341 : return " Status of slot is bad " ;
case - 340 : return " Error occurred during _BlockMove " ;
case - 339 : return " Error occurred during _NewPtr " ;
case - 338 : return " Selector out of bounds " ;
case - 337 : return " Slot out of bounds or does not exist " ;
case - 336 : return " The physical block size of an sBlock was zero" ;
case - 335 : return " The sPointer is nil; no list is specified " ;
case - 334 : return " The CPU field of the code to be executed by sExec was wrong " ;
case - 333 : return " The revision code to be executed by sExec was wrong " ;
case - 332 : return " A reserved field was not zero " ;
case - 331 : return " The id's in the given sList are not in ascending order " ;
case - 330 : return " Reference id not found in the given list " ;
case - 320 : return " Bus error timeout " ;
case - 319 : return " Board ID was wrong: Init the PRAM record " ;
case - 318 : return " SDM jump table could not be created " ;
case - 317 : return " Error occurred while trying to initialize the slot resource table " ;
case - 316 : return " The InitStatus_V field was negative after primary init " ;
case - 315 : return " No board id " ;
case - 314 : return " Error occurred during _sGetPRAMRec " ;
case - 313 : return " No board sResource " ;
case - 312 : return " Error occurred during _DisposePointer " ;
case - 311 : return " The F-Header block could not be disposed " ;
case - 310 : return " The F-Header block could not be read " ;
case - 309 : return " A valid ByteLane field was not found " ;
case - 308 : return " An unexpected bus error occurred " ;
case - 307 : return " A reserved field of the declaration ROM was used " ;
case - 306 : return " The SDM was unable to allocate memory for the sInfo array " ;
case - 305 : return " The longword test failed " ;
case - 304 : return " There is no directory " ;
case - 303 : return " The revision of the declaration ROM is wrong " ;
case - 302 : return " The format of the declaration ROM is wrong " ;
case - 301 : return " CRC check failed " ;
case - 300 : return " No card in slot " ;
case - 299 : return " Wrong queue type " ;
case - 293 : return " Cards could not be initialized " ;
case - 292 : return " Slot Resource Table could not be initialized " ;
case - 291 : return " Slot Resource Table could not be initialized " ;
case - 290 : return " SDM could not be initialized " ;
case - 261 : return " Command not supported for port type " ;
case - 260 : return " Duplicate client ID " ;
case - 259 : return " Name supplied is longer than 31 characters " ;
case - 258 : return " MIDIWritePacket couldn't write to all connected ports " ;
case - 257 : return " No connection exists between specified ports " ;
case - 256 : return " Pending virtual connection removed " ;
case - 255 : return " Pending virtual connection resolved " ;
case - 254 : return " Pending virtual connection created " ;
case - 253 : return " Too many connections made " ;
case - 252 : return " Too many ports already installed in the system " ;
case - 251 : return " No port with that ID found " ;
case - 250 : return " No client with that ID found " ;
case - 247 : return " Bad input text " ;
case - 246 : return " Bad dictionary format " ;
case - 245 : return " Incompatible voice " ;
case - 244 : return " Voice not found " ;
case - 243 : return " Buffer too small " ;
case - 242 : return " Synthesizer not ready " ;
case - 241 : return " Synthesizer open failed " ;
case - 240 : return " No synthesizer found " ;
case - 232 : return " Unknown quality " ;
case - 231 : return " Unknown type of information " ;
case - 230 : return " Input device hardware failure " ;
case - 229 : return " Invalid input device reference number " ;
case - 228 : return " Input device could not be opened " ;
case - 227 : return " Input device already in use " ;
case - 226 : return " Invalid sample size " ;
case - 225 : return " Invalid sample rate " ;
case - 224 : return " Hard disk drive too slow to record to disk " ;
case - 223 : return " Invalid compression type " ;
case - 222 : return " No buffer specified " ;
case - 221 : return " Invalid Sound Input device " ;
case - 220 : return " No Sound Input hardware " ;
case - 213 : return " A parameter is incorrect " ;
case - 212 : return " Not enough CPU cycles left to add another task " ;
case - 211 : return " Channel not currently used " ;
case - 210 : return " Can not operate in the memory allowed " ;
case - 209 : return " The Channel is being used already " ;
case - 208 : return " Corrupt/bad format or not of type AIFF " ;
case - 207 : return " Could not allocate enough memory " ;
case - 206 : return " Bad sound resource format " ;
case - 205 : return " Bad sound channel specified " ;
case - 204 : return " Sound resource error " ;
case - 203 : return " Sound channel full " ;
case - 201 : return " All available channels are already open for the synthesizer " ;
case - 200 : return " No sound hardware " ;
case - 199 : return " Resource map read error " ;
case - 198 : return " Resource attribute error " ;
case - 197 : return " RmveReference failed " ;
case - 196 : return " RmveResource failed " ;
case - 195 : return " AddReference failed " ;
case - 194 : return " AddResource failed " ;
case - 193 : return " Resource file not found " ;
case - 192 : return " Resource not found " ;
case - 190 : return " Offset or count out of bounds " ;
case - 189 : return " Writing past end of file " ;
case - 188 : return " Resource already in memory " ;
case - 186 : return " Resource bent - Can't decompress a compressed resource " ;
case - 185 : return " Extended resource has a bad format. " ;
case - 158 : return " Invalid parameter " ;
case - 157 : return " Invalid pixel depth " ;
case - 156 : return " Invalid resolution for MakeITable " ;
case - 155 : return " Invalid type of graphics device " ;
case - 154 : return " ColorTable entry protection violation " ;
case - 153 : return " Range error in colorTable request " ;
case - 152 : return " Failed to allocate memory for structure " ;
case - 151 : return " Failed to allocate memory for temporary structures " ;
case - 150 : return " Color2Index failed to find an index " ;
case - 149 : return " QuickDraw could not complete the operation (insufficient stack) " ;
case - 148 : return " Pixel map record is deeper than 1 bit per pixel " ;
case - 147 : return " Region accumulation failed. Resulting region may be corrupt " ;
case - 145 : return " Not enough memory for picture " ;
case - 132 : return " File id already exists " ;
case - 131 : return " Directory specified " ;
case - 130 : return " No file thread exists " ;
case - 128 : return " User canceled the query " ;
case - 127 : return " Could not find HMenu's parent in MenuKey " ;
case - 126 : return " System error code for MBDF not found " ;
case - 125 : return " Insufficient memory to update a pixmap " ;
case - 124 : return " Server volume has been disconnected " ;
case - 123 : return " Attempt to do a hierarchical operation on a non hierarchical volume " ;
case - 122 : return " Attempt to move into offspring (file system) " ;
case - 121 : return " Too many working directories open " ;
case - 120 : return " Directory not found " ;
case - 117 : return " Block is locked " ;
case - 116 : return " Size check failed " ;
case - 115 : return " Block check failed " ;
case - 114 : return " Pointer check failed " ;
case - 113 : return " Address in zone check failed " ;
case - 112 : return " Attempt to purge a locked or non-purgeable block " ;
case - 111 : return " Attempt to operate on a free block " ;
case - 110 : return " Address was odd, or out of range " ;
case - 109 : return " NIL master pointer " ;
case - 108 : return " Not enough room in heap zone " ;
case - 102 : return " No object of that type in scrap " ;
case - 100 : return " Desk scrap isn't initialized " ;
case - 99 : return " Error in ROZ " ;
case - 98 : return " Driver open error; port not configured for this connection " ;
case - 97 : return " Driver open error; port already in use " ;
case - 95 : return " Excessive collisions on AppleTalk write " ;
case - 94 : return " AppleTalk error in attaching/detaching protocol " ;
case - 93 : return " No AppleTalk bridge found " ;
case - 92 : return " AppleTalk data length too big " ;
case - 91 : return " AppleTalk socket error: socket already active; not a known socket; socket table full; all dynamic socket numbers in use / Multicast address error ddpSktErr " ;
case - 90 : return " SCC break received " ;
case - 89 : return " SCC receiver error " ;
case - 88 : return " Parameter RAM uninitialized " ;
case - 87 : return " Parameter RAM written did not verify " ;
case - 86 : return " Time written did not verify " ;
case - 85 : return " Unable to read clock " ;
case - 84 : return " Track failed to verify / I/O error " ;
case - 83 : return " Cannot synchronize " ;
case - 82 : return " Can't find sector 0 after track format " ;
case - 81 : return " Can't find sector " ;
case - 80 : return " Drive error (track number wrong in address mark) " ;
case - 79 : return " Can't correctly adjust disk speed " ;
case - 78 : return " Tried to read side 2 of a disk in a single-sided drive " ;
case - 77 : return " Can't initialize disk controller chip " ;
case - 76 : return " Can't find track 0 " ;
case - 75 : return " Drive error " ;
case - 74 : return " Write underrun occurred " ;
case - 73 : return " Bad data mark bit slip nibbles " ;
case - 72 : return " Bad data mark checksum " ;
case - 71 : return " Can't find a data mark " ;
case - 70 : return " Bad address mark (bit slip nibbles) " ;
case - 69 : return " Bad address mark (checksum didn't check) " ;
case - 68 : return " Read verify failed " ;
case - 67 : return " Can't find an address mark " ;
case - 66 : return " Disk is probably blank / Font substitution occurred " ;
case - 65 : return " No disk in drive / Font not declared " ;
case - 64 : return " Drive isn't connected / Font declaration error / I/O error " ;
case - 61 : return " Read/write permission doesn't allow writing " ;
case - 60 : return " Bad master directory block; must reinitialize volume " ;
case - 59 : return " Problem during rename " ;
case - 58 : return " External file system; file-system identifier is non zero, or path reference number is greater than 1024 " ;
case - 57 : return " Not a Macintosh disk; volume lacks Macintosh-format directory " ;
case - 56 : return " No such drive; specified drive number doesn't match any number in the drive queue " ;
case - 55 : return " Specified volume is already mounted and on-line " ;
case - 54 : return " Attempt to open locked file for writing " ;
case - 53 : return " Volume not on-line " ;
case - 52 : return " Error getting file position " ;
case - 51 : return " Path reference number specifies nonexistent access path " ;
case - 50 : return " Error in parameter list / Not an existing volume, and no default volume / Bad positioning information / Bad drive number " ;
case - 49 : return " The read/write permission of only one access path to a file can allow writing " ;
case - 48 : return " File with specified name and version number already exists " ;
case - 47 : return " File is busy; one or more files are open " ;
case - 46 : return " Volume is locked by a software flag " ;
case - 45 : return " File is locked " ;
case - 44 : return " Volume is locked by a hardware setting " ;
case - 43 : return " File not found " ;
case - 42 : return " Too many files open " ;
case - 41 : return " Memory full (open) or file won't fit (load) " ;
case - 40 : return " Attempt to position before start of file " ;
case - 39 : return " Logical end-of-file reached during read operation " ;
case - 38 : return " File not open " ;
case - 37 : return " Bad file name or volume name (perhaps zero-length) " ;
case - 36 : return " I/O error " ;
case - 35 : return " Specified volume doesn't exist " ;
case - 34 : return " All allocation blocks on the volume are full " ;
case - 33 : return " File directory full " ;
case - 30 : return " DCE extension error " ;
case - 29 : return " Unit table has no more entries " ;
case - 28 : return " Driver isn't open " ;
case - 27 : return " I/O request aborted by KillIO / I/O abort error " ;
case - 26 : return " Couldn't find driver in resource file " ;
case - 25 : return " Attempt to remove an open driver " ;
case - 24 : return " Close error " ;
case - 23 : return " Requested read/write permission doesn't match driver's open permission / Attempt to open RAM Serial Driver failed " ;
case - 22 : return " Driver reference number specifies NIL handle in unit table " ;
case - 21 : return " Driver reference number doesn't match unit table " ;
case - 20 : return " Driver can't respond to Write call " ;
case - 19 : return " Driver can't respond to Read call " ;
case - 18 : return " Driver can't respond to Status call " ;
case - 17 : return " Driver can't respond to Control call / Unimplemented control instruction " ;
case - 13 : return " Extensions disabled " ;
case - 12 : return " Process ID not in valid range or unavailable " ;
case - 11 : return " Disassembler installed " ;
case - 10 : return " MacsBug installed " ;
case - 9 : return " Miscellaneous system error " ;
case - 8 : return " No debugger installed to handle debugger command " ;
case - 5 : return " Invalid Power Manager queue element " ;
case - 4 : return " Unimplemented core routine " ;
case - 3 : return " Core routine number out of range " ;
case - 2 : return " Invalid queue element " ;
case - 1 : return " Saving spool file / Entry not in queue " ;
case 0 : return " No error " ;
case 1 : return " Event type not designated in system event mask / bus error / uninitialized slot interrupt dispatch table " ;
case 2 : return " No such file " ;
case 3 : return " No such resource / Arbitration failed during SCSIGet; bus busy / uninitialized slot priority table " ;
case 4 : return " Interrupted system call " ;
case 5 : return " I/O error " ;
case 6 : return " No such device " ;
case 7 : return " Insufficient space for return argument / SCSI Manager busy with another operation " ;
case 8 : return " Attempted operation was out of sequence (e.g., SCSISelect before SCSIGet) " ;
case 9 : return " File not open or bad file number " ;
case 10 : return " SCSIComplete failed; bus not in status phase " ;
case 11 : return " Miscellaneous hardware exception error " ;
case 12 : return " Not enough memory / Slot resource table uninitialized / Unimplemented Core routine " ;
case 13 : return " Permission denied / Slot PRAM uninitialized / Uninstalled interrupt error " ;
case 14 : return " Bad address / I/O Core Error " ;
case 15 : return " Block device required / Segment loader error " ;
case 16 : return " Mount device busy / Floating Point error / Serial driver error " ;
case 17 : return " File exists " ;
case 18 : return " Cross-device link " ;
case 19 : return " No such device " ;
case 20 : return " Not a directory " ;
case 21 : return " Is a directory " ;
case 22 : return " Invalid or unsupported parameter " ;
case 23 : return " File table overflow " ;
case 24 : return " Too many open files " ;
case 25 : return " Not an interactive device / Out of memory " ;
case 26 : return " Text file busy / Can't launch file " ;
case 27 : return " File too large / File system map has been trashed " ;
case 28 : return " No space left on device / Stack has moved into application heap " ;
case 29 : return " Illegal seek " ;
case 30 : return " Read-only file system " ;
case 31 : return " Too many links " ;
case 32 : return " Serial hardware overrun " ;
case 33 : return " Math argument out or range for domain of function " ;
case 34 : return " Math result not representable " ;
case 35 : return " Record doesn't fit in node " ;
case 36 : return " Time out waiting for sync after holdoff " ;
case 37 : return " Time out waiting for HSHK high " ;
case 38 : return " Checksum error on response packet " ;
case 40 : return " Welcome to Macintosh greeting " ;
case 41 : return " Can't load the Finder error " ;
case 42 : return " Shutdown error / Unable to mount boot volume (sad Mac only) " ;
case 43 : return " Can't find System file to open (sad Mac only) " ;
case 48 : return " First byte in response packet was wrong " ;
case 49 : return " Sequence number in response packet was wrong " ;
case 50 : return " Drive number in response packet was wrong " ;
case 51 : return " Unserviceable slot interrupt " ;
case 52 : return " Detected bad catalog structure " ;
case 53 : return " Thread belongs to a directory not a file " ;
case 54 : return " File thread doesn't exist " ;
case 64 : return " Serial driver error " ;
case 81 : return " Bad opcode given to SANE Pack4 " ;
case 83 : return " SetTrapAddress saw the \" come-from \" header " ;
case 84 : return " A menu was purged " ;
case 85 : return " MBDF resource not found " ;
case 86 : return " Hierarchical menus cannot be recursive " ;
case 87 : return " Could not load WDEF " ;
case 88 : return " Could not load CDEF " ;
case 89 : return " Could not load MDEF " ;
case 90 : return " An FPU instruction was executed and the machine doesn't have one " ;
case 98 : return " Can't patch for particular Model Mac " ;
case 99 : return " Can't load patch resource " ;
case 101 : return " Memory parity error " ;
case 102 : return " System is too old for this ROM " ;
case 103 : return " Booting in 32-bit on a 24-bit system " ;
case 104 : return " Need to write new boot blocks " ;
case 105 : return " Must have at least 1.5MB of RAM to boot 7.0 " ;
case 106 : return " BufPtr moved too far during boot " ;
case 128 : return " Application or user requested abort " ;
case 255 : return " All command words less than this are errors " ;
case 20000 : return " User choice between ShutDown and Restart " ;
case 20001 : return " User choice between switching off and Restart " ;
case 20002 : return " Allow the user to ExitToShell, return if Cancel " ;
case 32767 : return " General system error (catch-all used in DSAT) " ;
default : return NULL ;
}
}
namespace MacOS {
namespace {
class __system_category : public std : : error_category
{
public :
virtual const char * name ( ) const noexcept ;
virtual std : : string message ( int ev ) const ;
virtual std : : error_condition default_error_condition ( int ev ) const noexcept ;
private :
static int remap ( macos_error e ) ;
} ;
const char * __system_category : : name ( ) const noexcept
{
return " macos error " ;
}
std : : string __system_category : : message ( int ev ) const
{
const char * cp = ErrorName ( ev ) ;
if ( cp ) return std : : string ( cp ) ;
std : : string tmp ( " Unknown error: " ) ;
tmp + = std : : to_string ( ev ) ;
return tmp ;
}
std : : error_condition __system_category : : default_error_condition ( int ev ) const noexcept
{
int x = remap ( static_cast < macos_error > ( ev ) ) ;
if ( x > = 0 ) return std : : error_condition ( x , std : : generic_category ( ) ) ;
return std : : error_condition ( ev , macos_system_category ( ) ) ;
}
int __system_category : : remap ( macos_error e )
{
// todo
switch ( e )
{
case rfNumErr : return EBADF ;
case ioErr : return EIO ;
case permErr : return EACCES ;
case fnfErr : return ENOENT ;
case dirNFErr : return ENOTDIR ;
case notAFileErr : return EISDIR ;
case extFSErr : return ENOTSUP ;
case wPrErr : return EROFS ;
case dupFNErr : return EEXIST ;
case fBsyErr : return EBUSY ;
case dskFulErr : return ENOSPC ;
default : return - 1 ;
}
}
}
const std : : error_category & macos_system_category ( )
{
static __system_category s ;
return s ;
}
macos_error macos_error_from_errno ( )
{
return macos_error_from_errno ( errno ) ;
}
macos_error macos_error_from_errno ( int error )
{
switch ( error )
{
case 0 : return noErr ;
case EBADF : return rfNumErr ;
case EIO : return ioErr ;
case EACCES : return permErr ;
case ENOENT : return fnfErr ;
case ENOTDIR : return dirNFErr ;
case EISDIR : return notAFileErr ;
case ENOTSUP : return extFSErr ;
case EROFS : return wPrErr ;
case EEXIST : return dupFNErr ;
case EBUSY : return fBsyErr ;
case EDQUOT : return dskFulErr ;
case ENOSPC : return dskFulErr ;
2015-01-17 01:34:10 +00:00
case ENOTEMPTY : return fBsyErr ;
2014-09-12 17:08:43 +00:00
default :
return ioErr ;
}
}
}