362 lines
14 KiB
C
Executable File
362 lines
14 KiB
C
Executable File
/*
|
|
************************************************************************
|
|
**
|
|
** 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 */
|