.. | ||
OpenOS/usr | ||
libmtar.lua | ||
README.md |
mtar - Minitel Archiver
mtar is a file format for storing multiple files in a single file, much like tar, cpio or zip.
File format
mtar archive files consist of a number of file entries, in any combination of the following formats:
v1 format
- 0xFFFF (for differentiating versioned headers from legacy v0 headers)
- version byte, with the value 1
- 2 bytes file name length
- the file name
- 8 bytes file content length
- the file contents
Legacy v0 format
- 2 bytes file name length
- the file name
- 2 bytes file content length
- the file contents
Archives are terminated either by the end of file, or a record with a name length of zero.
libmtar
libmtar is the reference implementation of mtar. It provides two functions:
libmtar.genHeader(string: name, number: len): string
Generates an mtar file header for a file called name that is len bytes long.libmtar.iter(table: stream): function
Given buffer stream, returns an iterator suitable for use with for that returns, for each iteration, the file name, a function to read from the file, and the length of the file.