ARCHIVE_ENTRY_TIME(3) manual page 
== NAME == 
'''archive_entry_atime''', 
'''archive_entry_atime_nsec''', 
'''archive_entry_atime_is_set''', 
'''archive_entry_set_atime''', 
'''archive_entry_unset_atime''', 
'''archive_entry_birthtime''', 
'''archive_entry_birthtime_nsec''', 
'''archive_entry_birthtime_is_set''', 
'''archive_entry_set_birthtime''', 
'''archive_entry_unset_birthtime''', 
'''archive_entry_ctime''', 
'''archive_entry_ctime_nsec''', 
'''archive_entry_ctime_is_set''', 
'''archive_entry_set_ctime''', 
'''archive_entry_unset_ctime''', 
'''archive_entry_mtime''', 
'''archive_entry_mtime_nsec''', 
'''archive_entry_mtime_is_set''', 
'''archive_entry_set_mtime''', 
'''archive_entry_unset_mtime''' 
- functions for manipulating times in archive entry descriptions 
== LIBRARY == 
Streaming Archive Library (libarchive, -larchive) 
== SYNOPSIS == 
'''<nowiki>#include <archive_entry.h></nowiki>''' 
<br> 
''time_t'' 
<br> 
'''archive_entry_atime'''(''struct archive_entry *a''); 
<br> 
''long'' 
<br> 
'''archive_entry_atime_nsec'''(''struct archive_entry *a''); 
<br> 
''int'' 
<br> 
'''archive_entry_atime_is_set'''(''struct archive_entry *a''); 
<br> 
''void'' 
<br> 
'''archive_entry_set_atime'''(''struct archive_entry *a'', ''time_t sec'', ''long nanosec''); 
<br> 
''void'' 
<br> 
'''archive_entry_unset_atime'''(''struct archive_entry *a''); 
<br> 
''time_t'' 
<br> 
'''archive_entry_birthtime'''(''struct archive_entry *a''); 
<br> 
''long'' 
<br> 
'''archive_entry_birthtime_nsec'''(''struct archive_entry *a''); 
<br> 
''int'' 
<br> 
'''archive_entry_birthtime_is_set'''(''struct archive_entry *a''); 
<br> 
''void'' 
<br> 
'''archive_entry_set_birthtime'''(''struct archive_entry *a'', ''time_t sec'', ''long nanosec''); 
<br> 
''void'' 
<br> 
'''archive_entry_unset_birthtime'''(''struct archive_entry *a''); 
<br> 
''time_t'' 
<br> 
'''archive_entry_ctime'''(''struct archive_entry *a''); 
<br> 
''long'' 
<br> 
'''archive_entry_ctime_nsec'''(''struct archive_entry *a''); 
<br> 
''int'' 
<br> 
'''archive_entry_ctime_is_set'''(''struct archive_entry *a''); 
<br> 
''void'' 
<br> 
'''archive_entry_set_ctime'''(''struct archive_entry *a'', ''time_t sec'', ''long nanosec''); 
<br> 
''void'' 
<br> 
'''archive_entry_unset_ctime'''(''struct archive_entry *a''); 
<br> 
''time_t'' 
<br> 
'''archive_entry_mtime'''(''struct archive_entry *a''); 
<br> 
''long'' 
<br> 
'''archive_entry_mtime_nsec'''(''struct archive_entry *a''); 
<br> 
''int'' 
<br> 
'''archive_entry_mtime_is_set'''(''struct archive_entry *a''); 
<br> 
''void'' 
<br> 
'''archive_entry_set_mtime'''(''struct archive_entry *a'', ''time_t sec'', ''long nanosec''); 
<br> 
''void'' 
<br> 
'''archive_entry_unset_mtime'''(''struct archive_entry *a''); 
== DESCRIPTION == 
These functions create and manipulate the time fields in an 
''archive_entry''. 
Supported time fields are atime (access time), birthtime (creation time), 
ctime (last time an inode property was changed) and mtime (modification time). 

[[ManPageLibarchive3]] 
provides a high-resolution interface. 
The timestamps are truncated automatically depending on the archive format 
(for archiving) or the filesystem capabilities (for restoring). 

All timestamp fields are optional. 
The 
'''XXX_unset'''() 
functions can be used to mark the corresponding field as missing. 
The current state can be queried using 
'''XXX_is_set'''(). 
Unset time fields have a second and nanosecond field of 0. 
== SEE ALSO == 
[[ManPageArchiveEntry3]], 
[[ManPageLibarchive3]] 
== HISTORY == 
The 
'''libarchive''' 
library first appeared in 
FreeBSD 5.3. 
== AUTHORS == 
The 
'''libarchive''' 
library was written by 
Tim Kientzle  &lt;kientzle@acm.org.&gt; 
