From 6800ec3348b79a9019f61574b21fe18e4af41b52 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Mon, 6 May 2019 14:07:02 +0100 Subject: [PATCH] Update dicformat template with block addressable tape types. --- dicformat.bt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/dicformat.bt b/dicformat.bt index 3eb03b2..9b91e48 100644 --- a/dicformat.bt +++ b/dicformat.bt @@ -854,6 +854,39 @@ typedef struct ChecksumEntry checksums[entries]; } ChecksumHeader; +typedef struct +{ + uint file; + char partition; + uint64 first_block; + uint64 last_block; +} TapeFileEntry; + +typedef struct +{ + BlockType identifier; + uint entries; + uint64 length; + uint64 crc64; + TapeFileEntry files[entries]; +} TapeFileHeader; + +typedef struct +{ + byte number; + uint64 first_block; + uint64 last_block; +} TapePartitionEntry; + +typedef struct +{ + BlockType identifier; + byte entries; + uint64 length; + uint64 crc64; + TapePartitionEntry partitions[entries]; +} TapePartitionHeader; + LittleEndian(); local int i; @@ -953,5 +986,11 @@ for(i = 0; i < index.entries; i++) case 0x4D534B43: ChecksumHeader checksum; break; + case 0x54425054: + TapePartitionHeader partitions; + break; + case 0x454C4654: + TapeFileHeader files; + break; } } \ No newline at end of file