dpkg 1.21.11
Data Structures | Macros | Typedefs | Enumerations | Functions
Tar archive handling
Collaboration diagram for Tar archive handling:

Data Structures

struct  tar_entry
 
struct  tar_operations
 
struct  tar_archive
 

Macros

#define TARBLKSZ   512
 

Typedefs

typedef int tar_read_func(struct tar_archive *tar, char *buffer, int length)
 
typedef int tar_make_func(struct tar_archive *tar, struct tar_entry *h)
 

Enumerations

enum  tar_format {
  TAR_FORMAT_UNKNOWN , TAR_FORMAT_OLD , TAR_FORMAT_GNU , TAR_FORMAT_USTAR ,
  TAR_FORMAT_PAX
}
 
enum  tar_filetype {
  TAR_FILETYPE_FILE0 = '\0' , TAR_FILETYPE_FILE = '0' , TAR_FILETYPE_HARDLINK = '1' , TAR_FILETYPE_SYMLINK = '2' ,
  TAR_FILETYPE_CHARDEV = '3' , TAR_FILETYPE_BLOCKDEV = '4' , TAR_FILETYPE_DIR = '5' , TAR_FILETYPE_FIFO = '6' ,
  TAR_FILETYPE_CONTIG = '7' , TAR_FILETYPE_GNU_LONGLINK = 'K' , TAR_FILETYPE_GNU_LONGNAME = 'L' , TAR_FILETYPE_GNU_VOLUME = 'V' ,
  TAR_FILETYPE_GNU_MULTIVOL = 'M' , TAR_FILETYPE_GNU_DUMPDIR = 'D' , TAR_FILETYPE_GNU_SPARSE = 'S' , TAR_FILETYPE_PAX_GLOBAL = 'g' ,
  TAR_FILETYPE_PAX_EXTENDED = 'x' , TAR_FILETYPE_SOLARIS_EXTENDED = 'X' , TAR_FILETYPE_SOLARIS_ACL = 'A'
}
 

Functions

uintmax_t tar_atoul (const char *s, size_t size, uintmax_t max)
 
intmax_t tar_atosl (const char *s, size_t size, intmax_t min, intmax_t max)
 
void tar_entry_update_from_system (struct tar_entry *te)
 Update the tar entry from system information. More...
 
int tar_extractor (struct tar_archive *tar)
 

Detailed Description

Macro Definition Documentation

◆ TARBLKSZ

#define TARBLKSZ   512

Typedef Documentation

◆ tar_make_func

typedef int tar_make_func(struct tar_archive *tar, struct tar_entry *h)

◆ tar_read_func

typedef int tar_read_func(struct tar_archive *tar, char *buffer, int length)

Enumeration Type Documentation

◆ tar_filetype

Enumerator
TAR_FILETYPE_FILE0 

For compatibility with decades-old bug.

TAR_FILETYPE_FILE 
TAR_FILETYPE_HARDLINK 
TAR_FILETYPE_SYMLINK 
TAR_FILETYPE_CHARDEV 
TAR_FILETYPE_BLOCKDEV 
TAR_FILETYPE_DIR 
TAR_FILETYPE_FIFO 
TAR_FILETYPE_CONTIG 
TAR_FILETYPE_GNU_LONGLINK 
TAR_FILETYPE_GNU_LONGNAME 
TAR_FILETYPE_GNU_VOLUME 
TAR_FILETYPE_GNU_MULTIVOL 
TAR_FILETYPE_GNU_DUMPDIR 
TAR_FILETYPE_GNU_SPARSE 
TAR_FILETYPE_PAX_GLOBAL 
TAR_FILETYPE_PAX_EXTENDED 
TAR_FILETYPE_SOLARIS_EXTENDED 
TAR_FILETYPE_SOLARIS_ACL 

◆ tar_format

enum tar_format
Enumerator
TAR_FORMAT_UNKNOWN 
TAR_FORMAT_OLD 
TAR_FORMAT_GNU 
TAR_FORMAT_USTAR 
TAR_FORMAT_PAX 

Function Documentation

◆ tar_atosl()

intmax_t tar_atosl ( const char *  s,
size_t  size,
intmax_t  min,
intmax_t  max 
)

◆ tar_atoul()

uintmax_t tar_atoul ( const char *  s,
size_t  size,
uintmax_t  max 
)

◆ tar_entry_update_from_system()

void tar_entry_update_from_system ( struct tar_entry te)

Update the tar entry from system information.

Normalize UID and GID relative to the current system.

References file_stat::gid, file_stat::gname, tar_entry::stat, file_stat::uid, and file_stat::uname.

Referenced by tarobject().

Here is the caller graph for this function:

◆ tar_extractor()

int tar_extractor ( struct tar_archive tar)