tar_append_file(3)

NAME
tar_append_file, tar_append_eof, tar_append_regfile - append data to tar archives

SYNOPSIS
#include <libtar.h>

int tar_append_file(TAR *t, char *realname, char *savename);

int tar_append_regfile(TAR *t, char *realname);

int tar_append_eof(TAR *t);

VERSION
This man page documents version 1.2 of libtar.

DESCRIPTION
The tar_append_file() function creates a tar file header block describing the file named by the realname argument, but with the encoded filename of savename. It then sets the current header associated with the TAR handle t to the newly created header block, and writes this block to the tar archive associated with t. If the file named by realname is a regular file (and is not encoded as a hard link), tar_append_file() will call tar_append_regfile() to append the contents of the file.

The tar_append_regfile() function appends the contents of a regular file to the tar archive associated with t. Since this function is called by tar_append_file(), it should only be necessary for applications that construct and write the tar file header on their own.

The tar_append_eof() function writes an EOF marker (two blocks of all zeros) to the tar file associated with t.

RETURN VALUES
On successful completion, these functions will return 0. On failure, they will return -1 and set errno to an appropriate value.

ERRORS
The tar_append_*() functions will fail if:

EINVAL
    Less than T_BLOCKSIZE bytes were written to the tar archive.

EINVAL
    Less than T_BLOCKSIZE bytes were read from the realname file.

They may also fail if any of the following functions fail: lstat(), malloc(), open(), read(), th_write(), or the write function for the file type associated with the TAR handle t.

SEE ALSO
read(2), open(2), lstat(2), th_write(3)