Technical |
The TOCBLOCK is 512 bytes long. There are two identical copies of this information (each has an adjacent previous copy). One of the two contiguous pair is located at (Private Region Start LBA + 1) and the other is located at (Private Region Start LBA + Size LBA - 3).
The sizes are in sectors and the starts
are relative to the start of
the private region.
At the moment there are two regions, config
and log
.
Offset | Size | Description |
---|---|---|
0x00 | 8 | TOCBLOCKMagic number |
0x08 | 4 | Checksum (a) |
0x0C | 8 | Update Sequence Number (b) |
0x14 | 16 | Zeros |
0x24 | 34 | TOC Region 0 |
0x46 | 34 | TOC Region 1 |
0x68 | 34 | ... |
Offset | Size | Description |
---|---|---|
0x00 | 8 | Region Name |
0x08 | 2 | Region Flags (see below) |
0x0A | 8 | Region Start LBA (relative to Private Region Start) |
0x12 | 8 | Region Size LBA |
0x1A | 2 | Unknown (always 00 06) |
0x1C | 2 | Copy Number (always 00 01) |
0x1E | 4 | Zeros |
Flag | Description |
---|---|
0x01 | not exist |
0x02 | new |
0x04 | delete |
0x08 | disabled |
(a) Sum of all the bytes in the sector excluding the 4 bytes of the checksum field
(b) The most recent TOCBlock has this value in sync with the Private Header's Update Sequence Number.
(c) you can tell if a region is present by checking if the first byte (the first character of Name) is not null