Files
RedBear-OS/recipes/libs/libarchive/source/doc/wiki/ManPageArchiveReadExtract3.wiki
vasilito facf0c92e0 feat: track all source trees in git — full fork offline-first model
Red Bear OS is a full fork. All sources must be available from git clone
with zero network access. Removed gitignore rules that excluded fetched
source trees under recipes/*/source/, local/recipes/kde/*/source/,
local/recipes/qt/*/source/, and vendor source trees.

Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded.

127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt
frameworks, mesa, wayland, DRM drivers, and every other recipe source.
2026-05-14 10:55:53 +01:00

103 lines
3.3 KiB
Plaintext

ARCHIVE_READ_EXTRACT(3) manual page
== NAME ==
'''archive_read_extract''',
'''archive_read_extract2''',
'''archive_read_extract_set_progress_callback'''
- functions for reading streaming archives
== LIBRARY ==
Streaming Archive Library (libarchive, -larchive)
== SYNOPSIS ==
'''<nowiki>#include <archive.h></nowiki>'''
<br>
''int''
<br>
'''archive_read_extract'''(''struct archive *'', ''struct archive_entry *'', ''int flags'');
<br>
''int''
<br>
'''archive_read_extract2'''(''struct archive *src'', ''struct archive_entry *'', ''struct archive *dest'');
<br>
''void''
<br>
'''archive_read_extract_set_progress_callback'''(''struct archive *'', ''void (*func)(void *)'', ''void *user_data'');
== DESCRIPTION ==
<dl>
<dt>'''archive_read_extract'''(), '''archive_read_extract_set_skip_file'''()</dt><dd>
A convenience function that wraps the corresponding
[[ManPageArchiveWriteDisk3]]
interfaces.
The first call to
'''archive_read_extract'''()
creates a restore object using
[[ManPageArchiveWriteDiskNew3]]
and
[[ManPageArchiveWriteDiskSetStandardLookup3]],
then transparently invokes
[[ManPageArchiveWriteDiskSetOptions3]],
[[ManPageArchiveWriteHeader3]],
[[ManPageArchiveWriteData3]],
and
[[ManPageArchiveWriteFinishEntry3]]
to create the entry on disk and copy data into it.
The
''flags''
argument is passed unmodified to
[[ManPageArchiveWriteDiskSetOptions3]].
</dd><dt>'''archive_read_extract2'''()</dt><dd>
This is another version of
'''archive_read_extract'''()
that allows you to provide your own restore object.
In particular, this allows you to override the standard lookup functions
using
[[ManPageArchiveWriteDiskSetGroupLookup3]],
and
[[ManPageArchiveWriteDiskSetUserLookup3]].
Note that
'''archive_read_extract2'''()
does not accept a
''flags''
argument; you should use
'''archive_write_disk_set_options'''()
to set the restore options yourself.
</dd><dt>'''archive_read_extract_set_progress_callback'''()</dt><dd>
Sets a pointer to a user-defined callback that can be used
for updating progress displays during extraction.
The progress function will be invoked during the extraction of large
regular files.
The progress function will be invoked with the pointer provided to this call.
Generally, the data pointed to should include a reference to the archive
object and the archive_entry object so that various statistics
can be retrieved for the progress display.
</dd></dl>
== RETURN VALUES ==
Most functions return zero on success, non-zero on error.
The possible return codes include:
'''ARCHIVE_OK'''
(the operation succeeded),
'''ARCHIVE_WARN'''
(the operation succeeded but a non-critical error was encountered),
'''ARCHIVE_EOF'''
(end-of-archive was encountered),
'''ARCHIVE_RETRY'''
(the operation failed but can be retried),
and
'''ARCHIVE_FATAL'''
(there was a fatal error; the archive should be closed immediately).
== ERRORS ==
Detailed error codes and textual descriptions are available from the
'''archive_errno'''()
and
'''archive_error_string'''()
functions.
== SEE ALSO ==
[[ManPageBsdtar1]],
[[ManPageArchiveRead3]],
[[ManPageArchiveReadData3]],
[[ManPageArchiveReadFilter3]],
[[ManPageArchiveReadFormat3]],
[[ManPageArchiveReadOpen3]],
[[ManPageArchiveReadSetOptions3]],
[[ManPageArchiveUtil3]],
[[ManPageLibarchive3]],
[[ManPageTar5]]