typedef ByteFlags EndOfSongFlags; #define EOSF_UNLOCK 0x0080 /* unlock block at EOS ? */ #define EOSF_DESTROY 0x0040 /* destroy block at EOS ? */ #define UNLOCK_ON_EOS EOSF_UNLOCK #define DESTROY_ON_EOS EOSF_DESTROY
These flags determine what should be done with the memory block which stores a song structure after the song is done playing.
typedef struct { char EPR_geodeName[GEODE_NAME_SIZE]; word EPR_entryNumber; } EntryPointRelocation;
typedef ByteEnum EnvelopeOrientation; #define EO_PORTAIT_LEFT 0x00 #define EO_PORTAIT_RIGHT 0x01 #define EO_LANDSCAPE_UP 0x02 #define EO_LANDSCAPE_DOWN 0x03
typedef ByteEnum EnvelopePath; #define EP_LEFT 0x00 #define EP_CENTER 0x01 #define EP_RIGHT 0x02
#define ERROR_UNSUPPORTED_FUNCTION 1 #define ERROR_FILE_NOT_FOUND 2 #define ERROR_PATH_NOT_FOUND 3 #define ERROR_TOO_MANY_OPEN_FILES 4 #define ERROR_ACCESS_DENIED 5 #define ERROR_INSUFFICIENT_MEMORY 8 #define ERROR_INVALID_VOLUME 15 #define ERROR_IS_CURRENT_DIRECTORY 16 #define ERROR_DIFFERENT_DEVICE 17 #define ERROR_NO_MORE_FILES 18 #define ERROR_WRITE_PROTECTED 19 #define ERROR_UNKNOWN_VOLUME 20 #define ERROR_DRIVE_NOT_READY 21 #define ERROR_CRC_ERROR 23 #define ERROR_SEEK_ERROR 25 #define ERROR_UNKNOWN_MEDIA 26 #define ERROR_SECTOR_NOT_FOUND 27 #define ERROR_WRITE_FAULT 29 #define ERROR_READ_FAULT 30 #define ERROR_GENERAL_FAILURE 31 #define ERROR_SHARING_VIOLATION 32 #define ERROR_ALREADY_LOCKED 33 #define ERROR_SHARING_OVERFLOW 36 #define ERROR_SHORT_READ_WRITE 128 #define ERROR_INVALID_LONGNAME 129 #define ERROR_FILE_EXISTS 130 #define ERROR_DOS_EXEC_IN_PROGRESS 131 #define ERROR_FILE_IN_USE 132 #define ERROR_ARGS_TOO_LONG 133 #define ERROR_DISK_UNAVAILABLE 134 #define ERROR_DISK_STALE 135 #define ERROR_FILE_FORMAT_MISMATCH 136 #define ERROR_CANNOT_MAP_NAME 137 #define ERROR_DIRECTORY_NOT_EMPTY 138 #define ERROR_ATTR_NOT_SUPPORTED 139 #define ERROR_ATTR_NOT_FOUND 140 #define ERROR_ATTR_SIZE_MISMATCH 141 #define ERROR_ATTR_CANNOT_BE_SET 142 #define ERROR_CANNOT_MOVE_DIRECTORY 143 #define ERROR_PATH_TOO_LONG 144 #define ERROR_ARGS_INVALID 145 #define ERROR_CANNOT_FIND_COMMAND_INTERPRETER 146 #define ERROR_NO_TASK_DRIVER_LOADED 147
typedef WordFlags ErrorCheckingFlags; #define ECF_REGION 0x8000 #define ECF_HEAP_FREE_BLOCKS 0x4000 #define ECF_LMEM_INTERNAL 0x2000 #define ECF_LMEM_FREE_AREAS 0x1000 #define ECF_LMEM_OBJECT 0x0800 #define ECF_BLOCK_CHECKSUM 0x0400 #define ECF_GRAPHICS 0x0200 #define ECF_SEGMENT 0x0100 #define ECF_NORMAL 0x0080 #define ECF_VMEM 0x0040 #define ECF_APP 0x0020 #define ECF_LMEM_MOVE 0x0010 #define ECF_UNLOCK_MOVE 0x0008 #define ECF_VMEM_DISCARD 0x0004
Error checking flags are used when setting the system's error-checking level with
SysSetECLevel()
. The flags above may be individually set or cleared. It is important to use error checking when debugging; it can help catch obscure bugs that might otherwise go unnoticed until after a product ships.