Stephen Seo
004f4f2cd9
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 3s
1.7 KiB
1.7 KiB
File Format
Format Version 0
File extension is "*.simplearchive"
First 18 bytes of file will be:
SIMPLE_ARCHIVE_VER
Next 2 bytes is 16-bit unsigned integer "version" in big-endian. In this case, it will be zero.
Next 4 bytes are bit-flags.
- The first byte
- The first bit is set if de/compressor is set for this archive.
The remaining unused flags are reserved for future revisions and are currently ignored.
If the previous "de/compressor is set" flag is enabled, then the next section is added:
- 2 bytes is 16-bit unsigned integer "compressor cmd+args" in big-endian.
- X bytes of "compressor cmd+args" (length defined by previous value).
- 2 bytes is 16-bit unsigned integer "decompressor cmd+args" in big-endian.
- X bytes of "decompressor cmd+args" (length defined by previous value).
The next 4 bytes is 32-bit unsigned integer "file count" in big-endian which will indicate the number of files in this archive.
Following the file-count bytes, the following bytes are added for each file:
- 2 bytes is 16-bit unsigned integer "filename length" in big-endian.
- X bytes of filename (length defined by previous value).
- 4 bytes bit-flags
- The first byte
- The first bit is set if the file is a symbolic link.
- The second byte.
- Currently unused.
- The third byte.
- Currently unused.
- The fourth byte.
- Currently unused.
- The first byte
- If this file is a symbolic link:
- 2 bytes is 16-bit unsigned integer "link target path" in big-endian.
- X bytes of link-target-path (length defined by previous value).
- If this file is NOT a symbolic link:
- 8 bytes 64-bit unsigned integer "size of filename in this archive file".
- X bytes file data (length defined by previous value).