head 1.9; access; symbols libarchive-3-8-7:1.1.1.7 libarchive-3-8-6:1.1.1.7 pkgsrc-2026Q1:1.9.0.4 pkgsrc-2026Q1-base:1.9 libarchive-3-8-5:1.1.1.7 libarchive-3-8-4:1.1.1.7 pkgsrc-2025Q4:1.9.0.2 pkgsrc-2025Q4-base:1.9 libarchive-3-8-3:1.1.1.7 libarchive-3-8-2:1.1.1.6 pkgsrc-2025Q3:1.8.0.8 pkgsrc-2025Q3-base:1.8 libarchive-3-8-1:1.1.1.6 pkgsrc-2025Q2:1.8.0.6 pkgsrc-2025Q2-base:1.8 libarchive-3-8-0:1.1.1.6 libarchive-3-7-9:1.1.1.6 pkgsrc-2025Q1:1.8.0.4 pkgsrc-2025Q1-base:1.8 pkgsrc-2024Q4:1.8.0.2 pkgsrc-2024Q4-base:1.8 libarchive-3-7-7:1.1.1.6 pkgsrc-2024Q3:1.7.0.6 pkgsrc-2024Q3-base:1.7 libarchive-3-7-5:1.1.1.5 pkgsrc-2024Q2:1.7.0.4 pkgsrc-2024Q2-base:1.7 libarchive-3-7-4:1.1.1.5 libarchive-3-7-3:1.1.1.5 pkgsrc-2024Q1:1.7.0.2 pkgsrc-2024Q1-base:1.7 libarchive-3-7-2:1.1.1.5 pkgsrc-2023Q4:1.6.0.30 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.28 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.6.0.26 pkgsrc-2023Q2-base:1.6 pkgsrc-2023Q1:1.6.0.24 pkgsrc-2023Q1-base:1.6 pkgsrc-2022Q4:1.6.0.22 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.6.0.20 pkgsrc-2022Q3-base:1.6 pkgsrc-2022Q2:1.6.0.18 pkgsrc-2022Q2-base:1.6 pkgsrc-2022Q1:1.6.0.16 pkgsrc-2022Q1-base:1.6 pkgsrc-2021Q4:1.6.0.14 pkgsrc-2021Q4-base:1.6 pkgsrc-2021Q3:1.6.0.12 pkgsrc-2021Q3-base:1.6 pkgsrc-2021Q2:1.6.0.10 pkgsrc-2021Q2-base:1.6 pkgsrc-2021Q1:1.6.0.8 pkgsrc-2021Q1-base:1.6 pkgsrc-2020Q4:1.6.0.6 pkgsrc-2020Q4-base:1.6 pkgsrc-2020Q3:1.6.0.4 pkgsrc-2020Q3-base:1.6 pkgsrc-2020Q2:1.6.0.2 pkgsrc-2020Q2-base:1.6 pkgsrc-2020Q1:1.5.0.4 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.6 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.2 pkgsrc-2019Q3-base:1.5 libarchive-3-4-0:1.1.1.4 libarchive-3-3-3:1.1.1.3 pkgsrc-2019Q2:1.4.0.18 pkgsrc-2019Q2-base:1.4 pkgsrc-2019Q1:1.4.0.16 pkgsrc-2019Q1-base:1.4 pkgsrc-2018Q4:1.4.0.14 pkgsrc-2018Q4-base:1.4 pkgsrc-2018Q3:1.4.0.12 pkgsrc-2018Q3-base:1.4 pkgsrc-2018Q2:1.4.0.10 pkgsrc-2018Q2-base:1.4 pkgsrc-2018Q1:1.4.0.8 pkgsrc-2018Q1-base:1.4 pkgsrc-2017Q4:1.4.0.6 pkgsrc-2017Q4-base:1.4 pkgsrc-2017Q3:1.4.0.4 pkgsrc-2017Q3-base:1.4 libarchive-3-3-2:1.1.1.3 pkgsrc-2017Q2:1.3.0.4 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.2 pkgsrc-2017Q1-base:1.3 libarchive-3-3-1:1.1.1.2 pkgsrc-2016Q4:1.2.0.6 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.4 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.2 pkgsrc-2016Q2-base:1.2 libarchive-3-2-1:1.1.1.1 KIENTZLE:1.1.1 pkgsrc-2016Q1:1.1.0.10 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.8 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.6 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.4 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.2 pkgsrc-2015Q1-base:1.1; locks; strict; comment @# @; 1.9 date 2025.11.20.06.08.27; author adam; state Exp; branches; next 1.8; commitid kB7NF5kSlmUaVfjG; 1.8 date 2024.10.19.05.39.57; author adam; state Exp; branches; next 1.7; commitid fYRSlpIWMYluweuF; 1.7 date 2024.01.18.18.00.16; author adam; state Exp; branches; next 1.6; commitid hNXpsHx3SuHqsXUE; 1.6 date 2020.05.26.09.16.41; author nia; state Exp; branches; next 1.5; commitid nNhsdZACz3PjmJ9C; 1.5 date 2019.09.22.09.55.08; author joerg; state Exp; branches; next 1.4; commitid FdPvRjF4OzwBwZDB; 1.4 date 2017.08.01.22.26.23; author joerg; state Exp; branches; next 1.3; commitid 32clTfkmVE8bPy1A; 1.3 date 2017.02.25.21.11.19; author joerg; state Exp; branches; next 1.2; commitid rW8QfCWrsCO1snHz; 1.2 date 2016.06.20.17.24.57; author joerg; state Exp; branches; next 1.1; commitid ArUvympBjfBseebz; 1.1 date 2015.01.17.12.44.49; author adam; state Exp; branches 1.1.1.1; next ; commitid yy7e1hLrfmA2pn6y; 1.1.1.1 date 2016.06.20.17.12.01; author joerg; state Exp; branches; next 1.1.1.2; commitid rRgm3BqbmbI8aebz; 1.1.1.2 date 2017.02.25.20.54.12; author joerg; state Exp; branches; next 1.1.1.3; commitid ReqPI0ibLYjdmnHz; 1.1.1.3 date 2017.08.01.22.21.12; author joerg; state Exp; branches; next 1.1.1.4; commitid XQwPAFJku336Ny1A; 1.1.1.4 date 2019.09.22.09.51.33; author joerg; state Exp; branches; next 1.1.1.5; commitid 5kDbfPbiV3INvZDB; 1.1.1.5 date 2024.01.18.17.37.45; author adam; state Exp; branches; next 1.1.1.6; commitid zDULEPUODGjTkXUE; 1.1.1.6 date 2024.10.19.05.27.34; author adam; state Exp; branches; next 1.1.1.7; commitid v1iXM4j1Na52seuF; 1.1.1.7 date 2025.11.20.05.51.45; author adam; state Exp; branches; next ; commitid LC6NMc2P0QpnPfjG; desc @@ 1.9 log @libarchive: updated to 3.8.3 Libarchive 3.8.3 is a bugfix and security release. Security fixes: lib: Create temporary files in the target directory lha: Fix for an out-of-bounds buffer overrun when using p[H_LEVEL_OFFSET] 7-zip: Fix a buffer overrun when reading truncated 7zip headers Notable bugxies: lz4 and zstd: Support both lz4 and zstd data with leading skippable frames @ text @4mARCHIVE_ENTRY_STAT24m(3) Library Functions Manual 4mARCHIVE_ENTRY_STAT24m(3) 1mNAME0m archive_entry_stat, archive_entry_copy_stat, archive_entry_filetype, archive_entry_set_filetype, archive_entry_mode, archive_entry_set_mode, archive_entry_size, archive_entry_size_is_set, archive_entry_set_size, archive_entry_unset_size, archive_entry_dev, archive_entry_set_dev, archive_entry_dev_is_set, archive_entry_devmajor, archive_entry_set_devmajor, archive_entry_devminor, archive_entry_set_devminor, archive_entry_ino, archive_entry_set_ino, archive_entry_ino_is_set, archive_entry_ino64, archive_entry_set_ino64, archive_entry_nlink, archive_entry_rdev, archive_entry_set_rdev, archive_entry_rdevmajor, archive_entry_set_rdevmajor, archive_entry_rdevminor, archive_entry_set_rdevminor — accessor func‐ tions for manipulating archive entry descriptions 1mLIBRARY0m Streaming Archive Library (libarchive, -larchive) 1mSYNOPSIS0m 1m#include 0m 4mconst24m 4mstruct24m 4mstat24m 4m*0m 1marchive_entry_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_copy_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mconst24m 4mstruct24m 4mstat24m 4m*sb24m); 4mmode_t0m 1marchive_entry_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mtype24m); 4mmode_t0m 1marchive_entry_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mmode_t24m 4mmode24m); 4mint64_t0m 1marchive_entry_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mint0m 1marchive_entry_size_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_size22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4msize24m); 4mvoid0m 1marchive_entry_unset_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); 4mint0m 1marchive_entry_dev_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); 4mdev_t0m 1marchive_entry_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); 4mino_t0m 1marchive_entry_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mlong24m 4mino24m); 4mint0m 1marchive_entry_ino_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mint64_t0m 1marchive_entry_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4mino24m); 4munsigned24m 4mint0m 1marchive_entry_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mcount24m); 4mdev_t0m 1marchive_entry_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); 4mvoid0m 1marchive_entry_set_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); 4mvoid0m 1marchive_entry_set_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); 1mDESCRIPTION0m 1mCopying to and from 4mstruct24m 4mstat0m The function 1marchive_entry_stat22m() converts the various fields stored in the archive entry to the format used by 4mstat24m(2). The return value re‐ mains valid until either 1marchive_entry_clear22m() or 1marchive_entry_free22m() is called. It is not affected by calls to the set accessor functions. It currently sets the following values in 4mstruct24m 4mstat24m: 4mst_atime24m, 4mst_ctime24m, 4mst_dev24m, 4mst_gid24m, 4mst_ino24m, 4mst_mode24m, 4mst_mtime24m, 4mst_nlink24m, 4mst_rdev24m, 4mst_size24m, 4mst_uid24m. In addition, 4mst_birthtime24m and high-precision informa‐ tion for time-related fields will be included on platforms that support it. The function 1marchive_entry_copy_stat22m() copies fields from the plat‐ form's 4mstruct24m 4mstat24m. Fields not provided by 4mstruct24m 4mstat24m are unchanged. 1mGeneral accessor functions0m The functions 1marchive_entry_filetype22m() and 1marchive_entry_set_filetype22m() get respectively set the filetype. The file type is one of the follow‐ ing constants: AE_IFREG Regular file AE_IFLNK Symbolic link AE_IFSOCK Socket AE_IFCHR Character device AE_IFBLK Block device AE_IFDIR Directory AE_IFIFO Named pipe (fifo) Not all file types are supported by all platforms. The constants used by 4mstat24m(2) may have different numeric values from the corresponding constants above. The functions 1marchive_entry_mode22m() and 1marchive_entry_set_mode22m() get/set a combination of file type and permissions and provide the equivalent of 4mst_mode24m. Use of 1marchive_entry_filetype22m() and 1marchive_entry_perm22m() for getting and 1marchive_entry_set_filetype22m() and 1marchive_entry_set_perm22m() for setting is recommended. The function 1marchive_entry_size22m() returns the file size, if it has been set, and 0 otherwise. 1marchive_entry_size_is_set22m() can be used to query that status. 1marchive_entry_set_size22m() and 1marchive_entry_unset_size22m() set and unset the size, respectively. The number of references (hardlinks) can be obtained by calling 1marchive_entry_nlink22m() and set with 1marchive_entry_set_nlink22m(). 1mIdentifying unique files0m The functions 1marchive_entry_dev22m() and 1marchive_entry_ino6422m() are used by 4marchive_entry_linkify24m(3) to find hardlinks. The pair of device and in‐ ode is supposed to identify hardlinked files. The device major and minor number can be obtained independently using 1marchive_entry_devmajor22m() and 1marchive_entry_devminor22m(). The device can be set either via 1marchive_entry_set_dev22m() or by the combination of ma‐ jor and minor number using 1marchive_entry_set_devmajor22m() and 1marchive_entry_set_devminor22m(). The inode number can be obtained using 1marchive_entry_ino22m(). This is a legacy interface that uses the platform 4mino_t24m, which may be very small. To set the inode number, 1marchive_entry_set_ino6422m() is the preferred in‐ terface. 1mAccessor functions for block and character devices0m Block and character devices are characterised either using a device number or a pair of major and minor number. The combined device number can be obtained with 1marchive_device_rdev22m() and set with 1marchive_device_set_rdev22m(). The major and minor numbers are accessed by 1marchive_device_rdevmajor22m(), 1marchive_device_rdevminor22m() 1marchive_device_set_rdevmajor22m() and 1marchive_device_set_rdevminor22m(). The process of splitting the combined device number into major and mi‐ nor number and the reverse process of combing them differs between platforms. Some archive formats use the combined form, while other formats use the split form. 1mSEE ALSO0m 4mstat24m(2), 4marchive_entry_acl24m(3), 4marchive_entry_perms24m(3), 4marchive_entry_time24m(3), 4mlibarchive24m(3) Debian February 2, 2012 4mARCHIVE_ENTRY_STAT24m(3) @ 1.8 log @libarchive: updated to 3.7.7 Libarchive 3.7.7 is a bugfix and security release Security fixes: gzip: prevent a hang when processing a malformed gzip inside a gzip tar: don't crash on truncated tar archives tar: fix two leaks in tar header parsing Important bugfixes: 7-zip: read/write symlink paths as UTF-8 cpio: exit with an error code if an entry could not be extracted rar5: report encrypted entries tar: fix truncation of entry pathnames in specific archives windows: fix ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS Libarchive 3.7.6 is a bugfix and security release. This release fixes a tar regression introduced in libarchive 3.7.5 Important bugfixes. tar: clean up linkpath between entries tar: fix memory leaks when processing symlinks or parsing pax headers iso: be more cautious about parsing ISO-9660 timestamps @ text @d151 3 a153 3 set, and 0 otherwise. 1marchive_entry_size22m() can be used to query that status. 1marchive_entry_set_size22m() and 1marchive_entry_unset_size22m() set and unset the size, respectively. d155 1 a155 1 The number of references (hardlinks) can be obtained by calling d163 3 a165 3 The device major and minor number can be obtained independently using 1marchive_entry_devmajor22m() and 1marchive_entry_devminor22m(). The device can be set either via 1marchive_entry_set_dev22m() or by the combination of ma‐ d169 1 a169 1 The inode number can be obtained using 1marchive_entry_ino22m(). This is a d175 1 a175 1 Block and character devices are characterised either using a device d177 1 a177 1 can be obtained with 1marchive_device_rdev22m() and set with d182 3 a184 3 The process of splitting the combined device number into major and mi‐ nor number and the reverse process of combing them differs between platforms. Some archive formats use the combined form, while other d188 1 a188 1 4mstat24m(2), 4marchive_entry_acl24m(3), 4marchive_entry_perms24m(3), @ 1.7 log @libarchive: updated to 3.7.2 Libarchive 3.7.2 is a security, bugfix and feature release. Security fixes: Multiple vulnerabilities have been fixed in the PAX writer (1b4e0d0) Important bugfixes: bsdunzip(1) now correctly handles arguments following an -x after the zipfile New features: bsdunzip(1) now supports the "--version" flag 7-zip reader now translates Windows permissions into UNIX permissions uudecode filter in raw mode now supports file name and file mode zstd filter now supports the "long" write option Libarchive 3.7.1 is a security, feature and bugfix release. Security fixes: SEGV and stack buffer overflow in verbose mode of cpio Feature updates: bsdunzip updated to match latest upstream code Important bugfixes: miscellaneous functional bugfixes build fixes on multiple platforms Libarchive 3.7.0 is a feature and bugfix release. New features: bsdunzip: new tool ported from FreeBSD drop-in replacement for Info-ZIP unzip, not yet ported for Windows 7zip reader: support for Zstandard compression 7zip reader: support for ARM64 filter zstd filter: support for multi-frame zstd archives Other notable bugfixes and improvements: pax: fix year 2038 problem on platforms with 64-bit time_t Windows: Universal Windows Platform (UWP) fixes and improvements Windows: bcrypt usage fixes and improvements Windows: time function usage fixes and improvements @ text @d1 1 a1 1 ARCHIVE_ENTRY_STAT(3) BSD Library Functions Manual ARCHIVE_ENTRY_STAT(3) d3 187 a189 185 NAME archive_entry_stat, archive_entry_copy_stat, archive_entry_filetype, archive_entry_set_filetype, archive_entry_mode, archive_entry_set_mode, archive_entry_size, archive_entry_size_is_set, archive_entry_set_size, archive_entry_unset_size, archive_entry_dev, archive_entry_set_dev, archive_entry_dev_is_set, archive_entry_devmajor, archive_entry_set_devmajor, archive_entry_devminor, archive_entry_set_devminor, archive_entry_ino, archive_entry_set_ino, archive_entry_ino_is_set, archive_entry_ino64, archive_entry_set_ino64, archive_entry_nlink, archive_entry_rdev, archive_entry_set_rdev, archive_entry_rdevmajor, archive_entry_set_rdevmajor, archive_entry_rdevminor, archive_entry_set_rdevminor — accessor functions for manipulating archive entry descriptions LIBRARY Streaming Archive Library (libarchive, -larchive) SYNOPSIS #include const struct stat * archive_entry_stat(struct archive_entry *a); void archive_entry_copy_stat(struct archive_entry *a, const struct stat *sb); mode_t archive_entry_filetype(struct archive_entry *a); void archive_entry_set_filetype(struct archive_entry *a, unsigned int type); mode_t archive_entry_mode(struct archive_entry *a); void archive_entry_set_mode(struct archive_entry *a, mode_t mode); int64_t archive_entry_size(struct archive_entry *a); int archive_entry_size_is_set(struct archive_entry *a); void archive_entry_set_size(struct archive_entry *a, int64_t size); void archive_entry_unset_size(struct archive_entry *a); dev_t archive_entry_dev(struct archive_entry *a); void archive_entry_set_dev(struct archive_entry *a, dev_t dev); int archive_entry_dev_is_set(struct archive_entry *a); dev_t archive_entry_devmajor(struct archive_entry *a); void archive_entry_set_devmajor(struct archive_entry *a, dev_t major); dev_t archive_entry_devminor(struct archive_entry *a); void archive_entry_set_devminor(struct archive_entry *a, dev_t minor); ino_t archive_entry_ino(struct archive_entry *a); void archive_entry_set_ino(struct archive_entry *a, unsigned long ino); int archive_entry_ino_is_set(struct archive_entry *a); int64_t archive_entry_ino64(struct archive_entry *a); void archive_entry_set_ino64(struct archive_entry *a, int64_t ino); unsigned int archive_entry_nlink(struct archive_entry *a); void archive_entry_set_nlink(struct archive_entry *a, unsigned int count); dev_t archive_entry_rdev(struct archive_entry *a); dev_t archive_entry_rdevmajor(struct archive_entry *a); dev_t archive_entry_rdevminor(struct archive_entry *a); void archive_entry_set_rdev(struct archive_entry *a, dev_t dev); void archive_entry_set_rdevmajor(struct archive_entry *a, dev_t major); void archive_entry_set_rdevminor(struct archive_entry *a, dev_t minor); DESCRIPTION Copying to and from struct stat The function archive_entry_stat() converts the various fields stored in the archive entry to the format used by stat(2). The return value re‐ mains valid until either archive_entry_clear() or archive_entry_free() is called. It is not affected by calls to the set accessor functions. It currently sets the following values in struct stat: st_atime, st_ctime, st_dev, st_gid, st_ino, st_mode, st_mtime, st_nlink, st_rdev, st_size, st_uid. In addition, st_birthtime and high-precision information for time-related fields will be included on platforms that support it. The function archive_entry_copy_stat() copies fields from the platform's struct stat. Fields not provided by struct stat are unchanged. General accessor functions The functions archive_entry_filetype() and archive_entry_set_filetype() get respectively set the filetype. The file type is one of the following constants: AE_IFREG Regular file AE_IFLNK Symbolic link AE_IFSOCK Socket AE_IFCHR Character device AE_IFBLK Block device AE_IFDIR Directory AE_IFIFO Named pipe (fifo) Not all file types are supported by all platforms. The constants used by stat(2) may have different numeric values from the corresponding con‐ stants above. The functions archive_entry_mode() and archive_entry_set_mode() get/set a combination of file type and permissions and provide the equivalent of st_mode. Use of archive_entry_filetype() and archive_entry_perm() for getting and archive_entry_set_filetype() and archive_entry_set_perm() for setting is recommended. The function archive_entry_size() returns the file size, if it has been set, and 0 otherwise. archive_entry_size() can be used to query that status. archive_entry_set_size() and archive_entry_unset_size() set and unset the size, respectively. The number of references (hardlinks) can be obtained by calling archive_entry_nlink() and set with archive_entry_set_nlink(). Identifying unique files The functions archive_entry_dev() and archive_entry_ino64() are used by archive_entry_linkify(3) to find hardlinks. The pair of device and inode is supposed to identify hardlinked files. The device major and minor number can be obtained independently using archive_entry_devmajor() and archive_entry_devminor(). The device can be set either via archive_entry_set_dev() or by the combination of major and minor number using archive_entry_set_devmajor() and archive_entry_set_devminor(). The inode number can be obtained using archive_entry_ino(). This is a legacy interface that uses the platform ino_t, which may be very small. To set the inode number, archive_entry_set_ino64() is the preferred in‐ terface. Accessor functions for block and character devices Block and character devices are characterised either using a device num‐ ber or a pair of major and minor number. The combined device number can be obtained with archive_device_rdev() and set with archive_device_set_rdev(). The major and minor numbers are accessed by archive_device_rdevmajor(), archive_device_rdevminor() archive_device_set_rdevmajor() and archive_device_set_rdevminor(). The process of splitting the combined device number into major and minor number and the reverse process of combing them differs between platforms. Some archive formats use the combined form, while other formats use the split form. SEE ALSO stat(2), archive_entry_acl(3), archive_entry_perms(3), archive_entry_time(3), libarchive(3) d191 1 a191 1 BSD February 2, 2012 BSD @ 1.6 log @libarchive: Update to 3.4.3 Libarchive 3.4.3 is a feature and bugfix release. New features: support for pzstd compressed files (#1357) support for RHT.security.selinux tar extended attribute (#1348) Important bugfixes: various zstd fixes and improvements (#1342 #1352 #1359) child process handling fixes (#1372) Libarchive 3.4.2 is a feature and security release. New features: support for atomic file extraction (bsdtar -x --safe-writes) (#1289) support for mbed TLS (PolarSSL) (#1301) Important bugfixes: security fixes in RAR5 reader (#1280 #1326) compression buffer fix in XAR writer (#1317) fix uname and gname longer than 32 characters in PAX writer (#1319) fix segfault when archiving hard links in ISO9660 and XAR writers (#1325) fix support for extracting 7z archive entries with Delta filter (#987) Libarchive 3.4.1 is a feature and security release. New features: Unicode filename support for reading lha/lzh archives New pax write option "xattrhdr" Important bugfixes: security fixes in wide string processing (#1276 #1298) security fixes in RAR5 reader (#1212 #1217 #1296) security fixes and optimizations to write filter logic (#351) security fix related to use of readlink(2) (1dae5a5) sparse file handling fixes (#1218 #1260) Thanks to all contributors and bug reporters. Special thanks to Christos Zoulas (@@zoulasc) from NetBSD for the atomic file extraction feature. @ text @d14 2 a15 2 archive_entry_rdevminor, archive_entry_set_rdevminor -- accessor func- tions for manipulating archive entry descriptions d116 7 a122 8 the archive entry to the format used by stat(2). The return value remains valid until either archive_entry_clear() or archive_entry_free() is called. It is not affected by calls to the set accessor functions. It currently sets the following values in struct stat: st_atime, st_ctime, st_dev, st_gid, st_ino, st_mode, st_mtime, st_nlink, st_rdev, st_size, st_uid. In addition, st_birthtime and high-precision informa- tion for time-related fields will be included on platforms that support it. d129 1 a129 1 get respectively set the filetype. The file type is one of the following d138 2 a139 2 Not all file types are supported by all platforms. The constants used by stat(2) may have different numeric values from the corresponding con- d169 2 a170 2 To set the inode number, archive_entry_set_ino64() is the preferred interface. d173 1 a173 1 Block and character devices are characterised either using a device num- d176 1 a176 1 archive_device_set_rdev(). The major and minor numbers are accessed by d189 1 a189 1 BSD February 2, 2012 BSD @ 1.5 log @Update for libarchive-3.4.0: - improvements for Android APK and JAR archives - better support for non-recursive list and extract - tar --exclude-vcs support - fixes for file attributes and flags handling - zipx support - rar 5.0 reader @ text @d14 1 a14 1 archive_entry_rdevminor, archive_entry_set_rdevminor, — accessor func‐ d116 8 a123 7 the archive entry to the format used by stat(2). The return value re‐ mains valid until either archive_entry_clear() or archive_entry_free() is called. It is not affected by calls to the set accessor functions. It currently sets the following values in struct stat: st_atime, st_ctime, st_dev, st_gid, st_ino, st_mode, st_mtime, st_nlink, st_rdev, st_size, st_uid. In addition, st_birthtime and high-precision information for time-related fields will be included on platforms that support it. d140 1 a140 1 stat(2) may have different numeric values from the corresponding con‐ d155 1 a155 1 archive_entry_nlinks() and set with archive_entry_set_nlinks(). d170 2 a171 2 To set the inode number, archive_entry_set_ino64() is the preferred in‐ terface. d174 1 a174 1 Block and character devices are characterised either using a device num‐ d187 2 a188 2 archive_entry_acl(3), archive_entry_perms(3), archive_entry_time(3), libarchive(3), stat(2) @ 1.4 log @Merge for libarchive-3.3.2. @ text @d116 7 a122 8 the archive entry to the format used by stat(2). The return value remains valid until either archive_entry_clear() or archive_entry_free() is called. It is not affected by calls to the set accessor functions. It currently sets the following values in struct stat: st_atime, st_ctime, st_dev, st_gid, st_ino, st_mode, st_mtime, st_nlink, st_rdev, st_size, st_uid. In addition, st_birthtime and high-precision informa‐ tion for time-related fields will be included on platforms that support it. d169 2 a170 2 To set the inode number, archive_entry_set_ino64() is the preferred interface. @ 1.3 log @Merge libarchive-3.3.1. @ text @d3 12 a14 12 1mNAME0m 1marchive_entry_stat22m, 1marchive_entry_copy_stat22m, 1marchive_entry_filetype22m, 1marchive_entry_set_filetype22m, 1marchive_entry_mode22m, 1marchive_entry_set_mode22m, 1marchive_entry_size22m, 1marchive_entry_size_is_set22m, 1marchive_entry_set_size22m, 1marchive_entry_unset_size22m, 1marchive_entry_dev22m, 1marchive_entry_set_dev22m, 1marchive_entry_dev_is_set22m, 1marchive_entry_devmajor22m, 1marchive_entry_set_devmajor22m, 1marchive_entry_devminor22m, 1marchive_entry_set_devminor22m, 1marchive_entry_ino22m, 1marchive_entry_set_ino22m, 1marchive_entry_ino_is_set22m, 1marchive_entry_ino6422m, 1marchive_entry_set_ino6422m, 1marchive_entry_nlink22m, 1marchive_entry_rdev22m, 1marchive_entry_set_rdev22m, 1marchive_entry_rdevmajor22m, 1marchive_entry_set_rdevmajor22m, 1marchive_entry_rdevminor22m, 1marchive_entry_set_rdevminor22m, — accessor func‐ d17 1 a17 1 1mLIBRARY0m d20 2 a21 2 1mSYNOPSIS0m 1m#include 0m d23 2 a24 2 4mconst24m 4mstruct24m 4mstat24m 4m*0m 1marchive_entry_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m); d26 2 a27 2 4mvoid0m 1marchive_entry_copy_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mconst24m 4mstruct24m 4mstat24m 4m*sb24m); d29 2 a30 2 4mmode_t0m 1marchive_entry_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m); d32 2 a33 2 4mvoid0m 1marchive_entry_set_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mtype24m); d35 2 a36 2 4mmode_t0m 1marchive_entry_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m); d38 2 a39 2 4mvoid0m 1marchive_entry_set_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mmode_t24m 4mmode24m); d41 2 a42 2 4mint64_t0m 1marchive_entry_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); d44 2 a45 2 4mint0m 1marchive_entry_size_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); d47 2 a48 2 4mvoid0m 1marchive_entry_set_size22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4msize24m); d50 2 a51 2 4mvoid0m 1marchive_entry_unset_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); d53 2 a54 2 4mdev_t0m 1marchive_entry_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m); d56 2 a57 2 4mvoid0m 1marchive_entry_set_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); d59 2 a60 2 4mint0m 1marchive_entry_dev_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); d62 2 a63 2 4mdev_t0m 1marchive_entry_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d65 2 a66 2 4mvoid0m 1marchive_entry_set_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); d68 2 a69 2 4mdev_t0m 1marchive_entry_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d71 2 a72 2 4mvoid0m 1marchive_entry_set_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); d74 2 a75 2 4mino_t0m 1marchive_entry_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m); d77 2 a78 2 4mvoid0m 1marchive_entry_set_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mlong24m 4mino24m); d80 2 a81 2 4mint0m 1marchive_entry_ino_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); d83 2 a84 2 4mint64_t0m 1marchive_entry_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m); d86 2 a87 2 4mvoid0m 1marchive_entry_set_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4mino24m); d89 2 a90 2 4munsigned24m 4mint0m 1marchive_entry_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m); d92 2 a93 2 4mvoid0m 1marchive_entry_set_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mcount24m); d95 2 a96 2 4mdev_t0m 1marchive_entry_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m); d98 2 a99 2 4mdev_t0m 1marchive_entry_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d101 2 a102 2 4mdev_t0m 1marchive_entry_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d104 2 a105 2 4mvoid0m 1marchive_entry_set_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); d107 2 a108 2 4mvoid0m 1marchive_entry_set_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); d110 2 a111 2 4mvoid0m 1marchive_entry_set_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); d113 3 a115 3 1mDESCRIPTION0m 1mCopying to and from 4m22mstruct24m 4mstat0m The function 1marchive_entry_stat22m() converts the various fields stored in d117 1 a117 1 remains valid until either 1marchive_entry_clear22m() or 1marchive_entry_free22m() d119 3 a121 3 It currently sets the following values in 4mstruct24m 4mstat24m: 4mst_atime24m, 4mst_ctime24m, 4mst_dev24m, 4mst_gid24m, 4mst_ino24m, 4mst_mode24m, 4mst_mtime24m, 4mst_nlink24m, 4mst_rdev24m, 4mst_size24m, 4mst_uid24m. In addition, 4mst_birthtime24m and high-precision informa‐ d125 2 a126 2 The function 1marchive_entry_copy_stat22m() copies fields from the platform's 4mstruct24m 4mstat24m. Fields not provided by 4mstruct24m 4mstat24m are unchanged. d128 2 a129 2 1mGeneral accessor functions0m The functions 1marchive_entry_filetype22m() and 1marchive_entry_set_filetype22m() d143 1 a143 1 The functions 1marchive_entry_mode22m() and 1marchive_entry_set_mode22m() get/set a d145 2 a146 2 4mst_mode24m. Use of 1marchive_entry_filetype22m() and 1marchive_entry_perm22m() for getting and 1marchive_entry_set_filetype22m() and 1marchive_entry_set_perm22m() for d149 3 a151 3 The function 1marchive_entry_size22m() returns the file size, if it has been set, and 0 otherwise. 1marchive_entry_size22m() can be used to query that status. 1marchive_entry_set_size22m() and 1marchive_entry_unset_size22m() set and d155 1 a155 1 1marchive_entry_nlinks22m() and set with 1marchive_entry_set_nlinks22m(). d157 2 a158 2 1mIdentifying unique files0m The functions 1marchive_entry_dev22m() and 1marchive_entry_ino6422m() are used by d163 8 a170 8 1marchive_entry_devmajor22m() and 1marchive_entry_devminor22m(). The device can be set either via 1marchive_entry_set_dev22m() or by the combination of major and minor number using 1marchive_entry_set_devmajor22m() and 1marchive_entry_set_devminor22m(). The inode number can be obtained using 1marchive_entry_ino22m(). This is a legacy interface that uses the platform 4mino_t24m, which may be very small. To set the inode number, 1marchive_entry_set_ino6422m() is the preferred d173 1 a173 1 1mAccessor functions for block and character devices0m d176 4 a179 4 be obtained with 1marchive_device_rdev22m() and set with 1marchive_device_set_rdev22m(). The major and minor numbers are accessed by 1marchive_device_rdevmajor22m(), 1marchive_device_rdevminor22m() 1marchive_device_set_rdevmajor22m() and 1marchive_device_set_rdevminor22m(). d186 1 a186 1 1mSEE ALSO0m @ 1.2 log @Update for libarchive 3.2.1. @ text @d3 12 a14 12 NAME archive_entry_stat, archive_entry_copy_stat, archive_entry_filetype, archive_entry_set_filetype, archive_entry_mode, archive_entry_set_mode, archive_entry_size, archive_entry_size_is_set, archive_entry_set_size, archive_entry_unset_size, archive_entry_dev, archive_entry_set_dev, archive_entry_dev_is_set, archive_entry_devmajor, archive_entry_set_devmajor, archive_entry_devminor, archive_entry_set_devminor, archive_entry_ino, archive_entry_set_ino, archive_entry_ino_is_set, archive_entry_ino64, archive_entry_set_ino64, archive_entry_nlink, archive_entry_rdev, archive_entry_set_rdev, archive_entry_rdevmajor, archive_entry_set_rdevmajor, archive_entry_rdevminor, archive_entry_set_rdevminor, — accessor func‐ d17 1 a17 1 LIBRARY d20 2 a21 2 SYNOPSIS #include d23 2 a24 2 const struct stat * archive_entry_stat(struct archive_entry *a); d26 2 a27 2 void archive_entry_copy_stat(struct archive_entry *a, const struct stat *sb); d29 2 a30 2 mode_t archive_entry_filetype(struct archive_entry *a); d32 2 a33 2 void archive_entry_set_filetype(struct archive_entry *a, unsigned int type); d35 2 a36 2 mode_t archive_entry_mode(struct archive_entry *a); d38 2 a39 2 void archive_entry_set_mode(struct archive_entry *a, mode_t mode); d41 2 a42 2 int64_t archive_entry_size(struct archive_entry *a); d44 2 a45 2 int archive_entry_size_is_set(struct archive_entry *a); d47 2 a48 2 void archive_entry_set_size(struct archive_entry *a, int64_t size); d50 2 a51 2 void archive_entry_unset_size(struct archive_entry *a); d53 2 a54 2 dev_t archive_entry_dev(struct archive_entry *a); d56 2 a57 2 void archive_entry_set_dev(struct archive_entry *a, dev_t dev); d59 2 a60 2 int archive_entry_dev_is_set(struct archive_entry *a); d62 2 a63 2 dev_t archive_entry_devmajor(struct archive_entry *a); d65 2 a66 2 void archive_entry_set_devmajor(struct archive_entry *a, dev_t major); d68 2 a69 2 dev_t archive_entry_devminor(struct archive_entry *a); d71 2 a72 2 void archive_entry_set_devminor(struct archive_entry *a, dev_t minor); d74 2 a75 2 ino_t archive_entry_ino(struct archive_entry *a); d77 2 a78 2 void archive_entry_set_ino(struct archive_entry *a, unsigned long ino); d80 2 a81 2 int archive_entry_ino_is_set(struct archive_entry *a); d83 2 a84 2 int64_t archive_entry_ino64(struct archive_entry *a); d86 2 a87 2 void archive_entry_set_ino64(struct archive_entry *a, int64_t ino); d89 2 a90 2 unsigned int archive_entry_nlink(struct archive_entry *a); d92 2 a93 2 void archive_entry_set_nlink(struct archive_entry *a, unsigned int count); d95 2 a96 2 dev_t archive_entry_rdev(struct archive_entry *a); d98 2 a99 2 dev_t archive_entry_rdevmajor(struct archive_entry *a); d101 2 a102 2 dev_t archive_entry_rdevminor(struct archive_entry *a); d104 2 a105 2 void archive_entry_set_rdev(struct archive_entry *a, dev_t dev); d107 2 a108 2 void archive_entry_set_rdevmajor(struct archive_entry *a, dev_t major); d110 2 a111 2 void archive_entry_set_rdevminor(struct archive_entry *a, dev_t minor); d113 3 a115 3 DESCRIPTION Copying to and from struct stat The function archive_entry_stat() converts the various fields stored in d117 1 a117 1 remains valid until either archive_entry_clear() or archive_entry_free() d119 3 a121 3 It currently sets the following values in struct stat: st_atime, st_ctime, st_dev, st_gid, st_ino, st_mode, st_mtime, st_nlink, st_rdev, st_size, st_uid. In addition, st_birthtime and high-precision informa‐ d125 2 a126 2 The function archive_entry_copy_stat() copies fields from the platform's struct stat. Fields not provided by struct stat are unchanged. d128 2 a129 2 General accessor functions The functions archive_entry_filetype() and archive_entry_set_filetype() d143 1 a143 1 The functions archive_entry_mode() and archive_entry_set_mode() get/set a d145 2 a146 2 st_mode. Use of archive_entry_filetype() and archive_entry_perm() for getting and archive_entry_set_filetype() and archive_entry_set_perm() for d149 3 a151 3 The function archive_entry_size() returns the file size, if it has been set, and 0 otherwise. archive_entry_size() can be used to query that status. archive_entry_set_size() and archive_entry_unset_size() set and d155 1 a155 1 archive_entry_nlinks() and set with archive_entry_set_nlinks(). d157 2 a158 2 Identifying unique files The functions archive_entry_dev() and archive_entry_ino64() are used by d163 8 a170 8 archive_entry_devmajor() and archive_entry_devminor(). The device can be set either via archive_entry_set_dev() or by the combination of major and minor number using archive_entry_set_devmajor() and archive_entry_set_devminor(). The inode number can be obtained using archive_entry_ino(). This is a legacy interface that uses the platform ino_t, which may be very small. To set the inode number, archive_entry_set_ino64() is the preferred d173 1 a173 1 Accessor functions for block and character devices d176 4 a179 4 be obtained with archive_device_rdev() and set with archive_device_set_rdev(). The major and minor numbers are accessed by archive_device_rdevmajor(), archive_device_rdevminor() archive_device_set_rdevmajor() and archive_device_set_rdevminor(). d186 1 a186 1 SEE ALSO @ 1.1 log @Changes 3.1.2: This is a maintenance update to fix issues with the new RAR seeking feature. This new release also contains fixes for build failures when building libarchive using Visual Studio 2012 and MinGW. @ text @d160 1 a160 1 is suppossed to identify hardlinked files. d187 2 a188 2 archive(3), archive_entry_acl(3), archive_entry_perms(3), archive_entry_time(3), stat(2) @ 1.1.1.1 log @Import libarchive-3.2.1: - security fixes and other bugfixes - support for multhreading in xz 5.2+ @ text @d160 1 a160 1 is supposed to identify hardlinked files. d187 2 a188 2 archive_entry_acl(3), archive_entry_perms(3), archive_entry_time(3), libarchive(3), stat(2) @ 1.1.1.2 log @Import libarchive-3.3.1. @ text @d3 12 a14 12 1mNAME0m 1marchive_entry_stat22m, 1marchive_entry_copy_stat22m, 1marchive_entry_filetype22m, 1marchive_entry_set_filetype22m, 1marchive_entry_mode22m, 1marchive_entry_set_mode22m, 1marchive_entry_size22m, 1marchive_entry_size_is_set22m, 1marchive_entry_set_size22m, 1marchive_entry_unset_size22m, 1marchive_entry_dev22m, 1marchive_entry_set_dev22m, 1marchive_entry_dev_is_set22m, 1marchive_entry_devmajor22m, 1marchive_entry_set_devmajor22m, 1marchive_entry_devminor22m, 1marchive_entry_set_devminor22m, 1marchive_entry_ino22m, 1marchive_entry_set_ino22m, 1marchive_entry_ino_is_set22m, 1marchive_entry_ino6422m, 1marchive_entry_set_ino6422m, 1marchive_entry_nlink22m, 1marchive_entry_rdev22m, 1marchive_entry_set_rdev22m, 1marchive_entry_rdevmajor22m, 1marchive_entry_set_rdevmajor22m, 1marchive_entry_rdevminor22m, 1marchive_entry_set_rdevminor22m, — accessor func‐ d17 1 a17 1 1mLIBRARY0m d20 2 a21 2 1mSYNOPSIS0m 1m#include 0m d23 2 a24 2 4mconst24m 4mstruct24m 4mstat24m 4m*0m 1marchive_entry_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m); d26 2 a27 2 4mvoid0m 1marchive_entry_copy_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mconst24m 4mstruct24m 4mstat24m 4m*sb24m); d29 2 a30 2 4mmode_t0m 1marchive_entry_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m); d32 2 a33 2 4mvoid0m 1marchive_entry_set_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mtype24m); d35 2 a36 2 4mmode_t0m 1marchive_entry_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m); d38 2 a39 2 4mvoid0m 1marchive_entry_set_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mmode_t24m 4mmode24m); d41 2 a42 2 4mint64_t0m 1marchive_entry_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); d44 2 a45 2 4mint0m 1marchive_entry_size_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); d47 2 a48 2 4mvoid0m 1marchive_entry_set_size22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4msize24m); d50 2 a51 2 4mvoid0m 1marchive_entry_unset_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); d53 2 a54 2 4mdev_t0m 1marchive_entry_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m); d56 2 a57 2 4mvoid0m 1marchive_entry_set_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); d59 2 a60 2 4mint0m 1marchive_entry_dev_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); d62 2 a63 2 4mdev_t0m 1marchive_entry_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d65 2 a66 2 4mvoid0m 1marchive_entry_set_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); d68 2 a69 2 4mdev_t0m 1marchive_entry_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d71 2 a72 2 4mvoid0m 1marchive_entry_set_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); d74 2 a75 2 4mino_t0m 1marchive_entry_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m); d77 2 a78 2 4mvoid0m 1marchive_entry_set_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mlong24m 4mino24m); d80 2 a81 2 4mint0m 1marchive_entry_ino_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); d83 2 a84 2 4mint64_t0m 1marchive_entry_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m); d86 2 a87 2 4mvoid0m 1marchive_entry_set_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4mino24m); d89 2 a90 2 4munsigned24m 4mint0m 1marchive_entry_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m); d92 2 a93 2 4mvoid0m 1marchive_entry_set_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mcount24m); d95 2 a96 2 4mdev_t0m 1marchive_entry_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m); d98 2 a99 2 4mdev_t0m 1marchive_entry_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d101 2 a102 2 4mdev_t0m 1marchive_entry_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); d104 2 a105 2 4mvoid0m 1marchive_entry_set_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); d107 2 a108 2 4mvoid0m 1marchive_entry_set_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); d110 2 a111 2 4mvoid0m 1marchive_entry_set_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); d113 3 a115 3 1mDESCRIPTION0m 1mCopying to and from 4m22mstruct24m 4mstat0m The function 1marchive_entry_stat22m() converts the various fields stored in d117 1 a117 1 remains valid until either 1marchive_entry_clear22m() or 1marchive_entry_free22m() d119 3 a121 3 It currently sets the following values in 4mstruct24m 4mstat24m: 4mst_atime24m, 4mst_ctime24m, 4mst_dev24m, 4mst_gid24m, 4mst_ino24m, 4mst_mode24m, 4mst_mtime24m, 4mst_nlink24m, 4mst_rdev24m, 4mst_size24m, 4mst_uid24m. In addition, 4mst_birthtime24m and high-precision informa‐ d125 2 a126 2 The function 1marchive_entry_copy_stat22m() copies fields from the platform's 4mstruct24m 4mstat24m. Fields not provided by 4mstruct24m 4mstat24m are unchanged. d128 2 a129 2 1mGeneral accessor functions0m The functions 1marchive_entry_filetype22m() and 1marchive_entry_set_filetype22m() d143 1 a143 1 The functions 1marchive_entry_mode22m() and 1marchive_entry_set_mode22m() get/set a d145 2 a146 2 4mst_mode24m. Use of 1marchive_entry_filetype22m() and 1marchive_entry_perm22m() for getting and 1marchive_entry_set_filetype22m() and 1marchive_entry_set_perm22m() for d149 3 a151 3 The function 1marchive_entry_size22m() returns the file size, if it has been set, and 0 otherwise. 1marchive_entry_size22m() can be used to query that status. 1marchive_entry_set_size22m() and 1marchive_entry_unset_size22m() set and d155 1 a155 1 1marchive_entry_nlinks22m() and set with 1marchive_entry_set_nlinks22m(). d157 2 a158 2 1mIdentifying unique files0m The functions 1marchive_entry_dev22m() and 1marchive_entry_ino6422m() are used by d163 8 a170 8 1marchive_entry_devmajor22m() and 1marchive_entry_devminor22m(). The device can be set either via 1marchive_entry_set_dev22m() or by the combination of major and minor number using 1marchive_entry_set_devmajor22m() and 1marchive_entry_set_devminor22m(). The inode number can be obtained using 1marchive_entry_ino22m(). This is a legacy interface that uses the platform 4mino_t24m, which may be very small. To set the inode number, 1marchive_entry_set_ino6422m() is the preferred d173 1 a173 1 1mAccessor functions for block and character devices0m d176 4 a179 4 be obtained with 1marchive_device_rdev22m() and set with 1marchive_device_set_rdev22m(). The major and minor numbers are accessed by 1marchive_device_rdevmajor22m(), 1marchive_device_rdevminor22m() 1marchive_device_set_rdevmajor22m() and 1marchive_device_set_rdevminor22m(). d186 1 a186 1 1mSEE ALSO0m @ 1.1.1.3 log @Import libarchive-3.3.2 + 9de5f3 + f9dacbf: - Support NFS4 ACLs on Linux - Bugfixes @ text @d3 12 a14 12 NAME archive_entry_stat, archive_entry_copy_stat, archive_entry_filetype, archive_entry_set_filetype, archive_entry_mode, archive_entry_set_mode, archive_entry_size, archive_entry_size_is_set, archive_entry_set_size, archive_entry_unset_size, archive_entry_dev, archive_entry_set_dev, archive_entry_dev_is_set, archive_entry_devmajor, archive_entry_set_devmajor, archive_entry_devminor, archive_entry_set_devminor, archive_entry_ino, archive_entry_set_ino, archive_entry_ino_is_set, archive_entry_ino64, archive_entry_set_ino64, archive_entry_nlink, archive_entry_rdev, archive_entry_set_rdev, archive_entry_rdevmajor, archive_entry_set_rdevmajor, archive_entry_rdevminor, archive_entry_set_rdevminor, — accessor func‐ d17 1 a17 1 LIBRARY d20 2 a21 2 SYNOPSIS #include d23 2 a24 2 const struct stat * archive_entry_stat(struct archive_entry *a); d26 2 a27 2 void archive_entry_copy_stat(struct archive_entry *a, const struct stat *sb); d29 2 a30 2 mode_t archive_entry_filetype(struct archive_entry *a); d32 2 a33 2 void archive_entry_set_filetype(struct archive_entry *a, unsigned int type); d35 2 a36 2 mode_t archive_entry_mode(struct archive_entry *a); d38 2 a39 2 void archive_entry_set_mode(struct archive_entry *a, mode_t mode); d41 2 a42 2 int64_t archive_entry_size(struct archive_entry *a); d44 2 a45 2 int archive_entry_size_is_set(struct archive_entry *a); d47 2 a48 2 void archive_entry_set_size(struct archive_entry *a, int64_t size); d50 2 a51 2 void archive_entry_unset_size(struct archive_entry *a); d53 2 a54 2 dev_t archive_entry_dev(struct archive_entry *a); d56 2 a57 2 void archive_entry_set_dev(struct archive_entry *a, dev_t dev); d59 2 a60 2 int archive_entry_dev_is_set(struct archive_entry *a); d62 2 a63 2 dev_t archive_entry_devmajor(struct archive_entry *a); d65 2 a66 2 void archive_entry_set_devmajor(struct archive_entry *a, dev_t major); d68 2 a69 2 dev_t archive_entry_devminor(struct archive_entry *a); d71 2 a72 2 void archive_entry_set_devminor(struct archive_entry *a, dev_t minor); d74 2 a75 2 ino_t archive_entry_ino(struct archive_entry *a); d77 2 a78 2 void archive_entry_set_ino(struct archive_entry *a, unsigned long ino); d80 2 a81 2 int archive_entry_ino_is_set(struct archive_entry *a); d83 2 a84 2 int64_t archive_entry_ino64(struct archive_entry *a); d86 2 a87 2 void archive_entry_set_ino64(struct archive_entry *a, int64_t ino); d89 2 a90 2 unsigned int archive_entry_nlink(struct archive_entry *a); d92 2 a93 2 void archive_entry_set_nlink(struct archive_entry *a, unsigned int count); d95 2 a96 2 dev_t archive_entry_rdev(struct archive_entry *a); d98 2 a99 2 dev_t archive_entry_rdevmajor(struct archive_entry *a); d101 2 a102 2 dev_t archive_entry_rdevminor(struct archive_entry *a); d104 2 a105 2 void archive_entry_set_rdev(struct archive_entry *a, dev_t dev); d107 2 a108 2 void archive_entry_set_rdevmajor(struct archive_entry *a, dev_t major); d110 2 a111 2 void archive_entry_set_rdevminor(struct archive_entry *a, dev_t minor); d113 3 a115 3 DESCRIPTION Copying to and from struct stat The function archive_entry_stat() converts the various fields stored in d117 1 a117 1 remains valid until either archive_entry_clear() or archive_entry_free() d119 3 a121 3 It currently sets the following values in struct stat: st_atime, st_ctime, st_dev, st_gid, st_ino, st_mode, st_mtime, st_nlink, st_rdev, st_size, st_uid. In addition, st_birthtime and high-precision informa‐ d125 2 a126 2 The function archive_entry_copy_stat() copies fields from the platform's struct stat. Fields not provided by struct stat are unchanged. d128 2 a129 2 General accessor functions The functions archive_entry_filetype() and archive_entry_set_filetype() d143 1 a143 1 The functions archive_entry_mode() and archive_entry_set_mode() get/set a d145 2 a146 2 st_mode. Use of archive_entry_filetype() and archive_entry_perm() for getting and archive_entry_set_filetype() and archive_entry_set_perm() for d149 3 a151 3 The function archive_entry_size() returns the file size, if it has been set, and 0 otherwise. archive_entry_size() can be used to query that status. archive_entry_set_size() and archive_entry_unset_size() set and d155 1 a155 1 archive_entry_nlinks() and set with archive_entry_set_nlinks(). d157 2 a158 2 Identifying unique files The functions archive_entry_dev() and archive_entry_ino64() are used by d163 8 a170 8 archive_entry_devmajor() and archive_entry_devminor(). The device can be set either via archive_entry_set_dev() or by the combination of major and minor number using archive_entry_set_devmajor() and archive_entry_set_devminor(). The inode number can be obtained using archive_entry_ino(). This is a legacy interface that uses the platform ino_t, which may be very small. To set the inode number, archive_entry_set_ino64() is the preferred d173 1 a173 1 Accessor functions for block and character devices d176 4 a179 4 be obtained with archive_device_rdev() and set with archive_device_set_rdev(). The major and minor numbers are accessed by archive_device_rdevmajor(), archive_device_rdevminor() archive_device_set_rdevmajor() and archive_device_set_rdevminor(). d186 1 a186 1 SEE ALSO @ 1.1.1.4 log @Import libarchive 3.4.0 @ text @d116 8 a123 7 the archive entry to the format used by stat(2). The return value re‐ mains valid until either archive_entry_clear() or archive_entry_free() is called. It is not affected by calls to the set accessor functions. It currently sets the following values in struct stat: st_atime, st_ctime, st_dev, st_gid, st_ino, st_mode, st_mtime, st_nlink, st_rdev, st_size, st_uid. In addition, st_birthtime and high-precision information for time-related fields will be included on platforms that support it. d170 2 a171 2 To set the inode number, archive_entry_set_ino64() is the preferred in‐ terface. @ 1.1.1.5 log @Import libarchive 3.7.2 @ text @d14 2 a15 2 archive_entry_rdevminor, archive_entry_set_rdevminor — accessor functions for manipulating archive entry descriptions d129 1 a129 1 get respectively set the filetype. The file type is one of the following d138 1 a138 1 Not all file types are supported by all platforms. The constants used by d154 1 a154 1 archive_entry_nlink() and set with archive_entry_set_nlink(). d176 1 a176 1 archive_device_set_rdev(). The major and minor numbers are accessed by d186 2 a187 2 stat(2), archive_entry_acl(3), archive_entry_perms(3), archive_entry_time(3), libarchive(3) d189 1 a189 1 BSD February 2, 2012 BSD @ 1.1.1.6 log @libarchove: import version 3.7.7 @ text @d1 1 a1 1 4mARCHIVE_ENTRY_STAT24m(3) Library Functions Manual 4mARCHIVE_ENTRY_STAT24m(3) d3 185 a187 187 1mNAME0m archive_entry_stat, archive_entry_copy_stat, archive_entry_filetype, archive_entry_set_filetype, archive_entry_mode, archive_entry_set_mode, archive_entry_size, archive_entry_size_is_set, archive_entry_set_size, archive_entry_unset_size, archive_entry_dev, archive_entry_set_dev, archive_entry_dev_is_set, archive_entry_devmajor, archive_entry_set_devmajor, archive_entry_devminor, archive_entry_set_devminor, archive_entry_ino, archive_entry_set_ino, archive_entry_ino_is_set, archive_entry_ino64, archive_entry_set_ino64, archive_entry_nlink, archive_entry_rdev, archive_entry_set_rdev, archive_entry_rdevmajor, archive_entry_set_rdevmajor, archive_entry_rdevminor, archive_entry_set_rdevminor — accessor func‐ tions for manipulating archive entry descriptions 1mLIBRARY0m Streaming Archive Library (libarchive, -larchive) 1mSYNOPSIS0m 1m#include 0m 4mconst24m 4mstruct24m 4mstat24m 4m*0m 1marchive_entry_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_copy_stat22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mconst24m 4mstruct24m 4mstat24m 4m*sb24m); 4mmode_t0m 1marchive_entry_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_filetype22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mtype24m); 4mmode_t0m 1marchive_entry_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_mode22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mmode_t24m 4mmode24m); 4mint64_t0m 1marchive_entry_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mint0m 1marchive_entry_size_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_size22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4msize24m); 4mvoid0m 1marchive_entry_unset_size22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_dev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); 4mint0m 1marchive_entry_dev_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_devmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); 4mdev_t0m 1marchive_entry_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_devminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); 4mino_t0m 1marchive_entry_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_ino22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mlong24m 4mino24m); 4mint0m 1marchive_entry_ino_is_set22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mint64_t0m 1marchive_entry_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_ino6422m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mint64_t24m 4mino24m); 4munsigned24m 4mint0m 1marchive_entry_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_nlink22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4munsigned24m 4mint24m 4mcount24m); 4mdev_t0m 1marchive_entry_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mdev_t0m 1marchive_entry_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m); 4mvoid0m 1marchive_entry_set_rdev22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mdev24m); 4mvoid0m 1marchive_entry_set_rdevmajor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mmajor24m); 4mvoid0m 1marchive_entry_set_rdevminor22m(4mstruct24m 4marchive_entry24m 4m*a24m, 4mdev_t24m 4mminor24m); 1mDESCRIPTION0m 1mCopying to and from 4mstruct24m 4mstat0m The function 1marchive_entry_stat22m() converts the various fields stored in the archive entry to the format used by 4mstat24m(2). The return value re‐ mains valid until either 1marchive_entry_clear22m() or 1marchive_entry_free22m() is called. It is not affected by calls to the set accessor functions. It currently sets the following values in 4mstruct24m 4mstat24m: 4mst_atime24m, 4mst_ctime24m, 4mst_dev24m, 4mst_gid24m, 4mst_ino24m, 4mst_mode24m, 4mst_mtime24m, 4mst_nlink24m, 4mst_rdev24m, 4mst_size24m, 4mst_uid24m. In addition, 4mst_birthtime24m and high-precision informa‐ tion for time-related fields will be included on platforms that support it. The function 1marchive_entry_copy_stat22m() copies fields from the plat‐ form's 4mstruct24m 4mstat24m. Fields not provided by 4mstruct24m 4mstat24m are unchanged. 1mGeneral accessor functions0m The functions 1marchive_entry_filetype22m() and 1marchive_entry_set_filetype22m() get respectively set the filetype. The file type is one of the follow‐ ing constants: AE_IFREG Regular file AE_IFLNK Symbolic link AE_IFSOCK Socket AE_IFCHR Character device AE_IFBLK Block device AE_IFDIR Directory AE_IFIFO Named pipe (fifo) Not all file types are supported by all platforms. The constants used by 4mstat24m(2) may have different numeric values from the corresponding constants above. The functions 1marchive_entry_mode22m() and 1marchive_entry_set_mode22m() get/set a combination of file type and permissions and provide the equivalent of 4mst_mode24m. Use of 1marchive_entry_filetype22m() and 1marchive_entry_perm22m() for getting and 1marchive_entry_set_filetype22m() and 1marchive_entry_set_perm22m() for setting is recommended. The function 1marchive_entry_size22m() returns the file size, if it has been set, and 0 otherwise. 1marchive_entry_size22m() can be used to query that status. 1marchive_entry_set_size22m() and 1marchive_entry_unset_size22m() set and unset the size, respectively. The number of references (hardlinks) can be obtained by calling 1marchive_entry_nlink22m() and set with 1marchive_entry_set_nlink22m(). 1mIdentifying unique files0m The functions 1marchive_entry_dev22m() and 1marchive_entry_ino6422m() are used by 4marchive_entry_linkify24m(3) to find hardlinks. The pair of device and in‐ ode is supposed to identify hardlinked files. The device major and minor number can be obtained independently using 1marchive_entry_devmajor22m() and 1marchive_entry_devminor22m(). The device can be set either via 1marchive_entry_set_dev22m() or by the combination of ma‐ jor and minor number using 1marchive_entry_set_devmajor22m() and 1marchive_entry_set_devminor22m(). The inode number can be obtained using 1marchive_entry_ino22m(). This is a legacy interface that uses the platform 4mino_t24m, which may be very small. To set the inode number, 1marchive_entry_set_ino6422m() is the preferred in‐ terface. 1mAccessor functions for block and character devices0m Block and character devices are characterised either using a device number or a pair of major and minor number. The combined device number can be obtained with 1marchive_device_rdev22m() and set with 1marchive_device_set_rdev22m(). The major and minor numbers are accessed by 1marchive_device_rdevmajor22m(), 1marchive_device_rdevminor22m() 1marchive_device_set_rdevmajor22m() and 1marchive_device_set_rdevminor22m(). The process of splitting the combined device number into major and mi‐ nor number and the reverse process of combing them differs between platforms. Some archive formats use the combined form, while other formats use the split form. 1mSEE ALSO0m 4mstat24m(2), 4marchive_entry_acl24m(3), 4marchive_entry_perms24m(3), 4marchive_entry_time24m(3), 4mlibarchive24m(3) d189 1 a189 1 Debian February 2, 2012 4mARCHIVE_ENTRY_STAT24m(3) @ 1.1.1.7 log @libarchive: import version 3.8.3 @ text @d151 3 a153 3 set, and 0 otherwise. 1marchive_entry_size_is_set22m() can be used to query that status. 1marchive_entry_set_size22m() and 1marchive_entry_unset_size22m() set and unset the size, respectively. d155 1 a155 1 The number of references (hardlinks) can be obtained by calling d163 3 a165 3 The device major and minor number can be obtained independently using 1marchive_entry_devmajor22m() and 1marchive_entry_devminor22m(). The device can be set either via 1marchive_entry_set_dev22m() or by the combination of ma‐ d169 1 a169 1 The inode number can be obtained using 1marchive_entry_ino22m(). This is a d175 1 a175 1 Block and character devices are characterised either using a device d177 1 a177 1 can be obtained with 1marchive_device_rdev22m() and set with d182 3 a184 3 The process of splitting the combined device number into major and mi‐ nor number and the reverse process of combing them differs between platforms. Some archive formats use the combined form, while other d188 1 a188 1 4mstat24m(2), 4marchive_entry_acl24m(3), 4marchive_entry_perms24m(3), @