/* ************************************************************************ ** ** Copyright (c) 2007..2009 by ** Core|Vision B.V. ** Cereslaan 10b ** 5384 VT Heesch ** The Netherlands ** ** All Rights Reserved ** ************************************************************************ */ /* ************************************************************************ ** ** Project name: Dual Inventive: Zelfsignalerende Kortsluit Lans ** Filename: ualfat-errno.h ** Author: Jack Weeland ** Date: May 10, 2007 ** File version: 1.00 of May 10, 2007 ** ************************************************************************ */ /* ************************************************************************ ** ** GHI uALFAT errors ** ************************************************************************ */ #ifndef _UALFAT_ERRNO_H #define _UALFAT_ERRNO_H #define ERROR_NO_ERROR 0x00 // Hardware Error codes #define ERROR_READ_SECTOR 0x01 #define ERROR_WRITE_SECTOR 0x02 #define ERROR_ERASE_SECTOR 0x03 #define ERROR_SD_UNEXPECTED_VALUE 0x04 #define ERROR_MMC_INIT_TIMEOUT 0x05 #define ERROR_SET_BLOCK_SIZE_FAIL 0x06 #define ERROR_MMC_SEND_COMMAND_FAIL 0x07 // FAT_mount Error codes #define ERROR_MBR_SIGNATURE_MISSMATCH 0x11 #define ERROR_BS_SIGNATURE_MISSMATCH 0x12 #define ERROR_SECTOR_SIZE_NOT_512 0x13 #define ERROR_FSINFO_SIGNATURE_MISSMATCH 0x14 #define ERROR_FAT12_NOT_SUPPORTED 0x15 #define ERROR_FAT16_NOT_SUPPORTED 0x16 // FAT functions #define ERROR_CLUSTER_OVER_RANGE 0x21 #define ERROR_CLUSTER_UNDER_RANGE 0x22 #define ERROR_NEXT_CLUSTER_VALUE_OVER_RANGE 0x23 #define ERROR_NEXT_CLUSTER_VALUE_UNDER_RANGE 0x24 #define ERROR_NO_FREE_CLUSTERS 0x25 // FAT filename error codes #define ERROR_FILE_NAME_FORBIDDEN_CHAR 0x31 #define ERROR_FILE_NAME_DIR_NAME_OVER_8 0x32 #define ERROR_FILE_NAME_DIR_EXTENSION_OVER_3 0x33 #define ERROR_FILE_NAME_FIRST_CHAR_ZERO 0x34 #define ERROR_MEDIA_FULL 0x35 // FAT main functions Error Codes #define DIR_ENT_FOUND 0x40 #define DIR_ENT_NOT_FOUND 0x41 #define ERROR_FOLDER_IS_CORRUPTED_FIRST_CLUSTER 0x42 #define ERROR_FOLDER_IS_CORRUPTED_DIR_DOT_NOT_FOUND 0x43 #define ERROR_FOLDER_IS_CORRUPTED_DIR_DOTDOT_NOT_FOUND 0x44 #define ERROR_ROOT_DIRECTORY_IS_FULL 0x45 #define ERROR_OPEN_FOLDER_FILE 0x46 #define ERROR_WRTIE_TO_READ_MODE_FILE 0x47 #define ERROR_SEEK_REQUIER_READ_MODE 0x48 #define ERROR_INVALID_SEEK_POINTER 0x49 #define ERROR_FOLDER_NOT_EMPTY 0x4A #define ERROR_IS_NOT_FOLDER 0x4B #define ERROR_READ_MODE_REQUIRED 0x4C #define ERROR_END_OF_DIR_LIST 0x4D #define ERROR_FILE_PARAMETERS 0x4E #define ERROR_HANDLE_IN_USE 0x4F #define ERROR_INVALID_HANDLE 0X4F #define ERROR_ZERO_SIZE_FILE 0x50 #define ERROR_FILE_MODE_INVALID 0x51 #define ERROR_FILE_CORRUPTED 0x52 #define ERROR_FILE_POINTER_OUT_OF_BOUNDS 0x53 // FAT Driver #define ERROR_ATTACH_IDE_DEVICE_RESET_TIMEOUT 0x54 #define ERROR_ATTACH_IDE_DEVICE_IDENTIFY_TIMEOUT 0x55 #define ERROR_READ_IDE_SECTOR_TIMEOUT 0x56 #define FILE_UNKNOWN_DRIVE_LETTER 0x57 // Commander Error Code #define COMMANDER_PASS 0x00 #define ERROR_COMMANDER_BAD_COMMAND 0x61 #define ERROR_COMMANDER_STR_LEN_TOO_LONG 0x62 // or string is not null terminated #define ERROR_COMMANDER_NAME_NOT_VALID 0x63 #define ERROR_COMMANDER_NUMBER_INVALID 0x64 #define ERROR_COMMANDER_WRITE_PARTIAL_FAILURE 0x65 #define ERROR_COMMANDER_UNKNOWN_MEDIA_LETTER 0x66 #define ERROR_COMMANDER_FAILED_TO_OPEN_MEDIA 0x67 #define ERROR_COMMANDER_INCORRECT_CMD_PARAMETER 0x68 #define ERROR_CHECK_SUM 0x69 #define ERROR_COMMANDER_UNKNOWN_ERROR 0xFD #define COMMANDER_RUN_FRAMED_MODE 0xFE #define COMMANDER_RETURN_IN_STRING 0xFF #define USBD 0x70 #define ERROR_USBD_NO_ENOUGH_PIPES USBD+0x01 #define ERROR_USBD_HANDLE_INUSE USBD+0x02 #define ERROR_USBD_INCORRECT_DESCRIPTOR USBD+0x03 #define ERROR_USBD_NONCONTROL_TRANSFER_FUNCTION USBD+0x04 #define ERROR_USBD_DATA_SIZE_IS_BIG_FOR_ENDPOINT USBD+0x05 #define ERROR_USBD_TIMEOUT USBD+0x06 #define ERROR_USBD_CONTROL_TRANSFER_REQUIERED USBD+0x07 #define ERROR_USBD_NACK USBD+0x08 #define ERROR_USBD_HANDLE_CORRUPTED USBD+0x09 #define ERROR_USBD_DESCRIPTOR_CORRUPTED USBD+0x0A #define ERROR_DESCRIPTOR_NOT_FOUND USBD+0x0B #define ERROR_USB_HUB_NOT_FOUND USBD+0x0C #define ERROR_HCD_USB_DEVICE_NOT_CONNECTED USBD+0x0D // MassStorage driver #define ERROR_BOMS 0x80 #define ERROR_BOMS_CSW_COMMAND_FAILD ERROR_BOMS+0x01 // request sense to get failure reason #define ERROR_BOMS_CSW_STATUS_PHASE_ERROR ERROR_BOMS+0x02 #define ERROR_BOMS_CSW ERROR_BOMS+0x03 #define ERROR_BOMS_WORNG_LUN_NUMBER ERROR_BOMS+0x04 #define ERROR_BOMS_WORNG_CSW_SIGNATURE ERROR_BOMS+0x05 #define ERROR_BOMS_WORNG_TAG_MISSMATCHED ERROR_BOMS+0x06 #define ERROR_USB_MASSSTORAGE_COMMAD_FAILED ERROR_BOMS_CSW_COMMAND_FAILD #define MASSSTORAGE 0xA0 #define ERROR_USB_MASS_STORAGE_DEVICE_NOT_READY MASSSTORAGE #define ERROR_USB_MASSSTORAGE_PROTOCOL_NOT_SUPPORTED MASSSTORAGE+0x01 #define ERROR_USB_MASSSTORAGE_SUBCLASS_NOT_SUPPORTED MASSSTORAGE+0x02 #define ERROR_SPC_INVALID_SENSE MASSSTORAGE+0x03 #define ERROR_SPC_NO_ASC_ASCQ MASSSTORAGE+0x04 #define ERROR_USB_MASSSTORAGE_NOT_FOUND MASSSTORAGE+0x05 #define ERROR_HCD_INIT_FAIL 0x90 #define ERROR_HCD_UNDEFINED_CASE 0x91 #define HCD 0xB0 // Host error result codes, the 4 LSB's in the HRSL register. #define ERROR_HCD_BUSY HCD+0x01 #define ERROR_HCD_BADREQ HCD+0x02 #define ERROR_HCD_UNDEF HCD+0x03 #define ERROR_HCD_NAK HCD+0x04 #define ERROR_HCD_STALL HCD+0x05 #define ERROR_HCD_TOGERR HCD+0x06 #define ERROR_HCD_WRONGPID HCD+0x07 #define ERROR_HCD_BADBC HCD+0x08 #define ERROR_HCD_PIDERR HCD+0x09 #define ERROR_HCD_PKTERR HCD+0x0A #define ERROR_HCD_CRCERR HCD+0x0B #define ERROR_HCD_KERR HCD+0x0C #define ERROR_HCD_JERR HCD+0x0D #define ERROR_HCD_TIMEOUT HCD+0x0E #define ERROR_HCD_BABBLE HCD+0x0F // FLASH driver #define ERROR_ADDRESS_RANGE 0xD0 #define ERROR_FLASH_NOT_BLANK 0xD1 #define ERROR_VERIFY 0xD2 #define ERROR_INTERNAL 0xD3 #define ERROR_CHECKSUM 0xD4 #define ERROR_ERASE_COMMAND 0xD5 #define ERROR_BROKEN_ACTIVATE_SEQUENCE 0xD6 #define ERROR_INVALID_FIRMWARE 0xD7 #define ERROR_BR_COMMAND 0xD8 #define ERROR_FILE_IS_EMPTY 0xDA #define ERROR_FILE_NOT_FOUND 0xDB #define ERROR_UNKNOWN_COMMAND 0xDE #define ERROR_UNEXPECTED_VALUE 0xF0 #define ERROR_UNEXPECTED_COMMAND 0xFD /* ** String table with the errors as strings, if so enabled */ #ifdef _UALFAT_ERRNO_DEFINE_STRINGTABLE #define UALFAT_ERRSZ 256 static const char *UALFAT_ERRSTR[UALFAT_ERRSZ] = { "ERROR_NO_ERROR", // 0x00 // Hardware Error codes "ERROR_READ_SECTOR", // 0x01 "ERROR_WRITE_SECTOR", // 0x02 "ERROR_ERASE_SECTOR", // 0x03 "ERROR_SD_UNEXPECTED_VALUE", // 0x04 "ERROR_MMC_INIT_TIMEOUT", // 0x05 "ERROR_SET_BLOCK_SIZE_FAIL", // 0x06 "ERROR_MMC_SEND_COMMAND_FAIL", // 0x07 "", "", "", "", "", "", "", "", // 0x08..0x0F // FAT_mount Error codes "ERROR_INVALID_BOOT_SECTOR", // 0x10 "ERROR_MBR_SIGNATURE_MISMATCH", // 0x11 "ERROR_BS_SIGNATURE_MISMATCH", // 0x12 "ERROR_SECTOR_SIZE_NOT_512", // 0x13 "ERROR_FSINFO_SIGNATURE_MISMATCH", // 0x14 "ERROR_FAT12_NOT_SUPPORTED", // 0x15 "ERROR_FAT16_NOT_SUPPORTED", // 0x16 "", "", "", "", "", "", "", "", "", // 0x17..0x1F // FAT functions "", // 0x20 "ERROR_CLUSTER_OVER_RANGE", // 0x21 "ERROR_CLUSTER_UNDER_RANGE", // 0x22 "ERROR_NEXT_CLUSTER_VALUE_OVER_RANGE", // 0x23 "ERROR_NEXT_CLUSTER_VALUE_UNDER_RANGE", // 0x24 "ERROR_NO_FREE_CLUSTERS", // 0x25 "", "", "", "", "", "", "", "", "", "", // 0x26..0x2F // FAT_filename Error codes "", // 0x30 "ERROR_FILE_NAME_FORBIDDEN_CHAR", // 0x31 "ERROR_FILE_NAME_DIR_NAME_OVER_8", // 0x32 "ERROR_FILE_NAME_DIR_EXTENSION_OVER_3", // 0x33 "ERROR_FILE_NAME_FIRST_CHAR_ZERO", // 0x34 "ERROR_MEDIA_FULL", // 0x35 "", "", "", "", "", "", "", "", "", "", // 0x36..0x3F // FAT main functions Error Codes "DIR_ENT_FOUND", // 0x40 "DIR_ENT_NOT_FOUND", // 0x41 "ERROR_FOLDER_IS_CORRUPTED_FIRST_CLUSTER", // 0x42 "ERROR_FOLDER_IS_CORRUPTED_DIR_DOT_NOT_FOUND", // 0x43 "ERROR_FOLDER_IS_CORRUPTED_DIR_DOTDOT_NOT_FOUND", // 0x44 "ERROR_ROOT_DIRECTORY_IS_FULL", // 0x45 "ERROR_OPEN_FOLDER_FILE", // 0x46 "ERROR_WRITE_TO_READ_MODE_FILE", // 0x47 "ERROR_SEEK_REQUIER_READ_MODE", // 0x48 "ERROR_INVALID_SEEK_POINTER", // 0x49 "ERROR_FOLDER_NOT_EMPTY", // 0x4A "ERROR_IS_NOT_FOLDER", // 0x4B "ERROR_READ_MODE_REQUIRED", // 0x4C "ERROR_END_OF_DIR_LIST", // 0x4D "ERROR_FILE_PARAMETERS", // 0x4E "ERROR_HANDLE_IN_USE / ERROR_INVALID_HANDLE", // 0X4F "ERROR_ZERO_SIZE_FILE", // 0x50 "ERROR_FILE_MODE_INVALID", // 0x51 "ERROR_FILE_CORRUPTED", // 0x52 "ERROR_FILE_POINTER_OUT_OF_BOUNDS", // 0x53 // FAT Driver "ERROR_ATTACH_IDE_DEVICE_RESET_TIMEOUT", // 0x54 "ERROR_ATTACH_IDE_DEVICE_IDENTIFY_TIMEOUT", // 0x55 "ERROR_READ_IDE_SECTOR_TIMEOUT", // 0x56 "FILE_UNKNOWN_DRIVE_LETTER", // 0x57 "", "", "", "", "", "", "", "", // 0x58..0x5F // Commander Error Code "", // 0x60 "ERROR_COMMANDER_BAD_COMMAND", // 0x61 "ERROR_COMMANDER_STR_LEN_TOO_LONG", // 0x62 // or string is not null terminated "ERROR_COMMANDER_NAME_NOT_VALID", // 0x63 "ERROR_COMMANDER_NUMBER_INVALID", // 0x64 "ERROR_COMMANDER_WRITE_PARTIAL_FAILURE", // 0x65 "ERROR_COMMANDER_UNKNOWN_MEDIA_LETTER", // 0x66 "ERROR_COMMANDER_FAILED_TO_OPEN_MEDIA", // 0x67 "ERROR_COMMANDER_INCORRECT_CMD_PARAMETER", // 0x68 "ERROR_CHECK_SUM", // 0x69 "", "", "", "", "", "", // 0x6A..0x6F // "USBD", // 0x70 "ERROR_USBD_NOT_ENOUGH_PIPES", // USBD+0x01 "ERROR_USBD_HANDLE_IN_USE", // USBD+0x02 "ERROR_USBD_INCORRECT_DESCRIPTOR", // USBD+0x03 "ERROR_USBD_NONCONTROL_TRANSFER_FUNCTION", // USBD+0x04 "ERROR_USBD_DATA_SIZE_IS_BIG_FOR_ENDPOINT", // USBD+0x05 "ERROR_USBD_TIMEOUT", // USBD+0x06 "ERROR_USBD_CONTROL_TRANSFER_REQUIERED", // USBD+0x07 "ERROR_USBD_NACK", // USBD+0x08 "ERROR_USBD_HANDLE_CORRUPTED", // USBD+0x09 "ERROR_USBD_DESCRIPTOR_CORRUPTED", // USBD+0x0A "ERROR_DESCRIPTOR_NOT_FOUND", // USBD+0x0B "ERROR_USB_HUB_NOT_FOUND", // USBD+0x0C "ERROR_HCD_USB_DEVICE_NOT_CONNECTED", // USBD+0x0D "", "", // 0x7E, 0x7F // MassStorage driver "ERROR_BOMS", // 0x80 "ERROR_BOMS_CSW_COMMAND_FAILED", // ERROR_BOMS+0x01 // request sense to get failure reason "ERROR_BOMS_CSW_STATUS_PHASE_ERROR", // ERROR_BOMS+0x02 "ERROR_BOMS_CSW", // ERROR_BOMS+0x03 "ERROR_BOMS_WRONG_LUN_NUMBER", // ERROR_BOMS+0x04 "ERROR_BOMS_WRONG_CSW_SIGNATURE", // ERROR_BOMS+0x05 "ERROR_BOMS_WRONG_TAG_MISSMATCHED", // ERROR_BOMS+0x06 "", "", "", "", "", "", "", "", "", // 0x87..0x8F // "ERROR_HCD_INIT_FAIL", // 0x90 "ERROR_HCD_UNDEFINED_CASE", // 0x91 "", "", "", "", "", "", "", "", // 0x92..0x99 "", "", "", "", "", "", // 0x9A..0x9F // "ERROR_USB_MASS_STORAGE_DEVICE_NOT_READY", // 0xA0 = MASSSTORAGE "ERROR_USB_MASSSTORAGE_PROTOCOL_NOT_SUPPORTED", // MASSSTORAGE+0x01 "ERROR_USB_MASSSTORAGE_SUBCLASS_NOT_SUPPORTED", // MASSSTORAGE+0x02 "ERROR_SPC_INVALID_SENSE", // MASSSTORAGE+0x03 "ERROR_SPC_NO_ASC_ASCQ", // MASSSTORAGE+0x04 "ERROR_USB_MASSSTORAGE_NOT_FOUND", // MASSSTORAGE+0x05 "", "", "", "", "", "", "", "", "", "", // 0xA6..0xAF // Host error result codes, the 4 LSB's in the HRSL register. "HCD", // 0xB0 "ERROR_HCD_BUSY", // HCD+0x01 "ERROR_HCD_BADREQ", // HCD+0x02 "ERROR_HCD_UNDEF", // HCD+0x03 "ERROR_HCD_NAK", // HCD+0x04 "ERROR_HCD_STALL", // HCD+0x05 "ERROR_HCD_TOGERR", // HCD+0x06 "ERROR_HCD_WRONGPID", // HCD+0x07 "ERROR_HCD_BADBC", // HCD+0x08 "ERROR_HCD_PIDERR", // HCD+0x09 "ERROR_HCD_PKTERR", // HCD+0x0A "ERROR_HCD_CRCERR", // HCD+0x0B "ERROR_HCD_KERR", // HCD+0x0C "ERROR_HCD_JERR", // HCD+0x0D "ERROR_HCD_TIMEOUT", // HCD+0x0E "ERROR_HCD_BABBLE", // HCD+0x0F // "ERROR_NAME_TOO_LONG", // 0xC0 "ERROR_LEAD_CHARACTER_INVALID", // 0xC1 "ERROR_TRAIL_CHARACTER_INVALID", // 0xC2 "", "", // 0xC3, 0xC4 "ERROR_MAX_NAMES_REACHED", // 0xC5 "", "", // 0xC6, 0xC7 "", "", "", "", "", "", "", "", // 0xC8..0xCF // FLASH driver "ERROR_ADDRESS_RANGE", // 0xD0 "ERROR_FLASH_NOT_BLANK", // 0xD1 "ERROR_VERIFY", // 0xD2 "ERROR_INTERNAL", // 0xD3 "ERROR_CHECKSUM", // 0xD4 "ERROR_ERASE_COMMAND", // 0xD5 "ERROR_BROKEN_ACTIVATE_SEQUENCE", // 0xD6 "ERROR_INVALID_FIRMWARE", // 0xD7 "ERROR_BAD_COMMAND", // 0xD8 "", // 0xD9 "ERROR_FILE_IS_EMPTY", // 0xDA "ERROR_FILE_NOT_FOUND", // 0xDB "", "", // 0xDC, 0xDD "ERROR_UNKNOWN_COMMAND", // 0xDE "", // 0xDF // "", "", "", "", "", "", "", "", // 0xE0..0xE7 "", "", "", "", "", "", "", "", // 0xE8..0xEF // "ERROR_UNEXPECTED_VALUE", // 0xF0 "ERROR_HIBERNATING", // 0xF1 "", "", "", "", "", "", "", "", "", "", "", // 0xF2..0xFC "ERROR_UNEXPECTED_COMMAND", // 0xFD "COMMANDER_RUN_FRAMED_MODE", // 0xFE "COMMANDER_RETURN_IN_STRING" // 0xFF }; #endif /* _UALFAT_ERRNO_DEFINE_STRINGTABLE */ #endif /* _UALFAT_ERRNO_H */