mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-19 16:35:20 +01:00
- Update bunlded libarchive version used on Windows/Mac - Enable requested zstd support while we are at it. Closes #211
102 lines
3.3 KiB
Text
102 lines
3.3 KiB
Text
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]]
|