th_read(3) C Library Calls th_read(3)NAME
th_read, th_write - read and write a file header block from a tar archive
SYNOPSIS
#include <libtar.h>
int th_read(TAR *t);
int th_write(TAR *t);
VERSION
This man page documents version 1.2 of libtar.
DESCRIPTION
The th_read() function reads the next block from the tar archive associated with the TAR handle t. It then sets the current tar header
associated with t to the contents of the block read.
The th_write() function writes the contents of the current tar header associated with t to the tar archive associated with t.
RETURN VALUE
On successful completion, th_read() and th_write() will return 0. On failure, they will return -1 and set errno to an appropriate value.
On EOF, th_read() will return 1.
ERRORS
th_read() and th_write() will fail if:
EINVAL Less than T_BLOCKSIZE blocks were read or written.
SEE ALSO tar_block_read(3), tar_block_write(3)University of Illinois Jan 2001 th_read(3)
Check Out this Related Man Page
tar_extract_file(3) C Library Calls tar_extract_file(3)NAME
tar_extract_file, tar_extract_regfile, tar_extract_hardlink, tar_extract_symlink, tar_extract_chardev, tar_extract_blockdev,
tar_extract_dir, tar_extract_fifo, tar_skip_regfile, tar_set_file_perms - extract files from a tar archive
SYNOPSIS
#include <libtar.h>
int tar_extract_file(TAR *t, char *realname);
int tar_extract_regfile(TAR *t, char *realname);
int tar_skip_regfile(TAR *t);
int tar_extract_dir(TAR *t, char *realname);
int tar_extract_hardlink(TAR *t, char *realname);
int tar_extract_symlink(TAR *t, char *realname);
int tar_extract_blockdev(TAR *t, char *realname);
int tar_extract_chardev(TAR *t, char *realname);
int tar_extract_fifo(TAR *t, char *realname);
int tar_set_file_perms(TAR *t, char *realname);
VERSION
This man page documents version 1.2 of libtar.
DESCRIPTION
The tar_extract_file() function acts as a front-end to the other tar_extract_*() functions. It checks the current tar header associated
with the TAR handle t (which must be initialized first by calling th_read()) to determine what kind of file the header refers to. It then
calls the appropriate tar_extract_*() function to extract that kind of file.
The tar_skip_regfile() function skips over the file content blocks and positions the file pointer at the expected location of the next tar
header block.
The tar_set_file_perms() function sets the attributes of the extracted file to match the encoded values. This includes the file's modifi-
cation time, mode, owner, and group. This function is automatically called by tar_extract_file(), but applications which call the other
tar_extract_*() functions directly will need to call tar_set_file_perms() manually if this behavior is desired.
RETURN VALUES
On successful completion, the functions documented here will return 0. On failure, they will return -1 and set errno to an appropriate
value.
The tar_extract_dir() function will return 1 if the directory already exists.
ERRORS
The tar_extract_file() function will fail if:
EEXIST If the O_NOOVERWRITE flag is set and the file already exists.
The tar_extract_*() functions will fail if:
EINVAL An entry could not be added to the internal file hash.
EINVAL Less than T_BLOCKSIZE bytes were read from the tar archive.
EINVAL The current file header associated with t refers to a kind of file other than the one which the called function knows about.
They may also fail if any of the following functions fail: mkdir(), write(), link(), symlink(), mknod(), mkfifo(), utime(), chown(),
lchown(), chmod(), or lstat().
SEE ALSO mkdir(2), write(2), link(2), symlink(2), mknod(2), mkfifo(2), utime(2), chown(2), lchown(2), chmod(2), lstat(2)University of Illinois Jan 2001 tar_extract_file(3)