Up-Case Table Directory Entry
| Offset | Size | Description | Comments |
|---|---|---|---|
| 0 (0x00) | 1 | EntryType | 0x82 |
| 1 (0x01) | 3 | Reserved1 | |
| 4 (0x04) | 4 | TableChecksum | Up-case Table checksum |
| 8 (0x08) | 12 | Reserved2 | |
| 20 (0x14) | 4 | FirstCluster | |
| 24 (0x18) | 8 | DataLength |
The checksum is calculated against DataLength bytes of Up-case Table according to the following code:
UNIT32 UpCaseTableChecksum(constunsignedchardata[], intbytes)
{
UINT32 checksum = 0;
for (inti = 0; i < bytes; i++)
checksum = (checksum<< 31) | (checksum>> 1) + data[i];
return checksum;
}