tar-iterator
Version:
Extract contents from tar archive type using an iterator API using streams or paths. Use stream interface and pipe transforms to add decompression algorithms
71 lines (70 loc) • 3.1 kB
TypeScript
/**
* TAR Format Constants
*
* These define the structure of TAR headers per POSIX USTAR specification
* with GNU and PAX extensions.
*/
export declare const HEADER_SIZE = 512;
export declare const BLOCK_SIZE = 512;
export declare const NAME_OFFSET = 0;
export declare const NAME_SIZE = 100;
export declare const MODE_OFFSET = 100;
export declare const MODE_SIZE = 8;
export declare const UID_OFFSET = 108;
export declare const UID_SIZE = 8;
export declare const GID_OFFSET = 116;
export declare const GID_SIZE = 8;
export declare const SIZE_OFFSET = 124;
export declare const SIZE_SIZE = 12;
export declare const MTIME_OFFSET = 136;
export declare const MTIME_SIZE = 12;
export declare const CHECKSUM_OFFSET = 148;
export declare const CHECKSUM_SIZE = 8;
export declare const TYPEFLAG_OFFSET = 156;
export declare const LINKNAME_OFFSET = 157;
export declare const LINKNAME_SIZE = 100;
export declare const MAGIC_OFFSET = 257;
export declare const MAGIC_SIZE = 6;
export declare const VERSION_OFFSET = 263;
export declare const VERSION_SIZE = 2;
export declare const UNAME_OFFSET = 265;
export declare const UNAME_SIZE = 32;
export declare const GNAME_OFFSET = 297;
export declare const GNAME_SIZE = 32;
export declare const DEVMAJOR_OFFSET = 329;
export declare const DEVMAJOR_SIZE = 8;
export declare const DEVMINOR_OFFSET = 337;
export declare const DEVMINOR_SIZE = 8;
export declare const PREFIX_OFFSET = 345;
export declare const PREFIX_SIZE = 155;
export declare const SPARSE_OFFSET = 386;
export declare const SPARSE_ENTRY_SIZE = 24;
export declare const SPARSE_ENTRY_OFFSET_SIZE = 12;
export declare const SPARSE_ENTRY_NUMBYTES_SIZE = 12;
export declare const SPARSE_ENTRIES_IN_HEADER = 4;
export declare const SPARSE_ISEXTENDED_OFFSET = 482;
export declare const SPARSE_REALSIZE_OFFSET = 483;
export declare const SPARSE_REALSIZE_SIZE = 12;
export declare const SPARSE_EXTENDED_ENTRIES = 21;
export declare const SPARSE_EXTENDED_ISEXTENDED_OFFSET = 504;
export declare const USTAR_MAGIC: number[];
export declare const GNU_MAGIC: number[];
export declare const GNU_VER: number[];
export declare const ZERO_OFFSET = 48;
export declare const TYPE_FILE = 0;
export declare const TYPE_LINK = 1;
export declare const TYPE_SYMLINK = 2;
export declare const TYPE_CHAR_DEVICE = 3;
export declare const TYPE_BLOCK_DEVICE = 4;
export declare const TYPE_DIRECTORY = 5;
export declare const TYPE_FIFO = 6;
export declare const TYPE_CONTIGUOUS = 7;
export declare const TYPE_GNU_LONG_PATH = 76;
export declare const TYPE_GNU_LONG_LINK = 75;
export declare const TYPE_GNU_SPARSE = 83;
export declare const TYPE_GNU_DUMPDIR = 68;
export declare const TYPE_GNU_MULTIVOL = 77;
export declare const TYPE_GNU_VOLHDR = 86;
export declare const TYPE_PAX_HEADER = 120;
export declare const TYPE_PAX_GLOBAL = 103;
export type TarEntryType = 'file' | 'link' | 'symlink' | 'character-device' | 'block-device' | 'directory' | 'fifo' | 'contiguous-file' | 'gnu-long-path' | 'gnu-long-link-path' | 'gnu-sparse' | 'gnu-dumpdir' | 'gnu-multivol' | 'gnu-volume-header' | 'pax-header' | 'pax-global-header' | null;