Extract individual fields of a tar header th_isreg, th_islnk, th_issym, th_ischr, th_isblk, th_isdir, th_isfifo - determine what kind of file a tar header refers to th_islongname, th_islonglink - determine whether the gnu extensions are in use
#include <libtar.h>
char *th_get_linkname(TAR *t);
char *th_get_pathname(TAR *t);
mode_t th_get_mode(TAR *t);
uid_t th_get_uid(TAR *t);
gid_t th_get_gid(TAR *t);
int th_get_crc(TAR *t);
off_t th_get_size(TAR *t);
time_t th_get_mtime(TAR *t);
major_t th_get_devmajor(TAR *t);
minor_t th_get_devminor(TAR *t);
int TH_ISREG(TAR *t);
int TH_ISLNK(TAR *t);
int TH_ISSYM(TAR *t);
int TH_ISCHR(TAR *t);
int TH_ISBLK(TAR *t);
int TH_ISDIR(TAR *t);
int TH_ISFIFO(TAR *t);
int TH_ISLONGNAME(TAR *t);
int TH_ISLONGLINK(TAR *t);
This man page documents version 1.2 of libtar.
The th_get_*() functions extract individual fields from the current tar header associated with the TAR handle t.
The TH_IS*() macros are used to evaluate what kind of file is pointed to by the current tar header associated with the TAR handle t.
The TH_ISLONGNAME() and TH_ISLONGLINK() macros evaluate whether or not the GNU extensions are used by the current tar header associated with the TAR handle t. This is only relevant if the TAR_GNU option was used when tar_open() was called.