TAR_HEADER - ntruessel/etar GitHub Wiki
A TAR_HEADER
instance contains all metadata archives store. This page is based on the pax specification (ustar interchange format part).
Metadata
filename
Path to the file. Absolute paths are allowed, but most implementations turn them into relative paths.
mode
Traditional UNIX style file permissions (0777, 0644, ...)
user_id
User id of the file owner.
group_id
Group id of the file group.
size
For regular files this contains the size of the file in bytes. For etar purposes, this is 0 for all other cases. More details can be found in the pax specification.
For files, this value is used to calculate the number of payload blocks that will follow the header.
mtime
Modification time of the file at archiving time. This value is measured in unix time (seconds since 00:00:00 UTC on 1 January 1970). The time
library provides utilities to convert between time formats.
typeflag
Indicates what payload type this header follows. These values are standardized:
Flag | Description |
---|---|
'0' | Regular files ('%U' is allowed for backward compatibility but should not be used any longer) |
'1' | Hardlink (only allowed if the content / link target is archived as well) |
'2' | Symlink |
'3' | Character special device |
'4' | Block special device |
'5' | Directory |
'6' | FIFO |
'7' | Files with some high-performance attribute (implementation defined, may treat as regular file) |
'A'-'Z' | Reserved for custom implementations |
| Everything else is reserved for further standardization
linkname
Target (pointee) of a link-type entry (empty/ignored otherwise)
user_name
Username of file owner
group_name
Groupname of file group
device_major
Device major number of special devices (block/character)
device_minor
Device minor number of special devices (block/character)