|
Packit Service |
1d0348 |
ARCHIVE_ENTRY_STAT(3) manual page
|
|
Packit Service |
1d0348 |
== NAME ==
|
|
Packit Service |
1d0348 |
'''archive_entry_stat''',
|
|
Packit Service |
1d0348 |
'''archive_entry_copy_stat''',
|
|
Packit Service |
1d0348 |
'''archive_entry_filetype''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_filetype''',
|
|
Packit Service |
1d0348 |
'''archive_entry_mode''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_mode''',
|
|
Packit Service |
1d0348 |
'''archive_entry_size''',
|
|
Packit Service |
1d0348 |
'''archive_entry_size_is_set''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_size''',
|
|
Packit Service |
1d0348 |
'''archive_entry_unset_size''',
|
|
Packit Service |
1d0348 |
'''archive_entry_dev''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_dev''',
|
|
Packit Service |
1d0348 |
'''archive_entry_dev_is_set''',
|
|
Packit Service |
1d0348 |
'''archive_entry_devmajor''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_devmajor''',
|
|
Packit Service |
1d0348 |
'''archive_entry_devminor''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_devminor''',
|
|
Packit Service |
1d0348 |
'''archive_entry_ino''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_ino''',
|
|
Packit Service |
1d0348 |
'''archive_entry_ino_is_set''',
|
|
Packit Service |
1d0348 |
'''archive_entry_ino64''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_ino64''',
|
|
Packit Service |
1d0348 |
'''archive_entry_nlink''',
|
|
Packit Service |
1d0348 |
'''archive_entry_rdev''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_rdev''',
|
|
Packit Service |
1d0348 |
'''archive_entry_rdevmajor''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_rdevmajor''',
|
|
Packit Service |
1d0348 |
'''archive_entry_rdevminor''',
|
|
Packit Service |
1d0348 |
'''archive_entry_set_rdevminor''',
|
|
Packit Service |
1d0348 |
- accessor functions for manipulating archive entry descriptions
|
|
Packit Service |
1d0348 |
== LIBRARY ==
|
|
Packit Service |
1d0348 |
Streaming Archive Library (libarchive, -larchive)
|
|
Packit Service |
1d0348 |
== SYNOPSIS ==
|
|
Packit Service |
1d0348 |
'''<nowiki>#include <archive_entry.h></nowiki>'''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''const struct stat *''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_stat'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_copy_stat'''(''struct archive_entry *a'', ''const struct stat *sb'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''mode_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_filetype'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_filetype'''(''struct archive_entry *a'', ''unsigned int type'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''mode_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_mode'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_mode'''(''struct archive_entry *a'', ''mode_t mode'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''int64_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_size'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''int''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_size_is_set'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_size'''(''struct archive_entry *a'', ''int64_t size'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_unset_size'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''dev_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_dev'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_dev'''(''struct archive_entry *a'', ''dev_t dev'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''int''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_dev_is_set'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''dev_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_devmajor'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_devmajor'''(''struct archive_entry *a'', ''dev_t major'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''dev_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_devminor'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_devminor'''(''struct archive_entry *a'', ''dev_t minor'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''ino_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_ino'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_ino'''(''struct archive_entry *a'', ''unsigned long ino'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''int''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_ino_is_set'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''int64_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_ino64'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_ino64'''(''struct archive_entry *a'', ''int64_t ino'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''unsigned int''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_nlink'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_nlink'''(''struct archive_entry *a'', ''unsigned int count'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''dev_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_rdev'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''dev_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_rdevmajor'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''dev_t''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_rdevminor'''(''struct archive_entry *a'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_rdev'''(''struct archive_entry *a'', ''dev_t dev'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_rdevmajor'''(''struct archive_entry *a'', ''dev_t major'');
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
''void''
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
'''archive_entry_set_rdevminor'''(''struct archive_entry *a'', ''dev_t minor'');
|
|
Packit Service |
1d0348 |
== DESCRIPTION ==
|
|
Packit Service |
1d0348 |
=== Copying to and from ''struct'' stat===
|
|
Packit Service |
1d0348 |
The function
|
|
Packit Service |
1d0348 |
'''archive_entry_stat'''()
|
|
Packit Service |
1d0348 |
converts the various fields stored in the archive entry to the format
|
|
Packit Service |
1d0348 |
used by
|
|
Packit Service |
1d0348 |
[[stat(2)|http://www.freebsd.org/cgi/man.cgi?query=stat&sektion=2]].
|
|
Packit Service |
1d0348 |
The return value remains valid until either
|
|
Packit Service |
1d0348 |
'''archive_entry_clear'''()
|
|
Packit Service |
1d0348 |
or
|
|
Packit Service |
1d0348 |
'''archive_entry_free'''()
|
|
Packit Service |
1d0348 |
is called.
|
|
Packit Service |
1d0348 |
It is not affected by calls to the set accessor functions.
|
|
Packit Service |
1d0348 |
It currently sets the following values in
|
|
Packit Service |
1d0348 |
''struct'' stat:
|
|
Packit Service |
1d0348 |
''st_atime'',
|
|
Packit Service |
1d0348 |
''st_ctime'',
|
|
Packit Service |
1d0348 |
''st_dev'',
|
|
Packit Service |
1d0348 |
''st_gid'',
|
|
Packit Service |
1d0348 |
''st_ino'',
|
|
Packit Service |
1d0348 |
''st_mode'',
|
|
Packit Service |
1d0348 |
''st_mtime'',
|
|
Packit Service |
1d0348 |
''st_nlink'',
|
|
Packit Service |
1d0348 |
''st_rdev'',
|
|
Packit Service |
1d0348 |
''st_size'',
|
|
Packit Service |
1d0348 |
''st_uid''.
|
|
Packit Service |
1d0348 |
In addition,
|
|
Packit Service |
1d0348 |
''st_birthtime''
|
|
Packit Service |
1d0348 |
and high-precision information for time-related fields
|
|
Packit Service |
1d0348 |
will be included on platforms that support it.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The function
|
|
Packit Service |
1d0348 |
'''archive_entry_copy_stat'''()
|
|
Packit Service |
1d0348 |
copies fields from the platform's
|
|
Packit Service |
1d0348 |
''struct'' stat.
|
|
Packit Service |
1d0348 |
Fields not provided by
|
|
Packit Service |
1d0348 |
''struct'' stat
|
|
Packit Service |
1d0348 |
are unchanged.
|
|
Packit Service |
1d0348 |
=== General accessor functions===
|
|
Packit Service |
1d0348 |
The functions
|
|
Packit Service |
1d0348 |
'''archive_entry_filetype'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_set_filetype'''()
|
|
Packit Service |
1d0348 |
get respectively set the filetype.
|
|
Packit Service |
1d0348 |
The file type is one of the following constants:
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
AE_IFREG
|
|
Packit Service |
1d0348 |
Regular file
|
|
Packit Service |
1d0348 |
AE_IFLNK
|
|
Packit Service |
1d0348 |
Symbolic link
|
|
Packit Service |
1d0348 |
AE_IFSOCK
|
|
Packit Service |
1d0348 |
Socket
|
|
Packit Service |
1d0348 |
AE_IFCHR
|
|
Packit Service |
1d0348 |
Character device
|
|
Packit Service |
1d0348 |
AE_IFBLK
|
|
Packit Service |
1d0348 |
Block device
|
|
Packit Service |
1d0348 |
AE_IFDIR
|
|
Packit Service |
1d0348 |
Directory
|
|
Packit Service |
1d0348 |
AE_IFIFO
|
|
Packit Service |
1d0348 |
Named pipe (fifo)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Not all file types are supported by all platforms.
|
|
Packit Service |
1d0348 |
The constants used by
|
|
Packit Service |
1d0348 |
[[stat(2)|http://www.freebsd.org/cgi/man.cgi?query=stat&sektion=2]]
|
|
Packit Service |
1d0348 |
may have different numeric values from the
|
|
Packit Service |
1d0348 |
corresponding constants above.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The functions
|
|
Packit Service |
1d0348 |
'''archive_entry_mode'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_set_mode'''()
|
|
Packit Service |
1d0348 |
get/set a combination of file type and permissions and provide the
|
|
Packit Service |
1d0348 |
equivalent of
|
|
Packit Service |
1d0348 |
''st_mode''.
|
|
Packit Service |
1d0348 |
Use of
|
|
Packit Service |
1d0348 |
'''archive_entry_filetype'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_perm'''()
|
|
Packit Service |
1d0348 |
for getting and
|
|
Packit Service |
1d0348 |
'''archive_entry_set_filetype'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_set_perm'''()
|
|
Packit Service |
1d0348 |
for setting is recommended.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The function
|
|
Packit Service |
1d0348 |
'''archive_entry_size'''()
|
|
Packit Service |
1d0348 |
returns the file size, if it has been set, and 0 otherwise.
|
|
Packit Service |
1d0348 |
'''archive_entry_size'''()
|
|
Packit Service |
1d0348 |
can be used to query that status.
|
|
Packit Service |
1d0348 |
'''archive_entry_set_size'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_unset_size'''()
|
|
Packit Service |
1d0348 |
set and unset the size, respectively.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The number of references (hardlinks) can be obtained by calling
|
|
Packit Service |
1d0348 |
'''archive_entry_nlinks'''()
|
|
Packit Service |
1d0348 |
and set with
|
|
Packit Service |
1d0348 |
'''archive_entry_set_nlinks'''().
|
|
Packit Service |
1d0348 |
=== Identifying unique files===
|
|
Packit Service |
1d0348 |
The functions
|
|
Packit Service |
1d0348 |
'''archive_entry_dev'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_ino64'''()
|
|
Packit Service |
1d0348 |
are used by
|
|
Packit Service |
1d0348 |
[[ManPagerchiventryinkify3]]
|
|
Packit Service |
1d0348 |
to find hardlinks.
|
|
Packit Service |
1d0348 |
The pair of device and inode is supposed to identify hardlinked files.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The device major and minor number can be obtained independently using
|
|
Packit Service |
1d0348 |
'''archive_entry_devmajor'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_devminor'''().
|
|
Packit Service |
1d0348 |
The device can be set either via
|
|
Packit Service |
1d0348 |
'''archive_entry_set_dev'''()
|
|
Packit Service |
1d0348 |
or by the combination of major and minor number using
|
|
Packit Service |
1d0348 |
'''archive_entry_set_devmajor'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_entry_set_devminor'''().
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The inode number can be obtained using
|
|
Packit Service |
1d0348 |
'''archive_entry_ino'''().
|
|
Packit Service |
1d0348 |
This is a legacy interface that uses the platform
|
|
Packit Service |
1d0348 |
''ino_t'',
|
|
Packit Service |
1d0348 |
which may be very small.
|
|
Packit Service |
1d0348 |
To set the inode number,
|
|
Packit Service |
1d0348 |
'''archive_entry_set_ino64'''()
|
|
Packit Service |
1d0348 |
is the preferred interface.
|
|
Packit Service |
1d0348 |
=== Accessor functions for block and character devices===
|
|
Packit Service |
1d0348 |
Block and character devices are characterised either using a device number
|
|
Packit Service |
1d0348 |
or a pair of major and minor number.
|
|
Packit Service |
1d0348 |
The combined device number can be obtained with
|
|
Packit Service |
1d0348 |
'''archive_device_rdev'''()
|
|
Packit Service |
1d0348 |
and set with
|
|
Packit Service |
1d0348 |
'''archive_device_set_rdev'''().
|
|
Packit Service |
1d0348 |
The major and minor numbers are accessed by
|
|
Packit Service |
1d0348 |
'''archive_device_rdevmajor'''(),
|
|
Packit Service |
1d0348 |
'''archive_device_rdevminor'''()
|
|
Packit Service |
1d0348 |
'''archive_device_set_rdevmajor'''()
|
|
Packit Service |
1d0348 |
and
|
|
Packit Service |
1d0348 |
'''archive_device_set_rdevminor'''().
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The process of splitting the combined device number into major and
|
|
Packit Service |
1d0348 |
minor number and the reverse process of combing them differs between
|
|
Packit Service |
1d0348 |
platforms.
|
|
Packit Service |
1d0348 |
Some archive formats use the combined form, while other formats use
|
|
Packit Service |
1d0348 |
the split form.
|
|
Packit Service |
1d0348 |
== SEE ALSO ==
|
|
Packit Service |
1d0348 |
[[ManPagerchiventrycl3]],
|
|
Packit Service |
1d0348 |
[[ManPagerchiventryerms3]],
|
|
Packit Service |
1d0348 |
[[ManPagerchiventryime3]],
|
|
Packit Service |
1d0348 |
[[ManPageibarchive3]],
|
|
Packit Service |
1d0348 |
[[stat(2)|http://www.freebsd.org/cgi/man.cgi?query=stat&sektion=2]]
|