tar_append_file man page

tar_append_file, tar_append_eof, tar_append_regfile — append data to tar archives


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


This man page documents version 1.2 of libtar.


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.


The tar_append_*() functions will fail if:

Less than T_BLOCKSIZE bytes were written to the tar archive.
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)

Referenced By


Explore man page connections for tar_append_file(3).

tar_append_eof(3) and tar_append_regfile(3) are aliases of tar_append_file(3).