TAR Archive

From XentaxWiki
Jump to: navigation, search

TAR

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : ustar


Format Specifications

// TAR archive


number_of_files *
{
  // file header
  100 bytes (char) - file name + padding
  8 bytes (char) - file mode  // e.g. "0100777."
  8 bytes (char) - Owner's ID (UID)  // e.g. "0000000."
  8 bytes (char) - Group's ID (GID)  // e.g. "0000000."
  12 bytes (char) - file size in bytes  // e.g. "00000000011."
  12 bytes (char) - Last modification time 
                    in Unix time format  // e.g. "14201537146."
  8 bytes (char) - checksum for header record // e.g. "007212. "
  1 byte (char) - file type  // "0" - normal file
                             // "1" - hard link
                             // "2" - symbolic link
                             // "3" - character special
                             // "4" - block special
                             // "5" - directory
                             // "6" - FIFO
                             // "7" - contiguous file 
                             // "g" - global extended header
                             // "x" - extended header
                             // "A"-"Z" - vendor specific extensions
  100 bytes (char) - name of the linked file + padding  // can be empty


  // ustar header
  6 bytes (char) - signature  // "ustar."
  2 bytes (char) - ustar version  // "00"
  32 bytes (char) - owner user name  // can be empty
  32 bytes (char) - owner group name  // can be empty
  8 bytes (char) - device major number // can be empty
  8 bytes (char) - device minor number // can be empty
  167 bytes (char) - padding  


  // data
  x bytes - file data
  x bytes - padding
}

MultiEx BMS

Not written yet.

Notes and Comments

  • Generic TAR archive
  • All fields are null-terminated strings
  • The fields are also padded to the right, meaning that there is padding of (byte)32 at the start of each field, so that the entire contents of that field are as far to the right as possible for that field length
  • Fields that contain a number (such as the File Length) are Octal numbers (base 8)

Supported Programs

  • Game Extractor
  • Many standard file compressors/decompressors (e.g. Winrar)

See Also