.TH ARCHIVE_ENTRY_TIME 3 "February 2, 2012" "" .SH NAME .ad l \fB\%archive_entry_atime\fP, \fB\%archive_entry_atime_nsec\fP, \fB\%archive_entry_atime_is_set\fP, \fB\%archive_entry_set_atime\fP, \fB\%archive_entry_unset_atime\fP, \fB\%archive_entry_birthtime\fP, \fB\%archive_entry_birthtime_nsec\fP, \fB\%archive_entry_birthtime_is_set\fP, \fB\%archive_entry_set_birthtime\fP, \fB\%archive_entry_unset_birthtime\fP, \fB\%archive_entry_ctime\fP, \fB\%archive_entry_ctime_nsec\fP, \fB\%archive_entry_ctime_is_set\fP, \fB\%archive_entry_set_ctime\fP, \fB\%archive_entry_unset_ctime\fP, \fB\%archive_entry_mtime\fP, \fB\%archive_entry_mtime_nsec\fP, \fB\%archive_entry_mtime_is_set\fP, \fB\%archive_entry_set_mtime\fP, \fB\%archive_entry_unset_mtime\fP \- functions for manipulating times in archive entry descriptions .SH LIBRARY .ad l Streaming Archive Library (libarchive, -larchive) .SH SYNOPSIS .ad l \fB#include \fP .br \fItime_t\fP .br \fB\%archive_entry_atime\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIlong\fP .br \fB\%archive_entry_atime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIint\fP .br \fB\%archive_entry_atime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIvoid\fP .br \fB\%archive_entry_set_atime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP); .br \fIvoid\fP .br \fB\%archive_entry_unset_atime\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fItime_t\fP .br \fB\%archive_entry_birthtime\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIlong\fP .br \fB\%archive_entry_birthtime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIint\fP .br \fB\%archive_entry_birthtime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIvoid\fP .br \fB\%archive_entry_set_birthtime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP); .br \fIvoid\fP .br \fB\%archive_entry_unset_birthtime\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fItime_t\fP .br \fB\%archive_entry_ctime\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIlong\fP .br \fB\%archive_entry_ctime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIint\fP .br \fB\%archive_entry_ctime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIvoid\fP .br \fB\%archive_entry_set_ctime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP); .br \fIvoid\fP .br \fB\%archive_entry_unset_ctime\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fItime_t\fP .br \fB\%archive_entry_mtime\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIlong\fP .br \fB\%archive_entry_mtime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIint\fP .br \fB\%archive_entry_mtime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP); .br \fIvoid\fP .br \fB\%archive_entry_set_mtime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP); .br \fIvoid\fP .br \fB\%archive_entry_unset_mtime\fP(\fI\%struct\ archive_entry\ *a\fP); .SH DESCRIPTION .ad l These functions create and manipulate the time fields in an Vt archive_entry. Supported time fields are atime (access time), birthtime (creation time), ctime (last time an inode property was changed) and mtime (modification time). .PP \fBlibarchive\fP(3) provides a high-resolution interface. The timestamps are truncated automatically depending on the archive format (for archiving) or the filesystem capabilities (for restoring). .PP All timestamp fields are optional. The \fB\%XXX_unset\fP() functions can be used to mark the corresponding field as missing. The current state can be queried using \fB\%XXX_is_set\fP(). Unset time fields have a second and nanosecond field of 0. .SH SEE ALSO .ad l \fBarchive_entry\fP(3), \fBlibarchive\fP(3) .SH HISTORY .ad l The \fB\%libarchive\fP library first appeared in FreeBSD 5.3. .SH AUTHORS .ad l -nosplit The \fB\%libarchive\fP library was written by Tim Kientzle \%