v/vlib/archive/tar/tar.v

43 lines
1.1 KiB
V

module tar
// ustart header block octets
// Field | Offset | Length
// --------------------------
// name | 0 | 100
// mode | 100 | 8
// uid | 108 | 8
// gid | 116 | 8
// size | 124 | 12
// mtime | 136 | 12
// chksum | 148 | 8
// typeflag | 156 | 1
// linkname | 157 | 100
// magic | 257 | 6
// version | 263 | 2
// uname | 265 | 32
// gname | 297 | 32
// devmajor | 329 | 8
// devminor | 337 | 8
// prefix | 345 | 155
pub enum BlockHeader as u8 {
file = u8(`0`) // 0x30
hard_link = u8(`1`) // 0x31
sym_link = u8(`2`) // 0x32
char_dev = u8(`3`) // 0x33
block_dev = u8(`4`) // 0x34
dir = u8(`5`) // 0x35
fifo = u8(`6`) // 0x36
long_name = u8(`L`) // 0x4c = 76 dec
global = u8(`g`) // 0x67 pax
}
pub enum BlockSpecial {
no // for headers `0`,`5` or data blocks
blank_1 // first blank block: continue
blank_2 // second blank block: end of archiv
ignore // for headers `1`, `2`, `3`, `4`, `6`
long_name // for header `L`
global // for header `g`
unknown // for not header defined
}