logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

tar_extract_file, tar_extract_regfile, tar_extract_hardlink, tar_extract_symlink, tar_extract_chardev,

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 modification 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.

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().

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

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.

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)

Synopsis

#include<libtar.h>inttar_extract_file(TAR*t,char*realname);inttar_extract_regfile(TAR*t,char*realname);inttar_skip_regfile(TAR*t);inttar_extract_dir(TAR*t,char*realname);inttar_extract_hardlink(TAR*t,char*realname);inttar_extract_symlink(TAR*t,char*realname);inttar_extract_blockdev(TAR*t,char*realname);inttar_extract_chardev(TAR*t,char*realname);inttar_extract_fifo(TAR*t,char*realname);inttar_set_file_perms(TAR*t,char*realname);

Version

       This man page documents version 1.2 of libtar.

See Also