head 1.10; access; symbols libarchive-3-8-11:1.1.1.8 libarchive-3-8-10:1.1.1.8 pkgsrc-2026Q3:1.9.0.2 pkgsrc-2026Q3-base:1.9 libarchive-3-8-9:1.1.1.7 libarchive-3-8-8:1.1.1.7 pkgsrc-2026Q2:1.8.0.14 pkgsrc-2026Q2-base:1.8 libarchive-3-8-7:1.1.1.6 libarchive-3-8-6:1.1.1.6 pkgsrc-2026Q1:1.8.0.12 pkgsrc-2026Q1-base:1.8 libarchive-3-8-5:1.1.1.6 libarchive-3-8-4:1.1.1.6 pkgsrc-2025Q4:1.8.0.10 pkgsrc-2025Q4-base:1.8 libarchive-3-8-3:1.1.1.6 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.10 date 2026.10.19.12.05.17; author adam; state Exp; branches; next 1.9; commitid R3KJfVxz3NuPb50H; 1.9 date 2026.06.24.06.29.53; author adam; state Exp; branches; next 1.8; commitid keXVOnvWIwV061LG; 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 2026.06.24.05.39.01; author adam; state Exp; branches; next 1.1.1.8; commitid zmhI9f4umm2AO0LG; 1.1.1.8 date 2026.10.19.11.50.40; author adam; state Exp; branches; next ; commitid eS0MvMrTxXQX650H; desc @@ 1.10 log @libarchive: updated to 3.8.10 3.8.10 New features: 7z: add Delta, RISCV, ARMTHUMB and IA64 filters for non-lzma archives libarchive: support digest with nettle 4 and mbedtls 3 tar: add --mode option Security and Bug Fixes see ChangeLog @ text @4mARCHIVE_READ_OPEN24m(3) Library Functions Manual 4mARCHIVE_READ_OPEN24m(3) 1mNAME0m archive_read_open, archive_read_open2, archive_read_open_fd, archive_read_open_FILE, archive_read_open_filename, archive_read_open_filenames, archive_read_open_memory — functions for reading streaming archives 1mLIBRARY0m Streaming Archive Library (libarchive, -larchive) 1mSYNOPSIS0m 1m#include 0m 4mint0m 1marchive_read_open22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open222m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_skip_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open_FILE22m(4mstruct24m 4marchive24m 4m*24m, 4mFILE24m 4m*file24m); 4mint0m 1marchive_read_open_fd22m(4mstruct24m 4marchive24m 4m*24m, 4mint24m 4mfd24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_filename22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mchar24m 4m*filename24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_filenames22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mchar24m 4m**filenames24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_memory22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mvoid24m 4m*buff24m, 4msize_t24m 4msize24m); 1mDESCRIPTION0m 1marchive_read_open22m() The same as 1marchive_read_open222m(), except that the skip callback is assumed to be NULL. 1marchive_read_open222m() Freeze the settings, open the archive, and prepare for reading entries. This is the most generic version of this call, which accepts four callback functions. Most clients will want to use 1marchive_read_open_filename22m(), 1marchive_read_open_FILE22m(), 1marchive_read_open_fd22m(), or 1marchive_read_open_memory22m() instead. The library invokes the client-provided functions to obtain raw bytes from the archive. 1marchive_read_open_FILE22m() Like 1marchive_read_open22m(), except that it accepts a 4mFILE24m 4m*0m pointer. This function should not be used with tape drives or other devices that require strict I/O blocking. 1marchive_read_open_fd22m() Like 1marchive_read_open22m(), except that it accepts a file de‐ scriptor and block size rather than a set of function pointers. Note that the file descriptor will not be automatically closed at end-of-archive. This function is safe for use with tape drives or other blocked devices. 1marchive_read_open_file22m() This is a deprecated synonym for 1marchive_read_open_filename22m(). 1marchive_read_open_filename22m() Like 1marchive_read_open22m(), except that it accepts a simple file‐ name and a block size. A NULL filename represents standard in‐ put. This function is safe for use with tape drives or other blocked devices. 1marchive_read_open_filenames22m() Like 1marchive_read_open22m(), except that it accepts a NULL-termi‐ nated array of filenames to open in sequence (as would be cre‐ ated by the 4msplit24m(1) command) and a block size. A NULL file‐ name at the beginning of the array represents standard input. This function is safe for use with tape drives or other blocked devices. 1marchive_read_open_memory22m() Like 1marchive_read_open22m(), except that it accepts a pointer and size of a block of memory containing the archive data. A complete description of the struct archive and struct archive_entry objects can be found in the overview manual page for 4mlibarchive24m(3). 1mCLIENT CALLBACKS0m The callback functions must match the following prototypes: 4mtypedef24m 4mla_ssize_t24m 1marchive_read_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4mconst24m 4mvoid24m 4m**buffer24m) 4mtypedef24m 4mla_int64_t24m 1marchive_skip_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4moff_t24m 4mrequest24m) 4mtypedef24m 4mint24m 1marchive_open_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) 4mtypedef24m 4mint24m 1marchive_close_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) The open callback is invoked by 1marchive_read_open22m(). It should return 1mARCHIVE_OK 22mif the underlying file or data source is successfully opened. If the open fails, it should call 1marchive_set_error22m() to reg‐ ister an error code and message and return 1mARCHIVE_FATAL22m. The read callback is invoked whenever the library requires raw bytes from the archive. The read callback should read data into a buffer, set the 1mconst void **buffer 22margument to point to the available data, and return a count of the number of bytes available. The library will invoke the read callback again only after it has consumed this data. The library imposes no constraints on the size of the data blocks re‐ turned. On end-of-file, the read callback should return zero. On er‐ ror, the read callback should invoke 1marchive_set_error22m() to register an error code and message and return -1. The skip callback is invoked when the library wants to ignore a block of data. The return value is the number of bytes actually skipped, which may differ from the request. If the callback cannot skip data, it should return zero. If the skip callback is not provided (the func‐ tion pointer is NULL ), the library will invoke the read function in‐ stead and simply discard the result. A skip callback can provide sig‐ nificant performance gains when reading uncompressed archives from slow disk drives or other media that can skip quickly. The close callback is invoked by archive_read_close when the archive processing is complete. The callback should return 1mARCHIVE_OK 22mon suc‐ cess. On failure, the callback should invoke 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL22m. 1mRETURN VALUES0m These functions return 1mARCHIVE_OK 22mon success, or 1mARCHIVE_FATAL22m. 1mERRORS0m Detailed error codes and textual descriptions are available from the 1marchive_errno22m() and 1marchive_error_string22m() functions. 1mSEE ALSO0m 4mtar24m(1), 4marchive_read24m(3), 4marchive_read_data24m(3), 4marchive_read_filter24m(3), 4marchive_read_format24m(3), 4marchive_read_set_options24m(3), 4marchive_util24m(3), 4mlibarchive24m(3), 4mtar24m(5) Debian February 2, 2012 4mARCHIVE_READ_OPEN24m(3) @ 1.9 log @libarchive: updated to 3.8.8 Libarchive 3.8.8 is a security, bugfix and minor feature release. New features: add support for reading encrypted zipx formats (bzip2, lzma, ppmd, xz, zstd) Fix overview: https://github.com/libarchive/libarchive/releases/tag/v3.8.8 @ text @d101 1 a101 1 The open callback is invoked by 1marchive_open22m(). It should return d125 4 a128 4 The close callback is invoked by archive_close when the archive pro‐ cessing is complete. The callback should return 1mARCHIVE_OK 22mon success. On failure, the callback should invoke 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL22m. d134 1 a134 1 Detailed error codes and textual descriptions are available from the d138 1 a138 1 4mtar24m(1), 4marchive_read24m(3), 4marchive_read_data24m(3), 4marchive_read_filter24m(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 @d6 2 a7 1 archive_read_open_memory — functions for reading streaming archives d36 4 d72 7 @ 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_READ_OPEN(3) BSD Library Functions Manual ARCHIVE_READ_OPEN(3) d3 126 a128 126 NAME archive_read_open, archive_read_open2, archive_read_open_fd, archive_read_open_FILE, archive_read_open_filename, archive_read_open_memory — functions for reading streaming archives LIBRARY Streaming Archive Library (libarchive, -larchive) SYNOPSIS #include int archive_read_open(struct archive *, void *client_data, archive_open_callback *, archive_read_callback *, archive_close_callback *); int archive_read_open2(struct archive *, void *client_data, archive_open_callback *, archive_read_callback *, archive_skip_callback *, archive_close_callback *); int archive_read_open_FILE(struct archive *, FILE *file); int archive_read_open_fd(struct archive *, int fd, size_t block_size); int archive_read_open_filename(struct archive *, const char *filename, size_t block_size); int archive_read_open_memory(struct archive *, const void *buff, size_t size); DESCRIPTION archive_read_open() The same as archive_read_open2(), except that the skip callback is assumed to be NULL. archive_read_open2() Freeze the settings, open the archive, and prepare for reading entries. This is the most generic version of this call, which accepts four callback functions. Most clients will want to use archive_read_open_filename(), archive_read_open_FILE(), archive_read_open_fd(), or archive_read_open_memory() instead. The library invokes the client-provided functions to obtain raw bytes from the archive. archive_read_open_FILE() Like archive_read_open(), except that it accepts a FILE * pointer. This function should not be used with tape drives or other devices that require strict I/O blocking. archive_read_open_fd() Like archive_read_open(), except that it accepts a file descrip‐ tor and block size rather than a set of function pointers. Note that the file descriptor will not be automatically closed at end- of-archive. This function is safe for use with tape drives or other blocked devices. archive_read_open_file() This is a deprecated synonym for archive_read_open_filename(). archive_read_open_filename() Like archive_read_open(), except that it accepts a simple file‐ name and a block size. A NULL filename represents standard in‐ put. This function is safe for use with tape drives or other blocked devices. archive_read_open_memory() Like archive_read_open(), except that it accepts a pointer and size of a block of memory containing the archive data. A complete description of the struct archive and struct archive_entry ob‐ jects can be found in the overview manual page for libarchive(3). CLIENT CALLBACKS The callback functions must match the following prototypes: typedef la_ssize_t archive_read_callback(struct archive *, void *client_data, const void **buffer) typedef la_int64_t archive_skip_callback(struct archive *, void *client_data, off_t request) typedef int archive_open_callback(struct archive *, void *client_data) typedef int archive_close_callback(struct archive *, void *client_data) The open callback is invoked by archive_open(). It should return ARCHIVE_OK if the underlying file or data source is successfully opened. If the open fails, it should call archive_set_error() to register an er‐ ror code and message and return ARCHIVE_FATAL. The read callback is invoked whenever the library requires raw bytes from the archive. The read callback should read data into a buffer, set the const void **buffer argument to point to the available data, and return a count of the number of bytes available. The library will invoke the read callback again only after it has consumed this data. The library imposes no constraints on the size of the data blocks returned. On end-of-file, the read callback should return zero. On error, the read callback should invoke archive_set_error() to register an error code and message and re‐ turn -1. The skip callback is invoked when the library wants to ignore a block of data. The return value is the number of bytes actually skipped, which may differ from the request. If the callback cannot skip data, it should return zero. If the skip callback is not provided (the function pointer is NULL ), the library will invoke the read function instead and simply discard the result. A skip callback can provide significant performance gains when reading uncompressed archives from slow disk drives or other media that can skip quickly. The close callback is invoked by archive_close when the archive process‐ ing is complete. The callback should return ARCHIVE_OK on success. On failure, the callback should invoke archive_set_error() to register an error code and message and return ARCHIVE_FATAL. RETURN VALUES These functions return ARCHIVE_OK on success, or ARCHIVE_FATAL. ERRORS Detailed error codes and textual descriptions are available from the archive_errno() and archive_error_string() functions. SEE ALSO tar(1), archive_read(3), archive_read_data(3), archive_read_filter(3), archive_read_format(3), archive_read_set_options(3), archive_util(3), libarchive(3), tar(5) d130 1 a130 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 @d6 1 a6 1 archive_read_open_memory -- functions for reading streaming archives d55 2 a56 2 Like archive_read_open(), except that it accepts a file descrip- tor and block size rather than a set of function pointers. Note d63 3 a65 3 Like archive_read_open(), except that it accepts a simple file- name and a block size. A NULL filename represents standard input. This function is safe for use with tape drives or other d71 2 a72 2 A complete description of the struct archive and struct archive_entry objects can be found in the overview manual page for libarchive(3). d91 2 a92 2 If the open fails, it should call archive_set_error() to register an error code and message and return ARCHIVE_FATAL. d101 2 a102 2 invoke archive_set_error() to register an error code and message and return -1. d113 1 a113 1 The close callback is invoked by archive_close when the archive process- d130 1 a130 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 @d6 1 a6 1 archive_read_open_memory — functions for reading streaming archives d55 1 a55 1 Like archive_read_open(), except that it accepts a file descrip‐ d63 3 a65 3 Like archive_read_open(), except that it accepts a simple file‐ name and a block size. A NULL filename represents standard in‐ put. This function is safe for use with tape drives or other d71 2 a72 2 A complete description of the struct archive and struct archive_entry ob‐ jects can be found in the overview manual page for libarchive(3). d91 2 a92 2 If the open fails, it should call archive_set_error() to register an er‐ ror code and message and return ARCHIVE_FATAL. d101 2 a102 2 invoke archive_set_error() to register an error code and message and re‐ turn -1. d113 1 a113 1 The close callback is invoked by archive_close when the archive process‐ d126 3 a128 3 tar(1), libarchive(3), archive_read(3), archive_read_data(3), archive_read_filter(3), archive_read_format(3), archive_read_set_options(3), archive_util(3), tar(5) @ 1.4 log @Merge for libarchive-3.3.2. @ text @d64 2 a65 2 name and a block size. A NULL filename represents standard input. This function is safe for use with tape drives or other d71 2 a72 2 A complete description of the struct archive and struct archive_entry objects can be found in the overview manual page for libarchive(3). d91 2 a92 2 If the open fails, it should call archive_set_error() to register an error code and message and return ARCHIVE_FATAL. d101 2 a102 2 invoke archive_set_error() to register an error code and message and return -1. @ 1.3 log @Merge libarchive-3.3.1. @ text @d3 4 a6 4 1mNAME0m 1marchive_read_open22m, 1marchive_read_open222m, 1marchive_read_open_fd22m, 1marchive_read_open_FILE22m, 1marchive_read_open_filename22m, 1marchive_read_open_memory22m, — functions for reading streaming archives d8 1 a8 1 1mLIBRARY0m d11 2 a12 2 1mSYNOPSIS0m 1m#include 0m d14 27 a40 26 4mint0m 1marchive_read_open22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open222m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_skip_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open_FILE22m(4mstruct24m 4marchive24m 4m*24m, 4mFILE24m 4m*file24m); 4mint0m 1marchive_read_open_fd22m(4mstruct24m 4marchive24m 4m*24m, 4mint24m 4mfd24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_filename22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mchar24m 4m*filename24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_memory22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*buff24m, 4msize_t24m 4msize24m); 1mDESCRIPTION0m 1marchive_read_open22m() The same as 1marchive_read_open222m(), except that the skip callback d42 1 a42 1 1marchive_read_open222m() d46 2 a47 2 1marchive_read_open_filename22m(), 1marchive_read_open_FILE22m(), 1marchive_read_open_fd22m(), or 1marchive_read_open_memory22m() instead. d50 2 a51 2 1marchive_read_open_FILE22m() Like 1marchive_read_open22m(), except that it accepts a 4mFILE24m 4m*0m d54 2 a55 2 1marchive_read_open_fd22m() Like 1marchive_read_open22m(), except that it accepts a file descrip‐ d60 4 a63 4 1marchive_read_open_file22m() This is a deprecated synonym for 1marchive_read_open_filename22m(). 1marchive_read_open_filename22m() Like 1marchive_read_open22m(), except that it accepts a simple file‐ d67 2 a68 2 1marchive_read_open_memory22m() Like 1marchive_read_open22m(), except that it accepts a pointer and d74 1 a74 1 1mCLIENT CALLBACKS0m d77 2 a78 2 4mtypedef24m 4mla_ssize_t24m 1marchive_read_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4mconst24m 4mvoid24m 4m**buffer24m) d80 2 a81 2 4mtypedef24m 4mla_int64_t24m 1marchive_skip_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4moff_t24m 4mrequest24m) d83 2 a84 2 4mtypedef24m 4mint24m 1marchive_open_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) d86 7 a92 7 4mtypedef24m 4mint24m 1marchive_close_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) The open callback is invoked by 1marchive_open22m(). It should return 1mARCHIVE_OK 22mif the underlying file or data source is successfully opened. If the open fails, it should call 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL22m. d101 1 a101 1 invoke 1marchive_set_error22m() to register an error code and message and d114 3 a116 3 ing is complete. The callback should return 1mARCHIVE_OK 22mon success. On failure, the callback should invoke 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL.0m d118 2 a119 2 1mRETURN VALUES0m These functions return 1mARCHIVE_OK 22mon success, or 1mARCHIVE_FATAL22m. d121 1 a121 1 1mERRORS0m d123 1 a123 1 1marchive_errno22m() and 1marchive_error_string22m() functions. d125 1 a125 1 1mSEE ALSO0m @ 1.2 log @Update for libarchive 3.2.1. @ text @d3 4 a6 4 NAME archive_read_open, archive_read_open2, archive_read_open_fd, archive_read_open_FILE, archive_read_open_filename, archive_read_open_memory, — functions for reading streaming archives d8 1 a8 1 LIBRARY d11 2 a12 2 SYNOPSIS #include d14 26 a39 26 int archive_read_open(struct archive *, void *client_data, archive_open_callback *, archive_read_callback *, archive_close_callback *); int archive_read_open2(struct archive *, void *client_data, archive_open_callback *, archive_read_callback *, archive_skip_callback *, archive_close_callback *); int archive_read_open_FILE(struct archive *, FILE *file); int archive_read_open_fd(struct archive *, int fd, size_t block_size); int archive_read_open_filename(struct archive *, const char *filename, size_t block_size); int archive_read_open_memory(struct archive *, void *buff, size_t size); DESCRIPTION archive_read_open() The same as archive_read_open2(), except that the skip callback d41 1 a41 1 archive_read_open2() d45 2 a46 2 archive_read_open_filename(), archive_read_open_FILE(), archive_read_open_fd(), or archive_read_open_memory() instead. d49 2 a50 2 archive_read_open_FILE() Like archive_read_open(), except that it accepts a FILE * d53 2 a54 2 archive_read_open_fd() Like archive_read_open(), except that it accepts a file descrip‐ d59 4 a62 4 archive_read_open_file() This is a deprecated synonym for archive_read_open_filename(). archive_read_open_filename() Like archive_read_open(), except that it accepts a simple file‐ d66 2 a67 2 archive_read_open_memory() Like archive_read_open(), except that it accepts a pointer and d73 1 a73 1 CLIENT CALLBACKS d76 2 a77 2 typedef la_ssize_t archive_read_callback(struct archive *, void *client_data, const void **buffer) d79 2 a80 2 typedef la_int64_t archive_skip_callback(struct archive *, void *client_data, off_t request) d82 2 a83 2 typedef int archive_open_callback(struct archive *, void *client_data) d85 7 a91 7 typedef int archive_close_callback(struct archive *, void *client_data) The open callback is invoked by archive_open(). It should return ARCHIVE_OK if the underlying file or data source is successfully opened. If the open fails, it should call archive_set_error() to register an error code and message and return ARCHIVE_FATAL. d100 1 a100 1 invoke archive_set_error() to register an error code and message and d113 3 a115 3 ing is complete. The callback should return ARCHIVE_OK on success. On failure, the callback should invoke archive_set_error() to register an error code and message and return ARCHIVE_FATAL. d117 2 a118 2 RETURN VALUES These functions return ARCHIVE_OK on success, or ARCHIVE_FATAL. d120 1 a120 1 ERRORS d122 1 a122 1 archive_errno() and archive_error_string() functions. d124 1 a124 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 @d76 1 a76 1 typedef ssize_t archive_read_callback(struct archive *, d79 1 a79 1 typedef off_t archive_skip_callback(struct archive *, @ 1.1.1.1 log @Import libarchive-3.2.1: - security fixes and other bugfixes - support for multhreading in xz 5.2+ @ text @d76 1 a76 1 typedef la_ssize_t archive_read_callback(struct archive *, d79 1 a79 1 typedef la_int64_t archive_skip_callback(struct archive *, @ 1.1.1.2 log @Import libarchive-3.3.1. @ text @d3 4 a6 4 1mNAME0m 1marchive_read_open22m, 1marchive_read_open222m, 1marchive_read_open_fd22m, 1marchive_read_open_FILE22m, 1marchive_read_open_filename22m, 1marchive_read_open_memory22m, — functions for reading streaming archives d8 1 a8 1 1mLIBRARY0m d11 2 a12 2 1mSYNOPSIS0m 1m#include 0m d14 26 a39 26 4mint0m 1marchive_read_open22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open222m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_skip_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open_FILE22m(4mstruct24m 4marchive24m 4m*24m, 4mFILE24m 4m*file24m); 4mint0m 1marchive_read_open_fd22m(4mstruct24m 4marchive24m 4m*24m, 4mint24m 4mfd24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_filename22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mchar24m 4m*filename24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_memory22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*buff24m, 4msize_t24m 4msize24m); 1mDESCRIPTION0m 1marchive_read_open22m() The same as 1marchive_read_open222m(), except that the skip callback d41 1 a41 1 1marchive_read_open222m() d45 2 a46 2 1marchive_read_open_filename22m(), 1marchive_read_open_FILE22m(), 1marchive_read_open_fd22m(), or 1marchive_read_open_memory22m() instead. d49 2 a50 2 1marchive_read_open_FILE22m() Like 1marchive_read_open22m(), except that it accepts a 4mFILE24m 4m*0m d53 2 a54 2 1marchive_read_open_fd22m() Like 1marchive_read_open22m(), except that it accepts a file descrip‐ d59 4 a62 4 1marchive_read_open_file22m() This is a deprecated synonym for 1marchive_read_open_filename22m(). 1marchive_read_open_filename22m() Like 1marchive_read_open22m(), except that it accepts a simple file‐ d66 2 a67 2 1marchive_read_open_memory22m() Like 1marchive_read_open22m(), except that it accepts a pointer and d73 1 a73 1 1mCLIENT CALLBACKS0m d76 2 a77 2 4mtypedef24m 4mla_ssize_t24m 1marchive_read_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4mconst24m 4mvoid24m 4m**buffer24m) d79 2 a80 2 4mtypedef24m 4mla_int64_t24m 1marchive_skip_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4moff_t24m 4mrequest24m) d82 2 a83 2 4mtypedef24m 4mint24m 1marchive_open_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) d85 7 a91 7 4mtypedef24m 4mint24m 1marchive_close_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) The open callback is invoked by 1marchive_open22m(). It should return 1mARCHIVE_OK 22mif the underlying file or data source is successfully opened. If the open fails, it should call 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL22m. d100 1 a100 1 invoke 1marchive_set_error22m() to register an error code and message and d113 3 a115 3 ing is complete. The callback should return 1mARCHIVE_OK 22mon success. On failure, the callback should invoke 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL.0m d117 2 a118 2 1mRETURN VALUES0m These functions return 1mARCHIVE_OK 22mon success, or 1mARCHIVE_FATAL22m. d120 1 a120 1 1mERRORS0m d122 1 a122 1 1marchive_errno22m() and 1marchive_error_string22m() functions. d124 1 a124 1 1mSEE ALSO0m @ 1.1.1.3 log @Import libarchive-3.3.2 + 9de5f3 + f9dacbf: - Support NFS4 ACLs on Linux - Bugfixes @ text @d3 4 a6 4 NAME archive_read_open, archive_read_open2, archive_read_open_fd, archive_read_open_FILE, archive_read_open_filename, archive_read_open_memory — functions for reading streaming archives d8 1 a8 1 LIBRARY d11 2 a12 2 SYNOPSIS #include d14 26 a39 27 int archive_read_open(struct archive *, void *client_data, archive_open_callback *, archive_read_callback *, archive_close_callback *); int archive_read_open2(struct archive *, void *client_data, archive_open_callback *, archive_read_callback *, archive_skip_callback *, archive_close_callback *); int archive_read_open_FILE(struct archive *, FILE *file); int archive_read_open_fd(struct archive *, int fd, size_t block_size); int archive_read_open_filename(struct archive *, const char *filename, size_t block_size); int archive_read_open_memory(struct archive *, const void *buff, size_t size); DESCRIPTION archive_read_open() The same as archive_read_open2(), except that the skip callback d41 1 a41 1 archive_read_open2() d45 2 a46 2 archive_read_open_filename(), archive_read_open_FILE(), archive_read_open_fd(), or archive_read_open_memory() instead. d49 2 a50 2 archive_read_open_FILE() Like archive_read_open(), except that it accepts a FILE * d53 2 a54 2 archive_read_open_fd() Like archive_read_open(), except that it accepts a file descrip‐ d59 4 a62 4 archive_read_open_file() This is a deprecated synonym for archive_read_open_filename(). archive_read_open_filename() Like archive_read_open(), except that it accepts a simple file‐ d66 2 a67 2 archive_read_open_memory() Like archive_read_open(), except that it accepts a pointer and d73 1 a73 1 CLIENT CALLBACKS d76 2 a77 2 typedef la_ssize_t archive_read_callback(struct archive *, void *client_data, const void **buffer) d79 2 a80 2 typedef la_int64_t archive_skip_callback(struct archive *, void *client_data, off_t request) d82 2 a83 2 typedef int archive_open_callback(struct archive *, void *client_data) d85 7 a91 7 typedef int archive_close_callback(struct archive *, void *client_data) The open callback is invoked by archive_open(). It should return ARCHIVE_OK if the underlying file or data source is successfully opened. If the open fails, it should call archive_set_error() to register an error code and message and return ARCHIVE_FATAL. d100 1 a100 1 invoke archive_set_error() to register an error code and message and d113 3 a115 3 ing is complete. The callback should return ARCHIVE_OK on success. On failure, the callback should invoke archive_set_error() to register an error code and message and return ARCHIVE_FATAL. d117 2 a118 2 RETURN VALUES These functions return ARCHIVE_OK on success, or ARCHIVE_FATAL. d120 1 a120 1 ERRORS d122 1 a122 1 archive_errno() and archive_error_string() functions. d124 1 a124 1 SEE ALSO @ 1.1.1.4 log @Import libarchive 3.4.0 @ text @d64 2 a65 2 name and a block size. A NULL filename represents standard in‐ put. This function is safe for use with tape drives or other d71 2 a72 2 A complete description of the struct archive and struct archive_entry ob‐ jects can be found in the overview manual page for libarchive(3). d91 2 a92 2 If the open fails, it should call archive_set_error() to register an er‐ ror code and message and return ARCHIVE_FATAL. d101 2 a102 2 invoke archive_set_error() to register an error code and message and re‐ turn -1. @ 1.1.1.5 log @Import libarchive 3.7.2 @ text @d56 1 a56 1 tor and block size rather than a set of function pointers. Note d126 3 a128 3 tar(1), archive_read(3), archive_read_data(3), archive_read_filter(3), archive_read_format(3), archive_read_set_options(3), archive_util(3), libarchive(3), tar(5) d130 1 a130 1 BSD February 2, 2012 BSD @ 1.1.1.6 log @libarchove: import version 3.7.7 @ text @d1 1 a1 1 4mARCHIVE_READ_OPEN24m(3) Library Functions Manual 4mARCHIVE_READ_OPEN24m(3) d3 126 a128 126 1mNAME0m archive_read_open, archive_read_open2, archive_read_open_fd, archive_read_open_FILE, archive_read_open_filename, archive_read_open_memory — functions for reading streaming archives 1mLIBRARY0m Streaming Archive Library (libarchive, -larchive) 1mSYNOPSIS0m 1m#include 0m 4mint0m 1marchive_read_open22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open222m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4marchive_open_callback24m 4m*24m, 4marchive_read_callback24m 4m*24m, 4marchive_skip_callback24m 4m*24m, 4marchive_close_callback24m 4m*24m); 4mint0m 1marchive_read_open_FILE22m(4mstruct24m 4marchive24m 4m*24m, 4mFILE24m 4m*file24m); 4mint0m 1marchive_read_open_fd22m(4mstruct24m 4marchive24m 4m*24m, 4mint24m 4mfd24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_filename22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mchar24m 4m*filename24m, 4msize_t24m 4mblock_size24m); 4mint0m 1marchive_read_open_memory22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mvoid24m 4m*buff24m, 4msize_t24m 4msize24m); 1mDESCRIPTION0m 1marchive_read_open22m() The same as 1marchive_read_open222m(), except that the skip callback is assumed to be NULL. 1marchive_read_open222m() Freeze the settings, open the archive, and prepare for reading entries. This is the most generic version of this call, which accepts four callback functions. Most clients will want to use 1marchive_read_open_filename22m(), 1marchive_read_open_FILE22m(), 1marchive_read_open_fd22m(), or 1marchive_read_open_memory22m() instead. The library invokes the client-provided functions to obtain raw bytes from the archive. 1marchive_read_open_FILE22m() Like 1marchive_read_open22m(), except that it accepts a 4mFILE24m 4m*0m pointer. This function should not be used with tape drives or other devices that require strict I/O blocking. 1marchive_read_open_fd22m() Like 1marchive_read_open22m(), except that it accepts a file de‐ scriptor and block size rather than a set of function pointers. Note that the file descriptor will not be automatically closed at end-of-archive. This function is safe for use with tape drives or other blocked devices. 1marchive_read_open_file22m() This is a deprecated synonym for 1marchive_read_open_filename22m(). 1marchive_read_open_filename22m() Like 1marchive_read_open22m(), except that it accepts a simple file‐ name and a block size. A NULL filename represents standard in‐ put. This function is safe for use with tape drives or other blocked devices. 1marchive_read_open_memory22m() Like 1marchive_read_open22m(), except that it accepts a pointer and size of a block of memory containing the archive data. A complete description of the struct archive and struct archive_entry objects can be found in the overview manual page for 4mlibarchive24m(3). 1mCLIENT CALLBACKS0m The callback functions must match the following prototypes: 4mtypedef24m 4mla_ssize_t24m 1marchive_read_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4mconst24m 4mvoid24m 4m**buffer24m) 4mtypedef24m 4mla_int64_t24m 1marchive_skip_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid24m 4m*client_data24m, 4moff_t24m 4mrequest24m) 4mtypedef24m 4mint24m 1marchive_open_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) 4mtypedef24m 4mint24m 1marchive_close_callback22m(4mstruct24m 4marchive24m 4m*24m, 4mvoid0m 4m*client_data24m) The open callback is invoked by 1marchive_open22m(). It should return 1mARCHIVE_OK 22mif the underlying file or data source is successfully opened. If the open fails, it should call 1marchive_set_error22m() to reg‐ ister an error code and message and return 1mARCHIVE_FATAL22m. The read callback is invoked whenever the library requires raw bytes from the archive. The read callback should read data into a buffer, set the 1mconst void **buffer 22margument to point to the available data, and return a count of the number of bytes available. The library will invoke the read callback again only after it has consumed this data. The library imposes no constraints on the size of the data blocks re‐ turned. On end-of-file, the read callback should return zero. On er‐ ror, the read callback should invoke 1marchive_set_error22m() to register an error code and message and return -1. The skip callback is invoked when the library wants to ignore a block of data. The return value is the number of bytes actually skipped, which may differ from the request. If the callback cannot skip data, it should return zero. If the skip callback is not provided (the func‐ tion pointer is NULL ), the library will invoke the read function in‐ stead and simply discard the result. A skip callback can provide sig‐ nificant performance gains when reading uncompressed archives from slow disk drives or other media that can skip quickly. The close callback is invoked by archive_close when the archive pro‐ cessing is complete. The callback should return 1mARCHIVE_OK 22mon success. On failure, the callback should invoke 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL22m. 1mRETURN VALUES0m These functions return 1mARCHIVE_OK 22mon success, or 1mARCHIVE_FATAL22m. 1mERRORS0m Detailed error codes and textual descriptions are available from the 1marchive_errno22m() and 1marchive_error_string22m() functions. 1mSEE ALSO0m 4mtar24m(1), 4marchive_read24m(3), 4marchive_read_data24m(3), 4marchive_read_filter24m(3), 4marchive_read_format24m(3), 4marchive_read_set_options24m(3), 4marchive_util24m(3), 4mlibarchive24m(3), 4mtar24m(5) d130 1 a130 1 Debian February 2, 2012 4mARCHIVE_READ_OPEN24m(3) @ 1.1.1.7 log @libarchive: import 3.8.8 @ text @d6 1 a6 2 archive_read_open_filenames, archive_read_open_memory — functions for reading streaming archives a34 4 1marchive_read_open_filenames22m(4mstruct24m 4marchive24m 4m*24m, 4mconst24m 4mchar24m 4m**filenames24m, 4msize_t24m 4mblock_size24m); 4mint0m a66 7 1marchive_read_open_filenames22m() Like 1marchive_read_open22m(), except that it accepts a NULL-termi‐ nated array of filenames to open in sequence (as would be cre‐ ated by the 4msplit24m(1) command) and a block size. A NULL file‐ name at the beginning of the array represents standard input. This function is safe for use with tape drives or other blocked devices. @ 1.1.1.8 log @libarchive: import version 3.8.10 @ text @d101 1 a101 1 The open callback is invoked by 1marchive_read_open22m(). It should return d125 4 a128 4 The close callback is invoked by archive_read_close when the archive processing is complete. The callback should return 1mARCHIVE_OK 22mon suc‐ cess. On failure, the callback should invoke 1marchive_set_error22m() to register an error code and message and return 1mARCHIVE_FATAL22m. d134 1 a134 1 Detailed error codes and textual descriptions are available from the d138 1 a138 1 4mtar24m(1), 4marchive_read24m(3), 4marchive_read_data24m(3), 4marchive_read_filter24m(3), @