tar_append_eof(3) append data to tar archives

Other Alias

tar_append_file, tar_append_regfile


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


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.