GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
tar_extract_file(3) C Library Calls tar_extract_file(3)

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

#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);

This man page documents version 1.2 of libtar.

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.

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.

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

mkdir(2), write(2), link(2), symlink(2), mknod(2), mkfifo(2), utime(2), chown(2), lchown(2), chmod(2), lstat(2)
Jan 2001 University of Illinois

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.