ARCHIVE_ENTRY_TIME(3)

ARCHIVE_ENTRY_TIME(3) | Library Functions Manual | ARCHIVE_ENTRY_TIME(3)

# 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

`#include <archive_entry.h>`

time_t
`archive_entry_atime`(struct archive_entry *a);

long
`archive_entry_atime_nsec`(struct archive_entry *a);

int
`archive_entry_atime_is_set`(struct archive_entry *a);

void
`archive_entry_set_atime`(struct archive_entry *a, time_t sec, long nanosec);

void
`archive_entry_unset_atime`(struct archive_entry *a);

time_t
`archive_entry_birthtime`(struct archive_entry *a);

long
`archive_entry_birthtime_nsec`(struct archive_entry *a);

int
`archive_entry_birthtime_is_set`(struct archive_entry *a);

void
`archive_entry_set_birthtime`(struct archive_entry *a, time_t sec, long nanosec);

void
`archive_entry_unset_birthtime`(struct archive_entry *a);

time_t
`archive_entry_ctime`(struct archive_entry *a);

long
`archive_entry_ctime_nsec`(struct archive_entry *a);

int
`archive_entry_ctime_is_set`(struct archive_entry *a);

void
`archive_entry_set_ctime`(struct archive_entry *a, time_t sec, long nanosec);

void
`archive_entry_unset_ctime`(struct archive_entry *a);

time_t
`archive_entry_mtime`(struct archive_entry *a);

long
`archive_entry_mtime_nsec`(struct archive_entry *a);

int
`archive_entry_mtime_is_set`(struct archive_entry *a);

void
`archive_entry_set_mtime`(struct archive_entry *a, time_t sec, long nanosec);

void
`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_entry(3), libarchive(3)

# HISTORY

The `libarchive` library first appeared in FreeBSD 5.3.

# AUTHORS

The `libarchive` library was written by Tim Kientzle ⟨kientzle@acm.org⟩.

February 2, 2012 | NetBSD 11.0