mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-19 00:15:21 +01:00
218 lines
6.6 KiB
Text
218 lines
6.6 KiB
Text
ARCHIVE_UTIL(3) manual page
|
|
== 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 ==
|
|
'''<nowiki>#include <archive.h></nowiki>'''
|
|
<br>
|
|
''void''
|
|
<br>
|
|
'''archive_clear_error'''(''struct archive *'');
|
|
<br>
|
|
''int''
|
|
<br>
|
|
'''archive_compression'''(''struct archive *'');
|
|
<br>
|
|
''const char *''
|
|
<br>
|
|
'''archive_compression_name'''(''struct archive *'');
|
|
<br>
|
|
''void''
|
|
<br>
|
|
'''archive_copy_error'''(''struct archive *'', ''struct archive *'');
|
|
<br>
|
|
''int''
|
|
<br>
|
|
'''archive_errno'''(''struct archive *'');
|
|
<br>
|
|
''const char *''
|
|
<br>
|
|
'''archive_error_string'''(''struct archive *'');
|
|
<br>
|
|
''int''
|
|
<br>
|
|
'''archive_file_count'''(''struct archive *'');
|
|
<br>
|
|
''int''
|
|
<br>
|
|
'''archive_filter_code'''(''struct archive *'', ''int'');
|
|
<br>
|
|
''int''
|
|
<br>
|
|
'''archive_filter_count'''(''struct archive *'', ''int'');
|
|
<br>
|
|
''const char *''
|
|
<br>
|
|
'''archive_filter_name'''(''struct archive *'', ''int'');
|
|
<br>
|
|
''int''
|
|
<br>
|
|
'''archive_format'''(''struct archive *'');
|
|
<br>
|
|
''const char *''
|
|
<br>
|
|
'''archive_format_name'''(''struct archive *'');
|
|
<br>
|
|
''int64_t''
|
|
<br>
|
|
'''archive_position'''(''struct archive *'', ''int'');
|
|
<br>
|
|
''void''
|
|
<br>
|
|
'''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
|
|
[[ManPageibarchive3]]
|
|
library.
|
|
<dl>
|
|
<dt>'''archive_clear_error'''()</dt><dd>
|
|
Clears any error information left over from a previous call.
|
|
Not generally used in client code.
|
|
</dd><dt>'''archive_compression'''()</dt><dd>
|
|
Synonym for
|
|
'''archive_filter_code'''(''a'', ''0'').
|
|
</dd><dt>'''archive_compression_name'''()</dt><dd>
|
|
Synonym for
|
|
'''archive_filter_name'''(''a'', ''0'').
|
|
</dd><dt>'''archive_copy_error'''()</dt><dd>
|
|
Copies error information from one archive to another.
|
|
</dd><dt>'''archive_errno'''()</dt><dd>
|
|
Returns a numeric error code (see
|
|
[[errno(2)|http://www.freebsd.org/cgi/man.cgi?query=errno&sektion=2]])
|
|
indicating the reason for the most recent error return.
|
|
Note that this can not be reliably used to detect whether an
|
|
error has occurred.
|
|
It should be used only after another libarchive function
|
|
has returned an error status.
|
|
</dd><dt>'''archive_error_string'''()</dt><dd>
|
|
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)|http://www.freebsd.org/cgi/man.cgi?query=strerror&sektion=3]].
|
|
</dd><dt>'''archive_file_count'''()</dt><dd>
|
|
Returns a count of the number of files processed by this archive object.
|
|
The count is incremented by calls to
|
|
[[ManPagerchiveriteeader3]]
|
|
or
|
|
[[ManPagerchiveeadexteader3]].
|
|
</dd><dt>'''archive_filter_code'''()</dt><dd>
|
|
Returns a numeric code identifying the indicated filter.
|
|
See
|
|
'''archive_filter_count'''()
|
|
for details of the numbering.
|
|
</dd><dt>'''archive_filter_count'''()</dt><dd>
|
|
Returns the number of filters in the current pipeline.
|
|
For read archive handles, these filters are added automatically
|
|
by the automatic format detection.
|
|
For write archive handles, these filters are added by calls to the various
|
|
'''archive_write_add_filter_XXX'''()
|
|
functions.
|
|
Filters in the resulting 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-numbered 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 decompression.
|
|
</dd><dt>'''archive_filter_name'''()</dt><dd>
|
|
Returns a textual name identifying the indicated filter.
|
|
See
|
|
'''archive_filter_count'''()
|
|
for details of the numbering.
|
|
</dd><dt>'''archive_format'''()</dt><dd>
|
|
Returns a numeric code indicating the format of the current
|
|
archive 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.
|
|
</dd><dt>'''archive_format_name'''()</dt><dd>
|
|
A textual description of the format of the current entry.
|
|
</dd><dt>'''archive_position'''()</dt><dd>
|
|
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 written to the archive.
|
|
See
|
|
'''archive_filter_count'''()
|
|
for details of the numbering here.
|
|
</dd><dt>'''archive_set_error'''()</dt><dd>
|
|
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-specific
|
|
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.
|
|
</dd></dl>
|
|
== SEE ALSO ==
|
|
[[ManPagerchiveead3]],
|
|
[[ManPagerchiverite3]],
|
|
[[ManPageibarchive3]],
|
|
[[printf(3)|http://www.freebsd.org/cgi/man.cgi?query=printf&sektion=3]]
|
|
== HISTORY ==
|
|
The
|
|
'''libarchive'''
|
|
library first appeared in
|
|
FreeBSD 5.3.
|
|
== AUTHORS ==
|
|
The
|
|
'''libarchive'''
|
|
library was written by
|
|
Tim Kientzle <kientzle@acm.org.>
|