mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2025-12-16 19:24:40 +00:00
[Specification] Add geometry block definition (GEOM)
This commit is contained in:
@@ -58,4 +58,8 @@ include::structs/ddt2.adoc[]
|
|||||||
|
|
||||||
<<<
|
<<<
|
||||||
|
|
||||||
include::structs/twin_sector.adoc[]
|
include::structs/twin_sector.adoc[]
|
||||||
|
|
||||||
|
<<<
|
||||||
|
|
||||||
|
include::structs/geom.adoc[]
|
||||||
48
docs/spec/structs/geom.adoc
Normal file
48
docs/spec/structs/geom.adoc
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
=== The geometry block (`GEOM`)
|
||||||
|
|
||||||
|
The geometry block encapsulates metadata that defines the disk’s geometry, primarily to support transformations between CHS (Cylinder-Head-Sector) and LBA (Logical Block Addressing) addressing schemes.
|
||||||
|
|
||||||
|
Note that the stored geometry may not reflect the media’s actual physical layout.
|
||||||
|
Instead, it typically represents the translation parameters active at the time the drive image was acquired.
|
||||||
|
|
||||||
|
[source,c]
|
||||||
|
#define GEOM_MAGIC 0x4D4F4547
|
||||||
|
/**Geometry block, contains physical geometry information */
|
||||||
|
typedef struct GeometryBlockHeader
|
||||||
|
{
|
||||||
|
/**Identifier, <see cref="BlockType.GeometryBlock" /> */
|
||||||
|
uint32_t identifier;
|
||||||
|
uint32_t cylinders;
|
||||||
|
uint32_t heads;
|
||||||
|
uint32_t sectorsPerTrack;
|
||||||
|
} GeometryBlockHeader;
|
||||||
|
|
||||||
|
==== Field Descriptions
|
||||||
|
|
||||||
|
[cols="2,2,2,6",options="header"]
|
||||||
|
|===
|
||||||
|
|Type
|
||||||
|
|Size
|
||||||
|
|Name
|
||||||
|
|Description
|
||||||
|
|
||||||
|
|uint32_t
|
||||||
|
|4 bytes
|
||||||
|
|identifier
|
||||||
|
|The geometry table identifier, always `GEOM`
|
||||||
|
|
||||||
|
|uint32_t
|
||||||
|
|4 bytes
|
||||||
|
|cylinders
|
||||||
|
|The number of cylinders.
|
||||||
|
|
||||||
|
|uint32_t
|
||||||
|
|4 bytes
|
||||||
|
|heads
|
||||||
|
|The number of heads.
|
||||||
|
|
||||||
|
|uint32_t
|
||||||
|
|4 bytes
|
||||||
|
|sectorsPerTrack
|
||||||
|
|The number of sectors per track.
|
||||||
|
|===
|
||||||
Reference in New Issue
Block a user