X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/148b434228cfa94160cc1dbfafc455fd86825fa1..83d5c4729e3cb014d2f75a5ac4132658ad6b7ea8:/Bootloaders/MassStorage/Lib/VirtualFAT.h diff --git a/Bootloaders/MassStorage/Lib/VirtualFAT.h b/Bootloaders/MassStorage/Lib/VirtualFAT.h index 37095eae5..820fe54d5 100644 --- a/Bootloaders/MassStorage/Lib/VirtualFAT.h +++ b/Bootloaders/MassStorage/Lib/VirtualFAT.h @@ -121,6 +121,23 @@ #define FAT_ORDINAL_LAST_ENTRY (1 << 6) //@} + /* Enums: */ + enum + { + DISK_FILE_ENTRY_VolumeID = 0, + DISK_FILE_ENTRY_FirmwareLFN = 1, + DISK_FILE_ENTRY_FirmwareMSDOS = 2, + }; + + enum + { + DISK_BLOCK_BootBlock = 0, + DISK_BLOCK_FATBlock1 = 1, + DISK_BLOCK_FATBlock2 = 2, + DISK_BLOCK_RootFilesBlock = 3, + DISK_BLOCK_DataStartBlock = 4, + }; + /* Type Definitions: */ /** FAT boot block structure definition, used to identify the core * parameters of a FAT filesystem stored on a disk. @@ -213,13 +230,13 @@ static void UpdateFAT12ClusterEntry(uint8_t* const FATTable, const uint16_t Index, const uint16_t ChainEntry) AUX_BOOT_SECTION; - static void WriteVirtualBlock(const uint16_t BlockNumber) AUX_BOOT_SECTION; - static void ReadVirtualBlock(const uint16_t BlockNumber) AUX_BOOT_SECTION; + + static void ReadWriteFirmwareFileBlock(const uint16_t BlockNumber, + uint8_t* BlockBuffer, + const bool Read) AUX_BOOT_SECTION; #endif - void VirtualFAT_WriteBlocks(const uint16_t BlockAddress, - uint16_t TotalBlocks) AUX_BOOT_SECTION; + void VirtualFAT_WriteBlock(const uint16_t BlockNumber) AUX_BOOT_SECTION; + void VirtualFAT_ReadBlock(const uint16_t BlockNumber) AUX_BOOT_SECTION; - void VirtualFAT_ReadBlocks(const uint16_t BlockAddress, - uint16_t TotalBlocks) AUX_BOOT_SECTION; #endif