mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-19 00:15:21 +01:00
- Update bunlded libarchive version used on Windows/Mac - Enable requested zstd support while we are at it. Closes #211
150 lines
6 KiB
Text
150 lines
6 KiB
Text
ARCHIVE_UTIL(3) BSD Library Functions Manual ARCHIVE_UTIL(3)
|
||
|
||
NAME
|
||
archive_clear_error, archive_compression, archive_compression_name,
|
||
archive_copy_error, archive_errno, archive_error_string,
|
||
archive_file_count, archive_filter_code, archive_filter_count,
|
||
archive_filter_name, archive_format, archive_format_name,
|
||
archive_position, archive_set_error — libarchive utility functions
|
||
|
||
LIBRARY
|
||
Streaming Archive Library (libarchive, -larchive)
|
||
|
||
SYNOPSIS
|
||
#include <archive.h>
|
||
|
||
void
|
||
archive_clear_error(struct archive *);
|
||
|
||
int
|
||
archive_compression(struct archive *);
|
||
|
||
const char *
|
||
archive_compression_name(struct archive *);
|
||
|
||
void
|
||
archive_copy_error(struct archive *, struct archive *);
|
||
|
||
int
|
||
archive_errno(struct archive *);
|
||
|
||
const char *
|
||
archive_error_string(struct archive *);
|
||
|
||
int
|
||
archive_file_count(struct archive *);
|
||
|
||
int
|
||
archive_filter_code(struct archive *, int);
|
||
|
||
int
|
||
archive_filter_count(struct archive *, int);
|
||
|
||
const char *
|
||
archive_filter_name(struct archive *, int);
|
||
|
||
int
|
||
archive_format(struct archive *);
|
||
|
||
const char *
|
||
archive_format_name(struct archive *);
|
||
|
||
int64_t
|
||
archive_position(struct archive *, int);
|
||
|
||
void
|
||
archive_set_error(struct archive *, int error_code, const char *fmt,
|
||
...);
|
||
|
||
DESCRIPTION
|
||
These functions provide access to various information about the struct
|
||
archive object used in the libarchive(3) library.
|
||
archive_clear_error()
|
||
Clears any error information left over from a previous call. Not
|
||
generally used in client code.
|
||
archive_compression()
|
||
Synonym for archive_filter_code(a, 0).
|
||
archive_compression_name()
|
||
Synonym for archive_filter_name(a, 0).
|
||
archive_copy_error()
|
||
Copies error information from one archive to another.
|
||
archive_errno()
|
||
Returns a numeric error code (see errno(2)) indicating the reason
|
||
for the most recent error return. Note that this can not be re‐
|
||
liably used to detect whether an error has occurred. It should
|
||
be used only after another libarchive function has returned an
|
||
error status.
|
||
archive_error_string()
|
||
Returns a textual error message suitable for display. The error
|
||
message here is usually more specific than that obtained from
|
||
passing the result of archive_errno() to strerror(3).
|
||
archive_file_count()
|
||
Returns a count of the number of files processed by this archive
|
||
object. The count is incremented by calls to
|
||
archive_write_header(3) or archive_read_next_header(3).
|
||
archive_filter_code()
|
||
Returns a numeric code identifying the indicated filter. See
|
||
archive_filter_count() for details of the numbering.
|
||
archive_filter_count()
|
||
Returns the number of filters in the current pipeline. For read
|
||
archive handles, these filters are added automatically by the au‐
|
||
tomatic format detection. For write archive handles, these fil‐
|
||
ters are added by calls to the various
|
||
archive_write_add_filter_XXX() functions. Filters in the result‐
|
||
ing pipeline are numbered so that filter 0 is the filter closest
|
||
to the format handler. As a convenience, functions that expect a
|
||
filter number will accept -1 as a synonym for the highest-num‐
|
||
bered filter.
|
||
|
||
For example, when reading a uuencoded gzipped tar archive, there
|
||
are three filters: filter 0 is the gunzip filter, filter 1 is the
|
||
uudecode filter, and filter 2 is the pseudo-filter that wraps the
|
||
archive read functions. In this case, requesting
|
||
archive_position(a, -1) would be a synonym for
|
||
archive_position(a, 2) which would return the number of bytes
|
||
currently read from the archive, while archive_position(a, 1)
|
||
would return the number of bytes after uudecoding, and
|
||
archive_position(a, 0) would return the number of bytes after de‐
|
||
compression.
|
||
archive_filter_name()
|
||
Returns a textual name identifying the indicated filter. See
|
||
archive_filter_count() for details of the numbering.
|
||
archive_format()
|
||
Returns a numeric code indicating the format of the current ar‐
|
||
chive entry. This value is set by a successful call to
|
||
archive_read_next_header(). Note that it is common for this
|
||
value to change from entry to entry. For example, a tar archive
|
||
might have several entries that utilize GNU tar extensions and
|
||
several entries that do not. These entries will have different
|
||
format codes.
|
||
archive_format_name()
|
||
A textual description of the format of the current entry.
|
||
archive_position()
|
||
Returns the number of bytes read from or written to the indicated
|
||
filter. In particular, archive_position(a, 0) returns the number
|
||
of bytes read or written by the format handler, while
|
||
archive_position(a, -1) returns the number of bytes read or writ‐
|
||
ten to the archive. See archive_filter_count() for details of
|
||
the numbering here.
|
||
archive_set_error()
|
||
Sets the numeric error code and error description that will be
|
||
returned by archive_errno() and archive_error_string(). This
|
||
function should be used within I/O callbacks to set system-spe‐
|
||
cific error codes and error descriptions. This function accepts
|
||
a printf-like format string and arguments. However, you should
|
||
be careful to use only the following printf format specifiers:
|
||
“%c”, “%d”, “%jd”, “%jo”, “%ju”, “%jx”, “%ld”, “%lo”, “%lu”,
|
||
“%lx”, “%o”, “%u”, “%s”, “%x”, “%%”. Field-width specifiers and
|
||
other printf features are not uniformly supported and should not
|
||
be used.
|
||
|
||
SEE ALSO
|
||
archive_read(3), archive_write(3), libarchive(3), printf(3)
|
||
|
||
HISTORY
|
||
The libarchive library first appeared in FreeBSD 5.3.
|
||
|
||
AUTHORS
|
||
The libarchive library was written by Tim Kientzle <kientzle@acm.org>.
|
||
|
||
BSD February 2, 2012 BSD
|