#summary 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
== SYNOPSIS ==
*#include <archive_entry.h>*
<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).

*libarchive*(3)
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 ==
*archive*(3),
*archive_entry*(3)
== HISTORY ==
The
*libarchive*
library first appeared in
FreeBSD 5.3.
== AUTHORS ==
The
*libarchive*
library was written by
Tim Kientzle  <kientzle@acm.org.>
