123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- .\" Copyright (c) 2003-2011 Tim Kientzle
- .\" All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms, with or without
- .\" modification, are permitted provided that the following conditions
- .\" are met:
- .\" 1. Redistributions of source code must retain the above copyright
- .\" notice, this list of conditions and the following disclaimer.
- .\" 2. Redistributions in binary form must reproduce the above copyright
- .\" notice, this list of conditions and the following disclaimer in the
- .\" documentation and/or other materials provided with the distribution.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- .\" SUCH DAMAGE.
- .\"
- .\" $FreeBSD$
- .\"
- .Dd February 2, 2012
- .Dt ARCHIVE_READ_FORMAT 3
- .Os
- .Sh NAME
- .Nm archive_read_support_format_7zip ,
- .Nm archive_read_support_format_all ,
- .Nm archive_read_support_format_ar ,
- .Nm archive_read_support_format_by_code ,
- .Nm archive_read_support_format_cab ,
- .Nm archive_read_support_format_cpio ,
- .Nm archive_read_support_format_empty ,
- .Nm archive_read_support_format_iso9660 ,
- .Nm archive_read_support_format_lha ,
- .Nm archive_read_support_format_mtree ,
- .Nm archive_read_support_format_rar ,
- .Nm archive_read_support_format_raw ,
- .Nm archive_read_support_format_tar ,
- .Nm archive_read_support_format_xar ,
- .Nm archive_read_support_format_zip
- .Nd functions for reading streaming archives
- .\"
- .Sh LIBRARY
- Streaming Archive Library (libarchive, -larchive)
- .Sh SYNOPSIS
- .In archive.h
- .Ft int
- .Fn archive_read_support_format_7zip "struct archive *"
- .Ft int
- .Fn archive_read_support_format_all "struct archive *"
- .Ft int
- .Fn archive_read_support_format_ar "struct archive *"
- .Ft int
- .Fn archive_read_support_format_by_code "struct archive *" "int"
- .Ft int
- .Fn archive_read_support_format_cab "struct archive *"
- .Ft int
- .Fn archive_read_support_format_cpio "struct archive *"
- .Ft int
- .Fn archive_read_support_format_empty "struct archive *"
- .Ft int
- .Fn archive_read_support_format_iso9660 "struct archive *"
- .Ft int
- .Fn archive_read_support_format_lha "struct archive *"
- .Ft int
- .Fn archive_read_support_format_mtree "struct archive *"
- .Ft int
- .Fn archive_read_support_format_rar "struct archive *"
- .Ft int
- .Fn archive_read_support_format_raw "struct archive *"
- .Ft int
- .Fn archive_read_support_format_tar "struct archive *"
- .Ft int
- .Fn archive_read_support_format_xar "struct archive *"
- .Ft int
- .Fn archive_read_support_format_zip "struct archive *"
- .\"
- .Sh DESCRIPTION
- .Bl -tag -compact -width indent
- .It Xo
- .Fn archive_read_support_format_7zip ,
- .Fn archive_read_support_format_ar ,
- .Fn archive_read_support_format_cab ,
- .Fn archive_read_support_format_cpio ,
- .Fn archive_read_support_format_iso9660 ,
- .Fn archive_read_support_format_lha ,
- .Fn archive_read_support_format_mtree ,
- .Fn archive_read_support_format_rar ,
- .Fn archive_read_support_format_raw ,
- .Fn archive_read_support_format_tar ,
- .Fn archive_read_support_format_xar ,
- .Fn archive_read_support_format_zip
- .Xc
- Enables support---including auto-detection code---for the
- specified archive format.
- For example,
- .Fn archive_read_support_format_tar
- enables support for a variety of standard tar formats, old-style tar,
- ustar, pax interchange format, and many common variants.
- .It Fn archive_read_support_format_all
- Enables support for all available formats except the
- .Dq raw
- format (see below).
- .It Fn archive_read_support_format_by_code
- Enables a single format specified by the format code.
- This can be useful when reading a single archive twice;
- use
- .Fn archive_format
- after reading the first time and pass the resulting code
- to this function to selectively enable only the necessary
- format support.
- Note: In statically-linked executables, this will cause
- your program to include support for every format.
- If executable size is a concern, you may wish to avoid
- using this function.
- .It Fn archive_read_support_format_empty
- Enables support for treating empty files as empty archives.
- Because empty files are valid for several different formats,
- it is not possible to accurately determine a format for
- an empty file based purely on contents.
- So empty files are treated by libarchive as a distinct
- format.
- .It Fn archive_read_support_format_raw
- The
- .Dq raw
- format handler allows libarchive to be used to read arbitrary data.
- It treats any data stream as an archive with a single entry.
- The pathname of this entry is
- .Dq data ;
- all other entry fields are unset.
- This is not enabled by
- .Fn archive_read_support_format_all
- in order to avoid erroneous handling of damaged archives.
- .El
- .\" .Sh EXAMPLE
- .Sh RETURN VALUES
- These functions return
- .Cm ARCHIVE_OK
- on success, or
- .Cm ARCHIVE_FATAL .
- .\"
- .Sh ERRORS
- Detailed error codes and textual descriptions are available from the
- .Fn archive_errno
- and
- .Fn archive_error_string
- functions.
- .\"
- .Sh SEE ALSO
- .Xr tar 1 ,
- .Xr libarchive 3 ,
- .Xr archive_read_data 3 ,
- .Xr archive_read_filter 3 ,
- .Xr archive_read_set_options 3 ,
- .Xr archive_util 3 ,
- .Xr tar 5
- .Sh BUGS
- Many traditional archiver programs treat
- empty files as valid empty archives.
- For example, many implementations of
- .Xr tar 1
- allow you to append entries to an empty file.
- Of course, it is impossible to determine the format of an empty file
- by inspecting the contents, so this library treats empty files as
- having a special
- .Dq empty
- format.
- .Pp
- Using the
- .Dq raw
- handler together with any other handler will often work
- but can produce surprising results.
|