summaryrefslogtreecommitdiff
path: root/misc/raa_format.txt
diff options
context:
space:
mode:
Diffstat (limited to 'misc/raa_format.txt')
-rw-r--r--misc/raa_format.txt20
1 files changed, 10 insertions, 10 deletions
diff --git a/misc/raa_format.txt b/misc/raa_format.txt
index 1b2c9f8..693cbc8 100644
--- a/misc/raa_format.txt
+++ b/misc/raa_format.txt
@@ -22,16 +22,17 @@ structures.
22The basic header: 22The basic header:
23 23
2400-03: Magic Number, something cute, I dunno yet (encoding independant) 2400-03: Magic Number, something cute, I dunno yet (encoding independant)
2504: Byte count/order for standard indexes (8/4 for 64/32bit systems) 2504: Version code (0)
26 High order bit masked out determines endianness (1 = big, 0 = small) 2605: Byte count/order for standard indexes (8/4 for 64/32bit systems)
27 High order bit masked out determines endianness (1 = big, 0 = little)
27 The program will only accept one word-width for now, we can make it 28 The program will only accept one word-width for now, we can make it
28 adjustable later, or fix this at 4 bytes. 29 adjustable later, or fix this at 4 bytes.
2905-08: Blocksize in bytes, could be anything, I don't think we need to worry 3006-09: Blocksize in bytes, could be anything, I don't think we need to worry
30 about OS related things for this, but it should be set intelligently by 31 about OS related things for this, but it should be set intelligently by
31 the owner. This includes the bytes reserved for a block header. 32 the owner. This includes the bytes reserved for a block header.
3209-12: Total block count, includes both used and unused blocks. 3310-13: Total block count, includes both used and unused blocks.
3313-16: Total used blocks, useful for determining when to expand. 3414-17: Total used blocks, useful for determining when to expand.
3417-24: Reserved for flags and the like, should be all zeros for now. 3518-24: Reserved for flags and the like, should be all zeros for now.
35 36
36At this point are a number of "blocks" each with their own header and data are 37At this point are a number of "blocks" each with their own header and data are
37laid out sequentially, accessing one should be easy, seek to 38laid out sequentially, accessing one should be easy, seek to
@@ -45,10 +46,9 @@ The block header is as follows:
45 then this block is the last in the chain. 46 then this block is the last in the chain.
4608-11: Prev block in chain. If this number matches the current block index 4708-11: Prev block in chain. If this number matches the current block index
47 then this block is the first in the chain. 48 then this block is the first in the chain.
4812-15: Number of bytes used/allocated remaining in the chain. If this is the 4912-15: Number of bytes used. If this is the first block, this is the total
49 first block, then this is the total size of the object accross all 50 amount of data in the stream, otherwise it's the amount of data in the
50 blocks in the chain. For the last block in the chain this will usually 51 current block.
51 be less than the available space.
5216-19: Reserved flagspace or something, make sure it's all zeros. 5216-19: Reserved flagspace or something, make sure it's all zeros.
5320-xx: Block data, whatever you wanted to store. At the moment this is going 5320-xx: Block data, whatever you wanted to store. At the moment this is going
54 to be (blocksize) - 20 for now, it will change if the block header 54 to be (blocksize) - 20 for now, it will change if the block header