mirror of
https://github.com/cmclark00/retro-imager.git
synced 2025-05-19 16:35:20 +01:00
Qt/QML edition
This commit is contained in:
commit
d7b361ba44
2168 changed files with 721948 additions and 0 deletions
2
dependencies/libarchive-3.4.2/doc/man/.ignore_me
vendored
Normal file
2
dependencies/libarchive-3.4.2/doc/man/.ignore_me
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*** PLEASE DO NOT DELETE THIS FILE! ***
|
||||
This file is used to track an otherwise empty directory in git.
|
133
dependencies/libarchive-3.4.2/doc/man/Makefile
vendored
Normal file
133
dependencies/libarchive-3.4.2/doc/man/Makefile
vendored
Normal file
|
@ -0,0 +1,133 @@
|
|||
|
||||
default: all
|
||||
|
||||
|
||||
archive_entry.3: ../mdoc2man.awk ../../libarchive/archive_entry.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry.3 > archive_entry.3
|
||||
|
||||
archive_entry_acl.3: ../mdoc2man.awk ../../libarchive/archive_entry_acl.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry_acl.3 > archive_entry_acl.3
|
||||
|
||||
archive_entry_linkify.3: ../mdoc2man.awk ../../libarchive/archive_entry_linkify.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry_linkify.3 > archive_entry_linkify.3
|
||||
|
||||
archive_entry_misc.3: ../mdoc2man.awk ../../libarchive/archive_entry_misc.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry_misc.3 > archive_entry_misc.3
|
||||
|
||||
archive_entry_paths.3: ../mdoc2man.awk ../../libarchive/archive_entry_paths.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry_paths.3 > archive_entry_paths.3
|
||||
|
||||
archive_entry_perms.3: ../mdoc2man.awk ../../libarchive/archive_entry_perms.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry_perms.3 > archive_entry_perms.3
|
||||
|
||||
archive_entry_stat.3: ../mdoc2man.awk ../../libarchive/archive_entry_stat.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry_stat.3 > archive_entry_stat.3
|
||||
|
||||
archive_entry_time.3: ../mdoc2man.awk ../../libarchive/archive_entry_time.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_entry_time.3 > archive_entry_time.3
|
||||
|
||||
archive_read.3: ../mdoc2man.awk ../../libarchive/archive_read.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read.3 > archive_read.3
|
||||
|
||||
archive_read_add_passphrase.3: ../mdoc2man.awk ../../libarchive/archive_read_add_passphrase.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_add_passphrase.3 > archive_read_add_passphrase.3
|
||||
|
||||
archive_read_data.3: ../mdoc2man.awk ../../libarchive/archive_read_data.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_data.3 > archive_read_data.3
|
||||
|
||||
archive_read_disk.3: ../mdoc2man.awk ../../libarchive/archive_read_disk.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_disk.3 > archive_read_disk.3
|
||||
|
||||
archive_read_extract.3: ../mdoc2man.awk ../../libarchive/archive_read_extract.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_extract.3 > archive_read_extract.3
|
||||
|
||||
archive_read_filter.3: ../mdoc2man.awk ../../libarchive/archive_read_filter.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_filter.3 > archive_read_filter.3
|
||||
|
||||
archive_read_format.3: ../mdoc2man.awk ../../libarchive/archive_read_format.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_format.3 > archive_read_format.3
|
||||
|
||||
archive_read_free.3: ../mdoc2man.awk ../../libarchive/archive_read_free.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_free.3 > archive_read_free.3
|
||||
|
||||
archive_read_header.3: ../mdoc2man.awk ../../libarchive/archive_read_header.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_header.3 > archive_read_header.3
|
||||
|
||||
archive_read_new.3: ../mdoc2man.awk ../../libarchive/archive_read_new.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_new.3 > archive_read_new.3
|
||||
|
||||
archive_read_open.3: ../mdoc2man.awk ../../libarchive/archive_read_open.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_open.3 > archive_read_open.3
|
||||
|
||||
archive_read_set_options.3: ../mdoc2man.awk ../../libarchive/archive_read_set_options.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_read_set_options.3 > archive_read_set_options.3
|
||||
|
||||
archive_util.3: ../mdoc2man.awk ../../libarchive/archive_util.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_util.3 > archive_util.3
|
||||
|
||||
archive_write.3: ../mdoc2man.awk ../../libarchive/archive_write.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write.3 > archive_write.3
|
||||
|
||||
archive_write_blocksize.3: ../mdoc2man.awk ../../libarchive/archive_write_blocksize.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_blocksize.3 > archive_write_blocksize.3
|
||||
|
||||
archive_write_data.3: ../mdoc2man.awk ../../libarchive/archive_write_data.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_data.3 > archive_write_data.3
|
||||
|
||||
archive_write_disk.3: ../mdoc2man.awk ../../libarchive/archive_write_disk.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_disk.3 > archive_write_disk.3
|
||||
|
||||
archive_write_filter.3: ../mdoc2man.awk ../../libarchive/archive_write_filter.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_filter.3 > archive_write_filter.3
|
||||
|
||||
archive_write_finish_entry.3: ../mdoc2man.awk ../../libarchive/archive_write_finish_entry.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_finish_entry.3 > archive_write_finish_entry.3
|
||||
|
||||
archive_write_format.3: ../mdoc2man.awk ../../libarchive/archive_write_format.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_format.3 > archive_write_format.3
|
||||
|
||||
archive_write_free.3: ../mdoc2man.awk ../../libarchive/archive_write_free.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_free.3 > archive_write_free.3
|
||||
|
||||
archive_write_header.3: ../mdoc2man.awk ../../libarchive/archive_write_header.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_header.3 > archive_write_header.3
|
||||
|
||||
archive_write_new.3: ../mdoc2man.awk ../../libarchive/archive_write_new.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_new.3 > archive_write_new.3
|
||||
|
||||
archive_write_open.3: ../mdoc2man.awk ../../libarchive/archive_write_open.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_open.3 > archive_write_open.3
|
||||
|
||||
archive_write_set_options.3: ../mdoc2man.awk ../../libarchive/archive_write_set_options.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_set_options.3 > archive_write_set_options.3
|
||||
|
||||
archive_write_set_passphrase.3: ../mdoc2man.awk ../../libarchive/archive_write_set_passphrase.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/archive_write_set_passphrase.3 > archive_write_set_passphrase.3
|
||||
|
||||
cpio.5: ../mdoc2man.awk ../../libarchive/cpio.5
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/cpio.5 > cpio.5
|
||||
|
||||
libarchive-formats.5: ../mdoc2man.awk ../../libarchive/libarchive-formats.5
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/libarchive-formats.5 > libarchive-formats.5
|
||||
|
||||
libarchive.3: ../mdoc2man.awk ../../libarchive/libarchive.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/libarchive.3 > libarchive.3
|
||||
|
||||
libarchive_changes.3: ../mdoc2man.awk ../../libarchive/libarchive_changes.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/libarchive_changes.3 > libarchive_changes.3
|
||||
|
||||
libarchive_internals.3: ../mdoc2man.awk ../../libarchive/libarchive_internals.3
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/libarchive_internals.3 > libarchive_internals.3
|
||||
|
||||
mtree.5: ../mdoc2man.awk ../../libarchive/mtree.5
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/mtree.5 > mtree.5
|
||||
|
||||
tar.5: ../mdoc2man.awk ../../libarchive/tar.5
|
||||
awk -f ../mdoc2man.awk < ../../libarchive/tar.5 > tar.5
|
||||
|
||||
bsdtar.1: ../mdoc2man.awk ../../tar/bsdtar.1
|
||||
awk -f ../mdoc2man.awk < ../../tar/bsdtar.1 > bsdtar.1
|
||||
|
||||
bsdcpio.1: ../mdoc2man.awk ../../cpio/bsdcpio.1
|
||||
awk -f ../mdoc2man.awk < ../../cpio/bsdcpio.1 > bsdcpio.1
|
||||
all: archive_entry.3 archive_entry_acl.3 archive_entry_linkify.3 archive_entry_misc.3 archive_entry_paths.3 archive_entry_perms.3 archive_entry_stat.3 archive_entry_time.3 archive_read.3 archive_read_add_passphrase.3 archive_read_data.3 archive_read_disk.3 archive_read_extract.3 archive_read_filter.3 archive_read_format.3 archive_read_free.3 archive_read_header.3 archive_read_new.3 archive_read_open.3 archive_read_set_options.3 archive_util.3 archive_write.3 archive_write_blocksize.3 archive_write_data.3 archive_write_disk.3 archive_write_filter.3 archive_write_finish_entry.3 archive_write_format.3 archive_write_free.3 archive_write_header.3 archive_write_new.3 archive_write_open.3 archive_write_set_options.3 archive_write_set_passphrase.3 cpio.5 libarchive-formats.5 libarchive.3 libarchive_changes.3 libarchive_internals.3 mtree.5 tar.5 bsdtar.1 bsdcpio.1
|
143
dependencies/libarchive-3.4.2/doc/man/archive_entry.3
vendored
Normal file
143
dependencies/libarchive-3.4.2/doc/man/archive_entry.3
vendored
Normal file
|
@ -0,0 +1,143 @@
|
|||
.TH ARCHIVE_ENTRY 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_clear\fP,
|
||||
\fB\%archive_entry_clone\fP,
|
||||
\fB\%archive_entry_free\fP,
|
||||
\fB\%archive_entry_new\fP
|
||||
\- functions for managing archive entry descriptions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fIstruct archive_entry *\fP
|
||||
.br
|
||||
\fB\%archive_entry_clear\fP(\fI\%struct\ archive_entry\ *\fP);
|
||||
.br
|
||||
\fIstruct archive_entry *\fP
|
||||
.br
|
||||
\fB\%archive_entry_clone\fP(\fI\%struct\ archive_entry\ *\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_free\fP(\fI\%struct\ archive_entry\ *\fP);
|
||||
.br
|
||||
\fIstruct archive_entry *\fP
|
||||
.br
|
||||
\fB\%archive_entry_new\fP(\fI\%void\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions create and manipulate data objects that
|
||||
represent entries within an archive.
|
||||
You can think of a
|
||||
Tn struct archive_entry
|
||||
as a heavy-duty version of
|
||||
Tn struct stat:
|
||||
it includes everything from
|
||||
Tn struct stat
|
||||
plus associated pathname, textual group and user names, etc.
|
||||
These objects are used by
|
||||
\fBlibarchive\fP(3)
|
||||
to represent the metadata associated with a particular
|
||||
entry in an archive.
|
||||
.SS Create and Destroy
|
||||
There are functions to allocate, destroy, clear, and copy
|
||||
\fIarchive_entry\fP
|
||||
objects:
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_entry_clear\fP()
|
||||
Erases the object, resetting all internal fields to the
|
||||
same state as a newly-created object.
|
||||
This is provided to allow you to quickly recycle objects
|
||||
without thrashing the heap.
|
||||
.TP
|
||||
\fB\%archive_entry_clone\fP()
|
||||
A deep copy operation; all text fields are duplicated.
|
||||
.TP
|
||||
\fB\%archive_entry_free\fP()
|
||||
Releases the
|
||||
Tn struct archive_entry
|
||||
object.
|
||||
.TP
|
||||
\fB\%archive_entry_new\fP()
|
||||
Allocate and return a blank
|
||||
Tn struct archive_entry
|
||||
object.
|
||||
.RE
|
||||
.SS Function groups
|
||||
Due to high number of functions, the accessor functions can be found in
|
||||
man pages grouped by the purpose.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBarchive_entry_acl\fP(3)
|
||||
Access Control List manipulation
|
||||
.TP
|
||||
\fBarchive_entry_paths\fP(3)
|
||||
Path name manipulation
|
||||
.TP
|
||||
\fBarchive_entry_perms\fP(3)
|
||||
User, group and mode manipulation
|
||||
.TP
|
||||
\fBarchive_entry_stat\fP(3)
|
||||
Functions not in the other groups and copying to/from
|
||||
Vt struct stat.
|
||||
.TP
|
||||
\fBarchive_entry_time\fP(3)
|
||||
Time field manipulation
|
||||
.RE
|
||||
.PP
|
||||
Most of the functions set or read entries in an object.
|
||||
Such functions have one of the following forms:
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_entry_set_XXXX\fP()
|
||||
Stores the provided data in the object.
|
||||
In particular, for strings, the pointer is stored,
|
||||
not the referenced string.
|
||||
.TP
|
||||
\fB\%archive_entry_copy_XXXX\fP()
|
||||
As above, except that the referenced data is copied
|
||||
into the object.
|
||||
.TP
|
||||
\fB\%archive_entry_XXXX\fP()
|
||||
Returns the specified data.
|
||||
In the case of strings, a const-qualified pointer to
|
||||
the string is returned.
|
||||
.RE
|
||||
String data can be set or accessed as wide character strings
|
||||
or normal
|
||||
\fIchar\fP
|
||||
strings.
|
||||
The functions that use wide character strings are suffixed with
|
||||
\fB_w\fP.
|
||||
Note that these are different representations of the same data:
|
||||
For example, if you store a narrow string and read the corresponding
|
||||
wide string, the object will transparently convert formats
|
||||
using the current locale.
|
||||
Similarly, if you store a wide string and then store a
|
||||
narrow string for the same data, the previously-set wide string will
|
||||
be discarded in favor of the new data.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry_acl\fP(3),
|
||||
\fBarchive_entry_paths\fP(3),
|
||||
\fBarchive_entry_perms\fP(3),
|
||||
\fBarchive_entry_time\fP(3),
|
||||
\fBlibarchive\fP(3)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
452
dependencies/libarchive-3.4.2/doc/man/archive_entry_acl.3
vendored
Normal file
452
dependencies/libarchive-3.4.2/doc/man/archive_entry_acl.3
vendored
Normal file
|
@ -0,0 +1,452 @@
|
|||
.TH ARCHIVE_ENTRY_ACL 3 "February 15, 2017" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_acl_add_entry\fP,
|
||||
\fB\%archive_entry_acl_add_entry_w\fP,
|
||||
\fB\%archive_entry_acl_clear\fP,
|
||||
\fB\%archive_entry_acl_count\fP,
|
||||
\fB\%archive_entry_acl_from_text\fP,
|
||||
\fB\%archive_entry_acl_from_text_w\fP,
|
||||
\fB\%archive_entry_acl_next\fP,
|
||||
\fB\%archive_entry_acl_reset\fP,
|
||||
\fB\%archive_entry_acl_to_text\fP,
|
||||
\fB\%archive_entry_acl_to_text_w\fP,
|
||||
\fB\%archive_entry_acl_types\fP
|
||||
\- functions for manipulating Access Control Lists in archive entry descriptions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_add_entry\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int\ type\fP, \fI\%int\ permset\fP, \fI\%int\ tag\fP, \fI\%int\ qualifier\fP, \fI\%const\ char\ *name\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_add_entry_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int\ type\fP, \fI\%int\ permset\fP, \fI\%int\ tag\fP, \fI\%int\ qualifier\fP, \fI\%const\ wchar_t\ *name\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_clear\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_count\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int\ type\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_from_text\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *text\fP, \fI\%int\ type\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_from_text_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ wchar_t\ *text\fP, \fI\%int\ type\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_next\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int\ type\fP, \fI\%int\ *ret_type\fP, \fI\%int\ *ret_permset\fP, \fI\%int\ *ret_tag\fP, \fI\%int\ *ret_qual\fP, \fI\%const\ char\ **ret_name\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_reset\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int\ type\fP);
|
||||
.br
|
||||
\fIchar *\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_to_text\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%ssize_t\ *len_p\fP, \fI\%int\ flags\fP);
|
||||
.br
|
||||
\fIwchar_t *\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_to_text_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%ssize_t\ *len_p\fP, \fI\%int\ flags\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_acl_types\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
The
|
||||
``Access Control Lists (ACLs)''
|
||||
extend the standard Unix permission model.
|
||||
The ACL interface of
|
||||
\fB\%libarchive\fP
|
||||
supports both POSIX.1e and NFSv4 style ACLs.
|
||||
Use of ACLs is restricted by
|
||||
various levels of ACL support in operating systems, file systems and archive
|
||||
formats.
|
||||
.SS POSIX.1e Access Control Lists
|
||||
A POSIX.1e ACL consists of a number of independent entries.
|
||||
Each entry specifies the permission set as a bitmask of basic permissions.
|
||||
Valid permissions in the
|
||||
are:
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_READ (.B r )
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_WRITE (.B w )
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_EXECUTE (.B x )
|
||||
.RE
|
||||
The permissions correspond to the normal Unix permissions.
|
||||
.PP
|
||||
The
|
||||
specifies the principal to which the permission applies.
|
||||
Valid values are:
|
||||
.RS 5
|
||||
It .BR ARCHIVE_ENTRY_ACL_USER
|
||||
The user specified by the name field.
|
||||
It .BR ARCHIVE_ENTRY_ACL_USER_OBJ
|
||||
The owner of the file.
|
||||
It .BR ARCHIVE_ENTRY_ACL_GROUP
|
||||
The group specified by the name field.
|
||||
It .BR ARCHIVE_ENTRY_ACL_GROUP_OBJ
|
||||
The group which owns the file.
|
||||
It .BR ARCHIVE_ENTRY_ACL_MASK
|
||||
The maximum permissions to be obtained via group permissions.
|
||||
It .BR ARCHIVE_ENTRY_ACL_OTHER
|
||||
Any principal who is not the file owner or a member of the owning group.
|
||||
.RE
|
||||
.PP
|
||||
The principals
|
||||
.BR ARCHIVE_ENTRY_ACL_USER_OBJ,
|
||||
.BR ARCHIVE_ENTRY_ACL_GROUP_OBJ
|
||||
and
|
||||
.BR ARCHIVE_ENTRY_ACL_OTHER
|
||||
are equivalent to user, group and other in the classic Unix permission
|
||||
model and specify non-extended ACL entries.
|
||||
.PP
|
||||
All files have an access ACL
|
||||
(.BR ARCHIVE_ENTRY_ACL_TYPE_ACCESS.)
|
||||
This specifies the permissions required for access to the file itself.
|
||||
Directories have an additional ACL
|
||||
(.BR ARCHIVE_ENTRY_ACL_TYPE_DEFAULT,)
|
||||
which controls the initial access ACL for newly-created directory entries.
|
||||
.SS NFSv4 Access Control Lists
|
||||
A NFSv4 ACL consists of multiple individual entries called Access Control
|
||||
Entries (ACEs).
|
||||
.PP
|
||||
There are four possible types of a NFSv4 ACE:
|
||||
.RS 5
|
||||
It .BR ARCHIVE_ENTRY_ACL_TYPE_ALLOW
|
||||
Allow principal to perform actions requiring given permissions.
|
||||
It .BR ARCHIVE_ENTRY_ACL_TYPE_DENY
|
||||
Prevent principal from performing actions requiring given permissions.
|
||||
It .BR ARCHIVE_ENTRY_ACL_TYPE_AUDIT
|
||||
Log access attempts by principal which require given permissions.
|
||||
It .BR ARCHIVE_ENTRY_ACL_TYPE_ALARM
|
||||
Trigger a system alarm on access attempts by principal which require given
|
||||
permissions.
|
||||
.RE
|
||||
.PP
|
||||
The
|
||||
specifies the principal to which the permission applies.
|
||||
Valid values are:
|
||||
.RS 5
|
||||
It .BR ARCHIVE_ENTRY_ACL_USER
|
||||
The user specified by the name field.
|
||||
It .BR ARCHIVE_ENTRY_ACL_USER_OBJ
|
||||
The owner of the file.
|
||||
It .BR ARCHIVE_ENTRY_ACL_GROUP
|
||||
The group specified by the name field.
|
||||
It .BR ARCHIVE_ENTRY_ACL_GROUP_OBJ
|
||||
The group which owns the file.
|
||||
It .BR ARCHIVE_ENTRY_ACL_EVERYONE
|
||||
Any principal who is not the file owner or a member of the owning group.
|
||||
.RE
|
||||
.PP
|
||||
Entries with the
|
||||
.BR ARCHIVE_ENTRY_ACL_USER
|
||||
or
|
||||
.BR ARCHIVE_ENTRY_ACL_GROUP
|
||||
tag store the user and group name in the
|
||||
string and optionally the user or group ID in the
|
||||
integer.
|
||||
.PP
|
||||
NFSv4 ACE permissions and flags are stored in the same
|
||||
bitfield.
|
||||
Some permissions share the same constant and permission character
|
||||
but have different effect on directories than on files.
|
||||
The following ACE permissions are supported:
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_READ_DATA (.B r )
|
||||
Read data (file).
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_LIST_DIRECTORY (.B r )
|
||||
List entries (directory).
|
||||
.TP
|
||||
ARCHIVE_ENTRY_ACL_WRITE_DATA (.B w )
|
||||
Write data (file).
|
||||
.TP
|
||||
ARCHIVE_ENTRY_ACL_ADD_FILE (.B w )
|
||||
Create files (directory).
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_EXECUTE (.B x )
|
||||
Execute file or change into a directory.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_APPEND_DATA (.B p )
|
||||
Append data (file).
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ADD_SUBDIRECTORY (.B p )
|
||||
Create subdirectories (directory).
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_DELETE_CHILD (.B D )
|
||||
Remove files and subdirectories inside a directory.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_DELETE (.B d )
|
||||
Remove file or directory.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES (.B a )
|
||||
Read file or directory attributes.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES (.B A )
|
||||
Write file or directory attributes.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS (.B R )
|
||||
Read named file or directory attributes.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_WRITE_NAMED_ATTRS (.B W )
|
||||
Write named file or directory attributes.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_READ_ACL (.B c )
|
||||
Read file or directory ACL.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_WRITE_ACL (.B C )
|
||||
Write file or directory ACL.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_WRITE_OWNER (.B o )
|
||||
Change owner of a file or directory.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_SYNCHRONIZE (.B s )
|
||||
Use synchronous I/O.
|
||||
.RE
|
||||
.PP
|
||||
The following NFSv4 ACL inheritance flags are supported:
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT (.B f )
|
||||
Inherit parent directory ACE to files.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT (.B d )
|
||||
Inherit parent directory ACE to subdirectories.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY (.B i )
|
||||
Only inherit, do not apply the permission on the directory itself.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT (.B n )
|
||||
Do not propagate inherit flags.
|
||||
Only first-level entries inherit ACLs.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS (.B S )
|
||||
Trigger alarm or audit on successful access.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS (.B F )
|
||||
Trigger alarm or audit on failed access.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_ENTRY_INHERITED (.B I )
|
||||
Mark that ACE was inherited.
|
||||
.RE
|
||||
.SS Functions
|
||||
\fB\%archive_entry_acl_add_entry\fP()
|
||||
and
|
||||
\fB\%archive_entry_acl_add_entry_w\fP()
|
||||
add a single ACL entry.
|
||||
For the access ACL and non-extended principals, the classic Unix permissions
|
||||
are updated.
|
||||
An archive entry cannot contain both POSIX.1e and NFSv4 ACL entries.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_clear\fP()
|
||||
removes all ACL entries and resets the enumeration pointer.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_count\fP()
|
||||
counts the ACL entries that have the given type mask.
|
||||
can be the bitwise-or of
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
||||
.RE
|
||||
for POSIX.1e ACLs and
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ALLOW
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_DENY
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_AUDIT
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ALARM
|
||||
.RE
|
||||
for NFSv4 ACLs.
|
||||
For POSIX.1e ACLs if
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
||||
is included and at least one extended ACL entry is found,
|
||||
the three non-extended ACLs are added.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_from_text\fP()
|
||||
and
|
||||
\fB\%archive_entry_acl_from_text_w\fP()
|
||||
add new
|
||||
(or merge with existing)
|
||||
ACL entries from
|
||||
(wide)
|
||||
text.
|
||||
The argument
|
||||
may take one of the following values:
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_NFS4
|
||||
.RE
|
||||
Supports all formats that can be created with
|
||||
\fB\%archive_entry_acl_to_text\fP()
|
||||
or respectively
|
||||
\fB\%archive_entry_acl_to_text_w\fP().
|
||||
Existing ACL entries are preserved.
|
||||
To get a clean new ACL from text
|
||||
\fB\%archive_entry_acl_clear\fP()
|
||||
must be called first.
|
||||
Entries prefixed with
|
||||
``default:''
|
||||
are treated as
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
||||
unless
|
||||
is
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_NFS4.
|
||||
Invalid entries, non-parseable ACL entries and entries beginning with
|
||||
the
|
||||
Sq #
|
||||
character
|
||||
(comments)
|
||||
are skipped.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_next\fP()
|
||||
return the next entry of the ACL list.
|
||||
This functions may only be called after
|
||||
\fB\%archive_entry_acl_reset\fP()
|
||||
has indicated the presence of extended ACL entries.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_reset\fP()
|
||||
prepare reading the list of ACL entries with
|
||||
\fB\%archive_entry_acl_next\fP().
|
||||
The function returns 0 if no non-extended ACLs are found.
|
||||
In this case, the access permissions should be obtained by
|
||||
\fBarchive_entry_mode\fP(3)
|
||||
or set using
|
||||
\fBchmod\fP(2).
|
||||
Otherwise, the function returns the same value as
|
||||
\fB\%archive_entry_acl_count\fP().
|
||||
.PP
|
||||
\fB\%archive_entry_acl_to_text\fP()
|
||||
and
|
||||
\fB\%archive_entry_acl_to_text_w\fP()
|
||||
convert the ACL entries for the given type into a
|
||||
(wide)
|
||||
string of ACL entries separated by newline.
|
||||
If the pointer
|
||||
is not NULL, then the function shall return the length of the string
|
||||
(not including the NULL terminator)
|
||||
in the location pointed to by
|
||||
.
|
||||
The
|
||||
argument is a bitwise-or.
|
||||
.PP
|
||||
The following flags are effective only on POSIX.1e ACL:
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
||||
Output access ACLs.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
||||
Output POSIX.1e default ACLs.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
|
||||
Prefix each default ACL entry with the word
|
||||
``default:''.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_STYLE_SOLARIS
|
||||
The mask and other ACLs don not contain a double colon.
|
||||
.RE
|
||||
.PP
|
||||
The following flags are effecive only on NFSv4 ACL:
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_STYLE_COMPACT
|
||||
Do not output minus characters for unset permissions and flags in NFSv4 ACL
|
||||
permission and flag fields.
|
||||
.RE
|
||||
.PP
|
||||
The following flags are effective on both POSIX.1e and NFSv4 ACL:
|
||||
.RS 5
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID
|
||||
Add an additional colon-separated field containing the user or group id.
|
||||
.TP
|
||||
.BR ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA
|
||||
Separate ACL entries with comma instead of newline.
|
||||
.RE
|
||||
.PP
|
||||
If the archive entry contains NFSv4 ACLs, all types of NFSv4 ACLs are returned.
|
||||
It the entry contains POSIX.1e ACLs and none of the flags
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
||||
or
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
|
||||
are specified, both access and default entries are returned and default entries
|
||||
are prefixed with
|
||||
``default:''.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_types\fP()
|
||||
get ACL entry types contained in an archive entry's ACL.
|
||||
As POSIX.1e and NFSv4
|
||||
ACL entries cannot be mixed, this function is a very efficient way to detect if
|
||||
an ACL already contains POSIX.1e or NFSv4 ACL entries.
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
\fB\%archive_entry_acl_count\fP()
|
||||
and
|
||||
\fB\%archive_entry_acl_reset\fP()
|
||||
returns the number of ACL entries that match the given type mask.
|
||||
For POSIX.1e ACLS if the type mask includes
|
||||
.BR ARCHIVE_ENTRY_ACL_TYPE_ACCESS
|
||||
and at least one extended ACL entry exists, the three classic Unix
|
||||
permissions are counted.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_from_text\fP()
|
||||
and
|
||||
\fB\%archive_entry_acl_from_text_w\fP()
|
||||
return
|
||||
.BR ARCHIVE_OK
|
||||
if all entries were successfully parsed and
|
||||
.BR ARCHIVE_WARN
|
||||
if one or more entries were invalid or non-parseable.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_next\fP()
|
||||
returns
|
||||
.BR ARCHIVE_OK
|
||||
on success,
|
||||
.BR ARCHIVE_EOF
|
||||
if no more ACL entries exist
|
||||
and
|
||||
.BR ARCHIVE_WARN
|
||||
if
|
||||
\fB\%archive_entry_acl_reset\fP()
|
||||
has not been called first.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_to_text\fP()
|
||||
returns a string representing the ACL entries matching the given type and
|
||||
flags on success or NULL on error.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_to_text_w\fP()
|
||||
returns a wide string representing the ACL entries matching the given type
|
||||
and flags on success or NULL on error.
|
||||
.PP
|
||||
\fB\%archive_entry_acl_types\fP()
|
||||
returns a bitmask of ACL entry types or 0 if archive entry has no ACL entries.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry\fP(3),
|
||||
\fBlibarchive\fP(3)
|
203
dependencies/libarchive-3.4.2/doc/man/archive_entry_linkify.3
vendored
Normal file
203
dependencies/libarchive-3.4.2/doc/man/archive_entry_linkify.3
vendored
Normal file
|
@ -0,0 +1,203 @@
|
|||
.TH ARCHIVE_ENTRY_LINKIFY 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_linkresolver\fP,
|
||||
\fB\%archive_entry_linkresolver_new\fP,
|
||||
\fB\%archive_entry_linkresolver_set_strategy\fP,
|
||||
\fB\%archive_entry_linkresolver_free\fP,
|
||||
\fB\%archive_entry_linkify\fP
|
||||
\- hardlink resolver functions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fIstruct archive_entry_linkresolver *\fP
|
||||
.br
|
||||
\fB\%archive_entry_linkresolver_new\fP(\fI\%void\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_linkresolver_set_strategy\fP(\fI\%struct\ archive_entry_linkresolver\ *resolver\fP, \fI\%int\ format\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_linkresolver_free\fP(\fI\%struct\ archive_entry_linkresolver\ *resolver\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_linkify\fP(\fI\%struct\ archive_entry_linkresolver\ *resolver\fP, \fI\%struct\ archive_entry\ **entry\fP, \fI\%struct\ archive_entry\ **sparse\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
Programs that want to create archives have to deal with hardlinks.
|
||||
Hardlinks are handled in different ways by the archive formats.
|
||||
The basic strategies are:
|
||||
.RS 5
|
||||
.IP 1.
|
||||
Ignore hardlinks and store the body for each reference (old cpio, zip).
|
||||
.IP 2.
|
||||
Store the body the first time an inode is seen (ustar, pax).
|
||||
.IP 3.
|
||||
Store the body the last time an inode is seen (new cpio).
|
||||
.RE
|
||||
.PP
|
||||
The
|
||||
\fB\%archive_entry_linkresolver\fP
|
||||
functions help by providing a unified interface and handling the complexity
|
||||
behind the scene.
|
||||
.PP
|
||||
The
|
||||
\fB\%archive_entry_linkresolver\fP
|
||||
functions assume that
|
||||
Vt archive_entry
|
||||
instances have valid nlinks, inode and device values.
|
||||
The inode and device value is used to match entries.
|
||||
The nlinks value is used to determined if all references have been found and
|
||||
if the internal references can be recycled.
|
||||
.PP
|
||||
The
|
||||
\fB\%archive_entry_linkresolver_new\fP()
|
||||
function allocates a new link resolver.
|
||||
The instance can be freed using
|
||||
\fB\%archive_entry_linkresolver_free\fP().
|
||||
All deferred entries are flushed and the internal storage is freed.
|
||||
.PP
|
||||
The
|
||||
\fB\%archive_entry_linkresolver_set_strategy\fP()
|
||||
function selects the optimal hardlink strategy for the given format.
|
||||
The format code can be obtained from
|
||||
\fBarchive_format\fP(3).
|
||||
The function can be called more than once, but it is recommended to
|
||||
flush all deferred entries first.
|
||||
.PP
|
||||
The
|
||||
\fB\%archive_entry_linkify\fP()
|
||||
function is the core of
|
||||
\fB\%archive_entry_linkresolver\fP.
|
||||
The
|
||||
\fB\%entry\fP()
|
||||
argument points to the
|
||||
Vt archive_entry
|
||||
that should be written.
|
||||
Depending on the strategy one of the following actions is taken:
|
||||
.RS 5
|
||||
.IP 1.
|
||||
For the simple archive formats
|
||||
\fI*entry\fP
|
||||
is left unmodified and
|
||||
\fI*sparse\fP
|
||||
is set to
|
||||
.BR NULL.
|
||||
.IP 2.
|
||||
For tar like archive formats,
|
||||
\fI*sparse\fP
|
||||
is set to
|
||||
.BR NULL.
|
||||
If
|
||||
\fI*entry\fP
|
||||
is
|
||||
.BR NULL,
|
||||
no action is taken.
|
||||
If the hardlink count of
|
||||
\fI*entry\fP
|
||||
is larger than 1 and the file type is a regular file or symbolic link,
|
||||
the internal list is searched for a matching inode.
|
||||
If such an inode is found, the link count is decremented and the file size
|
||||
of
|
||||
\fI*entry\fP
|
||||
is set to 0 to notify that no body should be written.
|
||||
If no such inode is found, a copy of the entry is added to the internal cache
|
||||
with a link count reduced by one.
|
||||
.IP 3.
|
||||
For new cpio like archive formats a value for
|
||||
\fI*entry\fP
|
||||
of
|
||||
.BR NULL
|
||||
is used to flush deferred entries.
|
||||
In that case
|
||||
\fI*entry\fP
|
||||
is set to an arbitrary deferred entry and the entry itself is removed from the
|
||||
internal list.
|
||||
If the internal list is empty,
|
||||
\fI*entry\fP
|
||||
is set to
|
||||
.BR NULL.
|
||||
In either case,
|
||||
\fI*sparse\fP
|
||||
is set to
|
||||
.BR NULL
|
||||
and the function returns.
|
||||
If the hardlink count of
|
||||
\fI*entry\fP
|
||||
is one or the file type is a directory or device,
|
||||
\fI*sparse\fP
|
||||
is set to
|
||||
.BR NULL
|
||||
and no further action is taken.
|
||||
Otherwise, the internal list is searched for a matching inode.
|
||||
If such an inode is not found, the entry is added to the internal list,
|
||||
both
|
||||
\fI*entry\fP
|
||||
and
|
||||
\fI*sparse\fP
|
||||
are set to
|
||||
.BR NULL
|
||||
and the function returns.
|
||||
If such an inode is found, the link count is decremented.
|
||||
If it remains larger than one, the existing entry on the internal list
|
||||
is swapped with
|
||||
\fI*entry\fP
|
||||
after retaining the link count.
|
||||
The existing entry is returned in
|
||||
\fI*entry\fP.
|
||||
If the link count reached one, the new entry is also removed from the
|
||||
internal list and returned in
|
||||
\fI*sparse\fP.
|
||||
Otherwise
|
||||
\fI*sparse\fP
|
||||
is set to
|
||||
.BR NULL.
|
||||
.RE
|
||||
.PP
|
||||
The general usage is therefore:
|
||||
.RS 5
|
||||
.IP 1.
|
||||
For each new archive entry, call
|
||||
\fB\%archive_entry_linkify\fP().
|
||||
.IP 2.
|
||||
Keep in mind that the entries returned may have a size of 0 now.
|
||||
.IP 3.
|
||||
If
|
||||
\fI*entry\fP
|
||||
is not
|
||||
.BR NULL,
|
||||
archive it.
|
||||
.IP 4.
|
||||
If
|
||||
\fI*sparse\fP
|
||||
is not
|
||||
.BR NULL,
|
||||
archive it.
|
||||
.IP 5.
|
||||
After all entries have been written to disk, call
|
||||
\fB\%archive_entry_linkify\fP()
|
||||
with
|
||||
\fI*entry\fP
|
||||
set to
|
||||
.BR NULL
|
||||
and archive the returned entry as long as it is not
|
||||
.BR NULL.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
\fB\%archive_entry_linkresolver_new\fP()
|
||||
returns
|
||||
.BR NULL
|
||||
on
|
||||
\fBmalloc\fP(3)
|
||||
failures.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry\fP(3)
|
49
dependencies/libarchive-3.4.2/doc/man/archive_entry_misc.3
vendored
Normal file
49
dependencies/libarchive-3.4.2/doc/man/archive_entry_misc.3
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
.TH ARCHIVE_ENTRY_MISC 3 "April 15, 2019" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_symlink_type\fP,
|
||||
\fB\%archive_entry_set_symlink_type\fP
|
||||
\- miscellaneous functions for manipulating properties of archive_entry
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_symlink_type\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_symlink_type\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
The function
|
||||
\fB\%archive_entry_symlink_type\fP()
|
||||
returns and the function
|
||||
\fB\%archive_entry_set_symlink_type\fP()
|
||||
sets the type of the symbolic link stored in an archive entry.
|
||||
These functions
|
||||
have special meaning on operating systems that support multiple symbolic link
|
||||
types (e.g. Microsoft Windows).
|
||||
.PP
|
||||
Supported values are:
|
||||
.RS 5
|
||||
.TP
|
||||
AE_SYMLINK_TYPE_UNDEFINED
|
||||
Symbolic link target type is not defined (default on unix systems)
|
||||
.TP
|
||||
AE_SYMLINK_TYPE_FILE
|
||||
Symbolic link points to a file
|
||||
.TP
|
||||
AE_SYMLINK_TYPE_DIRECTORY
|
||||
Symbolic link points to a directory
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry\fP(3),
|
||||
\fBarchive_entry_paths\fP(3),
|
||||
\fBarchive_entry_stat\fP(3),
|
||||
\fBlibarchive\fP(3)
|
188
dependencies/libarchive-3.4.2/doc/man/archive_entry_paths.3
vendored
Normal file
188
dependencies/libarchive-3.4.2/doc/man/archive_entry_paths.3
vendored
Normal file
|
@ -0,0 +1,188 @@
|
|||
.TH ARCHIVE_ENTRY_PATHS 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_hardlink\fP,
|
||||
\fB\%archive_entry_hardlink_w\fP,
|
||||
\fB\%archive_entry_set_hardlink\fP,
|
||||
\fB\%archive_entry_copy_hardlink\fP,
|
||||
\fB\%archive_entry_copy_hardlink_w\fP,
|
||||
\fB\%archive_entry_update_hardlink_utf8\fP,
|
||||
\fB\%archive_entry_set_link\fP,
|
||||
\fB\%archive_entry_copy_link\fP,
|
||||
\fB\%archive_entry_copy_link_w\fP,
|
||||
\fB\%archive_entry_update_link_utf8\fP,
|
||||
\fB\%archive_entry_pathname\fP,
|
||||
\fB\%archive_entry_pathname_w\fP,
|
||||
\fB\%archive_entry_set_pathname\fP,
|
||||
\fB\%archive_entry_copy_pathname\fP,
|
||||
\fB\%archive_entry_copy_pathname_w\fP,
|
||||
\fB\%archive_entry_update_pathname_utf8\fP,
|
||||
\fB\%archive_entry_sourcepath\fP,
|
||||
\fB\%archive_entry_copy_sourcepath\fP,
|
||||
\fB\%archive_entry_symlink\fP,
|
||||
\fB\%archive_entry_symlink_w\fP,
|
||||
\fB\%archive_entry_set_symlink\fP,
|
||||
\fB\%archive_entry_copy_symlink\fP,
|
||||
\fB\%archive_entry_copy_symlink_w\fP,
|
||||
\fB\%archive_entry_update_symlink_utf8\fP
|
||||
\- functions for manipulating path names in archive entry descriptions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_hardlink\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIconst wchar_t *\fP
|
||||
.br
|
||||
\fB\%archive_entry_hardlink_w\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_hardlink\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_hardlink\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_hardlink_w\fP(\fI\%struct\ archive_entry\ *a\ \fP, \fI\%const\fP, \fI\%wchar_t\fP, \fI\%*path"\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_update_hardlink_utf8\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_link\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_link\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%\ const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_link_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%\ const\ wchar_t\ *path\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_update_link_utf8\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%\ const\ char\ *path\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_pathname\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIconst wchar_t *\fP
|
||||
.br
|
||||
\fB\%archive_entry_pathname_w\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_pathname\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_pathname\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_pathname_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ wchar_t\ *path\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_update_pathname_utf8\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_sourcepath\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_sourcepath\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_symlink\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIconst wchar_t *\fP
|
||||
.br
|
||||
\fB\%archive_entry_symlink_w\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_symlink\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_symlink\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_symlink_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ wchar_t\ *path\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_update_symlink_utf8\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *path\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
Path names supported by
|
||||
\fBarchive_entry\fP(3):
|
||||
.RS 5
|
||||
.TP
|
||||
hardlink
|
||||
Destination of the hardlink.
|
||||
.TP
|
||||
link
|
||||
Update only.
|
||||
For a symlink, update the destination.
|
||||
Otherwise, make the entry a hardlink and alter
|
||||
the destination for that.
|
||||
.TP
|
||||
pathname
|
||||
Path in the archive
|
||||
.TP
|
||||
sourcepath
|
||||
Path on the disk for use by
|
||||
\fBarchive_read_disk\fP(3).
|
||||
.TP
|
||||
symlink
|
||||
Destination of the symbolic link.
|
||||
.RE
|
||||
.PP
|
||||
Path names can be provided in one of three different ways:
|
||||
.RS 5
|
||||
.TP
|
||||
char *
|
||||
Multibyte strings in the current locale.
|
||||
.TP
|
||||
wchar_t *
|
||||
Wide character strings in the current locale.
|
||||
The accessor functions are named
|
||||
\fB\%XXX_w\fP().
|
||||
.TP
|
||||
UTF-8
|
||||
Unicode strings encoded as UTF-8.
|
||||
These are convenience functions to update both the multibyte and wide
|
||||
character strings at the same time.
|
||||
.RE
|
||||
.PP
|
||||
The sourcepath is a pure filesystem concept and never stored in an
|
||||
archive directly.
|
||||
.PP
|
||||
For that reason, it is only available as multibyte string.
|
||||
The link path is a convenience function for conditionally setting
|
||||
hardlink or symlink destination.
|
||||
It doesn't have a corresponding get accessor function.
|
||||
.PP
|
||||
\fB\%archive_entry_set_XXX\fP()
|
||||
is an alias for
|
||||
\fB\%archive_entry_copy_XXX\fP().
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry\fP(3),
|
||||
\fBlibarchive\fP(3)
|
231
dependencies/libarchive-3.4.2/doc/man/archive_entry_perms.3
vendored
Normal file
231
dependencies/libarchive-3.4.2/doc/man/archive_entry_perms.3
vendored
Normal file
|
@ -0,0 +1,231 @@
|
|||
.TH ARCHIVE_ENTRY_PERMS 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_gid\fP,
|
||||
\fB\%archive_entry_set_gid\fP,
|
||||
\fB\%archive_entry_uid\fP,
|
||||
\fB\%archive_entry_set_uid\fP,
|
||||
\fB\%archive_entry_perm\fP,
|
||||
\fB\%archive_entry_set_perm\fP,
|
||||
\fB\%archive_entry_strmode\fP,
|
||||
\fB\%archive_entry_uname\fP,
|
||||
\fB\%archive_entry_uname_w\fP,
|
||||
\fB\%archive_entry_set_uname\fP,
|
||||
\fB\%archive_entry_copy_uname\fP,
|
||||
\fB\%archive_entry_copy_uname_w\fP,
|
||||
\fB\%archive_entry_update_uname_utf8\fP,
|
||||
\fB\%archive_entry_gname\fP,
|
||||
\fB\%archive_entry_gname_w\fP,
|
||||
\fB\%archive_entry_set_gname\fP,
|
||||
\fB\%archive_entry_copy_gname\fP,
|
||||
\fB\%archive_entry_copy_gname_w\fP,
|
||||
\fB\%archive_entry_update_gname_utf8\fP,
|
||||
\fB\%archive_entry_fflags\fP,
|
||||
\fB\%archive_entry_fflags_text\fP,
|
||||
\fB\%archive_entry_set_fflags\fP,
|
||||
\fB\%archive_entry_copy_fflags_text\fP,
|
||||
\fB\%archive_entry_copy_fflags_text_w\fP
|
||||
\- functions for manipulating ownership and permissions in archive entry descriptions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fIgid_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_gid\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_gid\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%gid_t\ gid\fP);
|
||||
.br
|
||||
\fIuid_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_uid\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_uid\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%uid_t\ uid\fP);
|
||||
.br
|
||||
\fImode_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_perm\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_perm\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%mode_t\ mode\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_strmode\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_gname\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIconst wchar_t *\fP
|
||||
.br
|
||||
\fB\%archive_entry_gname_w\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_gname\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_gname\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *name\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_gname_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ wchar_t\ *name\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_update_gname_utf8\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *name\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_uname\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIconst wchar_t *\fP
|
||||
.br
|
||||
\fB\%archive_entry_uname_w\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_uname\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *name\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_uname\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *name\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_uname_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ wchar_t\ *name\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_update_uname_utf8\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *name\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_fflags\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%unsigned\ long\ *set_bits\fP, \fI\%unsigned\ long\ *clear_bits\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_fflags_text\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_fflags\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%unsigned\ long\ set_bits\fP, \fI\%unsigned\ long\ clear_bits\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_fflags_text\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ char\ *text\fP);
|
||||
.br
|
||||
\fIconst wchar_t *\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_fflags_text_w\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ wchar_t\ *text\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.SS User id, group id and mode
|
||||
The functions
|
||||
\fB\%archive_entry_uid\fP(),
|
||||
\fB\%archive_entry_gid\fP(),
|
||||
and
|
||||
\fB\%archive_entry_perm\fP()
|
||||
can be used to extract the user id, group id and permission from the given entry.
|
||||
The corresponding functions
|
||||
\fB\%archive_entry_set_uid\fP(),
|
||||
\fB\%archive_entry_set_gid\fP(),
|
||||
and
|
||||
\fB\%archive_entry_set_perm\fP()
|
||||
store the given user id, group id and permission in the entry.
|
||||
The permission is also set as a side effect of calling
|
||||
\fB\%archive_entry_set_mode\fP().
|
||||
.PP
|
||||
\fB\%archive_entry_strmode\fP()
|
||||
returns a string representation of the permission as used by the long mode of
|
||||
\fBls\fP(1).
|
||||
.SS User and group name
|
||||
User and group names can be provided in one of three different ways:
|
||||
.RS 5
|
||||
.TP
|
||||
char *
|
||||
Multibyte strings in the current locale.
|
||||
.TP
|
||||
wchar_t *
|
||||
Wide character strings in the current locale.
|
||||
The accessor functions are named
|
||||
\fB\%XXX_w\fP().
|
||||
.TP
|
||||
UTF-8
|
||||
Unicode strings encoded as UTF-8.
|
||||
These are convenience functions to update both the multibyte and wide
|
||||
character strings at the same time.
|
||||
.RE
|
||||
.PP
|
||||
\fB\%archive_entry_set_XXX\fP()
|
||||
is an alias for
|
||||
\fB\%archive_entry_copy_XXX\fP().
|
||||
.SS File Flags
|
||||
File flags are transparently converted between a bitmap
|
||||
representation and a textual format.
|
||||
For example, if you set the bitmap and ask for text, the library
|
||||
will build a canonical text format.
|
||||
However, if you set a text format and request a text format,
|
||||
you will get back the same text, even if it is ill-formed.
|
||||
If you need to canonicalize a textual flags string, you should first set the
|
||||
text form, then request the bitmap form, then use that to set the bitmap form.
|
||||
Setting the bitmap format will clear the internal text representation
|
||||
and force it to be reconstructed when you next request the text form.
|
||||
.PP
|
||||
The bitmap format consists of two integers, one containing bits
|
||||
that should be set, the other specifying bits that should be
|
||||
cleared.
|
||||
Bits not mentioned in either bitmap will be ignored.
|
||||
Usually, the bitmap of bits to be cleared will be set to zero.
|
||||
In unusual circumstances, you can force a fully-specified set
|
||||
of file flags by setting the bitmap of flags to clear to the complement
|
||||
of the bitmap of flags to set.
|
||||
(This differs from
|
||||
\fBfflagstostr\fP(3),
|
||||
which only includes names for set bits.)
|
||||
Converting a bitmap to a textual string is a platform-specific
|
||||
operation; bits that are not meaningful on the current platform
|
||||
will be ignored.
|
||||
.PP
|
||||
The canonical text format is a comma-separated list of flag names.
|
||||
The
|
||||
\fB\%archive_entry_copy_fflags_text\fP()
|
||||
and
|
||||
\fB\%archive_entry_copy_fflags_text_w\fP()
|
||||
functions parse the provided text and set the internal bitmap values.
|
||||
This is a platform-specific operation; names that are not meaningful
|
||||
on the current platform will be ignored.
|
||||
The function returns a pointer to the start of the first name that was not
|
||||
recognized, or NULL if every name was recognized.
|
||||
Note that every name \(em including names that follow an unrecognized
|
||||
name \(em will be evaluated, and the bitmaps will be set to reflect
|
||||
every name that is recognized.
|
||||
(In particular, this differs from
|
||||
\fBstrtofflags\fP(3),
|
||||
which stops parsing at the first unrecognized name.)
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry\fP(3),
|
||||
\fBarchive_entry_acl\fP(3),
|
||||
\fBarchive_read_disk\fP(3),
|
||||
\fBarchive_write_disk\fP(3),
|
||||
\fBlibarchive\fP(3)
|
||||
.SH BUGS
|
||||
.ad l
|
||||
The platform types
|
||||
Vt uid_t
|
||||
and
|
||||
Vt gid_t
|
||||
are often 16 or 32 bit wide.
|
||||
In this case it is possible that the ids can not be correctly restored
|
||||
from archives and get truncated.
|
320
dependencies/libarchive-3.4.2/doc/man/archive_entry_stat.3
vendored
Normal file
320
dependencies/libarchive-3.4.2/doc/man/archive_entry_stat.3
vendored
Normal file
|
@ -0,0 +1,320 @@
|
|||
.TH ARCHIVE_ENTRY_STAT 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_stat\fP,
|
||||
\fB\%archive_entry_copy_stat\fP,
|
||||
\fB\%archive_entry_filetype\fP,
|
||||
\fB\%archive_entry_set_filetype\fP,
|
||||
\fB\%archive_entry_mode\fP,
|
||||
\fB\%archive_entry_set_mode\fP,
|
||||
\fB\%archive_entry_size\fP,
|
||||
\fB\%archive_entry_size_is_set\fP,
|
||||
\fB\%archive_entry_set_size\fP,
|
||||
\fB\%archive_entry_unset_size\fP,
|
||||
\fB\%archive_entry_dev\fP,
|
||||
\fB\%archive_entry_set_dev\fP,
|
||||
\fB\%archive_entry_dev_is_set\fP,
|
||||
\fB\%archive_entry_devmajor\fP,
|
||||
\fB\%archive_entry_set_devmajor\fP,
|
||||
\fB\%archive_entry_devminor\fP,
|
||||
\fB\%archive_entry_set_devminor\fP,
|
||||
\fB\%archive_entry_ino\fP,
|
||||
\fB\%archive_entry_set_ino\fP,
|
||||
\fB\%archive_entry_ino_is_set\fP,
|
||||
\fB\%archive_entry_ino64\fP,
|
||||
\fB\%archive_entry_set_ino64\fP,
|
||||
\fB\%archive_entry_nlink\fP,
|
||||
\fB\%archive_entry_rdev\fP,
|
||||
\fB\%archive_entry_set_rdev\fP,
|
||||
\fB\%archive_entry_rdevmajor\fP,
|
||||
\fB\%archive_entry_set_rdevmajor\fP,
|
||||
\fB\%archive_entry_rdevminor\fP,
|
||||
\fB\%archive_entry_set_rdevminor\fP
|
||||
\- accessor functions for manipulating archive entry descriptions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fIconst struct stat *\fP
|
||||
.br
|
||||
\fB\%archive_entry_stat\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_copy_stat\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%const\ struct\ stat\ *sb\fP);
|
||||
.br
|
||||
\fImode_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_filetype\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_filetype\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%unsigned\ int\ type\fP);
|
||||
.br
|
||||
\fImode_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_mode\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_mode\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%mode_t\ mode\fP);
|
||||
.br
|
||||
\fIint64_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_size\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_size_is_set\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_size\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int64_t\ size\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_unset_size\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIdev_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_dev\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_dev\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%dev_t\ dev\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_dev_is_set\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIdev_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_devmajor\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_devmajor\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%dev_t\ major\fP);
|
||||
.br
|
||||
\fIdev_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_devminor\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_devminor\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%dev_t\ minor\fP);
|
||||
.br
|
||||
\fIino_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_ino\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_ino\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%unsigned\ long\ ino\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_ino_is_set\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIint64_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_ino64\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_ino64\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%int64_t\ ino\fP);
|
||||
.br
|
||||
\fIunsigned int\fP
|
||||
.br
|
||||
\fB\%archive_entry_nlink\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_nlink\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%unsigned\ int\ count\fP);
|
||||
.br
|
||||
\fIdev_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_rdev\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIdev_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_rdevmajor\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIdev_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_rdevminor\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_rdev\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%dev_t\ dev\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_rdevmajor\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%dev_t\ major\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_rdevminor\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%dev_t\ minor\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.SS Copying to and from Vt struct stat
|
||||
The function
|
||||
\fB\%archive_entry_stat\fP()
|
||||
converts the various fields stored in the archive entry to the format
|
||||
used by
|
||||
\fBstat\fP(2).
|
||||
The return value remains valid until either
|
||||
\fB\%archive_entry_clear\fP()
|
||||
or
|
||||
\fB\%archive_entry_free\fP()
|
||||
is called.
|
||||
It is not affected by calls to the set accessor functions.
|
||||
It currently sets the following values in
|
||||
Vt struct stat:
|
||||
Vt st_atime,
|
||||
Vt st_ctime,
|
||||
Vt st_dev,
|
||||
Vt st_gid,
|
||||
Vt st_ino,
|
||||
Vt st_mode,
|
||||
Vt st_mtime,
|
||||
Vt st_nlink,
|
||||
Vt st_rdev,
|
||||
Vt st_size,
|
||||
Vt st_uid.
|
||||
In addition,
|
||||
Vt st_birthtime
|
||||
and high-precision information for time-related fields
|
||||
will be included on platforms that support it.
|
||||
.PP
|
||||
The function
|
||||
\fB\%archive_entry_copy_stat\fP()
|
||||
copies fields from the platform's
|
||||
Vt struct stat.
|
||||
Fields not provided by
|
||||
Vt struct stat
|
||||
are unchanged.
|
||||
.SS General accessor functions
|
||||
The functions
|
||||
\fB\%archive_entry_filetype\fP()
|
||||
and
|
||||
\fB\%archive_entry_set_filetype\fP()
|
||||
get respectively set the filetype.
|
||||
The file type is one of the following constants:
|
||||
.RS 5
|
||||
.TP
|
||||
AE_IFREG
|
||||
Regular file
|
||||
.TP
|
||||
AE_IFLNK
|
||||
Symbolic link
|
||||
.TP
|
||||
AE_IFSOCK
|
||||
Socket
|
||||
.TP
|
||||
AE_IFCHR
|
||||
Character device
|
||||
.TP
|
||||
AE_IFBLK
|
||||
Block device
|
||||
.TP
|
||||
AE_IFDIR
|
||||
Directory
|
||||
.TP
|
||||
AE_IFIFO
|
||||
Named pipe (fifo)
|
||||
.RE
|
||||
Not all file types are supported by all platforms.
|
||||
The constants used by
|
||||
\fBstat\fP(2)
|
||||
may have different numeric values from the
|
||||
corresponding constants above.
|
||||
.PP
|
||||
The functions
|
||||
\fB\%archive_entry_mode\fP()
|
||||
and
|
||||
\fB\%archive_entry_set_mode\fP()
|
||||
get/set a combination of file type and permissions and provide the
|
||||
equivalent of
|
||||
\fIst_mode\fP.
|
||||
Use of
|
||||
\fB\%archive_entry_filetype\fP()
|
||||
and
|
||||
\fB\%archive_entry_perm\fP()
|
||||
for getting and
|
||||
\fB\%archive_entry_set_filetype\fP()
|
||||
and
|
||||
\fB\%archive_entry_set_perm\fP()
|
||||
for setting is recommended.
|
||||
.PP
|
||||
The function
|
||||
\fB\%archive_entry_size\fP()
|
||||
returns the file size, if it has been set, and 0 otherwise.
|
||||
\fB\%archive_entry_size\fP()
|
||||
can be used to query that status.
|
||||
\fB\%archive_entry_set_size\fP()
|
||||
and
|
||||
\fB\%archive_entry_unset_size\fP()
|
||||
set and unset the size, respectively.
|
||||
.PP
|
||||
The number of references (hardlinks) can be obtained by calling
|
||||
\fB\%archive_entry_nlinks\fP()
|
||||
and set with
|
||||
\fB\%archive_entry_set_nlinks\fP().
|
||||
.SS Identifying unique files
|
||||
The functions
|
||||
\fB\%archive_entry_dev\fP()
|
||||
and
|
||||
\fB\%archive_entry_ino64\fP()
|
||||
are used by
|
||||
\fBarchive_entry_linkify\fP(3)
|
||||
to find hardlinks.
|
||||
The pair of device and inode is supposed to identify hardlinked files.
|
||||
.PP
|
||||
The device major and minor number can be obtained independently using
|
||||
\fB\%archive_entry_devmajor\fP()
|
||||
and
|
||||
\fB\%archive_entry_devminor\fP().
|
||||
The device can be set either via
|
||||
\fB\%archive_entry_set_dev\fP()
|
||||
or by the combination of major and minor number using
|
||||
\fB\%archive_entry_set_devmajor\fP()
|
||||
and
|
||||
\fB\%archive_entry_set_devminor\fP().
|
||||
.PP
|
||||
The inode number can be obtained using
|
||||
\fB\%archive_entry_ino\fP().
|
||||
This is a legacy interface that uses the platform
|
||||
Vt ino_t,
|
||||
which may be very small.
|
||||
To set the inode number,
|
||||
\fB\%archive_entry_set_ino64\fP()
|
||||
is the preferred interface.
|
||||
.SS Accessor functions for block and character devices
|
||||
Block and character devices are characterised either using a device number
|
||||
or a pair of major and minor number.
|
||||
The combined device number can be obtained with
|
||||
\fB\%archive_device_rdev\fP()
|
||||
and set with
|
||||
\fB\%archive_device_set_rdev\fP().
|
||||
The major and minor numbers are accessed by
|
||||
\fB\%archive_device_rdevmajor\fP(),
|
||||
\fB\%archive_device_rdevminor\fP()
|
||||
\fB\%archive_device_set_rdevmajor\fP()
|
||||
and
|
||||
\fB\%archive_device_set_rdevminor\fP().
|
||||
.PP
|
||||
The process of splitting the combined device number into major and
|
||||
minor number and the reverse process of combing them differs between
|
||||
platforms.
|
||||
Some archive formats use the combined form, while other formats use
|
||||
the split form.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBstat\fP(2),
|
||||
\fBarchive_entry_acl\fP(3),
|
||||
\fBarchive_entry_perms\fP(3),
|
||||
\fBarchive_entry_time\fP(3),
|
||||
\fBlibarchive\fP(3)
|
146
dependencies/libarchive-3.4.2/doc/man/archive_entry_time.3
vendored
Normal file
146
dependencies/libarchive-3.4.2/doc/man/archive_entry_time.3
vendored
Normal file
|
@ -0,0 +1,146 @@
|
|||
.TH ARCHIVE_ENTRY_TIME 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_entry_atime\fP,
|
||||
\fB\%archive_entry_atime_nsec\fP,
|
||||
\fB\%archive_entry_atime_is_set\fP,
|
||||
\fB\%archive_entry_set_atime\fP,
|
||||
\fB\%archive_entry_unset_atime\fP,
|
||||
\fB\%archive_entry_birthtime\fP,
|
||||
\fB\%archive_entry_birthtime_nsec\fP,
|
||||
\fB\%archive_entry_birthtime_is_set\fP,
|
||||
\fB\%archive_entry_set_birthtime\fP,
|
||||
\fB\%archive_entry_unset_birthtime\fP,
|
||||
\fB\%archive_entry_ctime\fP,
|
||||
\fB\%archive_entry_ctime_nsec\fP,
|
||||
\fB\%archive_entry_ctime_is_set\fP,
|
||||
\fB\%archive_entry_set_ctime\fP,
|
||||
\fB\%archive_entry_unset_ctime\fP,
|
||||
\fB\%archive_entry_mtime\fP,
|
||||
\fB\%archive_entry_mtime_nsec\fP,
|
||||
\fB\%archive_entry_mtime_is_set\fP,
|
||||
\fB\%archive_entry_set_mtime\fP,
|
||||
\fB\%archive_entry_unset_mtime\fP
|
||||
\- functions for manipulating times in archive entry descriptions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive_entry.h>\fP
|
||||
.br
|
||||
\fItime_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_atime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIlong\fP
|
||||
.br
|
||||
\fB\%archive_entry_atime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_atime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_atime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_unset_atime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fItime_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_birthtime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIlong\fP
|
||||
.br
|
||||
\fB\%archive_entry_birthtime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_birthtime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_birthtime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_unset_birthtime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fItime_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_ctime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIlong\fP
|
||||
.br
|
||||
\fB\%archive_entry_ctime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_ctime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_ctime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_unset_ctime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fItime_t\fP
|
||||
.br
|
||||
\fB\%archive_entry_mtime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIlong\fP
|
||||
.br
|
||||
\fB\%archive_entry_mtime_nsec\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_entry_mtime_is_set\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_set_mtime\fP(\fI\%struct\ archive_entry\ *a\fP, \fI\%time_t\ sec\fP, \fI\%long\ nanosec\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_entry_unset_mtime\fP(\fI\%struct\ archive_entry\ *a\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions create and manipulate the time fields in an
|
||||
Vt archive_entry.
|
||||
Supported time fields are atime (access time), birthtime (creation time),
|
||||
ctime (last time an inode property was changed) and mtime (modification time).
|
||||
.PP
|
||||
\fBlibarchive\fP(3)
|
||||
provides a high-resolution interface.
|
||||
The timestamps are truncated automatically depending on the archive format
|
||||
(for archiving) or the filesystem capabilities (for restoring).
|
||||
.PP
|
||||
All timestamp fields are optional.
|
||||
The
|
||||
\fB\%XXX_unset\fP()
|
||||
functions can be used to mark the corresponding field as missing.
|
||||
The current state can be queried using
|
||||
\fB\%XXX_is_set\fP().
|
||||
Unset time fields have a second and nanosecond field of 0.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry\fP(3),
|
||||
\fBlibarchive\fP(3)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
219
dependencies/libarchive-3.4.2/doc/man/archive_read.3
vendored
Normal file
219
dependencies/libarchive-3.4.2/doc/man/archive_read.3
vendored
Normal file
|
@ -0,0 +1,219 @@
|
|||
.TH ARCHIVE_READ 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions provide a complete API for reading streaming archives.
|
||||
The general process is to first create the
|
||||
Tn struct archive
|
||||
object, set options, initialize the reader, iterate over the archive
|
||||
headers and associated data, then close the archive and release all
|
||||
resources.
|
||||
.SS Create archive object
|
||||
See
|
||||
\fBarchive_read_new\fP(3).
|
||||
.PP
|
||||
To read an archive, you must first obtain an initialized
|
||||
Tn struct archive
|
||||
object from
|
||||
\fB\%archive_read_new\fP().
|
||||
.SS Enable filters and formats
|
||||
See
|
||||
\fBarchive_read_filter\fP(3)
|
||||
and
|
||||
\fBarchive_read_format\fP(3).
|
||||
.PP
|
||||
You can then modify this object for the desired operations with the
|
||||
various
|
||||
\fB\%archive_read_set_XXX\fP()
|
||||
and
|
||||
\fB\%archive_read_support_XXX\fP()
|
||||
functions.
|
||||
In particular, you will need to invoke appropriate
|
||||
\fB\%archive_read_support_XXX\fP()
|
||||
functions to enable the corresponding compression and format
|
||||
support.
|
||||
Note that these latter functions perform two distinct operations:
|
||||
they cause the corresponding support code to be linked into your
|
||||
program, and they enable the corresponding auto-detect code.
|
||||
Unless you have specific constraints, you will generally want
|
||||
to invoke
|
||||
\fB\%archive_read_support_filter_all\fP()
|
||||
and
|
||||
\fB\%archive_read_support_format_all\fP()
|
||||
to enable auto-detect for all formats and compression types
|
||||
currently supported by the library.
|
||||
.SS Set options
|
||||
See
|
||||
\fBarchive_read_set_options\fP(3).
|
||||
.SS Open archive
|
||||
See
|
||||
\fBarchive_read_open\fP(3).
|
||||
.PP
|
||||
Once you have prepared the
|
||||
Tn struct archive
|
||||
object, you call
|
||||
\fB\%archive_read_open\fP()
|
||||
to actually open the archive and prepare it for reading.
|
||||
There are several variants of this function;
|
||||
the most basic expects you to provide pointers to several
|
||||
functions that can provide blocks of bytes from the archive.
|
||||
There are convenience forms that allow you to
|
||||
specify a filename, file descriptor,
|
||||
\fIFILE *\fP
|
||||
object, or a block of memory from which to read the archive data.
|
||||
Note that the core library makes no assumptions about the
|
||||
size of the blocks read;
|
||||
callback functions are free to read whatever block size is
|
||||
most appropriate for the medium.
|
||||
.SS Consume archive
|
||||
See
|
||||
\fBarchive_read_header\fP(3),
|
||||
\fBarchive_read_data\fP(3)
|
||||
and
|
||||
\fBarchive_read_extract\fP(3).
|
||||
.PP
|
||||
Each archive entry consists of a header followed by a certain
|
||||
amount of data.
|
||||
You can obtain the next header with
|
||||
\fB\%archive_read_next_header\fP(),
|
||||
which returns a pointer to an
|
||||
Tn struct archive_entry
|
||||
structure with information about the current archive element.
|
||||
If the entry is a regular file, then the header will be followed
|
||||
by the file data.
|
||||
You can use
|
||||
\fB\%archive_read_data\fP()
|
||||
(which works much like the
|
||||
\fBread\fP(2)
|
||||
system call)
|
||||
to read this data from the archive, or
|
||||
\fB\%archive_read_data_block\fP()
|
||||
which provides a slightly more efficient interface.
|
||||
You may prefer to use the higher-level
|
||||
\fB\%archive_read_data_skip\fP(),
|
||||
which reads and discards the data for this entry,
|
||||
\fB\%archive_read_data_into_fd\fP(),
|
||||
which copies the data to the provided file descriptor, or
|
||||
\fB\%archive_read_extract\fP(),
|
||||
which recreates the specified entry on disk and copies data
|
||||
from the archive.
|
||||
In particular, note that
|
||||
\fB\%archive_read_extract\fP()
|
||||
uses the
|
||||
Tn struct archive_entry
|
||||
structure that you provide it, which may differ from the
|
||||
entry just read from the archive.
|
||||
In particular, many applications will want to override the
|
||||
pathname, file permissions, or ownership.
|
||||
.SS Release resources
|
||||
See
|
||||
\fBarchive_read_free\fP(3).
|
||||
.PP
|
||||
Once you have finished reading data from the archive, you
|
||||
should call
|
||||
\fB\%archive_read_close\fP()
|
||||
to close the archive, then call
|
||||
\fB\%archive_read_free\fP()
|
||||
to release all resources, including all memory allocated by the library.
|
||||
.SH EXAMPLES
|
||||
.ad l
|
||||
The following illustrates basic usage of the library.
|
||||
In this example,
|
||||
the callback functions are simply wrappers around the standard
|
||||
\fBopen\fP(2),
|
||||
\fBread\fP(2),
|
||||
and
|
||||
\fBclose\fP(2)
|
||||
system calls.
|
||||
.RS 4
|
||||
.nf
|
||||
void
|
||||
list_archive(const char *name)
|
||||
{
|
||||
struct mydata *mydata;
|
||||
struct archive *a;
|
||||
struct archive_entry *entry;
|
||||
mydata = malloc(sizeof(struct mydata));
|
||||
a = archive_read_new();
|
||||
mydata->name = name;
|
||||
archive_read_support_filter_all(a);
|
||||
archive_read_support_format_all(a);
|
||||
archive_read_open(a, mydata, myopen, myread, myclose);
|
||||
while (archive_read_next_header(a, &entry) == ARCHIVE_OK) {
|
||||
printf("%s\en",archive_entry_pathname(entry));
|
||||
archive_read_data_skip(a);
|
||||
}
|
||||
archive_read_free(a);
|
||||
free(mydata);
|
||||
}
|
||||
la_ssize_t
|
||||
myread(struct archive *a, void *client_data, const void **buff)
|
||||
{
|
||||
struct mydata *mydata = client_data;
|
||||
*buff = mydata->buff;
|
||||
return (read(mydata->fd, mydata->buff, 10240));
|
||||
}
|
||||
int
|
||||
myopen(struct archive *a, void *client_data)
|
||||
{
|
||||
struct mydata *mydata = client_data;
|
||||
mydata->fd = open(mydata->name, O_RDONLY);
|
||||
return (mydata->fd >= 0 ? ARCHIVE_OK : ARCHIVE_FATAL);
|
||||
}
|
||||
int
|
||||
myclose(struct archive *a, void *client_data)
|
||||
{
|
||||
struct mydata *mydata = client_data;
|
||||
if (mydata->fd > 0)
|
||||
close(mydata->fd);
|
||||
return (ARCHIVE_OK);
|
||||
}
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_extract\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_header\fP(3),
|
||||
\fBarchive_read_new\fP(3),
|
||||
\fBarchive_read_open\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBtar\fP(5)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
||||
.SH BUGS
|
||||
.ad l
|
||||
Many traditional archiver programs treat
|
||||
empty files as valid empty archives.
|
||||
For example, many implementations of
|
||||
\fBtar\fP(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
|
||||
``empty''
|
||||
format.
|
49
dependencies/libarchive-3.4.2/doc/man/archive_read_add_passphrase.3
vendored
Normal file
49
dependencies/libarchive-3.4.2/doc/man/archive_read_add_passphrase.3
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
.TH ARCHIVE_READ_ADD_PASSPHRASE 3 "September 14, 2014" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_add_passphrase\fP,
|
||||
\fB\%archive_read_set_passphrase_callback\fP
|
||||
\- functions for reading encrypted archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_add_passphrase\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *passphrase\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_set_passphrase_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%archive_passphrase_callback\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_add_passphrase\fP()
|
||||
Register passphrases for reading an encryption archive.
|
||||
If
|
||||
\fIpassphrase\fP
|
||||
is
|
||||
.BR NULL
|
||||
or empty, this function will do nothing and
|
||||
\fBARCHIVE_FAILED\fP
|
||||
will be returned.
|
||||
Otherwise,
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned.
|
||||
.TP
|
||||
\fB\%archive_read_set_passphrase_callback\fP()
|
||||
Register a callback function that will be invoked to get a passphrase
|
||||
for decryption after trying all the passphrases registered by the
|
||||
\fB\%archive_read_add_passphrase\fP()
|
||||
function failed.
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBlibarchive\fP(3)
|
112
dependencies/libarchive-3.4.2/doc/man/archive_read_data.3
vendored
Normal file
112
dependencies/libarchive-3.4.2/doc/man/archive_read_data.3
vendored
Normal file
|
@ -0,0 +1,112 @@
|
|||
.TH ARCHIVE_READ_DATA 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_data\fP,
|
||||
\fB\%archive_read_data_block\fP,
|
||||
\fB\%archive_read_data_skip\fP,
|
||||
\fB\%archive_read_data_into_fd\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIla_ssize_t\fP
|
||||
.br
|
||||
\fB\%archive_read_data\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *buff\fP, \fI\%size_t\ len\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_data_block\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ void\ **buff\fP, \fI\%size_t\ *len\fP, \fI\%off_t\ *offset\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_data_skip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_data_into_fd\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ fd\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_data\fP()
|
||||
Read data associated with the header just read.
|
||||
Internally, this is a convenience function that calls
|
||||
\fB\%archive_read_data_block\fP()
|
||||
and fills any gaps with nulls so that callers see a single
|
||||
continuous stream of data.
|
||||
.TP
|
||||
\fB\%archive_read_data_block\fP()
|
||||
Return the next available block of data for this entry.
|
||||
Unlike
|
||||
\fB\%archive_read_data\fP(),
|
||||
the
|
||||
\fB\%archive_read_data_block\fP()
|
||||
function avoids copying data and allows you to correctly handle
|
||||
sparse files, as supported by some archive formats.
|
||||
The library guarantees that offsets will increase and that blocks
|
||||
will not overlap.
|
||||
Note that the blocks returned from this function can be much larger
|
||||
than the block size read from disk, due to compression
|
||||
and internal buffer optimizations.
|
||||
.TP
|
||||
\fB\%archive_read_data_skip\fP()
|
||||
A convenience function that repeatedly calls
|
||||
\fB\%archive_read_data_block\fP()
|
||||
to skip all of the data for this archive entry.
|
||||
Note that this function is invoked automatically by
|
||||
\fB\%archive_read_next_header2\fP()
|
||||
if the previous entry was not completely consumed.
|
||||
.TP
|
||||
\fB\%archive_read_data_into_fd\fP()
|
||||
A convenience function that repeatedly calls
|
||||
\fB\%archive_read_data_block\fP()
|
||||
to copy the entire entry to the provided file descriptor.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
Most functions return zero on success, non-zero on error.
|
||||
The possible return codes include:
|
||||
\fBARCHIVE_OK\fP
|
||||
(the operation succeeded),
|
||||
\fBARCHIVE_WARN\fP
|
||||
(the operation succeeded but a non-critical error was encountered),
|
||||
\fBARCHIVE_EOF\fP
|
||||
(end-of-archive was encountered),
|
||||
\fBARCHIVE_RETRY\fP
|
||||
(the operation failed but can be retried),
|
||||
and
|
||||
\fBARCHIVE_FATAL\fP
|
||||
(there was a fatal error; the archive should be closed immediately).
|
||||
.PP
|
||||
\fB\%archive_read_data\fP()
|
||||
returns a count of bytes actually read or zero at the end of the entry.
|
||||
On error, a value of
|
||||
\fBARCHIVE_FATAL\fP,
|
||||
\fBARCHIVE_WARN\fP,
|
||||
or
|
||||
\fBARCHIVE_RETRY\fP
|
||||
is returned.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_read_extract\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_header\fP(3),
|
||||
\fBarchive_read_open\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBtar\fP(5)
|
342
dependencies/libarchive-3.4.2/doc/man/archive_read_disk.3
vendored
Normal file
342
dependencies/libarchive-3.4.2/doc/man/archive_read_disk.3
vendored
Normal file
|
@ -0,0 +1,342 @@
|
|||
.TH ARCHIVE_READ_DISK 3 "April 3, 2017" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_disk_new\fP,
|
||||
\fB\%archive_read_disk_set_behavior\fP,
|
||||
\fB\%archive_read_disk_set_symlink_logical\fP,
|
||||
\fB\%archive_read_disk_set_symlink_physical\fP,
|
||||
\fB\%archive_read_disk_set_symlink_hybrid\fP,
|
||||
\fB\%archive_read_disk_entry_from_file\fP,
|
||||
\fB\%archive_read_disk_gname\fP,
|
||||
\fB\%archive_read_disk_uname\fP,
|
||||
\fB\%archive_read_disk_set_uname_lookup\fP,
|
||||
\fB\%archive_read_disk_set_gname_lookup\fP,
|
||||
\fB\%archive_read_disk_set_standard_lookup\fP
|
||||
\- functions for reading objects from disk
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIstruct archive *\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_new\fP(\fI\%void\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_set_behavior\fP(\fI\%struct\ archive\ *\fP, \fI\%int\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_set_symlink_logical\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_set_symlink_physical\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_set_symlink_hybrid\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_gname\fP(\fI\%struct\ archive\ *\fP, \fI\%gid_t\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_uname\fP(\fI\%struct\ archive\ *\fP, \fI\%uid_t\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_set_gname_lookup\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *\fP, \fI\%const\ char\ *(*lookup)(void\ *,\ gid_t)\fP, \fI\%void\ (*cleanup)(void\ *)\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_set_uname_lookup\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *\fP, \fI\%const\ char\ *(*lookup)(void\ *,\ uid_t)\fP, \fI\%void\ (*cleanup)(void\ *)\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_set_standard_lookup\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_disk_entry_from_file\fP(\fI\%struct\ archive\ *\fP, \fI\%struct\ archive_entry\ *\fP, \fI\%int\ fd\fP, \fI\%const\ struct\ stat\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions provide an API for reading information about
|
||||
objects on disk.
|
||||
In particular, they provide an interface for populating
|
||||
Tn struct archive_entry
|
||||
objects.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_disk_new\fP()
|
||||
Allocates and initializes a
|
||||
Tn struct archive
|
||||
object suitable for reading object information from disk.
|
||||
.TP
|
||||
\fB\%archive_read_disk_set_behavior\fP()
|
||||
Configures various behavior options when reading entries from disk.
|
||||
The flags field consists of a bitwise OR of one or more of the
|
||||
following values:
|
||||
.RS 5
|
||||
.TP
|
||||
\fBARCHIVE_READDISK_HONOR_NODUMP\fP
|
||||
Skip files and directories with the nodump file attribute (file flag) set.
|
||||
By default, the nodump file attribute is ignored.
|
||||
.TP
|
||||
\fBARCHIVE_READDISK_MAC_COPYFILE\fP
|
||||
Mac OS X specific.
|
||||
Read metadata (ACLs and extended attributes) with
|
||||
\fBcopyfile\fP(3).
|
||||
By default, metadata is read using
|
||||
\fBcopyfile\fP(3).
|
||||
.TP
|
||||
\fBARCHIVE_READDISK_NO_ACL\fP
|
||||
Do not read Access Control Lists.
|
||||
By default, ACLs are read from disk.
|
||||
.TP
|
||||
\fBARCHIVE_READDISK_NO_FFLAGS\fP
|
||||
Do not read file attributes (file flags).
|
||||
By default, file attributes are read from disk.
|
||||
See
|
||||
\fBchattr\fP(1)
|
||||
(Linux)
|
||||
or
|
||||
\fBchflags\fP(1)
|
||||
(FreeBSD, Mac OS X)
|
||||
for more information on file attributes.
|
||||
.TP
|
||||
\fBARCHIVE_READDISK_NO_TRAVERSE_MOUNTS\fP
|
||||
Do not traverse mount points.
|
||||
By default, mount points are traversed.
|
||||
.TP
|
||||
\fBARCHIVE_READDISK_NO_XATTR\fP
|
||||
Do not read extended file attributes (xattrs).
|
||||
By default, extended file attributes are read from disk.
|
||||
See
|
||||
\fBxattr\fP(7)
|
||||
(Linux,)
|
||||
\fBxattr\fP(2)
|
||||
(Mac OS X,)
|
||||
or
|
||||
\fBgetextattr\fP(8)
|
||||
(FreeBSD)
|
||||
for more information on extended file attributes.
|
||||
.TP
|
||||
\fBARCHIVE_READDISK_RESTORE_ATIME\fP
|
||||
Restore access time of traversed files.
|
||||
By default, access time of traversed files is not restored.
|
||||
.RE
|
||||
.TP
|
||||
\fB\%archive_read_disk_set_symlink_logical\fP(),
|
||||
\fB\%archive_read_disk_set_symlink_physical\fP(),
|
||||
\fB\%archive_read_disk_set_symlink_hybrid\fP()
|
||||
This sets the mode used for handling symbolic links.
|
||||
The
|
||||
``logical''
|
||||
mode follows all symbolic links.
|
||||
The
|
||||
``physical''
|
||||
mode does not follow any symbolic links.
|
||||
The
|
||||
``hybrid''
|
||||
mode currently behaves identically to the
|
||||
``logical''
|
||||
mode.
|
||||
.TP
|
||||
\fB\%archive_read_disk_gname\fP(),
|
||||
\fB\%archive_read_disk_uname\fP()
|
||||
Returns a user or group name given a gid or uid value.
|
||||
By default, these always return a NULL string.
|
||||
.TP
|
||||
\fB\%archive_read_disk_set_gname_lookup\fP(),
|
||||
\fB\%archive_read_disk_set_uname_lookup\fP()
|
||||
These allow you to override the functions used for
|
||||
user and group name lookups.
|
||||
You may also provide a
|
||||
Tn void *
|
||||
pointer to a private data structure and a cleanup function for
|
||||
that data.
|
||||
The cleanup function will be invoked when the
|
||||
Tn struct archive
|
||||
object is destroyed or when new lookup functions are registered.
|
||||
.TP
|
||||
\fB\%archive_read_disk_set_standard_lookup\fP()
|
||||
This convenience function installs a standard set of user
|
||||
and group name lookup functions.
|
||||
These functions use
|
||||
\fBgetpwuid\fP(3)
|
||||
and
|
||||
\fBgetgrgid\fP(3)
|
||||
to convert ids to names, defaulting to NULL if the names cannot
|
||||
be looked up.
|
||||
These functions also implement a simple memory cache to reduce
|
||||
the number of calls to
|
||||
\fBgetpwuid\fP(3)
|
||||
and
|
||||
\fBgetgrgid\fP(3).
|
||||
.TP
|
||||
\fB\%archive_read_disk_entry_from_file\fP()
|
||||
Populates a
|
||||
Tn struct archive_entry
|
||||
object with information about a particular file.
|
||||
The
|
||||
Tn archive_entry
|
||||
object must have already been created with
|
||||
\fBarchive_entry_new\fP(3)
|
||||
and at least one of the source path or path fields must already be set.
|
||||
(If both are set, the source path will be used.)
|
||||
.PP
|
||||
Information is read from disk using the path name from the
|
||||
Tn struct archive_entry
|
||||
object.
|
||||
If a file descriptor is provided, some information will be obtained using
|
||||
that file descriptor, on platforms that support the appropriate
|
||||
system calls.
|
||||
.PP
|
||||
If a pointer to a
|
||||
Tn struct stat
|
||||
is provided, information from that structure will be used instead
|
||||
of reading from the disk where appropriate.
|
||||
This can provide performance benefits in scenarios where
|
||||
Tn struct stat
|
||||
information has already been read from the disk as a side effect
|
||||
of some other operation.
|
||||
(For example, directory traversal libraries often provide this information.)
|
||||
.PP
|
||||
Where necessary, user and group ids are converted to user and group names
|
||||
using the currently-registered lookup functions above.
|
||||
This affects the file ownership fields and ACL values in the
|
||||
Tn struct archive_entry
|
||||
object.
|
||||
.RE
|
||||
More information about the
|
||||
\fIstruct\fP archive
|
||||
object and the overall design of the library can be found in the
|
||||
\fBlibarchive\fP(3)
|
||||
overview.
|
||||
.SH EXAMPLES
|
||||
.ad l
|
||||
The following illustrates basic usage of the library by
|
||||
showing how to use it to copy an item on disk into an archive.
|
||||
.RS 4
|
||||
.nf
|
||||
void
|
||||
file_to_archive(struct archive *a, const char *name)
|
||||
{
|
||||
char buff[8192];
|
||||
size_t bytes_read;
|
||||
struct archive *ard;
|
||||
struct archive_entry *entry;
|
||||
int fd;
|
||||
ard = archive_read_disk_new();
|
||||
archive_read_disk_set_standard_lookup(ard);
|
||||
entry = archive_entry_new();
|
||||
fd = open(name, O_RDONLY);
|
||||
if (fd < 0)
|
||||
return;
|
||||
archive_entry_copy_pathname(entry, name);
|
||||
archive_read_disk_entry_from_file(ard, entry, fd, NULL);
|
||||
archive_write_header(a, entry);
|
||||
while ((bytes_read = read(fd, buff, sizeof(buff))) > 0)
|
||||
archive_write_data(a, buff, bytes_read);
|
||||
archive_write_finish_entry(a);
|
||||
archive_read_free(ard);
|
||||
archive_entry_free(entry);
|
||||
}
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
Most functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
(zero) on success, or one of several negative
|
||||
error codes for errors.
|
||||
Specific error codes include:
|
||||
\fBARCHIVE_RETRY\fP
|
||||
for operations that might succeed if retried,
|
||||
\fBARCHIVE_WARN\fP
|
||||
for unusual conditions that do not prevent further operations, and
|
||||
\fBARCHIVE_FATAL\fP
|
||||
for serious errors that make remaining operations impossible.
|
||||
.PP
|
||||
\fB\%archive_read_disk_new\fP()
|
||||
returns a pointer to a newly-allocated
|
||||
Tn struct archive
|
||||
object or NULL if the allocation failed for any reason.
|
||||
.PP
|
||||
\fB\%archive_read_disk_gname\fP()
|
||||
and
|
||||
\fB\%archive_read_disk_uname\fP()
|
||||
return
|
||||
Tn const char *
|
||||
pointers to the textual name or NULL if the lookup failed for any reason.
|
||||
The returned pointer points to internal storage that
|
||||
may be reused on the next call to either of these functions;
|
||||
callers should copy the string if they need to continue accessing it.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_disk\fP(3),
|
||||
\fBlibarchive\fP(3)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
The
|
||||
\fB\%archive_read_disk\fP
|
||||
interface was added to
|
||||
\fB\%libarchive\fP 2.6
|
||||
and first appeared in
|
||||
FreeBSD 8.0.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@FreeBSD.org.>
|
||||
.SH BUGS
|
||||
.ad l
|
||||
The
|
||||
``standard''
|
||||
user name and group name lookup functions are not the defaults because
|
||||
\fBgetgrgid\fP(3)
|
||||
and
|
||||
\fBgetpwuid\fP(3)
|
||||
are sometimes too large for particular applications.
|
||||
The current design allows the application author to use a more
|
||||
compact implementation when appropriate.
|
||||
.PP
|
||||
The full list of metadata read from disk by
|
||||
\fB\%archive_read_disk_entry_from_file\fP()
|
||||
is necessarily system-dependent.
|
||||
.PP
|
||||
The
|
||||
\fB\%archive_read_disk_entry_from_file\fP()
|
||||
function reads as much information as it can from disk.
|
||||
Some method should be provided to limit this so that clients who
|
||||
do not need ACLs, for instance, can avoid the extra work needed
|
||||
to look up such information.
|
||||
.PP
|
||||
This API should provide a set of methods for walking a directory tree.
|
||||
That would make it a direct parallel of the
|
||||
\fBarchive_read\fP(3)
|
||||
API.
|
||||
When such methods are implemented, the
|
||||
``hybrid''
|
||||
symbolic link mode will make sense.
|
112
dependencies/libarchive-3.4.2/doc/man/archive_read_extract.3
vendored
Normal file
112
dependencies/libarchive-3.4.2/doc/man/archive_read_extract.3
vendored
Normal file
|
@ -0,0 +1,112 @@
|
|||
.TH ARCHIVE_READ_EXTRACT 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_extract\fP,
|
||||
\fB\%archive_read_extract2\fP,
|
||||
\fB\%archive_read_extract_set_progress_callback\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_extract\fP(\fI\%struct\ archive\ *\fP, \fI\%struct\ archive_entry\ *\fP, \fI\%int\ flags\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_extract2\fP(\fI\%struct\ archive\ *src\fP, \fI\%struct\ archive_entry\ *\fP, \fI\%struct\ archive\ *dest\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_read_extract_set_progress_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ (*func)(void\ *)\fP, \fI\%void\ *user_data\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_extract\fP(), \fB\%archive_read_extract_set_skip_file\fP()
|
||||
A convenience function that wraps the corresponding
|
||||
\fBarchive_write_disk\fP(3)
|
||||
interfaces.
|
||||
The first call to
|
||||
\fB\%archive_read_extract\fP()
|
||||
creates a restore object using
|
||||
\fBarchive_write_disk_new\fP(3)
|
||||
and
|
||||
\fBarchive_write_disk_set_standard_lookup\fP(3),
|
||||
then transparently invokes
|
||||
\fBarchive_write_disk_set_options\fP(3),
|
||||
\fBarchive_write_header\fP(3),
|
||||
\fBarchive_write_data\fP(3),
|
||||
and
|
||||
\fBarchive_write_finish_entry\fP(3)
|
||||
to create the entry on disk and copy data into it.
|
||||
The
|
||||
\fIflags\fP
|
||||
argument is passed unmodified to
|
||||
\fBarchive_write_disk_set_options\fP(3).
|
||||
.TP
|
||||
\fB\%archive_read_extract2\fP()
|
||||
This is another version of
|
||||
\fB\%archive_read_extract\fP()
|
||||
that allows you to provide your own restore object.
|
||||
In particular, this allows you to override the standard lookup functions
|
||||
using
|
||||
\fBarchive_write_disk_set_group_lookup\fP(3),
|
||||
and
|
||||
\fBarchive_write_disk_set_user_lookup\fP(3).
|
||||
Note that
|
||||
\fB\%archive_read_extract2\fP()
|
||||
does not accept a
|
||||
\fIflags\fP
|
||||
argument; you should use
|
||||
\fB\%archive_write_disk_set_options\fP()
|
||||
to set the restore options yourself.
|
||||
.TP
|
||||
\fB\%archive_read_extract_set_progress_callback\fP()
|
||||
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.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
Most functions return zero on success, non-zero on error.
|
||||
The possible return codes include:
|
||||
\fBARCHIVE_OK\fP
|
||||
(the operation succeeded),
|
||||
\fBARCHIVE_WARN\fP
|
||||
(the operation succeeded but a non-critical error was encountered),
|
||||
\fBARCHIVE_EOF\fP
|
||||
(end-of-archive was encountered),
|
||||
\fBARCHIVE_RETRY\fP
|
||||
(the operation failed but can be retried),
|
||||
and
|
||||
\fBARCHIVE_FATAL\fP
|
||||
(there was a fatal error; the archive should be closed immediately).
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_open\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBtar\fP(5)
|
152
dependencies/libarchive-3.4.2/doc/man/archive_read_filter.3
vendored
Normal file
152
dependencies/libarchive-3.4.2/doc/man/archive_read_filter.3
vendored
Normal file
|
@ -0,0 +1,152 @@
|
|||
.TH ARCHIVE_READ_FILTER 3 "August 14, 2014" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_support_filter_all\fP,
|
||||
\fB\%archive_read_support_filter_bzip2\fP,
|
||||
\fB\%archive_read_support_filter_compress\fP,
|
||||
\fB\%archive_read_support_filter_gzip\fP,
|
||||
\fB\%archive_read_support_filter_lz4\fP,
|
||||
\fB\%archive_read_support_filter_lzma\fP,
|
||||
\fB\%archive_read_support_filter_none\fP,
|
||||
\fB\%archive_read_support_filter_rpm\fP,
|
||||
\fB\%archive_read_support_filter_uu\fP,
|
||||
\fB\%archive_read_support_filter_xz\fP,
|
||||
\fB\%archive_read_support_filter_zstd\fP,
|
||||
\fB\%archive_read_support_filter_program\fP,
|
||||
\fB\%archive_read_support_filter_program_signature\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_all\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_bzip2\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_compress\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_grzip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_gzip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_lrzip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_lz4\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_lzma\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_lzop\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_none\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_rpm\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_uu\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_xz\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_zstd\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_program\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *cmd\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_filter_program_signature\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *cmd\fP, \fI\%const\ void\ *signature\fP, \fI\%size_t\ signature_length\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_support_filter_bzip2\fP(),
|
||||
\fB\%archive_read_support_filter_compress\fP(),
|
||||
\fB\%archive_read_support_filter_grzip\fP(),
|
||||
\fB\%archive_read_support_filter_gzip\fP(),
|
||||
\fB\%archive_read_support_filter_lrzip\fP(),
|
||||
\fB\%archive_read_support_filter_lz4\fP(),
|
||||
\fB\%archive_read_support_filter_lzma\fP(),
|
||||
\fB\%archive_read_support_filter_lzop\fP(),
|
||||
\fB\%archive_read_support_filter_none\fP(),
|
||||
\fB\%archive_read_support_filter_rpm\fP(),
|
||||
\fB\%archive_read_support_filter_uu\fP(),
|
||||
\fB\%archive_read_support_filter_xz\fP(),
|
||||
\fB\%archive_read_support_filter_zstd\fP(),
|
||||
Enables auto-detection code and decompression support for the
|
||||
specified compression.
|
||||
These functions may fall back on external programs if an appropriate
|
||||
library was not available at build time.
|
||||
Decompression using an external program is usually slower than
|
||||
decompression through built-in libraries.
|
||||
Note that
|
||||
``none''
|
||||
is always enabled by default.
|
||||
.TP
|
||||
\fB\%archive_read_support_filter_all\fP()
|
||||
Enables all available decompression filters.
|
||||
.TP
|
||||
\fB\%archive_read_support_filter_program\fP()
|
||||
Data is fed through the specified external program before being dearchived.
|
||||
Note that this disables automatic detection of the compression format,
|
||||
so it makes no sense to specify this in conjunction with any other
|
||||
decompression option.
|
||||
.TP
|
||||
\fB\%archive_read_support_filter_program_signature\fP()
|
||||
This feeds data through the specified external program
|
||||
but only if the initial bytes of the data match the specified
|
||||
signature value.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
if the compression is fully supported,
|
||||
\fBARCHIVE_WARN\fP
|
||||
if the compression is supported only through an external program.
|
||||
.PP
|
||||
\fB\%archive_read_support_filter_none\fP()
|
||||
always succeeds.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBlibarchive\fP(3)
|
185
dependencies/libarchive-3.4.2/doc/man/archive_read_format.3
vendored
Normal file
185
dependencies/libarchive-3.4.2/doc/man/archive_read_format.3
vendored
Normal file
|
@ -0,0 +1,185 @@
|
|||
.TH ARCHIVE_READ_FORMAT 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_support_format_7zip\fP,
|
||||
\fB\%archive_read_support_format_all\fP,
|
||||
\fB\%archive_read_support_format_ar\fP,
|
||||
\fB\%archive_read_support_format_by_code\fP,
|
||||
\fB\%archive_read_support_format_cab\fP,
|
||||
\fB\%archive_read_support_format_cpio\fP,
|
||||
\fB\%archive_read_support_format_empty\fP,
|
||||
\fB\%archive_read_support_format_iso9660\fP,
|
||||
\fB\%archive_read_support_format_lha\fP,
|
||||
\fB\%archive_read_support_format_mtree\fP,
|
||||
\fB\%archive_read_support_format_rar\fP,
|
||||
\fB\%archive_read_support_format_raw\fP,
|
||||
\fB\%archive_read_support_format_tar\fP,
|
||||
\fB\%archive_read_support_format_xar\fP,
|
||||
\fB\%archive_read_support_format_zip\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_7zip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_all\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_ar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_by_code\fP(\fI\%struct\ archive\ *\fP, \fI\%int\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_cab\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_cpio\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_empty\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_iso9660\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_lha\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_mtree\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_rar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_raw\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_tar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_xar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_support_format_zip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_support_format_7zip\fP(),
|
||||
\fB\%archive_read_support_format_ar\fP(),
|
||||
\fB\%archive_read_support_format_cab\fP(),
|
||||
\fB\%archive_read_support_format_cpio\fP(),
|
||||
\fB\%archive_read_support_format_iso9660\fP(),
|
||||
\fB\%archive_read_support_format_lha\fP(),
|
||||
\fB\%archive_read_support_format_mtree\fP(),
|
||||
\fB\%archive_read_support_format_rar\fP(),
|
||||
\fB\%archive_read_support_format_raw\fP(),
|
||||
\fB\%archive_read_support_format_tar\fP(),
|
||||
\fB\%archive_read_support_format_xar\fP(),
|
||||
\fB\%archive_read_support_format_zip\fP()
|
||||
Enables support---including auto-detection code---for the
|
||||
specified archive format.
|
||||
For example,
|
||||
\fB\%archive_read_support_format_tar\fP()
|
||||
enables support for a variety of standard tar formats, old-style tar,
|
||||
ustar, pax interchange format, and many common variants.
|
||||
.TP
|
||||
\fB\%archive_read_support_format_all\fP()
|
||||
Enables support for all available formats except the
|
||||
``raw''
|
||||
format (see below).
|
||||
.TP
|
||||
\fB\%archive_read_support_format_by_code\fP()
|
||||
Enables a single format specified by the format code.
|
||||
This can be useful when reading a single archive twice;
|
||||
use
|
||||
\fB\%archive_format\fP()
|
||||
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.
|
||||
.TP
|
||||
\fB\%archive_read_support_format_empty\fP()
|
||||
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.
|
||||
.TP
|
||||
\fB\%archive_read_support_format_raw\fP()
|
||||
The
|
||||
``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
|
||||
``data ;''
|
||||
all other entry fields are unset.
|
||||
This is not enabled by
|
||||
\fB\%archive_read_support_format_all\fP()
|
||||
in order to avoid erroneous handling of damaged archives.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBtar\fP(5)
|
||||
.SH BUGS
|
||||
.ad l
|
||||
Many traditional archiver programs treat
|
||||
empty files as valid empty archives.
|
||||
For example, many implementations of
|
||||
\fBtar\fP(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
|
||||
``empty''
|
||||
format.
|
||||
.PP
|
||||
Using the
|
||||
``raw''
|
||||
handler together with any other handler will often work
|
||||
but can produce surprising results.
|
78
dependencies/libarchive-3.4.2/doc/man/archive_read_free.3
vendored
Normal file
78
dependencies/libarchive-3.4.2/doc/man/archive_read_free.3
vendored
Normal file
|
@ -0,0 +1,78 @@
|
|||
.TH ARCHIVE_READ_FREE 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_close\fP,
|
||||
\fB\%archive_read_finish\fP,
|
||||
\fB\%archive_read_free\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_close\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_finish\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_free\fP(\fI\%struct\ archive\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_close\fP()
|
||||
Complete the archive and invoke the close callback.
|
||||
.TP
|
||||
\fB\%archive_read_finish\fP()
|
||||
This is a deprecated synonym for
|
||||
\fB\%archive_read_free\fP().
|
||||
The new name was introduced with libarchive 3.0.
|
||||
Applications that need to compile with either libarchive 2
|
||||
or libarchive 3 should continue to use the
|
||||
\fB\%archive_read_finish\fP()
|
||||
name.
|
||||
Both names will be supported until libarchive 4.0 is
|
||||
released, which is not expected to occur earlier
|
||||
than 2013.
|
||||
.TP
|
||||
\fB\%archive_read_free\fP()
|
||||
Invokes
|
||||
\fB\%archive_read_close\fP()
|
||||
if it was not invoked manually, then release all resources.
|
||||
Note: In libarchive 1.x, this function was declared to return
|
||||
\fIvoid ,\fP
|
||||
which made it impossible to detect certain errors when
|
||||
\fB\%archive_read_close\fP()
|
||||
was invoked implicitly from this function.
|
||||
The declaration is corrected beginning with libarchive 2.0.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_new\fP(3),
|
||||
\fBarchive_read_open\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3)
|
72
dependencies/libarchive-3.4.2/doc/man/archive_read_header.3
vendored
Normal file
72
dependencies/libarchive-3.4.2/doc/man/archive_read_header.3
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
.TH ARCHIVE_READ_HEADER 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_next_header\fP,
|
||||
\fB\%archive_read_next_header2\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_next_header\fP(\fI\%struct\ archive\ *\fP, \fI\%struct\ archive_entry\ **\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_next_header2\fP(\fI\%struct\ archive\ *\fP, \fI\%struct\ archive_entry\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_next_header\fP()
|
||||
Read the header for the next entry and return a pointer to
|
||||
a
|
||||
Tn struct archive_entry.
|
||||
This is a convenience wrapper around
|
||||
\fB\%archive_read_next_header2\fP()
|
||||
that reuses an internal
|
||||
Tn struct archive_entry
|
||||
object for each request.
|
||||
.TP
|
||||
\fB\%archive_read_next_header2\fP()
|
||||
Read the header for the next entry and populate the provided
|
||||
Tn struct archive_entry.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
(the operation succeeded),
|
||||
\fBARCHIVE_WARN\fP
|
||||
(the operation succeeded but a non-critical error was encountered),
|
||||
\fBARCHIVE_EOF\fP
|
||||
(end-of-archive was encountered),
|
||||
\fBARCHIVE_RETRY\fP
|
||||
(the operation failed but can be retried),
|
||||
and
|
||||
\fBARCHIVE_FATAL\fP
|
||||
(there was a fatal error; the archive should be closed immediately).
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_extract\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_open\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBtar\fP(5)
|
37
dependencies/libarchive-3.4.2/doc/man/archive_read_new.3
vendored
Normal file
37
dependencies/libarchive-3.4.2/doc/man/archive_read_new.3
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
.TH ARCHIVE_READ_NEW 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_new\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIstruct archive *\fP
|
||||
.br
|
||||
\fB\%archive_read_new\fP(\fI\%void\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
Allocates and initializes a
|
||||
Tn struct archive
|
||||
object suitable for reading from an archive.
|
||||
.BR NULL
|
||||
is returned on error.
|
||||
.PP
|
||||
A complete description of the
|
||||
Tn struct archive
|
||||
object can be found in the overview manual page for
|
||||
\fBlibarchive\fP(3).
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBtar\fP(5)
|
205
dependencies/libarchive-3.4.2/doc/man/archive_read_open.3
vendored
Normal file
205
dependencies/libarchive-3.4.2/doc/man/archive_read_open.3
vendored
Normal file
|
@ -0,0 +1,205 @@
|
|||
.TH ARCHIVE_READ_OPEN 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_open\fP,
|
||||
\fB\%archive_read_open2\fP,
|
||||
\fB\%archive_read_open_fd\fP,
|
||||
\fB\%archive_read_open_FILE\fP,
|
||||
\fB\%archive_read_open_filename\fP,
|
||||
\fB\%archive_read_open_memory\fP
|
||||
\- functions for reading streaming archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_open\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%archive_open_callback\ *\fP, \fI\%archive_read_callback\ *\fP, \fI\%archive_close_callback\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_open2\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%archive_open_callback\ *\fP, \fI\%archive_read_callback\ *\fP, \fI\%archive_skip_callback\ *\fP, \fI\%archive_close_callback\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_open_FILE\fP(\fI\%struct\ archive\ *\fP, \fI\%FILE\ *file\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_open_fd\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ fd\fP, \fI\%size_t\ block_size\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_open_filename\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *filename\fP, \fI\%size_t\ block_size\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_open_memory\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ void\ *buff\fP, \fI\%size_t\ size\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_open\fP()
|
||||
The same as
|
||||
\fB\%archive_read_open2\fP(),
|
||||
except that the skip callback is assumed to be
|
||||
.BR NULL.
|
||||
.TP
|
||||
\fB\%archive_read_open2\fP()
|
||||
Freeze the settings, open the archive, and prepare for reading entries.
|
||||
This is the most generic version of this call, which accepts
|
||||
four callback functions.
|
||||
Most clients will want to use
|
||||
\fB\%archive_read_open_filename\fP(),
|
||||
\fB\%archive_read_open_FILE\fP(),
|
||||
\fB\%archive_read_open_fd\fP(),
|
||||
or
|
||||
\fB\%archive_read_open_memory\fP()
|
||||
instead.
|
||||
The library invokes the client-provided functions to obtain
|
||||
raw bytes from the archive.
|
||||
.TP
|
||||
\fB\%archive_read_open_FILE\fP()
|
||||
Like
|
||||
\fB\%archive_read_open\fP(),
|
||||
except that it accepts a
|
||||
\fIFILE *\fP
|
||||
pointer.
|
||||
This function should not be used with tape drives or other devices
|
||||
that require strict I/O blocking.
|
||||
.TP
|
||||
\fB\%archive_read_open_fd\fP()
|
||||
Like
|
||||
\fB\%archive_read_open\fP(),
|
||||
except that it accepts a file descriptor and block size rather than
|
||||
a set of function pointers.
|
||||
Note that the file descriptor will not be automatically closed at
|
||||
end-of-archive.
|
||||
This function is safe for use with tape drives or other blocked devices.
|
||||
.TP
|
||||
\fB\%archive_read_open_file\fP()
|
||||
This is a deprecated synonym for
|
||||
\fB\%archive_read_open_filename\fP().
|
||||
.TP
|
||||
\fB\%archive_read_open_filename\fP()
|
||||
Like
|
||||
\fB\%archive_read_open\fP(),
|
||||
except that it accepts a simple filename and a block size.
|
||||
A NULL filename represents standard input.
|
||||
This function is safe for use with tape drives or other blocked devices.
|
||||
.TP
|
||||
\fB\%archive_read_open_memory\fP()
|
||||
Like
|
||||
\fB\%archive_read_open\fP(),
|
||||
except that it accepts a pointer and size of a block of
|
||||
memory containing the archive data.
|
||||
.RE
|
||||
.PP
|
||||
A complete description of the
|
||||
Tn struct archive
|
||||
and
|
||||
Tn struct archive_entry
|
||||
objects can be found in the overview manual page for
|
||||
\fBlibarchive\fP(3).
|
||||
.SH CLIENT CALLBACKS
|
||||
.ad l
|
||||
The callback functions must match the following prototypes:
|
||||
.RS 5
|
||||
.IP
|
||||
\fItypedef la_ssize_t\fP
|
||||
\fB\%archive_read_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%const\ void\ **buffer\fP)
|
||||
.IP
|
||||
\fItypedef la_int64_t\fP
|
||||
\fB\%archive_skip_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%off_t\ request\fP)
|
||||
.IP
|
||||
\fItypedef int\fP
|
||||
\fB\%archive_open_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP)
|
||||
.IP
|
||||
\fItypedef int\fP
|
||||
\fB\%archive_close_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP)
|
||||
.RE
|
||||
.PP
|
||||
The open callback is invoked by
|
||||
\fB\%archive_open\fP().
|
||||
It should return
|
||||
\fBARCHIVE_OK\fP
|
||||
if the underlying file or data source is successfully
|
||||
opened.
|
||||
If the open fails, it should call
|
||||
\fB\%archive_set_error\fP()
|
||||
to register an error code and message and return
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.PP
|
||||
The read callback is invoked whenever the library
|
||||
requires raw bytes from the archive.
|
||||
The read callback should read data into a buffer,
|
||||
set the
|
||||
.RS 4
|
||||
const void **buffer
|
||||
.RE
|
||||
argument to point to the available data, and
|
||||
return a count of the number of bytes available.
|
||||
The library will invoke the read callback again
|
||||
only after it has consumed this data.
|
||||
The library imposes no constraints on the size
|
||||
of the data blocks returned.
|
||||
On end-of-file, the read callback should
|
||||
return zero.
|
||||
On error, the read callback should invoke
|
||||
\fB\%archive_set_error\fP()
|
||||
to register an error code and message and
|
||||
return -1.
|
||||
.PP
|
||||
The skip callback is invoked when the
|
||||
library wants to ignore a block of data.
|
||||
The return value is the number of bytes actually
|
||||
skipped, which may differ from the request.
|
||||
If the callback cannot skip data, it should return
|
||||
zero.
|
||||
If the skip callback is not provided (the
|
||||
function pointer is
|
||||
.BR NULL ),
|
||||
the library will invoke the read function
|
||||
instead and simply discard the result.
|
||||
A skip callback can provide significant
|
||||
performance gains when reading uncompressed
|
||||
archives from slow disk drives or other media
|
||||
that can skip quickly.
|
||||
.PP
|
||||
The close callback is invoked by archive_close when
|
||||
the archive processing is complete.
|
||||
The callback should return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success.
|
||||
On failure, the callback should invoke
|
||||
\fB\%archive_set_error\fP()
|
||||
to register an error code and message and
|
||||
return
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_read_data\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBtar\fP(5)
|
244
dependencies/libarchive-3.4.2/doc/man/archive_read_set_options.3
vendored
Normal file
244
dependencies/libarchive-3.4.2/doc/man/archive_read_set_options.3
vendored
Normal file
|
@ -0,0 +1,244 @@
|
|||
.TH ARCHIVE_READ_OPTIONS 3 "January 31, 2020" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_read_set_filter_option\fP,
|
||||
\fB\%archive_read_set_format_option\fP,
|
||||
\fB\%archive_read_set_option\fP,
|
||||
\fB\%archive_read_set_options\fP
|
||||
\- functions controlling options for reading archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_set_filter_option\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *module\fP, \fI\%const\ char\ *option\fP, \fI\%const\ char\ *value\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_set_format_option\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *module\fP, \fI\%const\ char\ *option\fP, \fI\%const\ char\ *value\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_set_option\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *module\fP, \fI\%const\ char\ *option\fP, \fI\%const\ char\ *value\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_read_set_options\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *options\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions provide a way for libarchive clients to configure
|
||||
specific read modules.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_read_set_filter_option\fP(),
|
||||
\fB\%archive_read_set_format_option\fP()
|
||||
Specifies an option that will be passed to currently-registered
|
||||
filters (including decompression filters) or format readers.
|
||||
.PP
|
||||
If
|
||||
\fIoption\fP
|
||||
and
|
||||
\fIvalue\fP
|
||||
are both
|
||||
.BR NULL,
|
||||
these functions will do nothing and
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned.
|
||||
If
|
||||
\fIoption\fP
|
||||
is
|
||||
.BR NULL
|
||||
but
|
||||
\fIvalue\fP
|
||||
is not, these functions will do nothing and
|
||||
\fBARCHIVE_FAILED\fP
|
||||
will be returned.
|
||||
.PP
|
||||
If
|
||||
\fImodule\fP
|
||||
is not
|
||||
.BR NULL,
|
||||
\fIoption\fP
|
||||
and
|
||||
\fIvalue\fP
|
||||
will be provided to the filter or reader named
|
||||
\fImodule\fP.
|
||||
The return value will be that of the module.
|
||||
If there is no such module,
|
||||
\fBARCHIVE_FAILED\fP
|
||||
will be returned.
|
||||
.PP
|
||||
If
|
||||
\fImodule\fP
|
||||
is
|
||||
.BR NULL,
|
||||
\fIoption\fP
|
||||
and
|
||||
\fIvalue\fP
|
||||
will be provided to every registered module.
|
||||
If any module returns
|
||||
\fBARCHIVE_FATAL\fP,
|
||||
this value will be returned immediately.
|
||||
Otherwise,
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned if any module accepts the option, and
|
||||
\fBARCHIVE_FAILED\fP
|
||||
in all other cases.
|
||||
.TP
|
||||
\fB\%archive_read_set_option\fP()
|
||||
Calls
|
||||
\fB\%archive_read_set_format_option\fP(),
|
||||
then
|
||||
\fB\%archive_read_set_filter_option\fP().
|
||||
If either function returns
|
||||
\fBARCHIVE_FATAL\fP,
|
||||
\fBARCHIVE_FATAL\fP
|
||||
will be returned
|
||||
immediately.
|
||||
Otherwise, greater of the two values will be returned.
|
||||
.TP
|
||||
\fB\%archive_read_set_options\fP()
|
||||
\fIoptions\fP
|
||||
is a comma-separated list of options.
|
||||
If
|
||||
\fIoptions\fP
|
||||
is
|
||||
.BR NULL
|
||||
or empty,
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned immediately.
|
||||
.PP
|
||||
Calls
|
||||
\fB\%archive_read_set_option\fP()
|
||||
with each option in turn.
|
||||
If any
|
||||
\fB\%archive_read_set_option\fP()
|
||||
call returns
|
||||
\fBARCHIVE_FATAL\fP,
|
||||
\fBARCHIVE_FATAL\fP
|
||||
will be returned immediately.
|
||||
.PP
|
||||
Individual options have one of the following forms:
|
||||
.RS 5
|
||||
.TP
|
||||
\fIoption=value\fP
|
||||
The option/value pair will be provided to every module.
|
||||
Modules that do not accept an option with this name will ignore it.
|
||||
.TP
|
||||
\fIoption\fP
|
||||
The option will be provided to every module with a value of
|
||||
``1''.
|
||||
.TP
|
||||
\fI!option\fP
|
||||
The option will be provided to every module with a NULL value.
|
||||
.TP
|
||||
\fImodule:option=value\fP, \fImodule:option\fP, \fImodule:!option\fP
|
||||
As above, but the corresponding option and value will be provided
|
||||
only to modules whose name matches
|
||||
\fImodule\fP.
|
||||
.RE
|
||||
.RE
|
||||
.SH OPTIONS
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
Format cab
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.RE
|
||||
.TP
|
||||
Format cpio
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.RE
|
||||
.TP
|
||||
Format iso9660
|
||||
.RS 5
|
||||
.TP
|
||||
\fBjoliet\fP
|
||||
Support Joliet extensions.
|
||||
Defaults to enabled, use
|
||||
\fB!joliet\fP
|
||||
to disable.
|
||||
.TP
|
||||
\fBrockridge\fP
|
||||
Support RockRidge extensions.
|
||||
Defaults to enabled, use
|
||||
\fB!rockridge\fP
|
||||
to disable.
|
||||
.RE
|
||||
.TP
|
||||
Format lha
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.RE
|
||||
.TP
|
||||
Format mtree
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcheckfs\fP
|
||||
Allow reading information missing from the mtree from the file system.
|
||||
Disabled by default.
|
||||
.RE
|
||||
.TP
|
||||
Format rar
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.RE
|
||||
.TP
|
||||
Format tar
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompat-2x\fP
|
||||
Libarchive 2.x incorrectly encoded Unicode filenames on
|
||||
some platforms.
|
||||
This option mimics the libarchive 2.x filename handling
|
||||
so that such archives can be read correctly.
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.TP
|
||||
\fBmac-ext\fP
|
||||
Support Mac OS metadata extension that records data in special
|
||||
files beginning with a period and underscore.
|
||||
Defaults to enabled on Mac OS, disabled on other platforms.
|
||||
Use
|
||||
\fB!mac-ext\fP
|
||||
to disable.
|
||||
.TP
|
||||
\fBread_concatenated_archives\fP
|
||||
Ignore zeroed blocks in the archive, which occurs when multiple tar archives
|
||||
have been concatenated together.
|
||||
Without this option, only the contents of
|
||||
the first concatenated archive would be read.
|
||||
.RE
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3)
|
240
dependencies/libarchive-3.4.2/doc/man/archive_util.3
vendored
Normal file
240
dependencies/libarchive-3.4.2/doc/man/archive_util.3
vendored
Normal file
|
@ -0,0 +1,240 @@
|
|||
.TH ARCHIVE_UTIL 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_clear_error\fP,
|
||||
\fB\%archive_compression\fP,
|
||||
\fB\%archive_compression_name\fP,
|
||||
\fB\%archive_copy_error\fP,
|
||||
\fB\%archive_errno\fP,
|
||||
\fB\%archive_error_string\fP,
|
||||
\fB\%archive_file_count\fP,
|
||||
\fB\%archive_filter_code\fP,
|
||||
\fB\%archive_filter_count\fP,
|
||||
\fB\%archive_filter_name\fP,
|
||||
\fB\%archive_format\fP,
|
||||
\fB\%archive_format_name\fP,
|
||||
\fB\%archive_position\fP,
|
||||
\fB\%archive_set_error\fP
|
||||
\- libarchive utility functions
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_clear_error\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_compression\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_compression_name\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_copy_error\fP(\fI\%struct\ archive\ *\fP, \fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_errno\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_error_string\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_file_count\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_filter_code\fP(\fI\%struct\ archive\ *\fP, \fI\%int\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_filter_count\fP(\fI\%struct\ archive\ *\fP, \fI\%int\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_filter_name\fP(\fI\%struct\ archive\ *\fP, \fI\%int\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_format\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIconst char *\fP
|
||||
.br
|
||||
\fB\%archive_format_name\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint64_t\fP
|
||||
.br
|
||||
\fB\%archive_position\fP(\fI\%struct\ archive\ *\fP, \fI\%int\fP);
|
||||
.br
|
||||
\fIvoid\fP
|
||||
.br
|
||||
\fB\%archive_set_error\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ error_code\fP, \fI\%const\ char\ *fmt\fP, \fI\%...\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions provide access to various information about the
|
||||
Tn struct archive
|
||||
object used in the
|
||||
\fBlibarchive\fP(3)
|
||||
library.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_clear_error\fP()
|
||||
Clears any error information left over from a previous call.
|
||||
Not generally used in client code.
|
||||
.TP
|
||||
\fB\%archive_compression\fP()
|
||||
Synonym for
|
||||
\fB\%archive_filter_code\fP(\fI\%a\fP, \fI\%0\fP).
|
||||
.TP
|
||||
\fB\%archive_compression_name\fP()
|
||||
Synonym for
|
||||
\fB\%archive_filter_name\fP(\fI\%a\fP, \fI\%0\fP).
|
||||
.TP
|
||||
\fB\%archive_copy_error\fP()
|
||||
Copies error information from one archive to another.
|
||||
.TP
|
||||
\fB\%archive_errno\fP()
|
||||
Returns a numeric error code (see
|
||||
\fBerrno\fP(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.
|
||||
.TP
|
||||
\fB\%archive_error_string\fP()
|
||||
Returns a textual error message suitable for display.
|
||||
The error message here is usually more specific than that
|
||||
obtained from passing the result of
|
||||
\fB\%archive_errno\fP()
|
||||
to
|
||||
\fBstrerror\fP(3).
|
||||
.TP
|
||||
\fB\%archive_file_count\fP()
|
||||
Returns a count of the number of files processed by this archive object.
|
||||
The count is incremented by calls to
|
||||
\fBarchive_write_header\fP(3)
|
||||
or
|
||||
\fBarchive_read_next_header\fP(3).
|
||||
.TP
|
||||
\fB\%archive_filter_code\fP()
|
||||
Returns a numeric code identifying the indicated filter.
|
||||
See
|
||||
\fB\%archive_filter_count\fP()
|
||||
for details of the numbering.
|
||||
.TP
|
||||
\fB\%archive_filter_count\fP()
|
||||
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
|
||||
\fB\%archive_write_add_filter_XXX\fP()
|
||||
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.
|
||||
.PP
|
||||
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
|
||||
\fB\%archive_position\fP(\fI\%a\fP, \fI\%-1\fP)
|
||||
would be a synonym for
|
||||
\fB\%archive_position\fP(\fI\%a\fP, \fI\%2\fP)
|
||||
which would return the number of bytes currently read from the archive, while
|
||||
\fB\%archive_position\fP(\fI\%a\fP, \fI\%1\fP)
|
||||
would return the number of bytes after uudecoding, and
|
||||
\fB\%archive_position\fP(\fI\%a\fP, \fI\%0\fP)
|
||||
would return the number of bytes after decompression.
|
||||
.TP
|
||||
\fB\%archive_filter_name\fP()
|
||||
Returns a textual name identifying the indicated filter.
|
||||
See
|
||||
\fB\%archive_filter_count\fP()
|
||||
for details of the numbering.
|
||||
.TP
|
||||
\fB\%archive_format\fP()
|
||||
Returns a numeric code indicating the format of the current
|
||||
archive entry.
|
||||
This value is set by a successful call to
|
||||
\fB\%archive_read_next_header\fP().
|
||||
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.
|
||||
.TP
|
||||
\fB\%archive_format_name\fP()
|
||||
A textual description of the format of the current entry.
|
||||
.TP
|
||||
\fB\%archive_position\fP()
|
||||
Returns the number of bytes read from or written to the indicated filter.
|
||||
In particular,
|
||||
\fB\%archive_position\fP(\fI\%a\fP, \fI\%0\fP)
|
||||
returns the number of bytes read or written by the format handler, while
|
||||
\fB\%archive_position\fP(\fI\%a\fP, \fI\%-1\fP)
|
||||
returns the number of bytes read or written to the archive.
|
||||
See
|
||||
\fB\%archive_filter_count\fP()
|
||||
for details of the numbering here.
|
||||
.TP
|
||||
\fB\%archive_set_error\fP()
|
||||
Sets the numeric error code and error description that will be returned
|
||||
by
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP().
|
||||
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.
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBprintf\fP(3)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
233
dependencies/libarchive-3.4.2/doc/man/archive_write.3
vendored
Normal file
233
dependencies/libarchive-3.4.2/doc/man/archive_write.3
vendored
Normal file
|
@ -0,0 +1,233 @@
|
|||
.TH ARCHIVE_WRITE 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions provide a complete API for creating streaming
|
||||
archive files.
|
||||
The general process is to first create the
|
||||
Tn struct archive
|
||||
object, set any desired options, initialize the archive, append entries, then
|
||||
close the archive and release all resources.
|
||||
.SS Create archive object
|
||||
See
|
||||
\fBarchive_write_new\fP(3).
|
||||
.PP
|
||||
To write an archive, you must first obtain an initialized
|
||||
Tn struct archive
|
||||
object from
|
||||
\fB\%archive_write_new\fP().
|
||||
.SS Enable filters and formats, configure block size and padding
|
||||
See
|
||||
\fBarchive_write_filter\fP(3),
|
||||
\fBarchive_write_format\fP(3)
|
||||
and
|
||||
\fBarchive_write_blocksize\fP(3).
|
||||
.PP
|
||||
You can then modify this object for the desired operations with the
|
||||
various
|
||||
\fB\%archive_write_set_XXX\fP()
|
||||
functions.
|
||||
In particular, you will need to invoke appropriate
|
||||
\fB\%archive_write_add_XXX\fP()
|
||||
and
|
||||
\fB\%archive_write_set_XXX\fP()
|
||||
functions to enable the corresponding compression and format
|
||||
support.
|
||||
.SS Set options
|
||||
See
|
||||
\fBarchive_write_set_options\fP(3).
|
||||
.SS Open archive
|
||||
See
|
||||
\fBarchive_write_open\fP(3).
|
||||
.PP
|
||||
Once you have prepared the
|
||||
Tn struct archive
|
||||
object, you call
|
||||
\fB\%archive_write_open\fP()
|
||||
to actually open the archive and prepare it for writing.
|
||||
There are several variants of this function;
|
||||
the most basic expects you to provide pointers to several
|
||||
functions that can provide blocks of bytes from the archive.
|
||||
There are convenience forms that allow you to
|
||||
specify a filename, file descriptor,
|
||||
\fIFILE *\fP
|
||||
object, or a block of memory from which to write the archive data.
|
||||
.SS Produce archive
|
||||
See
|
||||
\fBarchive_write_header\fP(3)
|
||||
and
|
||||
\fBarchive_write_data\fP(3).
|
||||
.PP
|
||||
Individual archive entries are written in a three-step
|
||||
process:
|
||||
You first initialize a
|
||||
Tn struct archive_entry
|
||||
structure with information about the new entry.
|
||||
At a minimum, you should set the pathname of the
|
||||
entry and provide a
|
||||
\fIstruct\fP stat
|
||||
with a valid
|
||||
\fIst_mode\fP
|
||||
field, which specifies the type of object and
|
||||
\fIst_size\fP
|
||||
field, which specifies the size of the data portion of the object.
|
||||
.SS Release resources
|
||||
See
|
||||
\fBarchive_write_free\fP(3).
|
||||
.PP
|
||||
After all entries have been written, use the
|
||||
\fB\%archive_write_free\fP()
|
||||
function to release all resources.
|
||||
.SH EXAMPLES
|
||||
.ad l
|
||||
The following sketch illustrates basic usage of the library.
|
||||
In this example,
|
||||
the callback functions are simply wrappers around the standard
|
||||
\fBopen\fP(2),
|
||||
\fBwrite\fP(2),
|
||||
and
|
||||
\fBclose\fP(2)
|
||||
system calls.
|
||||
.RS 4
|
||||
.nf
|
||||
#ifdef __linux__
|
||||
#define _FILE_OFFSET_BITS 64
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
#include <archive.h>
|
||||
#include <archive_entry.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
struct mydata {
|
||||
const char *name;
|
||||
int fd;
|
||||
};
|
||||
int
|
||||
myopen(struct archive *a, void *client_data)
|
||||
{
|
||||
struct mydata *mydata = client_data;
|
||||
mydata->fd = open(mydata->name, O_WRONLY | O_CREAT, 0644);
|
||||
if (mydata->fd >= 0)
|
||||
return (ARCHIVE_OK);
|
||||
else
|
||||
return (ARCHIVE_FATAL);
|
||||
}
|
||||
la_ssize_t
|
||||
mywrite(struct archive *a, void *client_data, const void *buff, size_t n)
|
||||
{
|
||||
struct mydata *mydata = client_data;
|
||||
return (write(mydata->fd, buff, n));
|
||||
}
|
||||
int
|
||||
myclose(struct archive *a, void *client_data)
|
||||
{
|
||||
struct mydata *mydata = client_data;
|
||||
if (mydata->fd > 0)
|
||||
close(mydata->fd);
|
||||
return (0);
|
||||
}
|
||||
void
|
||||
write_archive(const char *outname, const char **filename)
|
||||
{
|
||||
struct mydata *mydata = malloc(sizeof(struct mydata));
|
||||
struct archive *a;
|
||||
struct archive_entry *entry;
|
||||
struct stat st;
|
||||
char buff[8192];
|
||||
int len;
|
||||
int fd;
|
||||
a = archive_write_new();
|
||||
mydata->name = outname;
|
||||
/* Set archive format and filter according to output file extension.
|
||||
* If it fails, set default format. Platform depended function.
|
||||
* See supported formats in archive_write_set_format_filter_by_ext.c */
|
||||
if (archive_write_set_format_filter_by_ext(a, outname) != ARCHIVE_OK) {
|
||||
archive_write_add_filter_gzip(a);
|
||||
archive_write_set_format_ustar(a);
|
||||
}
|
||||
archive_write_open(a, mydata, myopen, mywrite, myclose);
|
||||
while (*filename) {
|
||||
stat(*filename, &st);
|
||||
entry = archive_entry_new();
|
||||
archive_entry_copy_stat(entry, &st);
|
||||
archive_entry_set_pathname(entry, *filename);
|
||||
archive_write_header(a, entry);
|
||||
if ((fd = open(*filename, O_RDONLY)) != -1) {
|
||||
len = read(fd, buff, sizeof(buff));
|
||||
while (len > 0) {
|
||||
archive_write_data(a, buff, len);
|
||||
len = read(fd, buff, sizeof(buff));
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
archive_entry_free(entry);
|
||||
filename++;
|
||||
}
|
||||
archive_write_free(a);
|
||||
}
|
||||
int main(int argc, const char **argv)
|
||||
{
|
||||
const char *outname;
|
||||
argv++;
|
||||
outname = *argv++;
|
||||
write_archive(outname, argv);
|
||||
return 0;
|
||||
}
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
||||
.SH BUGS
|
||||
.ad l
|
||||
There are many peculiar bugs in historic tar implementations that may cause
|
||||
certain programs to reject archives written by this library.
|
||||
For example, several historic implementations calculated header checksums
|
||||
incorrectly and will thus reject valid archives; GNU tar does not fully support
|
||||
pax interchange format; some old tar implementations required specific
|
||||
field terminations.
|
||||
.PP
|
||||
The default pax interchange format eliminates most of the historic
|
||||
tar limitations and provides a generic key/value attribute facility
|
||||
for vendor-defined extensions.
|
||||
One oversight in POSIX is the failure to provide a standard attribute
|
||||
for large device numbers.
|
||||
This library uses
|
||||
``SCHILY.devminor''
|
||||
and
|
||||
``SCHILY.devmajor''
|
||||
for device numbers that exceed the range supported by the backwards-compatible
|
||||
ustar header.
|
||||
These keys are compatible with Joerg Schilling's
|
||||
\fB\%star\fP
|
||||
archiver.
|
||||
Other implementations may not recognize these keys and will thus be unable
|
||||
to correctly restore device nodes with large device numbers from archives
|
||||
created by this library.
|
104
dependencies/libarchive-3.4.2/doc/man/archive_write_blocksize.3
vendored
Normal file
104
dependencies/libarchive-3.4.2/doc/man/archive_write_blocksize.3
vendored
Normal file
|
@ -0,0 +1,104 @@
|
|||
.TH ARCHIVE_WRITE_BLOCKSIZE 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_get_bytes_per_block\fP,
|
||||
\fB\%archive_write_set_bytes_per_block\fP,
|
||||
\fB\%archive_write_get_bytes_in_last_block\fP,
|
||||
\fB\%archive_write_set_bytes_in_last_block\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_get_bytes_per_block\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_bytes_per_block\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ bytes_per_block\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_get_bytes_in_last_block\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_bytes_in_last_block\fP(\fI\%struct\ archive\ *\fP, \fI\%int\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_set_bytes_per_block\fP()
|
||||
Sets the block size used for writing the archive data.
|
||||
Every call to the write callback function, except possibly the last one, will
|
||||
use this value for the length.
|
||||
The default is to use a block size of 10240 bytes.
|
||||
Note that a block size of zero will suppress internal blocking
|
||||
and cause writes to be sent directly to the write callback as they occur.
|
||||
.TP
|
||||
\fB\%archive_write_get_bytes_per_block\fP()
|
||||
Retrieve the block size to be used for writing.
|
||||
A value of -1 here indicates that the library should use default values.
|
||||
A value of zero indicates that internal blocking is suppressed.
|
||||
.TP
|
||||
\fB\%archive_write_set_bytes_in_last_block\fP()
|
||||
Sets the block size used for writing the last block.
|
||||
If this value is zero, the last block will be padded to the same size
|
||||
as the other blocks.
|
||||
Otherwise, the final block will be padded to a multiple of this size.
|
||||
In particular, setting it to 1 will cause the final block to not be padded.
|
||||
For compressed output, any padding generated by this option
|
||||
is applied only after the compression.
|
||||
The uncompressed data is always unpadded.
|
||||
The default is to pad the last block to the full block size (note that
|
||||
\fB\%archive_write_open_filename\fP()
|
||||
will set this based on the file type).
|
||||
Unlike the other
|
||||
``set''
|
||||
functions, this function can be called after the archive is opened.
|
||||
.TP
|
||||
\fB\%archive_write_get_bytes_in_last_block\fP()
|
||||
Retrieve the currently-set value for last block size.
|
||||
A value of -1 here indicates that the library should use default values.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
\fB\%archive_write_set_bytes_per_block\fP()
|
||||
and
|
||||
\fB\%archive_write_set_bytes_in_last_block\fP()
|
||||
return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.PP
|
||||
\fB\%archive_write_get_bytes_per_block\fP()
|
||||
and
|
||||
\fB\%archive_write_get_bytes_in_last_block\fP()
|
||||
return currently configured block size
|
||||
Po
|
||||
.RS 4
|
||||
-1
|
||||
.RE
|
||||
indicates the default block size
|
||||
Pc,
|
||||
or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
71
dependencies/libarchive-3.4.2/doc/man/archive_write_data.3
vendored
Normal file
71
dependencies/libarchive-3.4.2/doc/man/archive_write_data.3
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
.TH ARCHIVE_WRITE_DATA 3 "February 28, 2017" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_data\fP,
|
||||
\fB\%archive_write_data_block\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIla_ssize_t\fP
|
||||
.br
|
||||
\fB\%archive_write_data\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ void\ *\fP, \fI\%size_t\fP);
|
||||
.br
|
||||
\fIla_ssize_t\fP
|
||||
.br
|
||||
\fB\%archive_write_data_block\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ void\ *\fP, \fI\%size_t\ size\fP, \fI\%int64_t\ offset\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_data\fP()
|
||||
Write data corresponding to the header just written.
|
||||
.TP
|
||||
\fB\%archive_write_data_block\fP()
|
||||
Write data corresponding to the header just written.
|
||||
This is like
|
||||
\fB\%archive_write_data\fP()
|
||||
except that it performs a seek on the file being
|
||||
written to the specified offset before writing the data.
|
||||
This is useful when restoring sparse files from archive
|
||||
formats that support sparse files.
|
||||
Returns number of bytes written or -1 on error.
|
||||
(Note: This is currently not supported for
|
||||
Tn archive_write
|
||||
handles, only for
|
||||
Tn archive_write_disk
|
||||
handles.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
This function returns the number of bytes actually written, or
|
||||
a negative error code on error.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH BUGS
|
||||
.ad l
|
||||
In libarchive 3.x, this function sometimes returns
|
||||
zero on success instead of returning the number of bytes written.
|
||||
Specifically, this occurs when writing to an
|
||||
Vt archive_write_disk
|
||||
handle.
|
||||
Clients should treat any value less than zero as an error
|
||||
and consider any non-negative value as success.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write_finish_entry\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
364
dependencies/libarchive-3.4.2/doc/man/archive_write_disk.3
vendored
Normal file
364
dependencies/libarchive-3.4.2/doc/man/archive_write_disk.3
vendored
Normal file
|
@ -0,0 +1,364 @@
|
|||
.TH ARCHIVE_WRITE_DISK 3 "January 19, 2020" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_disk_new\fP,
|
||||
\fB\%archive_write_disk_set_options\fP,
|
||||
\fB\%archive_write_disk_set_skip_file\fP,
|
||||
\fB\%archive_write_disk_set_group_lookup\fP,
|
||||
\fB\%archive_write_disk_set_standard_lookup\fP,
|
||||
\fB\%archive_write_disk_set_user_lookup\fP
|
||||
\- functions for creating objects on disk
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIstruct archive *\fP
|
||||
.br
|
||||
\fB\%archive_write_disk_new\fP(\fI\%void\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_disk_set_options\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ flags\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_disk_set_skip_file\fP(\fI\%struct\ archive\ *\fP, \fI\%dev_t\fP, \fI\%ino_t\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_disk_set_group_lookup\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *\fP, \fI\%gid_t\ (*)(void\ *,\ const\ char\ *gname,\ gid_t\ gid)\fP, \fI\%void\ (*cleanup)(void\ *)\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_disk_set_standard_lookup\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_disk_set_user_lookup\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *\fP, \fI\%uid_t\ (*)(void\ *,\ const\ char\ *uname,\ uid_t\ uid)\fP, \fI\%void\ (*cleanup)(void\ *)\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions provide a complete API for creating objects on
|
||||
disk from
|
||||
Tn struct archive_entry
|
||||
descriptions.
|
||||
They are most naturally used when extracting objects from an archive
|
||||
using the
|
||||
\fB\%archive_read\fP()
|
||||
interface.
|
||||
The general process is to read
|
||||
Tn struct archive_entry
|
||||
objects from an archive, then write those objects to a
|
||||
Tn struct archive
|
||||
object created using the
|
||||
\fB\%archive_write_disk\fP()
|
||||
family functions.
|
||||
This interface is deliberately very similar to the
|
||||
\fB\%archive_write\fP()
|
||||
interface used to write objects to a streaming archive.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_disk_new\fP()
|
||||
Allocates and initializes a
|
||||
Tn struct archive
|
||||
object suitable for writing objects to disk.
|
||||
.TP
|
||||
\fB\%archive_write_disk_set_skip_file\fP()
|
||||
Records the device and inode numbers of a file that should not be
|
||||
overwritten.
|
||||
This is typically used to ensure that an extraction process does not
|
||||
overwrite the archive from which objects are being read.
|
||||
This capability is technically unnecessary but can be a significant
|
||||
performance optimization in practice.
|
||||
.TP
|
||||
\fB\%archive_write_disk_set_options\fP()
|
||||
The options field consists of a bitwise OR of one or more of the
|
||||
following values:
|
||||
.RS 5
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_ACL\fP
|
||||
Attempt to restore Access Control Lists.
|
||||
By default, extended ACLs are ignored.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS\fP
|
||||
Before removing a file system object prior to replacing it, clear
|
||||
platform-specific file flags which might prevent its removal.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_FFLAGS\fP
|
||||
Attempt to restore file attributes (file flags).
|
||||
By default, file attributes are ignored.
|
||||
See
|
||||
\fBchattr\fP(1)
|
||||
(Linux)
|
||||
or
|
||||
\fBchflags\fP(1)
|
||||
(FreeBSD, Mac OS X)
|
||||
for more information on file attributes.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_MAC_METADATA\fP
|
||||
Mac OS X specific.
|
||||
Restore metadata using
|
||||
\fBcopyfile\fP(3).
|
||||
By default,
|
||||
\fBcopyfile\fP(3)
|
||||
metadata is ignored.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_NO_OVERWRITE\fP
|
||||
Existing files on disk will not be overwritten.
|
||||
By default, existing regular files are truncated and overwritten;
|
||||
existing directories will have their permissions updated;
|
||||
other pre-existing objects are unlinked and recreated from scratch.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_OWNER\fP
|
||||
The user and group IDs should be set on the restored file.
|
||||
By default, the user and group IDs are not restored.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_PERM\fP
|
||||
Full permissions (including SGID, SUID, and sticky bits) should
|
||||
be restored exactly as specified, without obeying the
|
||||
current umask.
|
||||
Note that SUID and SGID bits can only be restored if the
|
||||
user and group ID of the object on disk are correct.
|
||||
If
|
||||
\fBARCHIVE_EXTRACT_OWNER\fP
|
||||
is not specified, then SUID and SGID bits will only be restored
|
||||
if the default user and group IDs of newly-created objects on disk
|
||||
happen to match those specified in the archive entry.
|
||||
By default, only basic permissions are restored, and umask is obeyed.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_SAFE_WRITES\fP
|
||||
Extract files atomically, by first creating a unique temporary file and then
|
||||
renaming it to its required destination name.
|
||||
This avoids a race where an application might see a partial file (or no
|
||||
file) during extraction.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS\fP
|
||||
Refuse to extract an absolute path.
|
||||
The default is to not refuse such paths.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_SECURE_NODOTDOT\fP
|
||||
Refuse to extract a path that contains a
|
||||
\fI\& ..\fP
|
||||
element anywhere within it.
|
||||
The default is to not refuse such paths.
|
||||
Note that paths ending in
|
||||
\fI\& ..\fP
|
||||
always cause an error, regardless of this flag.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_SECURE_SYMLINKS\fP
|
||||
Refuse to extract any object whose final location would be altered
|
||||
by a symlink on disk.
|
||||
This is intended to help guard against a variety of mischief
|
||||
caused by archives that (deliberately or otherwise) extract
|
||||
files outside of the current directory.
|
||||
The default is not to perform this check.
|
||||
If
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_SPARSE\fP
|
||||
Scan data for blocks of NUL bytes and try to recreate them with holes.
|
||||
This results in sparse files, independent of whether the archive format
|
||||
supports or uses them.
|
||||
\fBARCHIVE_EXTRACT_UNLINK\fP
|
||||
is specified together with this option, the library will
|
||||
remove any intermediate symlinks it finds and return an
|
||||
error only if such symlink could not be removed.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_TIME\fP
|
||||
The timestamps (mtime, ctime, and atime) should be restored.
|
||||
By default, they are ignored.
|
||||
Note that restoring of atime is not currently supported.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_UNLINK\fP
|
||||
Existing files on disk will be unlinked before any attempt to
|
||||
create them.
|
||||
In some cases, this can prove to be a significant performance improvement.
|
||||
By default, existing files are truncated and rewritten, but
|
||||
the file is not recreated.
|
||||
In particular, the default behavior does not break existing hard links.
|
||||
.TP
|
||||
\fBARCHIVE_EXTRACT_XATTR\fP
|
||||
Attempt to restore extended file attributes.
|
||||
By default, they are ignored.
|
||||
See
|
||||
\fBxattr\fP(7)
|
||||
(Linux,)
|
||||
\fBxattr\fP(2)
|
||||
(Mac OS X,)
|
||||
or
|
||||
\fBgetextattr\fP(8)
|
||||
(FreeBSD)
|
||||
for more information on extended file attributes.
|
||||
.RE
|
||||
.TP
|
||||
\fB\%archive_write_disk_set_group_lookup\fP(),
|
||||
\fB\%archive_write_disk_set_user_lookup\fP()
|
||||
The
|
||||
Tn struct archive_entry
|
||||
objects contain both names and ids that can be used to identify users
|
||||
and groups.
|
||||
These names and ids describe the ownership of the file itself and
|
||||
also appear in ACL lists.
|
||||
By default, the library uses the ids and ignores the names, but
|
||||
this can be overridden by registering user and group lookup functions.
|
||||
To register, you must provide a lookup function which
|
||||
accepts both a name and id and returns a suitable id.
|
||||
You may also provide a
|
||||
Tn void *
|
||||
pointer to a private data structure and a cleanup function for
|
||||
that data.
|
||||
The cleanup function will be invoked when the
|
||||
Tn struct archive
|
||||
object is destroyed.
|
||||
.TP
|
||||
\fB\%archive_write_disk_set_standard_lookup\fP()
|
||||
This convenience function installs a standard set of user
|
||||
and group lookup functions.
|
||||
These functions use
|
||||
\fBgetpwnam\fP(3)
|
||||
and
|
||||
\fBgetgrnam\fP(3)
|
||||
to convert names to ids, defaulting to the ids if the names cannot
|
||||
be looked up.
|
||||
These functions also implement a simple memory cache to reduce
|
||||
the number of calls to
|
||||
\fBgetpwnam\fP(3)
|
||||
and
|
||||
\fBgetgrnam\fP(3).
|
||||
.RE
|
||||
More information about the
|
||||
\fIstruct\fP archive
|
||||
object and the overall design of the library can be found in the
|
||||
\fBlibarchive\fP(3)
|
||||
overview.
|
||||
Many of these functions are also documented under
|
||||
\fBarchive_write\fP(3).
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
Most functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
(zero) on success, or one of several non-zero
|
||||
error codes for errors.
|
||||
Specific error codes include:
|
||||
\fBARCHIVE_RETRY\fP
|
||||
for operations that might succeed if retried,
|
||||
\fBARCHIVE_WARN\fP
|
||||
for unusual conditions that do not prevent further operations, and
|
||||
\fBARCHIVE_FATAL\fP
|
||||
for serious errors that make remaining operations impossible.
|
||||
.PP
|
||||
\fB\%archive_write_disk_new\fP()
|
||||
returns a pointer to a newly-allocated
|
||||
Tn struct archive
|
||||
object.
|
||||
.PP
|
||||
\fB\%archive_write_data\fP()
|
||||
returns a count of the number of bytes actually written,
|
||||
or
|
||||
.RS 4
|
||||
-1
|
||||
.RE
|
||||
on error.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBlibarchive\fP(3)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
The
|
||||
\fB\%archive_write_disk\fP
|
||||
interface was added to
|
||||
\fB\%libarchive\fP 2.0
|
||||
and first appeared in
|
||||
FreeBSD 6.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
||||
.SH BUGS
|
||||
.ad l
|
||||
Directories are actually extracted in two distinct phases.
|
||||
Directories are created during
|
||||
\fB\%archive_write_header\fP(),
|
||||
but final permissions are not set until
|
||||
\fB\%archive_write_close\fP().
|
||||
This separation is necessary to correctly handle borderline
|
||||
cases such as a non-writable directory containing
|
||||
files, but can cause unexpected results.
|
||||
In particular, directory permissions are not fully
|
||||
restored until the archive is closed.
|
||||
If you use
|
||||
\fBchdir\fP(2)
|
||||
to change the current directory between calls to
|
||||
\fB\%archive_read_extract\fP()
|
||||
or before calling
|
||||
\fB\%archive_read_close\fP(),
|
||||
you may confuse the permission-setting logic with
|
||||
the result that directory permissions are restored
|
||||
incorrectly.
|
||||
.PP
|
||||
The library attempts to create objects with filenames longer than
|
||||
\fBPATH_MAX\fP
|
||||
by creating prefixes of the full path and changing the current directory.
|
||||
Currently, this logic is limited in scope; the fixup pass does
|
||||
not work correctly for such objects and the symlink security check
|
||||
option disables the support for very long pathnames.
|
||||
.PP
|
||||
Restoring the path
|
||||
\fIaa/../bb\fP
|
||||
does create each intermediate directory.
|
||||
In particular, the directory
|
||||
\fIaa\fP
|
||||
is created as well as the final object
|
||||
\fIbb\fP.
|
||||
In theory, this can be exploited to create an entire directory hierarchy
|
||||
with a single request.
|
||||
Of course, this does not work if the
|
||||
\fBARCHIVE_EXTRACT_NODOTDOT\fP
|
||||
option is specified.
|
||||
.PP
|
||||
Implicit directories are always created obeying the current umask.
|
||||
Explicit objects are created obeying the current umask unless
|
||||
\fBARCHIVE_EXTRACT_PERM\fP
|
||||
is specified, in which case they current umask is ignored.
|
||||
.PP
|
||||
SGID and SUID bits are restored only if the correct user and
|
||||
group could be set.
|
||||
If
|
||||
\fBARCHIVE_EXTRACT_OWNER\fP
|
||||
is not specified, then no attempt is made to set the ownership.
|
||||
In this case, SGID and SUID bits are restored only if the
|
||||
user and group of the final object happen to match those specified
|
||||
in the entry.
|
||||
.PP
|
||||
The
|
||||
``standard''
|
||||
user-id and group-id lookup functions are not the defaults because
|
||||
\fBgetgrnam\fP(3)
|
||||
and
|
||||
\fBgetpwnam\fP(3)
|
||||
are sometimes too large for particular applications.
|
||||
The current design allows the application author to use a more
|
||||
compact implementation when appropriate.
|
||||
.PP
|
||||
There should be a corresponding
|
||||
\fB\%archive_read_disk\fP
|
||||
interface that walks a directory hierarchy and returns archive
|
||||
entry objects.
|
141
dependencies/libarchive-3.4.2/doc/man/archive_write_filter.3
vendored
Normal file
141
dependencies/libarchive-3.4.2/doc/man/archive_write_filter.3
vendored
Normal file
|
@ -0,0 +1,141 @@
|
|||
.TH ARCHIVE_WRITE_FILTER 3 "August 14, 2014" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_add_filter_b64encode\fP,
|
||||
\fB\%archive_write_add_filter_by_name\fP,
|
||||
\fB\%archive_write_add_filter_bzip2\fP,
|
||||
\fB\%archive_write_add_filter_compress\fP,
|
||||
\fB\%archive_write_add_filter_grzip\fP,
|
||||
\fB\%archive_write_add_filter_gzip\fP,
|
||||
\fB\%archive_write_add_filter_lrzip\fP,
|
||||
\fB\%archive_write_add_filter_lz4\fP,
|
||||
\fB\%archive_write_add_filter_lzip\fP,
|
||||
\fB\%archive_write_add_filter_lzma\fP,
|
||||
\fB\%archive_write_add_filter_lzop\fP,
|
||||
\fB\%archive_write_add_filter_none\fP,
|
||||
\fB\%archive_write_add_filter_program\fP,
|
||||
\fB\%archive_write_add_filter_uuencode\fP,
|
||||
\fB\%archive_write_add_filter_xz\fP,
|
||||
\fB\%archive_write_add_filter_zstd\fP
|
||||
\- functions enabling output filters
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_b64encode\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_bzip2\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_compress\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_grzip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_gzip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_lrzip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_lz4\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_lzip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_lzma\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_lzop\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_none\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_program\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *\ cmd\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_uuencode\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_xz\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_add_filter_zstd\fP(\fI\%struct\ archive\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_add_filter_bzip2\fP(),
|
||||
\fB\%archive_write_add_filter_compress\fP(),
|
||||
\fB\%archive_write_add_filter_grzip\fP(),
|
||||
\fB\%archive_write_add_filter_gzip\fP(),
|
||||
\fB\%archive_write_add_filter_lrzip\fP(),
|
||||
\fB\%archive_write_add_filter_lz4\fP(),
|
||||
\fB\%archive_write_add_filter_lzip\fP(),
|
||||
\fB\%archive_write_add_filter_lzma\fP(),
|
||||
\fB\%archive_write_add_filter_lzop\fP(),
|
||||
\fB\%archive_write_add_filter_xz\fP(),
|
||||
\fB\%archive_write_add_filter_zstd\fP(),
|
||||
The resulting archive will be compressed as specified.
|
||||
Note that the compressed output is always properly blocked.
|
||||
.TP
|
||||
\fB\%archive_write_add_filter_b64encode\fP(),
|
||||
\fB\%archive_write_add_filter_uuencode\fP(),
|
||||
The output will be encoded as specified.
|
||||
The encoded output is always properly blocked.
|
||||
.TP
|
||||
\fB\%archive_write_add_filter_none\fP()
|
||||
This is never necessary.
|
||||
It is provided only for backwards compatibility.
|
||||
.TP
|
||||
\fB\%archive_write_add_filter_program\fP()
|
||||
The archive will be fed into the specified compression program.
|
||||
The output of that program is blocked and written to the client
|
||||
write callbacks.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_format\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
57
dependencies/libarchive-3.4.2/doc/man/archive_write_finish_entry.3
vendored
Normal file
57
dependencies/libarchive-3.4.2/doc/man/archive_write_finish_entry.3
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
.TH ARCHIVE_WRITE_FINISH_ENTRY 3 "February 28, 2017" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_finish_entry\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_finish_entry\fP(\fI\%struct\ archive\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
Close out the entry just written.
|
||||
In particular, this writes out the final padding required by some formats.
|
||||
Ordinarily, clients never need to call this, as it
|
||||
is called automatically by
|
||||
\fB\%archive_write_header\fP()
|
||||
and
|
||||
\fB\%archive_write_close\fP()
|
||||
as needed.
|
||||
For
|
||||
Tn archive_write_disk
|
||||
handles, this flushes pending file attribute changes like modification time.
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
This function returns
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or one of several non-zero
|
||||
error codes for errors.
|
||||
Specific error codes include:
|
||||
\fBARCHIVE_RETRY\fP
|
||||
for operations that might succeed if retried,
|
||||
\fBARCHIVE_WARN\fP
|
||||
for unusual conditions that do not prevent further operations, and
|
||||
\fBARCHIVE_FATAL\fP
|
||||
for serious errors that make remaining operations impossible.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write_data\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
197
dependencies/libarchive-3.4.2/doc/man/archive_write_format.3
vendored
Normal file
197
dependencies/libarchive-3.4.2/doc/man/archive_write_format.3
vendored
Normal file
|
@ -0,0 +1,197 @@
|
|||
.TH ARCHIVE_WRITE_FORMAT 3 "February 14, 2013" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_set_format\fP,
|
||||
\fB\%archive_write_set_format_7zip\fP,
|
||||
\fB\%archive_write_set_format_ar\fP,
|
||||
\fB\%archive_write_set_format_ar_bsd\fP,
|
||||
\fB\%archive_write_set_format_ar_svr4\fP,
|
||||
\fB\%archive_write_set_format_by_name\fP,
|
||||
\fB\%archive_write_set_format_cpio\fP,
|
||||
\fB\%archive_write_set_format_cpio_newc\fP,
|
||||
\fB\%archive_write_set_format_filter_by_ext\fP,
|
||||
\fB\%archive_write_set_format_filter_by_ext_def\fP,
|
||||
\fB\%archive_write_set_format_gnutar\fP,
|
||||
\fB\%archive_write_set_format_iso9660\fP,
|
||||
\fB\%archive_write_set_format_mtree\fP,
|
||||
\fB\%archive_write_set_format_mtree_classic\fP,
|
||||
\fB\%archive_write_set_format_mtree_default\fP,
|
||||
\fB\%archive_write_set_format_pax\fP,
|
||||
\fB\%archive_write_set_format_pax_restricted\fP,
|
||||
\fB\%archive_write_set_format_raw\fP,
|
||||
\fB\%archive_write_set_format_shar\fP,
|
||||
\fB\%archive_write_set_format_shar_dump\fP,
|
||||
\fB\%archive_write_set_format_ustar\fP,
|
||||
\fB\%archive_write_set_format_v7tar\fP,
|
||||
\fB\%archive_write_set_format_warc\fP,
|
||||
\fB\%archive_write_set_format_xar\fP,
|
||||
\fB\%archive_write_set_format_zip\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ code\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_7zip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_ar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_ar_bsd\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_ar_svr4\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_by_name\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *name\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_cpio\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_cpio_newc\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_filter_by_ext\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *filename\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_filter_by_ext_def\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *filename\fP, \fI\%const\ char\ *def_ext\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_gnutar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_iso9660\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_mtree\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_pax\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_pax_restricted\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_raw\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_shar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_shar_dump\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_ustar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_v7tar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_warc\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_xar\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_zip\fP(\fI\%struct\ archive\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions set the format that will be used for the archive.
|
||||
.PP
|
||||
The library can write a variety of common archive formats.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_set_format\fP()
|
||||
Sets the format based on the format code (see
|
||||
\fIarchive.h\fP
|
||||
for the full list of format codes).
|
||||
In particular, this can be used in conjunction with
|
||||
\fB\%archive_format\fP()
|
||||
to create a new archive with the same format as an existing archive.
|
||||
.TP
|
||||
\fB\%archive_write_set_format_by_name\fP()
|
||||
Sets the corresponding format based on the common name.
|
||||
.TP
|
||||
\fB\%archive_write_set_format_filter_by_ext\fP(),
|
||||
\fB\%archive_write_set_format_filter_by_ext_def\fP()
|
||||
Sets both filters and format based on the output filename.
|
||||
Supported extensions: .7z, .zip, .jar, .cpio, .iso, .a, .ar, .tar, .tgz, .tar.gz, .tar.bz2, .tar.xz
|
||||
.TP
|
||||
\fB\%archive_write_set_format_7zip\fP()
|
||||
\fB\%archive_write_set_format_ar_bsd\fP(),
|
||||
\fB\%archive_write_set_format_ar_svr4\fP(),
|
||||
\fB\%archive_write_set_format_cpio\fP()
|
||||
\fB\%archive_write_set_format_cpio_newc\fP()
|
||||
\fB\%archive_write_set_format_gnutar\fP()
|
||||
\fB\%archive_write_set_format_iso9660\fP()
|
||||
\fB\%archive_write_set_format_mtree\fP()
|
||||
\fB\%archive_write_set_format_mtree_classic\fP()
|
||||
\fB\%archive_write_set_format_pax\fP()
|
||||
\fB\%archive_write_set_format_pax_restricted\fP()
|
||||
\fB\%archive_write_set_format_raw\fP()
|
||||
\fB\%archive_write_set_format_shar\fP()
|
||||
\fB\%archive_write_set_format_shar_dump\fP()
|
||||
\fB\%archive_write_set_format_ustar\fP()
|
||||
\fB\%archive_write_set_format_v7tar\fP()
|
||||
\fB\%archive_write_set_format_warc\fP()
|
||||
\fB\%archive_write_set_format_xar\fP()
|
||||
\fB\%archive_write_set_format_zip\fP()
|
||||
Set the format as specified.
|
||||
More details on the formats supported by libarchive can be found in the
|
||||
\fBlibarchive-formats\fP(5)
|
||||
manual page.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBlibarchive-formats\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
84
dependencies/libarchive-3.4.2/doc/man/archive_write_free.3
vendored
Normal file
84
dependencies/libarchive-3.4.2/doc/man/archive_write_free.3
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
.TH ARCHIVE_WRITE_FREE 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_fail\fP,
|
||||
\fB\%archive_write_close\fP,
|
||||
\fB\%archive_write_finish\fP,
|
||||
\fB\%archive_write_free\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_fail\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_close\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_finish\fP(\fI\%struct\ archive\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_free\fP(\fI\%struct\ archive\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_fail\fP()
|
||||
Always returns
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
This marks the archive object as being unusable;
|
||||
after calling this function, the only call that can succeed is
|
||||
\fB\%archive_write_free\fP()
|
||||
to release the resources.
|
||||
This can be used to speed recovery when the archive creation
|
||||
must be aborted.
|
||||
Note that the created archive is likely to be malformed in this case;
|
||||
.TP
|
||||
\fB\%archive_write_close\fP()
|
||||
Complete the archive and invoke the close callback.
|
||||
.TP
|
||||
\fB\%archive_write_finish\fP()
|
||||
This is a deprecated synonym for
|
||||
\fB\%archive_write_free\fP().
|
||||
.TP
|
||||
\fB\%archive_write_free\fP()
|
||||
Invokes
|
||||
\fB\%archive_write_close\fP()
|
||||
if necessary, then releases all resources.
|
||||
If you need detailed information about
|
||||
\fB\%archive_write_close\fP()
|
||||
failures, you should be careful to call it separately, as
|
||||
you cannot obtain error information after
|
||||
\fB\%archive_write_free\fP()
|
||||
returns.
|
||||
.RE
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
51
dependencies/libarchive-3.4.2/doc/man/archive_write_header.3
vendored
Normal file
51
dependencies/libarchive-3.4.2/doc/man/archive_write_header.3
vendored
Normal file
|
@ -0,0 +1,51 @@
|
|||
.TH ARCHIVE_WRITE_HEADER 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_header\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_header\fP(\fI\%struct\ archive\ *\fP, \fI\%struct\ archive_entry\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
Build and write a header using the data in the provided
|
||||
Tn struct archive_entry
|
||||
structure.
|
||||
See
|
||||
\fBarchive_entry\fP(3)
|
||||
for information on creating and populating
|
||||
Tn struct archive_entry
|
||||
objects.
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
This function returns
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or one of the following on error:
|
||||
\fBARCHIVE_RETRY\fP
|
||||
for operations that might succeed if retried,
|
||||
\fBARCHIVE_WARN\fP
|
||||
for unusual conditions that do not prevent further operations, and
|
||||
\fBARCHIVE_FATAL\fP
|
||||
for serious errors that make remaining operations impossible.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
36
dependencies/libarchive-3.4.2/doc/man/archive_write_new.3
vendored
Normal file
36
dependencies/libarchive-3.4.2/doc/man/archive_write_new.3
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
.TH ARCHIVE_WRITE_NEW 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_new\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIstruct archive *\fP
|
||||
.br
|
||||
\fB\%archive_write_new\fP(\fI\%void\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
Allocates and initializes a
|
||||
Tn struct archive
|
||||
object suitable for writing a tar archive.
|
||||
.BR NULL
|
||||
is returned on error.
|
||||
.PP
|
||||
A complete description of the
|
||||
Tn struct archive
|
||||
object can be found in the overview manual page for
|
||||
\fBlibarchive\fP(3).
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
222
dependencies/libarchive-3.4.2/doc/man/archive_write_open.3
vendored
Normal file
222
dependencies/libarchive-3.4.2/doc/man/archive_write_open.3
vendored
Normal file
|
@ -0,0 +1,222 @@
|
|||
.TH ARCHIVE_WRITE_OPEN 3 "February 2, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_open\fP,
|
||||
\fB\%archive_write_open_fd\fP,
|
||||
\fB\%archive_write_open_FILE\fP,
|
||||
\fB\%archive_write_open_filename\fP,
|
||||
\fB\%archive_write_open_memory\fP
|
||||
\- functions for creating archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_open\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%archive_open_callback\ *\fP, \fI\%archive_write_callback\ *\fP, \fI\%archive_close_callback\ *\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_open_fd\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ fd\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_open_FILE\fP(\fI\%struct\ archive\ *\fP, \fI\%FILE\ *file\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_open_filename\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *filename\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_open_memory\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *buffer\fP, \fI\%size_t\ bufferSize\fP, \fI\%size_t\ *outUsed\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_open\fP()
|
||||
Freeze the settings, open the archive, and prepare for writing entries.
|
||||
This is the most generic form of this function, which accepts
|
||||
pointers to three callback functions which will be invoked by
|
||||
the compression layer to write the constructed archive.
|
||||
This does not alter the default archive padding.
|
||||
.TP
|
||||
\fB\%archive_write_open_fd\fP()
|
||||
A convenience form of
|
||||
\fB\%archive_write_open\fP()
|
||||
that accepts a file descriptor.
|
||||
The
|
||||
\fB\%archive_write_open_fd\fP()
|
||||
function is safe for use with tape drives or other
|
||||
block-oriented devices.
|
||||
.TP
|
||||
\fB\%archive_write_open_FILE\fP()
|
||||
A convenience form of
|
||||
\fB\%archive_write_open\fP()
|
||||
that accepts a
|
||||
\fIFILE *\fP
|
||||
pointer.
|
||||
Note that
|
||||
\fB\%archive_write_open_FILE\fP()
|
||||
is not safe for writing to tape drives or other devices
|
||||
that require correct blocking.
|
||||
.TP
|
||||
\fB\%archive_write_open_file\fP()
|
||||
A deprecated synonym for
|
||||
\fB\%archive_write_open_filename\fP().
|
||||
.TP
|
||||
\fB\%archive_write_open_filename\fP()
|
||||
A convenience form of
|
||||
\fB\%archive_write_open\fP()
|
||||
that accepts a filename.
|
||||
A NULL argument indicates that the output should be written to standard output;
|
||||
an argument of
|
||||
``-''
|
||||
will open a file with that name.
|
||||
If you have not invoked
|
||||
\fB\%archive_write_set_bytes_in_last_block\fP(),
|
||||
then
|
||||
\fB\%archive_write_open_filename\fP()
|
||||
will adjust the last-block padding depending on the file:
|
||||
it will enable padding when writing to standard output or
|
||||
to a character or block device node, it will disable padding otherwise.
|
||||
You can override this by manually invoking
|
||||
\fB\%archive_write_set_bytes_in_last_block\fP()
|
||||
before calling
|
||||
\fB\%archive_write_open\fP().
|
||||
The
|
||||
\fB\%archive_write_open_filename\fP()
|
||||
function is safe for use with tape drives or other
|
||||
block-oriented devices.
|
||||
.TP
|
||||
\fB\%archive_write_open_memory\fP()
|
||||
A convenience form of
|
||||
\fB\%archive_write_open\fP()
|
||||
that accepts a pointer to a block of memory that will receive
|
||||
the archive.
|
||||
The final
|
||||
\fIsize_t *\fP
|
||||
argument points to a variable that will be updated
|
||||
after each write to reflect how much of the buffer
|
||||
is currently in use.
|
||||
You should be careful to ensure that this variable
|
||||
remains allocated until after the archive is
|
||||
closed.
|
||||
This function will disable padding unless you
|
||||
have specifically set the block size.
|
||||
.RE
|
||||
More information about the
|
||||
\fIstruct\fP archive
|
||||
object and the overall design of the library can be found in the
|
||||
\fBlibarchive\fP(3)
|
||||
overview.
|
||||
.PP
|
||||
Note that the convenience forms above vary in how
|
||||
they block the output.
|
||||
See
|
||||
\fBarchive_write_blocksize\fP(3)
|
||||
if you need to control the block size used for writes
|
||||
or the end-of-file padding behavior.
|
||||
.SH CLIENT CALLBACKS
|
||||
.ad l
|
||||
To use this library, you will need to define and register
|
||||
callback functions that will be invoked to write data to the
|
||||
resulting archive.
|
||||
These functions are registered by calling
|
||||
\fB\%archive_write_open\fP():
|
||||
.RS 5
|
||||
.IP
|
||||
\fItypedef int\fP
|
||||
\fB\%archive_open_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP)
|
||||
.RE
|
||||
.PP
|
||||
The open callback is invoked by
|
||||
\fB\%archive_write_open\fP().
|
||||
It should return
|
||||
\fBARCHIVE_OK\fP
|
||||
if the underlying file or data source is successfully
|
||||
opened.
|
||||
If the open fails, it should call
|
||||
\fB\%archive_set_error\fP()
|
||||
to register an error code and message and return
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.RS 5
|
||||
.IP
|
||||
\fItypedef la_ssize_t\fP
|
||||
\fB\%archive_write_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%const\ void\ *buffer\fP, \fI\%size_t\ length\fP)
|
||||
.RE
|
||||
.PP
|
||||
The write callback is invoked whenever the library
|
||||
needs to write raw bytes to the archive.
|
||||
For correct blocking, each call to the write callback function
|
||||
should translate into a single
|
||||
\fBwrite\fP(2)
|
||||
system call.
|
||||
This is especially critical when writing archives to tape drives.
|
||||
On success, the write callback should return the
|
||||
number of bytes actually written.
|
||||
On error, the callback should invoke
|
||||
\fB\%archive_set_error\fP()
|
||||
to register an error code and message and return -1.
|
||||
.RS 5
|
||||
.IP
|
||||
\fItypedef int\fP
|
||||
\fB\%archive_close_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP)
|
||||
.RE
|
||||
.PP
|
||||
The close callback is invoked by archive_close when
|
||||
the archive processing is complete.
|
||||
The callback should return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success.
|
||||
On failure, the callback should invoke
|
||||
\fB\%archive_set_error\fP()
|
||||
to register an error code and message and
|
||||
return
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.PP
|
||||
Note that if the client-provided write callback function
|
||||
returns a non-zero value, that error will be propagated back to the caller
|
||||
through whatever API function resulted in that call, which
|
||||
may include
|
||||
\fB\%archive_write_header\fP(),
|
||||
\fB\%archive_write_data\fP(),
|
||||
\fB\%archive_write_close\fP(),
|
||||
\fB\%archive_write_finish\fP(),
|
||||
or
|
||||
\fB\%archive_write_free\fP().
|
||||
The client callback can call
|
||||
\fB\%archive_set_error\fP()
|
||||
to provide values that can then be retrieved by
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP().
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
These functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
on success, or
|
||||
\fBARCHIVE_FATAL\fP.
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
Detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_blocksize\fP(3),
|
||||
\fBarchive_write_filter\fP(3),
|
||||
\fBarchive_write_format\fP(3),
|
||||
\fBarchive_write_new\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
784
dependencies/libarchive-3.4.2/doc/man/archive_write_set_options.3
vendored
Normal file
784
dependencies/libarchive-3.4.2/doc/man/archive_write_set_options.3
vendored
Normal file
|
@ -0,0 +1,784 @@
|
|||
.TH ARCHIVE_WRITE_OPTIONS 3 "January 31, 2020" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_set_filter_option\fP,
|
||||
\fB\%archive_write_set_format_option\fP,
|
||||
\fB\%archive_write_set_option\fP,
|
||||
\fB\%archive_write_set_options\fP
|
||||
\- functions controlling options for writing archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_filter_option\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *module\fP, \fI\%const\ char\ *option\fP, \fI\%const\ char\ *value\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_format_option\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *module\fP, \fI\%const\ char\ *option\fP, \fI\%const\ char\ *value\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_option\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *module\fP, \fI\%const\ char\ *option\fP, \fI\%const\ char\ *value\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_options\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *options\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
These functions provide a way for libarchive clients to configure
|
||||
specific write modules.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_set_filter_option\fP(),
|
||||
\fB\%archive_write_set_format_option\fP()
|
||||
Specifies an option that will be passed to the currently-registered
|
||||
filters (including decompression filters) or format readers.
|
||||
.PP
|
||||
If
|
||||
\fIoption\fP
|
||||
and
|
||||
\fIvalue\fP
|
||||
are both
|
||||
.BR NULL,
|
||||
these functions will do nothing and
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned.
|
||||
If
|
||||
\fIoption\fP
|
||||
is
|
||||
.BR NULL
|
||||
but
|
||||
\fIvalue\fP
|
||||
is not, these functions will do nothing and
|
||||
\fBARCHIVE_FAILED\fP
|
||||
will be returned.
|
||||
.PP
|
||||
If
|
||||
\fImodule\fP
|
||||
is not
|
||||
.BR NULL,
|
||||
\fIoption\fP
|
||||
and
|
||||
\fIvalue\fP
|
||||
will be provided to the filter or reader named
|
||||
\fImodule\fP.
|
||||
The return value will be either
|
||||
\fBARCHIVE_OK\fP
|
||||
if the option was successfully handled or
|
||||
\fBARCHIVE_WARN\fP
|
||||
if the option was unrecognized by the module or could otherwise
|
||||
not be handled.
|
||||
If there is no such module,
|
||||
\fBARCHIVE_FAILED\fP
|
||||
will be returned.
|
||||
.PP
|
||||
If
|
||||
\fImodule\fP
|
||||
is
|
||||
.BR NULL,
|
||||
\fIoption\fP
|
||||
and
|
||||
\fIvalue\fP
|
||||
will be provided to every registered module.
|
||||
If any module returns
|
||||
\fBARCHIVE_FATAL\fP,
|
||||
this value will be returned immediately.
|
||||
Otherwise,
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned if any module accepts the option, and
|
||||
\fBARCHIVE_FAILED\fP
|
||||
in all other cases.
|
||||
.TP
|
||||
\fB\%archive_write_set_option\fP()
|
||||
Calls
|
||||
\fB\%archive_write_set_format_option\fP(),
|
||||
then
|
||||
\fB\%archive_write_set_filter_option\fP().
|
||||
If either function returns
|
||||
\fBARCHIVE_FATAL\fP,
|
||||
\fBARCHIVE_FATAL\fP
|
||||
will be returned
|
||||
immediately.
|
||||
Otherwise, the greater of the two values will be returned.
|
||||
.TP
|
||||
\fB\%archive_write_set_options\fP()
|
||||
\fIoptions\fP
|
||||
is a comma-separated list of options.
|
||||
If
|
||||
\fIoptions\fP
|
||||
is
|
||||
.BR NULL
|
||||
or empty,
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned immediately.
|
||||
.PP
|
||||
Individual options have one of the following forms:
|
||||
.RS 5
|
||||
.TP
|
||||
\fIoption=value\fP
|
||||
The option/value pair will be provided to every module.
|
||||
Modules that do not accept an option with this name will ignore it.
|
||||
.TP
|
||||
\fIoption\fP
|
||||
The option will be provided to every module with a value of
|
||||
``1''.
|
||||
.TP
|
||||
\fI!option\fP
|
||||
The option will be provided to every module with a NULL value.
|
||||
.TP
|
||||
\fImodule:option=value\fP, \fImodule:option\fP, \fImodule:!option\fP
|
||||
As above, but the corresponding option and value will be provided
|
||||
only to modules whose name matches
|
||||
\fImodule\fP.
|
||||
.RE
|
||||
.RE
|
||||
.SH OPTIONS
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
Filter b64encode
|
||||
.RS 5
|
||||
.TP
|
||||
\fBmode\fP
|
||||
The value is interpreted as octal digits specifying the file mode.
|
||||
.TP
|
||||
\fBname\fP
|
||||
The value specifies the file name.
|
||||
.RE
|
||||
.TP
|
||||
Filter bzip2
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
bzip2 compression level. Supported values are from 1 to 9.
|
||||
.RE
|
||||
.TP
|
||||
Filter gzip
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
gzip compression level. Supported values are from 0 to 9.
|
||||
.TP
|
||||
\fBtimestamp\fP
|
||||
Store timestamp. This is enabled by default.
|
||||
.RE
|
||||
.TP
|
||||
Filter lrzip
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression\fP=\fItype\fP
|
||||
Use
|
||||
\fItype\fP
|
||||
as compression method.
|
||||
Supported values are
|
||||
``bzip2'',
|
||||
``gzipi'',
|
||||
``lzo''
|
||||
(ultra fast,)
|
||||
and
|
||||
``zpaq''
|
||||
(best, extremely slow.)
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
lrzip compression level. Supported values are from 1 to 9.
|
||||
.RE
|
||||
.TP
|
||||
Filter lz4
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
lz4 compression level. Supported values are from 0 to 9.
|
||||
.TP
|
||||
\fBstream-checksum\fP
|
||||
Enable stream checksum. This is enabled by default.
|
||||
.TP
|
||||
\fBblock-checksum\fP
|
||||
Enable block checksum. This is disabled by default.
|
||||
.TP
|
||||
\fBblock-size\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
lz4 compression block size. Supported values are from 4 to 7
|
||||
(default.)
|
||||
.TP
|
||||
\fBblock-dependence\fP
|
||||
Use the previous block of the block being compressed for
|
||||
a compression dictionary to improve compression ratio.
|
||||
This is disabled by default.
|
||||
.RE
|
||||
.TP
|
||||
Filter lzop
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
lzop compression level. Supported values are from 1 to 9.
|
||||
.RE
|
||||
.TP
|
||||
Filter uuencode
|
||||
.RS 5
|
||||
.TP
|
||||
\fBmode\fP
|
||||
The value is interpreted as octal digits specifying the file mode.
|
||||
.TP
|
||||
\fBname\fP
|
||||
The value specifies the file name.
|
||||
.RE
|
||||
.TP
|
||||
Filter xz
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
compression level. Supported values are from 0 to 9.
|
||||
.TP
|
||||
\fBthreads\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
number of threads for multi-threaded lzma compression.
|
||||
If supported, the default value is read from
|
||||
\fB\%lzma_cputhreads\fP().
|
||||
.RE
|
||||
.TP
|
||||
Filter zstd
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
compression level. Supported values are from 1 to 22.
|
||||
.RE
|
||||
.TP
|
||||
Format 7zip
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression\fP
|
||||
The value is one of
|
||||
``store'',
|
||||
``deflate'',
|
||||
``bzip2'',
|
||||
``lzma1'',
|
||||
``lzma2''
|
||||
or
|
||||
``ppmd''
|
||||
to indicate how the following entries should be compressed.
|
||||
Note that this setting is ignored for directories, symbolic links,
|
||||
and other special entries.
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
compression level.
|
||||
Values between 0 and 9 are supported.
|
||||
The interpretation of the compression level depends on the chosen
|
||||
compression method.
|
||||
.RE
|
||||
.TP
|
||||
Format cpio
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.RE
|
||||
.TP
|
||||
Format gnutar
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file, group and user names.
|
||||
.RE
|
||||
.TP
|
||||
Format iso9660 - volume metadata
|
||||
These options are used to set standard ISO9660 metadata.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBabstract-file\fP=\fIfilename\fP
|
||||
The file with the specified name will be identified in the ISO9660 metadata
|
||||
as holding the abstract for this volume.
|
||||
Default: none.
|
||||
.TP
|
||||
\fBapplication-id\fP=\fIfilename\fP
|
||||
The file with the specified name will be identified in the ISO9660 metadata
|
||||
as holding the application identifier for this volume.
|
||||
Default: none.
|
||||
.TP
|
||||
\fBbiblio-file\fP=\fIfilename\fP
|
||||
The file with the specified name will be identified in the ISO9660 metadata
|
||||
as holding the bibliography for this volume.
|
||||
Default: none.
|
||||
.TP
|
||||
\fBcopyright-file\fP=\fIfilename\fP
|
||||
The file with the specified name will be identified in the ISO9660 metadata
|
||||
as holding the copyright for this volume.
|
||||
Default: none.
|
||||
.TP
|
||||
\fBpublisher\fP=\fIfilename\fP
|
||||
The file with the specified name will be identified in the ISO9660 metadata
|
||||
as holding the publisher information for this volume.
|
||||
Default: none.
|
||||
.TP
|
||||
\fBvolume-id\fP=\fIstring\fP
|
||||
The specified string will be used as the Volume Identifier in the ISO9660 metadata.
|
||||
It is limited to 32 bytes.
|
||||
Default: none.
|
||||
.RE
|
||||
.TP
|
||||
Format iso9660 - boot support
|
||||
These options are used to make an ISO9660 image that can be directly
|
||||
booted on various systems.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBboot\fP=\fIfilename\fP
|
||||
The file matching this name will be used as the El Torito boot image file.
|
||||
.TP
|
||||
\fBboot-catalog\fP=\fIname\fP
|
||||
The name that will be used for the El Torito boot catalog.
|
||||
Default:
|
||||
\fIboot.catalog\fP
|
||||
.TP
|
||||
\fBboot-info-table\fP
|
||||
The boot image file provided by the
|
||||
\fBboot\fP=\fIfilename\fP
|
||||
option will be edited with appropriate boot information in bytes 8 through 64.
|
||||
Default: disabled
|
||||
.TP
|
||||
\fBboot-load-seg\fP=\fIhexadecimal-number\fP
|
||||
The load segment for a no-emulation boot image.
|
||||
.TP
|
||||
\fBboot-load-size\fP=\fIdecimal-number\fP
|
||||
The number of "virtual" 512-byte sectors to be loaded from a no-emulation boot image.
|
||||
Some very old BIOSes can only load very small images, setting this
|
||||
value to 4 will often allow such BIOSes to load the first part of
|
||||
the boot image (which will then need to be intelligent enough to
|
||||
load the rest of itself).
|
||||
This should not be needed unless you are trying to support systems with very old BIOSes.
|
||||
This defaults to the full size of the image.
|
||||
.TP
|
||||
\fBboot-type\fP=\fIvalue\fP
|
||||
Specifies the boot semantics used by the El Torito boot image:
|
||||
If the
|
||||
\fIvalue\fP
|
||||
is
|
||||
\fBfd\fP,
|
||||
then the boot image is assumed to be a bootable floppy image.
|
||||
If the
|
||||
\fIvalue\fP
|
||||
is
|
||||
\fBhd\fP,
|
||||
then the boot image is assumed to be a bootable hard disk image.
|
||||
If the
|
||||
\fIvalue\fP
|
||||
is
|
||||
\fBno-emulation\fP,
|
||||
the boot image is used without floppy or hard disk emulation.
|
||||
If the boot image is exactly 1.2MB, 1.44MB, or 2.88MB, then
|
||||
the default is
|
||||
\fBfd\fP,
|
||||
otherwise the default is
|
||||
\fBno-emulation\fP.
|
||||
.RE
|
||||
.TP
|
||||
Format iso9660 - filename and size extensions
|
||||
Various extensions to the base ISO9660 format.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBallow-ldots\fP
|
||||
If enabled, allows filenames to begin with a leading period.
|
||||
If disabled, filenames that begin with a leading period will have
|
||||
that period replaced by an underscore character in the standard ISO9660
|
||||
namespace.
|
||||
This does not impact names stored in the Rockridge or Joliet extension area.
|
||||
Default: disabled.
|
||||
.TP
|
||||
\fBallow-lowercase\fP
|
||||
If enabled, allows filenames to contain lowercase characters.
|
||||
If disabled, filenames will be forced to uppercase.
|
||||
This does not impact names stored in the Rockridge or Joliet extension area.
|
||||
Default: disabled.
|
||||
.TP
|
||||
\fBallow-multidot\fP
|
||||
If enabled, allows filenames to contain multiple period characters, in violation of the ISO9660 specification.
|
||||
If disabled, additional periods will be converted to underscore characters.
|
||||
This does not impact names stored in the Rockridge or Joliet extension area.
|
||||
Default: disabled.
|
||||
.TP
|
||||
\fBallow-period\fP
|
||||
If enabled, allows filenames to contain trailing period characters, in violation of the ISO9660 specification.
|
||||
If disabled, trailing periods will be converted to underscore characters.
|
||||
This does not impact names stored in the Rockridge or Joliet extension area.
|
||||
Default: disabled.
|
||||
.TP
|
||||
\fBallow-pvd-lowercase\fP
|
||||
If enabled, the Primary Volume Descriptor may contain lowercase ASCII characters, in violation of the ISO9660 specification.
|
||||
If disabled, characters will be converted to uppercase ASCII.
|
||||
Default: disabled.
|
||||
.TP
|
||||
\fBallow-sharp-tilde\fP
|
||||
If enabled, sharp and tilde characters will be permitted in filenames, in violation if the ISO9660 specification.
|
||||
If disabled, such characters will be converted to underscore characters.
|
||||
Default: disabled.
|
||||
.TP
|
||||
\fBallow-vernum\fP
|
||||
If enabled, version numbers will be included with files.
|
||||
If disabled, version numbers will be suppressed, in violation of the ISO9660 standard.
|
||||
This does not impact names stored in the Rockridge or Joliet extension area.
|
||||
Default: enabled.
|
||||
.TP
|
||||
\fBiso-level\fP
|
||||
This enables support for file size and file name extensions in the
|
||||
core ISO9660 area.
|
||||
The name extensions specified here do not affect the names stored in the Rockridge or Joliet extension areas.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBiso-level=1\fP
|
||||
The most compliant form of ISO9660 image.
|
||||
Filenames are limited to 8.3 uppercase format,
|
||||
directory names are limited to 8 uppercase characters,
|
||||
files are limited to 4 GiB,
|
||||
the complete ISO9660 image cannot exceed 4 GiB.
|
||||
.TP
|
||||
\fBiso-level=2\fP
|
||||
Filenames are limited to 30 uppercase characters with a 30-character extension,
|
||||
directory names are limited to 30 characters,
|
||||
files are limited to 4 GiB.
|
||||
.TP
|
||||
\fBiso-level=3\fP
|
||||
As with
|
||||
\fBiso-level=2\fP,
|
||||
except that files may exceed 4 GiB.
|
||||
.TP
|
||||
\fBiso-level=4\fP
|
||||
As with
|
||||
\fBiso-level=3\fP,
|
||||
except that filenames may be up to 193 characters
|
||||
and may include arbitrary 8-bit characters.
|
||||
.RE
|
||||
.TP
|
||||
\fBjoliet\fP
|
||||
Microsoft's Joliet extensions store a completely separate set of directory information about each file.
|
||||
In particular, this information includes Unicode filenames of up to 255 characters.
|
||||
Default: enabled.
|
||||
.TP
|
||||
\fBlimit-depth\fP
|
||||
If enabled, libarchive will use directory relocation records to ensure that
|
||||
no pathname exceeds the ISO9660 limit of 8 directory levels.
|
||||
If disabled, no relocation will occur.
|
||||
Default: enabled.
|
||||
.TP
|
||||
\fBlimit-dirs\fP
|
||||
If enabled, libarchive will cause an error if there are more than
|
||||
65536 directories.
|
||||
If disabled, there is no limit on the number of directories.
|
||||
Default: enabled
|
||||
.TP
|
||||
\fBpad\fP
|
||||
If enabled, 300 kiB of zero bytes will be appended to the end of the archive.
|
||||
Default: enabled
|
||||
.TP
|
||||
\fBrelaxed-filenames\fP
|
||||
If enabled, all 7-bit ASCII characters are permitted in filenames
|
||||
(except lowercase characters unless
|
||||
\fBallow-lowercase\fP
|
||||
is also specified).
|
||||
This violates ISO9660 standards.
|
||||
This does not impact names stored in the Rockridge or Joliet extension area.
|
||||
Default: disabled.
|
||||
.TP
|
||||
\fBrockridge\fP
|
||||
The Rockridge extensions store an additional set of POSIX-style file
|
||||
information with each file, including mtime, atime, ctime, permissions,
|
||||
and long filenames with arbitrary 8-bit characters.
|
||||
These extensions also support symbolic links and other POSIX file types.
|
||||
Default: enabled.
|
||||
.RE
|
||||
.TP
|
||||
Format iso9660 - zisofs support
|
||||
The zisofs extensions permit each file to be independently compressed
|
||||
using a gzip-compatible compression.
|
||||
This can provide significant size savings, but requires the reading
|
||||
system to have support for these extensions.
|
||||
These extensions are disabled by default.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression-level\fP=number
|
||||
The compression level used by the deflate compressor.
|
||||
Ranges from 0 (least effort) to 9 (most effort).
|
||||
Default: 6
|
||||
.TP
|
||||
\fBzisofs\fP
|
||||
Synonym for
|
||||
\fBzisofs=direct\fP.
|
||||
.TP
|
||||
\fBzisofs=direct\fP
|
||||
Compress each file in the archive.
|
||||
Unlike
|
||||
\fBzisofs=indirect\fP,
|
||||
this is handled entirely within libarchive and does not require a
|
||||
separate utility.
|
||||
For best results, libarchive tests each file and will store
|
||||
the file uncompressed if the compression does not actually save any space.
|
||||
In particular, files under 2k will never be compressed.
|
||||
Note that boot image files are never compressed.
|
||||
.TP
|
||||
\fBzisofs=indirect\fP
|
||||
Recognizes files that have already been compressed with the
|
||||
\fBmkzftree\fP
|
||||
utility and sets up the necessary file metadata so that
|
||||
readers will correctly identify these as zisofs-compressed files.
|
||||
.TP
|
||||
\fBzisofs-exclude\fP=\fIfilename\fP
|
||||
Specifies a filename that should not be compressed when using
|
||||
\fBzisofs=direct\fP.
|
||||
This option can be provided multiple times to suppress compression
|
||||
on many files.
|
||||
.RE
|
||||
.TP
|
||||
Format mtree
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcksum\fP, \fBdevice\fP, \fBflags\fP, \fBgid\fP, \fBgname\fP, \fBindent\fP, \fBlink\fP, \fBmd5\fP, \fBmode\fP, \fBnlink\fP, \fBrmd160\fP, \fBsha1\fP, \fBsha256\fP, \fBsha384\fP, \fBsha512\fP, \fBsize\fP, \fBtime\fP, \fBuid\fP, \fBuname\fP
|
||||
Enable a particular keyword in the mtree output.
|
||||
Prefix with an exclamation mark to disable the corresponding keyword.
|
||||
The default is equivalent to
|
||||
``device, flags, gid, gname, link, mode, nlink, size, time, type, uid, uname''.
|
||||
.TP
|
||||
\fBall\fP
|
||||
Enables all of the above keywords.
|
||||
.TP
|
||||
\fBuse-set\fP
|
||||
Enables generation of
|
||||
\fB/set\fP
|
||||
lines that specify default values for the following files and/or directories.
|
||||
.TP
|
||||
\fBindent\fP
|
||||
XXX needs explanation XXX
|
||||
.RE
|
||||
.TP
|
||||
Format newc
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.RE
|
||||
.TP
|
||||
Format pax
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file, group and user names.
|
||||
The value is one of
|
||||
``BINARY''
|
||||
or
|
||||
``UTF-8''.
|
||||
With
|
||||
``BINARY''
|
||||
there is no character conversion, with
|
||||
``UTF-8''
|
||||
names are converted to UTF-8.
|
||||
.TP
|
||||
\fBxattrheader\fP
|
||||
When storing extended attributes, this option configures which
|
||||
headers should be written. The value is one of
|
||||
``all'',
|
||||
``LIBARCHIVE'',
|
||||
or
|
||||
``SCHILY''.
|
||||
By default, both
|
||||
``LIBARCHIVE.xattr''
|
||||
and
|
||||
``SCHILY.xattr''
|
||||
headers are written.
|
||||
.RE
|
||||
.TP
|
||||
Format ustar
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file, group and user names.
|
||||
.RE
|
||||
.TP
|
||||
Format v7tar
|
||||
.RS 5
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file, group and user names.
|
||||
.RE
|
||||
.TP
|
||||
Format warc
|
||||
.RS 5
|
||||
.TP
|
||||
\fBomit-warcinfo\fP
|
||||
Set to
|
||||
``true''
|
||||
to disable output of the warcinfo record.
|
||||
.RE
|
||||
.TP
|
||||
Format xar
|
||||
.RS 5
|
||||
.TP
|
||||
\fBchecksum\fP=\fItype\fP
|
||||
Use
|
||||
\fItype\fP
|
||||
as file checksum method.
|
||||
Supported values are
|
||||
``none'',
|
||||
``md5'',
|
||||
and
|
||||
``sha1''
|
||||
(default.)
|
||||
.TP
|
||||
\fBcompression\fP=\fItype\fP
|
||||
Use
|
||||
\fItype\fP
|
||||
as compression method.
|
||||
Supported values are
|
||||
``none'',
|
||||
``bzip2'',
|
||||
``gzip''
|
||||
(default,)
|
||||
``lzma''
|
||||
and
|
||||
``xz''.
|
||||
.TP
|
||||
\fBcompression_level\fP
|
||||
The value is a decimal integer from 1 to 9 specifying the compression level.
|
||||
.TP
|
||||
\fBtoc-checksum\fP=\fItype\fP
|
||||
Use
|
||||
\fItype\fP
|
||||
as table of contents checksum method.
|
||||
Supported values are
|
||||
``none'',
|
||||
``md5''
|
||||
and
|
||||
``sha1''
|
||||
(default.)
|
||||
.RE
|
||||
.TP
|
||||
Format zip
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcompression\fP
|
||||
The value is either
|
||||
``store''
|
||||
or
|
||||
``deflate''
|
||||
to indicate how the following entries should be compressed.
|
||||
Note that this setting is ignored for directories, symbolic links,
|
||||
and other special entries.
|
||||
.TP
|
||||
\fBcompression-level\fP
|
||||
The value is interpreted as a decimal integer specifying the
|
||||
compression level.
|
||||
Values between 0 and 9 are supported.
|
||||
A compression level of 0 switches the compression method to
|
||||
``store'',
|
||||
other values will enable
|
||||
``deflate''
|
||||
compression with the given level.
|
||||
.TP
|
||||
\fBencryption\fP
|
||||
Enable encryption using traditional zip encryption.
|
||||
.TP
|
||||
\fBencryption\fP=\fItype\fP
|
||||
Use
|
||||
\fItype\fP
|
||||
as encryption type.
|
||||
Supported values are
|
||||
``zipcrypt''
|
||||
(traditional zip encryption,)
|
||||
``aes128''
|
||||
(WinZip AES-128 encryption)
|
||||
and
|
||||
``aes256''
|
||||
(WinZip AES-256 encryption.)
|
||||
.TP
|
||||
\fBexperimental\fP
|
||||
This boolean option enables or disables experimental Zip features
|
||||
that may not be compatible with other Zip implementations.
|
||||
.TP
|
||||
\fBfakecrc32\fP
|
||||
This boolean option disables CRC calculations.
|
||||
All CRC fields are set to zero.
|
||||
It should not be used except for testing purposes.
|
||||
.TP
|
||||
\fBhdrcharset\fP
|
||||
The value is used as a character set name that will be
|
||||
used when translating file names.
|
||||
.TP
|
||||
\fBzip64\fP
|
||||
Zip64 extensions provide additional file size information
|
||||
for entries larger than 4 GiB.
|
||||
They also provide extended file offset and archive size information
|
||||
when archives exceed 4 GiB.
|
||||
By default, the Zip writer selectively enables these extensions only as needed.
|
||||
In particular, if the file size is unknown, the Zip writer will
|
||||
include Zip64 extensions to guard against the possibility that the
|
||||
file might be larger than 4 GiB.
|
||||
.PP
|
||||
Setting this boolean option will force the writer to use Zip64 extensions
|
||||
even for small files that would not otherwise require them.
|
||||
This is primarily useful for testing.
|
||||
.PP
|
||||
Disabling this option with
|
||||
\fB!zip64\fP
|
||||
will force the Zip writer to avoid Zip64 extensions:
|
||||
It will reject files with size greater than 4 GiB,
|
||||
it will reject any new entries once the total archive size reaches 4 GiB,
|
||||
and it will not use Zip64 extensions for files with unknown size.
|
||||
In particular, this can improve compatibility when generating archives
|
||||
where the entry sizes are not known in advance.
|
||||
.RE
|
||||
.RE
|
||||
.SH EXAMPLES
|
||||
.ad l
|
||||
The following example creates an archive write handle to
|
||||
create a gzip-compressed ISO9660 format image.
|
||||
The two options here specify that the ISO9660 archive will use
|
||||
\fIkernel.img\fP
|
||||
as the boot image for El Torito booting, and that the gzip
|
||||
compressor should use the maximum compression level.
|
||||
.RS 4
|
||||
.nf
|
||||
a = archive_write_new();
|
||||
archive_write_add_filter_gzip(a);
|
||||
archive_write_set_format_iso9660(a);
|
||||
archive_write_set_options(a, "boot=kernel.img,compression=9");
|
||||
archive_write_open_filename(a, filename, blocksize);
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.ad l
|
||||
More detailed error codes and textual descriptions are available from the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBlibarchive\fP(3)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The options support for libarchive was originally implemented by
|
||||
Michihiro NAKAJIMA.
|
||||
.SH BUGS
|
||||
.ad l
|
49
dependencies/libarchive-3.4.2/doc/man/archive_write_set_passphrase.3
vendored
Normal file
49
dependencies/libarchive-3.4.2/doc/man/archive_write_set_passphrase.3
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
.TH ARCHIVE_WRITE_SET_PASSPHRASE 3 "September 21, 2014" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%archive_write_set_passphrase\fP,
|
||||
\fB\%archive_write_set_passphrase_callback\fP
|
||||
\- functions for writing encrypted archives
|
||||
.SH LIBRARY
|
||||
.ad l
|
||||
Streaming Archive Library (libarchive, -larchive)
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
\fB#include <archive.h>\fP
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_passphrase\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ char\ *passphrase\fP);
|
||||
.br
|
||||
\fIint\fP
|
||||
.br
|
||||
\fB\%archive_write_set_passphrase_callback\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *client_data\fP, \fI\%archive_passphrase_callback\ *\fP);
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_write_set_passphrase\fP()
|
||||
Set a passphrase for writing an encrypted archive.
|
||||
If
|
||||
\fIpassphrase\fP
|
||||
is
|
||||
.BR NULL
|
||||
or empty, this function will do nothing and
|
||||
\fBARCHIVE_FAILED\fP
|
||||
will be returned.
|
||||
Otherwise,
|
||||
\fBARCHIVE_OK\fP
|
||||
will be returned.
|
||||
.TP
|
||||
\fB\%archive_write_set_passphrase_callback\fP()
|
||||
Register a callback function that will be invoked to get a passphrase
|
||||
for encryption if the passphrase was not set by the
|
||||
\fB\%archive_write_set_passphrase\fP()
|
||||
function.
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3)
|
481
dependencies/libarchive-3.4.2/doc/man/bsdcpio.1
vendored
Normal file
481
dependencies/libarchive-3.4.2/doc/man/bsdcpio.1
vendored
Normal file
|
@ -0,0 +1,481 @@
|
|||
.TH CPIO 1 "September 16, 2014" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%cpio\fP
|
||||
\- copy files to and from archives
|
||||
.SH SYNOPSIS
|
||||
.ad l
|
||||
.br
|
||||
\fB\%cpio\fP
|
||||
\fB\-i\fP
|
||||
[\fIoptions\fP]
|
||||
[\fIpattern\fP ...]
|
||||
[\fI<\fP archive]
|
||||
.br
|
||||
\fB\%cpio\fP
|
||||
\fB\-o\fP
|
||||
[\fIoptions\fP]
|
||||
\fI<\fP name-list
|
||||
[\fI>\fP archive]
|
||||
.br
|
||||
\fB\%cpio\fP
|
||||
\fB\-p\fP
|
||||
[\fIoptions\fP]
|
||||
\fIdest-dir\fP
|
||||
\fI<\fP name-list
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
\fB\%cpio\fP
|
||||
copies files between archives and directories.
|
||||
This implementation can extract from tar, pax, cpio, zip, jar, ar,
|
||||
and ISO 9660 cdrom images and can create tar, pax, cpio, ar,
|
||||
and shar archives.
|
||||
.PP
|
||||
The first option to
|
||||
\fB\%cpio\fP
|
||||
is a mode indicator from the following list:
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\-i\fP
|
||||
Input.
|
||||
Read an archive from standard input (unless overridden) and extract the
|
||||
contents to disk or (if the
|
||||
\fB\-t\fP
|
||||
option is specified)
|
||||
list the contents to standard output.
|
||||
If one or more file patterns are specified, only files matching
|
||||
one of the patterns will be extracted.
|
||||
.TP
|
||||
\fB\-o\fP
|
||||
Output.
|
||||
Read a list of filenames from standard input and produce a new archive
|
||||
on standard output (unless overridden) containing the specified items.
|
||||
.TP
|
||||
\fB\-p\fP
|
||||
Pass-through.
|
||||
Read a list of filenames from standard input and copy the files to the
|
||||
specified directory.
|
||||
.RE
|
||||
.SH OPTIONS
|
||||
.ad l
|
||||
Unless specifically stated otherwise, options are applicable in
|
||||
all operating modes.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\-0\fP, \fB\-Fl\fP null
|
||||
Read filenames separated by NUL characters instead of newlines.
|
||||
This is necessary if any of the filenames being read might contain newlines.
|
||||
.TP
|
||||
\fB\-A\fP
|
||||
(o mode only)
|
||||
Append to the specified archive.
|
||||
(Not yet implemented.)
|
||||
.TP
|
||||
\fB\-a\fP
|
||||
(o and p modes)
|
||||
Reset access times on files after they are read.
|
||||
.TP
|
||||
\fB\-B\fP
|
||||
(o mode only)
|
||||
Block output to records of 5120 bytes.
|
||||
.TP
|
||||
\fB\-C\fP \fIsize\fP
|
||||
(o mode only)
|
||||
Block output to records of
|
||||
\fIsize\fP
|
||||
bytes.
|
||||
.TP
|
||||
\fB\-c\fP
|
||||
(o mode only)
|
||||
Use the old POSIX portable character format.
|
||||
Equivalent to
|
||||
\fB\-Fl\fP format \fIodc\fP.
|
||||
.TP
|
||||
\fB\-d\fP, \fB\-Fl\fP make-directories
|
||||
(i and p modes)
|
||||
Create directories as necessary.
|
||||
.TP
|
||||
\fB\-E\fP \fIfile\fP
|
||||
(i mode only)
|
||||
Read list of file name patterns from
|
||||
\fIfile\fP
|
||||
to list and extract.
|
||||
.TP
|
||||
\fB\-F\fP \fIfile\fP, \fB\-Fl\fP file \fIfile\fP
|
||||
Read archive from or write archive to
|
||||
\fIfile\fP.
|
||||
.TP
|
||||
\fB\-f\fP \fIpattern\fP
|
||||
(i mode only)
|
||||
Ignore files that match
|
||||
\fIpattern\fP.
|
||||
.TP
|
||||
\fB\-H\fP \fIformat\fP, \fB\-Fl\fP format \fIformat\fP
|
||||
(o mode only)
|
||||
Produce the output archive in the specified format.
|
||||
Supported formats include:
|
||||
.PP
|
||||
.RS 5
|
||||
.TP
|
||||
\fIcpio\fP
|
||||
Synonym for
|
||||
\fIodc\fP.
|
||||
.TP
|
||||
\fInewc\fP
|
||||
The SVR4 portable cpio format.
|
||||
.TP
|
||||
\fIodc\fP
|
||||
The old POSIX.1 portable octet-oriented cpio format.
|
||||
.TP
|
||||
\fIpax\fP
|
||||
The POSIX.1 pax format, an extension of the ustar format.
|
||||
.TP
|
||||
\fIustar\fP
|
||||
The POSIX.1 tar format.
|
||||
.RE
|
||||
.PP
|
||||
The default format is
|
||||
\fIodc\fP.
|
||||
See
|
||||
\fBlibarchive-formats\fP(5)
|
||||
for more complete information about the
|
||||
formats currently supported by the underlying
|
||||
\fBlibarchive\fP(3)
|
||||
library.
|
||||
.TP
|
||||
\fB\-h\fP, \fB\-Fl\fP help
|
||||
Print usage information.
|
||||
.TP
|
||||
\fB\-I\fP \fIfile\fP
|
||||
Read archive from
|
||||
\fIfile\fP.
|
||||
.TP
|
||||
\fB\-i\fP, \fB\-Fl\fP extract
|
||||
Input mode.
|
||||
See above for description.
|
||||
.TP
|
||||
\fB\-Fl\fP insecure
|
||||
(i and p mode only)
|
||||
Disable security checks during extraction or copying.
|
||||
This allows extraction via symbolic links, absolute paths,
|
||||
and path names containing
|
||||
Sq ..
|
||||
in the name.
|
||||
.TP
|
||||
\fB\-J\fP, \fB\-Fl\fP xz
|
||||
(o mode only)
|
||||
Compress the file with xz-compatible compression before writing it.
|
||||
In input mode, this option is ignored; xz compression is recognized
|
||||
automatically on input.
|
||||
.TP
|
||||
\fB\-j\fP
|
||||
Synonym for
|
||||
\fB\-y\fP.
|
||||
.TP
|
||||
\fB\-L\fP
|
||||
(o and p modes)
|
||||
All symbolic links will be followed.
|
||||
Normally, symbolic links are archived and copied as symbolic links.
|
||||
With this option, the target of the link will be archived or copied instead.
|
||||
.TP
|
||||
\fB\-l\fP, \fB\-Fl\fP link
|
||||
(p mode only)
|
||||
Create links from the target directory to the original files,
|
||||
instead of copying.
|
||||
.TP
|
||||
\fB\-Fl\fP lrzip
|
||||
(o mode only)
|
||||
Compress the resulting archive with
|
||||
\fBlrzip\fP(1).
|
||||
In input mode, this option is ignored.
|
||||
.TP
|
||||
\fB\-Fl\fP lz4
|
||||
(o mode only)
|
||||
Compress the archive with lz4-compatible compression before writing it.
|
||||
In input mode, this option is ignored; lz4 compression is recognized
|
||||
automatically on input.
|
||||
.TP
|
||||
\fB\-Fl\fP zstd
|
||||
(o mode only)
|
||||
Compress the archive with zstd-compatible compression before writing it.
|
||||
In input mode, this option is ignored; zstd compression is recognized
|
||||
automatically on input.
|
||||
.TP
|
||||
\fB\-Fl\fP lzma
|
||||
(o mode only)
|
||||
Compress the file with lzma-compatible compression before writing it.
|
||||
In input mode, this option is ignored; lzma compression is recognized
|
||||
automatically on input.
|
||||
.TP
|
||||
\fB\-Fl\fP lzop
|
||||
(o mode only)
|
||||
Compress the resulting archive with
|
||||
\fBlzop\fP(1).
|
||||
In input mode, this option is ignored.
|
||||
.TP
|
||||
\fB\-Fl\fP passphrase \fIpassphrase\fP
|
||||
The
|
||||
\fIpassphrase\fP
|
||||
is used to extract or create an encrypted archive.
|
||||
Currently, zip is only a format that
|
||||
\fB\%cpio\fP
|
||||
can handle encrypted archives.
|
||||
You shouldn't use this option unless you realize how insecure
|
||||
use of this option is.
|
||||
.TP
|
||||
\fB\-m\fP, \fB\-Fl\fP preserve-modification-time
|
||||
(i and p modes)
|
||||
Set file modification time on created files to match
|
||||
those in the source.
|
||||
.TP
|
||||
\fB\-n\fP, \fB\-Fl\fP numeric-uid-gid
|
||||
(i mode, only with
|
||||
\fB\-t\fP)
|
||||
Display numeric uid and gid.
|
||||
By default,
|
||||
\fB\%cpio\fP
|
||||
displays the user and group names when they are provided in the
|
||||
archive, or looks up the user and group names in the system
|
||||
password database.
|
||||
.TP
|
||||
\fB\-Fl\fP no-preserve-owner
|
||||
(i mode only)
|
||||
Do not attempt to restore file ownership.
|
||||
This is the default when run by non-root users.
|
||||
.TP
|
||||
\fB\-O\fP \fIfile\fP
|
||||
Write archive to
|
||||
\fIfile\fP.
|
||||
.TP
|
||||
\fB\-o\fP, \fB\-Fl\fP create
|
||||
Output mode.
|
||||
See above for description.
|
||||
.TP
|
||||
\fB\-p\fP, \fB\-Fl\fP pass-through
|
||||
Pass-through mode.
|
||||
See above for description.
|
||||
.TP
|
||||
\fB\-Fl\fP preserve-owner
|
||||
(i mode only)
|
||||
Restore file ownership.
|
||||
This is the default when run by the root user.
|
||||
.TP
|
||||
\fB\-Fl\fP quiet
|
||||
Suppress unnecessary messages.
|
||||
.TP
|
||||
\fB\-R\fP [user] [:] [group], \fB\-Fl\fP owner [user] [:] [group]
|
||||
Set the owner and/or group on files in the output.
|
||||
If group is specified with no user
|
||||
(for example,
|
||||
\fB\-R\fP \fI:wheel\fP)
|
||||
then the group will be set but not the user.
|
||||
If the user is specified with a trailing colon and no group
|
||||
(for example,
|
||||
\fB\-R\fP \fIroot:\fP)
|
||||
then the group will be set to the user's default group.
|
||||
If the user is specified with no trailing colon, then
|
||||
the user will be set but not the group.
|
||||
In
|
||||
\fB\-i\fP
|
||||
and
|
||||
\fB\-p\fP
|
||||
modes, this option can only be used by the super-user.
|
||||
(For compatibility, a period can be used in place of the colon.)
|
||||
.TP
|
||||
\fB\-r\fP
|
||||
(All modes.)
|
||||
Rename files interactively.
|
||||
For each file, a prompt is written to
|
||||
\fI/dev/tty\fP
|
||||
containing the name of the file and a line is read from
|
||||
\fI/dev/tty\fP.
|
||||
If the line read is blank, the file is skipped.
|
||||
If the line contains a single period, the file is processed normally.
|
||||
Otherwise, the line is taken to be the new name of the file.
|
||||
.TP
|
||||
\fB\-t\fP, \fB\-Fl\fP list
|
||||
(i mode only)
|
||||
List the contents of the archive to stdout;
|
||||
do not restore the contents to disk.
|
||||
.TP
|
||||
\fB\-u\fP, \fB\-Fl\fP unconditional
|
||||
(i and p modes)
|
||||
Unconditionally overwrite existing files.
|
||||
Ordinarily, an older file will not overwrite a newer file on disk.
|
||||
.TP
|
||||
\fB\-V\fP, \fB\-Fl\fP dot
|
||||
Print a dot to stderr for each file as it is processed.
|
||||
Superseded by
|
||||
\fB\-v\fP.
|
||||
.TP
|
||||
\fB\-v\fP, \fB\-Fl\fP verbose
|
||||
Print the name of each file to stderr as it is processed.
|
||||
With
|
||||
\fB\-t\fP,
|
||||
provide a detailed listing of each file.
|
||||
.TP
|
||||
\fB\-Fl\fP version
|
||||
Print the program version information and exit.
|
||||
.TP
|
||||
\fB\-y\fP
|
||||
(o mode only)
|
||||
Compress the archive with bzip2-compatible compression before writing it.
|
||||
In input mode, this option is ignored;
|
||||
bzip2 compression is recognized automatically on input.
|
||||
.TP
|
||||
\fB\-Z\fP
|
||||
(o mode only)
|
||||
Compress the archive with compress-compatible compression before writing it.
|
||||
In input mode, this option is ignored;
|
||||
compression is recognized automatically on input.
|
||||
.TP
|
||||
\fB\-z\fP
|
||||
(o mode only)
|
||||
Compress the archive with gzip-compatible compression before writing it.
|
||||
In input mode, this option is ignored;
|
||||
gzip compression is recognized automatically on input.
|
||||
.RE
|
||||
.SH EXIT STATUS
|
||||
.ad l
|
||||
The \fBcpio\fP utility exits 0 on success, and >0 if an error occurs.
|
||||
.SH ENVIRONMENT
|
||||
.ad l
|
||||
The following environment variables affect the execution of
|
||||
\fB\%cpio\fP:
|
||||
.RS 5
|
||||
.TP
|
||||
.B LANG
|
||||
The locale to use.
|
||||
See
|
||||
\fBenviron\fP(7)
|
||||
for more information.
|
||||
.TP
|
||||
.B TZ
|
||||
The timezone to use when displaying dates.
|
||||
See
|
||||
\fBenviron\fP(7)
|
||||
for more information.
|
||||
.RE
|
||||
.SH EXAMPLES
|
||||
.ad l
|
||||
The
|
||||
\fB\%cpio\fP
|
||||
command is traditionally used to copy file hierarchies in conjunction
|
||||
with the
|
||||
\fBfind\fP(1)
|
||||
command.
|
||||
The first example here simply copies all files from
|
||||
\fIsrc\fP
|
||||
to
|
||||
\fIdest\fP:
|
||||
.RS 4
|
||||
\fB\%find\fP \fIsrc\fP | \fB\%cpio\fP \fB\-pmud\fP \fIdest\fP
|
||||
.RE
|
||||
.PP
|
||||
By carefully selecting options to the
|
||||
\fBfind\fP(1)
|
||||
command and combining it with other standard utilities,
|
||||
it is possible to exercise very fine control over which files are copied.
|
||||
This next example copies files from
|
||||
\fIsrc\fP
|
||||
to
|
||||
\fIdest\fP
|
||||
that are more than 2 days old and whose names match a particular pattern:
|
||||
.RS 4
|
||||
\fB\%find\fP \fIsrc\fP \fB\-mtime\fP \fI+2\fP | \fB\%grep\fP foo[bar] | \fB\%cpio\fP \fB\-pdmu\fP \fIdest\fP
|
||||
.RE
|
||||
.PP
|
||||
This example copies files from
|
||||
\fIsrc\fP
|
||||
to
|
||||
\fIdest\fP
|
||||
that are more than 2 days old and which contain the word
|
||||
``foobar'':
|
||||
.RS 4
|
||||
\fB\%find\fP \fIsrc\fP \fB\-mtime\fP \fI+2\fP | \fB\%xargs\fP \fB\%grep\fP -l foobar | \fB\%cpio\fP \fB\-pdmu\fP \fIdest\fP
|
||||
.RE
|
||||
.SH COMPATIBILITY
|
||||
.ad l
|
||||
The mode options i, o, and p and the options
|
||||
a, B, c, d, f, l, m, r, t, u, and v comply with SUSv2.
|
||||
.PP
|
||||
The old POSIX.1 standard specified that only
|
||||
\fB\-i\fP,
|
||||
\fB\-o\fP,
|
||||
and
|
||||
\fB\-p\fP
|
||||
were interpreted as command-line options.
|
||||
Each took a single argument of a list of modifier
|
||||
characters.
|
||||
For example, the standard syntax allows
|
||||
\fB\-imu\fP
|
||||
but does not support
|
||||
\fB\-miu\fP
|
||||
or
|
||||
\fB\-i\fP \fB\-m\fP \fB\-u\fP,
|
||||
since
|
||||
\fIm\fP
|
||||
and
|
||||
\fIu\fP
|
||||
are only modifiers to
|
||||
\fB\-i\fP,
|
||||
they are not command-line options in their own right.
|
||||
The syntax supported by this implementation is backwards-compatible
|
||||
with the standard.
|
||||
For best compatibility, scripts should limit themselves to the
|
||||
standard syntax.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBbzip2\fP(1),
|
||||
\fBgzip\fP(1),
|
||||
\fBmt\fP(1),
|
||||
\fBpax\fP(1),
|
||||
\fBtar\fP(1),
|
||||
\fBlibarchive\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBlibarchive-formats\fP(5),
|
||||
\fBtar\fP(5)
|
||||
.SH STANDARDS
|
||||
.ad l
|
||||
There is no current POSIX standard for the cpio command; it appeared
|
||||
in
|
||||
ISO/IEC 9945-1:1996 (``POSIX.1'')
|
||||
but was dropped from
|
||||
IEEE Std 1003.1-2001 (``POSIX.1'').
|
||||
.PP
|
||||
The cpio, ustar, and pax interchange file formats are defined by
|
||||
IEEE Std 1003.1-2001 (``POSIX.1'')
|
||||
for the pax command.
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The original
|
||||
\fB\%cpio\fP
|
||||
and
|
||||
\fB\%find\fP
|
||||
utilities were written by Dick Haight
|
||||
while working in AT&T's Unix Support Group.
|
||||
They first appeared in 1977 in PWB/UNIX 1.0, the
|
||||
``Programmer's Work Bench''
|
||||
system developed for use within AT&T.
|
||||
They were first released outside of AT&T as part of System III Unix in 1981.
|
||||
As a result,
|
||||
\fB\%cpio\fP
|
||||
actually predates
|
||||
\fB\%tar\fP,
|
||||
even though it was not well-known outside of AT&T until some time later.
|
||||
.PP
|
||||
This is a complete re-implementation based on the
|
||||
\fBlibarchive\fP(3)
|
||||
library.
|
||||
.SH BUGS
|
||||
.ad l
|
||||
The cpio archive format has several basic limitations:
|
||||
It does not store user and group names, only numbers.
|
||||
As a result, it cannot be reliably used to transfer
|
||||
files between systems with dissimilar user and group numbering.
|
||||
Older cpio formats limit the user and group numbers to
|
||||
16 or 18 bits, which is insufficient for modern systems.
|
||||
The cpio archive formats cannot support files over 4 gigabytes,
|
||||
except for the
|
||||
``odc''
|
||||
variant, which can support files up to 8 gigabytes.
|
1473
dependencies/libarchive-3.4.2/doc/man/bsdtar.1
vendored
Normal file
1473
dependencies/libarchive-3.4.2/doc/man/bsdtar.1
vendored
Normal file
File diff suppressed because it is too large
Load diff
329
dependencies/libarchive-3.4.2/doc/man/cpio.5
vendored
Normal file
329
dependencies/libarchive-3.4.2/doc/man/cpio.5
vendored
Normal file
|
@ -0,0 +1,329 @@
|
|||
.TH CPIO 5 "December 23, 2011" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%cpio\fP
|
||||
\- format of cpio archive files
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
The
|
||||
\fB\%cpio\fP
|
||||
archive format collects any number of files, directories, and other
|
||||
file system objects (symbolic links, device nodes, etc.) into a single
|
||||
stream of bytes.
|
||||
.SS General Format
|
||||
Each file system object in a
|
||||
\fB\%cpio\fP
|
||||
archive comprises a header record with basic numeric metadata
|
||||
followed by the full pathname of the entry and the file data.
|
||||
The header record stores a series of integer values that generally
|
||||
follow the fields in
|
||||
\fIstruct\fP stat.
|
||||
(See
|
||||
\fBstat\fP(2)
|
||||
for details.)
|
||||
The variants differ primarily in how they store those integers
|
||||
(binary, octal, or hexadecimal).
|
||||
The header is followed by the pathname of the
|
||||
entry (the length of the pathname is stored in the header)
|
||||
and any file data.
|
||||
The end of the archive is indicated by a special record with
|
||||
the pathname
|
||||
``TRAILER!!!''.
|
||||
.SS PWB format
|
||||
XXX Any documentation of the original PWB/UNIX 1.0 format? XXX
|
||||
.SS Old Binary Format
|
||||
The old binary
|
||||
\fB\%cpio\fP
|
||||
format stores numbers as 2-byte and 4-byte binary values.
|
||||
Each entry begins with a header in the following format:
|
||||
.RS 4
|
||||
.nf
|
||||
struct header_old_cpio {
|
||||
unsigned short c_magic;
|
||||
unsigned short c_dev;
|
||||
unsigned short c_ino;
|
||||
unsigned short c_mode;
|
||||
unsigned short c_uid;
|
||||
unsigned short c_gid;
|
||||
unsigned short c_nlink;
|
||||
unsigned short c_rdev;
|
||||
unsigned short c_mtime[2];
|
||||
unsigned short c_namesize;
|
||||
unsigned short c_filesize[2];
|
||||
};
|
||||
.RE
|
||||
.PP
|
||||
The
|
||||
\fIunsigned\fP short
|
||||
fields here are 16-bit integer values; the
|
||||
\fIunsigned\fP int
|
||||
fields are 32-bit integer values.
|
||||
The fields are as follows
|
||||
.RS 5
|
||||
.TP
|
||||
\fImagic\fP
|
||||
The integer value octal 070707.
|
||||
This value can be used to determine whether this archive is
|
||||
written with little-endian or big-endian integers.
|
||||
.TP
|
||||
\fIdev\fP, \fIino\fP
|
||||
The device and inode numbers from the disk.
|
||||
These are used by programs that read
|
||||
\fB\%cpio\fP
|
||||
archives to determine when two entries refer to the same file.
|
||||
Programs that synthesize
|
||||
\fB\%cpio\fP
|
||||
archives should be careful to set these to distinct values for each entry.
|
||||
.TP
|
||||
\fImode\fP
|
||||
The mode specifies both the regular permissions and the file type.
|
||||
It consists of several bit fields as follows:
|
||||
.RS 5
|
||||
.TP
|
||||
0170000
|
||||
This masks the file type bits.
|
||||
.TP
|
||||
0140000
|
||||
File type value for sockets.
|
||||
.TP
|
||||
0120000
|
||||
File type value for symbolic links.
|
||||
For symbolic links, the link body is stored as file data.
|
||||
.TP
|
||||
0100000
|
||||
File type value for regular files.
|
||||
.TP
|
||||
0060000
|
||||
File type value for block special devices.
|
||||
.TP
|
||||
0040000
|
||||
File type value for directories.
|
||||
.TP
|
||||
0020000
|
||||
File type value for character special devices.
|
||||
.TP
|
||||
0010000
|
||||
File type value for named pipes or FIFOs.
|
||||
.TP
|
||||
0004000
|
||||
SUID bit.
|
||||
.TP
|
||||
0002000
|
||||
SGID bit.
|
||||
.TP
|
||||
0001000
|
||||
Sticky bit.
|
||||
On some systems, this modifies the behavior of executables and/or directories.
|
||||
.TP
|
||||
0000777
|
||||
The lower 9 bits specify read/write/execute permissions
|
||||
for world, group, and user following standard POSIX conventions.
|
||||
.RE
|
||||
.TP
|
||||
\fIuid\fP, \fIgid\fP
|
||||
The numeric user id and group id of the owner.
|
||||
.TP
|
||||
\fInlink\fP
|
||||
The number of links to this file.
|
||||
Directories always have a value of at least two here.
|
||||
Note that hardlinked files include file data with every copy in the archive.
|
||||
.TP
|
||||
\fIrdev\fP
|
||||
For block special and character special entries,
|
||||
this field contains the associated device number.
|
||||
For all other entry types, it should be set to zero by writers
|
||||
and ignored by readers.
|
||||
.TP
|
||||
\fImtime\fP
|
||||
Modification time of the file, indicated as the number
|
||||
of seconds since the start of the epoch,
|
||||
00:00:00 UTC January 1, 1970.
|
||||
The four-byte integer is stored with the most-significant 16 bits first
|
||||
followed by the least-significant 16 bits.
|
||||
Each of the two 16 bit values are stored in machine-native byte order.
|
||||
.TP
|
||||
\fInamesize\fP
|
||||
The number of bytes in the pathname that follows the header.
|
||||
This count includes the trailing NUL byte.
|
||||
.TP
|
||||
\fIfilesize\fP
|
||||
The size of the file.
|
||||
Note that this archive format is limited to
|
||||
four gigabyte file sizes.
|
||||
See
|
||||
\fImtime\fP
|
||||
above for a description of the storage of four-byte integers.
|
||||
.RE
|
||||
.PP
|
||||
The pathname immediately follows the fixed header.
|
||||
If the
|
||||
\fBnamesize\fP
|
||||
is odd, an additional NUL byte is added after the pathname.
|
||||
The file data is then appended, padded with NUL
|
||||
bytes to an even length.
|
||||
.PP
|
||||
Hardlinked files are not given special treatment;
|
||||
the full file contents are included with each copy of the
|
||||
file.
|
||||
.SS Portable ASCII Format
|
||||
Version 2 of the Single UNIX Specification (``SUSv2'')
|
||||
standardized an ASCII variant that is portable across all
|
||||
platforms.
|
||||
It is commonly known as the
|
||||
``old character''
|
||||
format or as the
|
||||
``odc''
|
||||
format.
|
||||
It stores the same numeric fields as the old binary format, but
|
||||
represents them as 6-character or 11-character octal values.
|
||||
.RS 4
|
||||
.nf
|
||||
struct cpio_odc_header {
|
||||
char c_magic[6];
|
||||
char c_dev[6];
|
||||
char c_ino[6];
|
||||
char c_mode[6];
|
||||
char c_uid[6];
|
||||
char c_gid[6];
|
||||
char c_nlink[6];
|
||||
char c_rdev[6];
|
||||
char c_mtime[11];
|
||||
char c_namesize[6];
|
||||
char c_filesize[11];
|
||||
};
|
||||
.RE
|
||||
.PP
|
||||
The fields are identical to those in the old binary format.
|
||||
The name and file body follow the fixed header.
|
||||
Unlike the old binary format, there is no additional padding
|
||||
after the pathname or file contents.
|
||||
If the files being archived are themselves entirely ASCII, then
|
||||
the resulting archive will be entirely ASCII, except for the
|
||||
NUL byte that terminates the name field.
|
||||
.SS New ASCII Format
|
||||
The "new" ASCII format uses 8-byte hexadecimal fields for
|
||||
all numbers and separates device numbers into separate fields
|
||||
for major and minor numbers.
|
||||
.RS 4
|
||||
.nf
|
||||
struct cpio_newc_header {
|
||||
char c_magic[6];
|
||||
char c_ino[8];
|
||||
char c_mode[8];
|
||||
char c_uid[8];
|
||||
char c_gid[8];
|
||||
char c_nlink[8];
|
||||
char c_mtime[8];
|
||||
char c_filesize[8];
|
||||
char c_devmajor[8];
|
||||
char c_devminor[8];
|
||||
char c_rdevmajor[8];
|
||||
char c_rdevminor[8];
|
||||
char c_namesize[8];
|
||||
char c_check[8];
|
||||
};
|
||||
.RE
|
||||
.PP
|
||||
Except as specified below, the fields here match those specified
|
||||
for the old binary format above.
|
||||
.RS 5
|
||||
.TP
|
||||
\fImagic\fP
|
||||
The string
|
||||
``070701''.
|
||||
.TP
|
||||
\fIcheck\fP
|
||||
This field is always set to zero by writers and ignored by readers.
|
||||
See the next section for more details.
|
||||
.RE
|
||||
.PP
|
||||
The pathname is followed by NUL bytes so that the total size
|
||||
of the fixed header plus pathname is a multiple of four.
|
||||
Likewise, the file data is padded to a multiple of four bytes.
|
||||
Note that this format supports only 4 gigabyte files (unlike the
|
||||
older ASCII format, which supports 8 gigabyte files).
|
||||
.PP
|
||||
In this format, hardlinked files are handled by setting the
|
||||
filesize to zero for each entry except the last one that
|
||||
appears in the archive.
|
||||
.SS New CRC Format
|
||||
The CRC format is identical to the new ASCII format described
|
||||
in the previous section except that the magic field is set
|
||||
to
|
||||
``070702''
|
||||
and the
|
||||
\fIcheck\fP
|
||||
field is set to the sum of all bytes in the file data.
|
||||
This sum is computed treating all bytes as unsigned values
|
||||
and using unsigned arithmetic.
|
||||
Only the least-significant 32 bits of the sum are stored.
|
||||
.SS HP variants
|
||||
The
|
||||
\fB\%cpio\fP
|
||||
implementation distributed with HPUX used XXXX but stored
|
||||
device numbers differently XXX.
|
||||
.SS Other Extensions and Variants
|
||||
Sun Solaris uses additional file types to store extended file
|
||||
data, including ACLs and extended attributes, as special
|
||||
entries in cpio archives.
|
||||
.PP
|
||||
XXX Others? XXX
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBcpio\fP(1),
|
||||
\fBtar\fP(5)
|
||||
.SH STANDARDS
|
||||
.ad l
|
||||
The
|
||||
\fB\%cpio\fP
|
||||
utility is no longer a part of POSIX or the Single Unix Standard.
|
||||
It last appeared in
|
||||
Version 2 of the Single UNIX Specification (``SUSv2'').
|
||||
It has been supplanted in subsequent standards by
|
||||
\fBpax\fP(1).
|
||||
The portable ASCII format is currently part of the specification for the
|
||||
\fBpax\fP(1)
|
||||
utility.
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The original cpio utility was written by Dick Haight
|
||||
while working in AT&T's Unix Support Group.
|
||||
It appeared in 1977 as part of PWB/UNIX 1.0, the
|
||||
``Programmer's Work Bench''
|
||||
derived from
|
||||
At v6
|
||||
that was used internally at AT&T.
|
||||
Both the old binary and old character formats were in use
|
||||
by 1980, according to the System III source released
|
||||
by SCO under their
|
||||
``Ancient Unix''
|
||||
license.
|
||||
The character format was adopted as part of
|
||||
IEEE Std 1003.1-1988 (``POSIX.1'').
|
||||
XXX when did "newc" appear? Who invented it? When did HP come out with their variant? When did Sun introduce ACLs and extended attributes? XXX
|
||||
.SH BUGS
|
||||
.ad l
|
||||
The
|
||||
``CRC''
|
||||
format is mis-named, as it uses a simple checksum and
|
||||
not a cyclic redundancy check.
|
||||
.PP
|
||||
The old binary format is limited to 16 bits for user id,
|
||||
group id, device, and inode numbers.
|
||||
It is limited to 4 gigabyte file sizes.
|
||||
.PP
|
||||
The old ASCII format is limited to 18 bits for
|
||||
the user id, group id, device, and inode numbers.
|
||||
It is limited to 8 gigabyte file sizes.
|
||||
.PP
|
||||
The new ASCII format is limited to 4 gigabyte file sizes.
|
||||
.PP
|
||||
None of the cpio formats store user or group names,
|
||||
which are essential when moving files between systems with
|
||||
dissimilar user or group numbering.
|
||||
.PP
|
||||
Especially when writing older cpio variants, it may be necessary
|
||||
to map actual device/inode values to synthesized values that
|
||||
fit the available fields.
|
||||
With very large filesystems, this may be necessary even for
|
||||
the newer formats.
|
452
dependencies/libarchive-3.4.2/doc/man/libarchive-formats.5
vendored
Normal file
452
dependencies/libarchive-3.4.2/doc/man/libarchive-formats.5
vendored
Normal file
|
@ -0,0 +1,452 @@
|
|||
.TH LIBARCHIVE-FORMATS 5 "December 27, 2016" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%libarchive-formats\fP
|
||||
\- archive formats supported by the libarchive library
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
The
|
||||
\fBlibarchive\fP(3)
|
||||
library reads and writes a variety of streaming archive formats.
|
||||
Generally speaking, all of these archive formats consist of a series of
|
||||
``entries''.
|
||||
Each entry stores a single file system object, such as a file, directory,
|
||||
or symbolic link.
|
||||
.PP
|
||||
The following provides a brief description of each format supported
|
||||
by libarchive, with some information about recognized extensions or
|
||||
limitations of the current library support.
|
||||
Note that just because a format is supported by libarchive does not
|
||||
imply that a program that uses libarchive will support that format.
|
||||
Applications that use libarchive specify which formats they wish
|
||||
to support, though many programs do use libarchive convenience
|
||||
functions to enable all supported formats.
|
||||
.SS Tar Formats
|
||||
The
|
||||
\fBlibarchive\fP(3)
|
||||
library can read most tar archives.
|
||||
It can write POSIX-standard
|
||||
``ustar''
|
||||
and
|
||||
``pax interchange''
|
||||
formats as well as v7 tar format and a subset of the legacy GNU tar format.
|
||||
.PP
|
||||
All tar formats store each entry in one or more 512-byte records.
|
||||
The first record is used for file metadata, including filename,
|
||||
timestamp, and mode information, and the file data is stored in
|
||||
subsequent records.
|
||||
Later variants have extended this by either appropriating undefined
|
||||
areas of the header record, extending the header to multiple records,
|
||||
or by storing special entries that modify the interpretation of
|
||||
subsequent entries.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBgnutar\fP
|
||||
The
|
||||
\fBlibarchive\fP(3)
|
||||
library can read most GNU-format tar archives.
|
||||
It currently supports the most popular GNU extensions, including
|
||||
modern long filename and linkname support, as well as atime and ctime data.
|
||||
The libarchive library does not support multi-volume
|
||||
archives, nor the old GNU long filename format.
|
||||
It can read GNU sparse file entries, including the new POSIX-based
|
||||
formats.
|
||||
.PP
|
||||
The
|
||||
\fBlibarchive\fP(3)
|
||||
library can write GNU tar format, including long filename
|
||||
and linkname support, as well as atime and ctime data.
|
||||
.TP
|
||||
\fBpax\fP
|
||||
The
|
||||
\fBlibarchive\fP(3)
|
||||
library can read and write POSIX-compliant pax interchange format
|
||||
archives.
|
||||
Pax interchange format archives are an extension of the older ustar
|
||||
format that adds a separate entry with additional attributes stored
|
||||
as key/value pairs immediately before each regular entry.
|
||||
The presence of these additional entries is the only difference between
|
||||
pax interchange format and the older ustar format.
|
||||
The extended attributes are of unlimited length and are stored
|
||||
as UTF-8 Unicode strings.
|
||||
Keywords defined in the standard are in all lowercase; vendors are allowed
|
||||
to define custom keys by preceding them with the vendor name in all uppercase.
|
||||
When writing pax archives, libarchive uses many of the SCHILY keys
|
||||
defined by Joerg Schilling's
|
||||
``star''
|
||||
archiver and a few LIBARCHIVE keys.
|
||||
The libarchive library can read most of the SCHILY keys
|
||||
and most of the GNU keys introduced by GNU tar.
|
||||
It silently ignores any keywords that it does not understand.
|
||||
.PP
|
||||
The pax interchange format converts filenames to Unicode
|
||||
and stores them using the UTF-8 encoding.
|
||||
Prior to libarchive 3.0, libarchive erroneously assumed
|
||||
that the system wide-character routines natively supported
|
||||
Unicode.
|
||||
This caused it to mis-handle non-ASCII filenames on systems
|
||||
that did not satisfy this assumption.
|
||||
.TP
|
||||
\fBrestricted\fP pax
|
||||
The libarchive library can also write pax archives in which it
|
||||
attempts to suppress the extended attributes entry whenever
|
||||
possible.
|
||||
The result will be identical to a ustar archive unless the
|
||||
extended attributes entry is required to store a long file
|
||||
name, long linkname, extended ACL, file flags, or if any of the standard
|
||||
ustar data (user name, group name, UID, GID, etc) cannot be fully
|
||||
represented in the ustar header.
|
||||
In all cases, the result can be dearchived by any program that
|
||||
can read POSIX-compliant pax interchange format archives.
|
||||
Programs that correctly read ustar format (see below) will also be
|
||||
able to read this format; any extended attributes will be extracted as
|
||||
separate files stored in
|
||||
\fIPaxHeader\fP
|
||||
directories.
|
||||
.TP
|
||||
\fBustar\fP
|
||||
The libarchive library can both read and write this format.
|
||||
This format has the following limitations:
|
||||
.RS 5
|
||||
.IP \(bu
|
||||
Device major and minor numbers are limited to 21 bits.
|
||||
Nodes with larger numbers will not be added to the archive.
|
||||
.IP \(bu
|
||||
Path names in the archive are limited to 255 bytes.
|
||||
(Shorter if there is no / character in exactly the right place.)
|
||||
.IP \(bu
|
||||
Symbolic links and hard links are stored in the archive with
|
||||
the name of the referenced file.
|
||||
This name is limited to 100 bytes.
|
||||
.IP \(bu
|
||||
Extended attributes, file flags, and other extended
|
||||
security information cannot be stored.
|
||||
.IP \(bu
|
||||
Archive entries are limited to 8 gigabytes in size.
|
||||
.RE
|
||||
Note that the pax interchange format has none of these restrictions.
|
||||
The ustar format is old and widely supported.
|
||||
It is recommended when compatibility is the primary concern.
|
||||
.TP
|
||||
\fBv7\fP
|
||||
The libarchive library can read and write the legacy v7 tar format.
|
||||
This format has the following limitations:
|
||||
.RS 5
|
||||
.IP \(bu
|
||||
Only regular files, directories, and symbolic links can be archived.
|
||||
Block and character device nodes, FIFOs, and sockets cannot be archived.
|
||||
.IP \(bu
|
||||
Path names in the archive are limited to 100 bytes.
|
||||
.IP \(bu
|
||||
Symbolic links and hard links are stored in the archive with
|
||||
the name of the referenced file.
|
||||
This name is limited to 100 bytes.
|
||||
.IP \(bu
|
||||
User and group information are stored as numeric IDs; there
|
||||
is no provision for storing user or group names.
|
||||
.IP \(bu
|
||||
Extended attributes, file flags, and other extended
|
||||
security information cannot be stored.
|
||||
.IP \(bu
|
||||
Archive entries are limited to 8 gigabytes in size.
|
||||
.RE
|
||||
Generally, users should prefer the ustar format for portability
|
||||
as the v7 tar format is both less useful and less portable.
|
||||
.RE
|
||||
.PP
|
||||
The libarchive library also reads a variety of commonly-used extensions to
|
||||
the basic tar format.
|
||||
These extensions are recognized automatically whenever they appear.
|
||||
.RS 5
|
||||
.TP
|
||||
Numeric extensions.
|
||||
The POSIX standards require fixed-length numeric fields to be written with
|
||||
some character position reserved for terminators.
|
||||
Libarchive allows these fields to be written without terminator characters.
|
||||
This extends the allowable range; in particular, ustar archives with this
|
||||
extension can support entries up to 64 gigabytes in size.
|
||||
Libarchive also recognizes base-256 values in most numeric fields.
|
||||
This essentially removes all limitations on file size, modification time,
|
||||
and device numbers.
|
||||
.TP
|
||||
Solaris extensions
|
||||
Libarchive recognizes ACL and extended attribute records written
|
||||
by Solaris tar.
|
||||
.RE
|
||||
.PP
|
||||
The first tar program appeared in Seventh Edition Unix in 1979.
|
||||
The first official standard for the tar file format was the
|
||||
``ustar''
|
||||
(Unix Standard Tar) format defined by POSIX in 1988.
|
||||
POSIX.1-2001 extended the ustar format to create the
|
||||
``pax interchange''
|
||||
format.
|
||||
.SS Cpio Formats
|
||||
The libarchive library can read a number of common cpio variants and can write
|
||||
``odc''
|
||||
and
|
||||
``newc''
|
||||
format archives.
|
||||
A cpio archive stores each entry as a fixed-size header followed
|
||||
by a variable-length filename and variable-length data.
|
||||
Unlike the tar format, the cpio format does only minimal padding
|
||||
of the header or file data.
|
||||
There are several cpio variants, which differ primarily in
|
||||
how they store the initial header: some store the values as
|
||||
octal or hexadecimal numbers in ASCII, others as binary values of
|
||||
varying byte order and length.
|
||||
.RS 5
|
||||
.TP
|
||||
\fBbinary\fP
|
||||
The libarchive library transparently reads both big-endian and little-endian
|
||||
variants of the original binary cpio format.
|
||||
This format used 32-bit binary values for file size and mtime,
|
||||
and 16-bit binary values for the other fields.
|
||||
.TP
|
||||
\fBodc\fP
|
||||
The libarchive library can both read and write this
|
||||
POSIX-standard format, which is officially known as the
|
||||
``cpio interchange format''
|
||||
or the
|
||||
``octet-oriented cpio archive format''
|
||||
and sometimes unofficially referred to as the
|
||||
``old character format''.
|
||||
This format stores the header contents as octal values in ASCII.
|
||||
It is standard, portable, and immune from byte-order confusion.
|
||||
File sizes and mtime are limited to 33 bits (8GB file size),
|
||||
other fields are limited to 18 bits.
|
||||
.TP
|
||||
\fBSVR4/newc\fP
|
||||
The libarchive library can read both CRC and non-CRC variants of
|
||||
this format.
|
||||
The SVR4 format uses eight-digit hexadecimal values for
|
||||
all header fields.
|
||||
This limits file size to 4GB, and also limits the mtime and
|
||||
other fields to 32 bits.
|
||||
The SVR4 format can optionally include a CRC of the file
|
||||
contents, although libarchive does not currently verify this CRC.
|
||||
.RE
|
||||
.PP
|
||||
Cpio first appeared in PWB/UNIX 1.0, which was released within
|
||||
AT&T in 1977.
|
||||
PWB/UNIX 1.0 formed the basis of System III Unix, released outside
|
||||
of AT&T in 1981.
|
||||
This makes cpio older than tar, although cpio was not included
|
||||
in Version 7 AT&T Unix.
|
||||
As a result, the tar command became much better known in universities
|
||||
and research groups that used Version 7.
|
||||
The combination of the
|
||||
\fB\%find\fP
|
||||
and
|
||||
\fB\%cpio\fP
|
||||
utilities provided very precise control over file selection.
|
||||
Unfortunately, the format has many limitations that make it unsuitable
|
||||
for widespread use.
|
||||
Only the POSIX format permits files over 4GB, and its 18-bit
|
||||
limit for most other fields makes it unsuitable for modern systems.
|
||||
In addition, cpio formats only store numeric UID/GID values (not
|
||||
usernames and group names), which can make it very difficult to correctly
|
||||
transfer archives across systems with dissimilar user numbering.
|
||||
.SS Shar Formats
|
||||
A
|
||||
``shell archive''
|
||||
is a shell script that, when executed on a POSIX-compliant
|
||||
system, will recreate a collection of file system objects.
|
||||
The libarchive library can write two different kinds of shar archives:
|
||||
.RS 5
|
||||
.TP
|
||||
\fBshar\fP
|
||||
The traditional shar format uses a limited set of POSIX
|
||||
commands, including
|
||||
\fBecho\fP(1),
|
||||
\fBmkdir\fP(1),
|
||||
and
|
||||
\fBsed\fP(1).
|
||||
It is suitable for portably archiving small collections of plain text files.
|
||||
However, it is not generally well-suited for large archives
|
||||
(many implementations of
|
||||
\fBsh\fP(1)
|
||||
have limits on the size of a script) nor should it be used with non-text files.
|
||||
.TP
|
||||
\fBshardump\fP
|
||||
This format is similar to shar but encodes files using
|
||||
\fBuuencode\fP(1)
|
||||
so that the result will be a plain text file regardless of the file contents.
|
||||
It also includes additional shell commands that attempt to reproduce as
|
||||
many file attributes as possible, including owner, mode, and flags.
|
||||
The additional commands used to restore file attributes make
|
||||
shardump archives less portable than plain shar archives.
|
||||
.RE
|
||||
.SS ISO9660 format
|
||||
Libarchive can read and extract from files containing ISO9660-compliant
|
||||
CDROM images.
|
||||
In many cases, this can remove the need to burn a physical CDROM
|
||||
just in order to read the files contained in an ISO9660 image.
|
||||
It also avoids security and complexity issues that come with
|
||||
virtual mounts and loopback devices.
|
||||
Libarchive supports the most common Rockridge extensions and has partial
|
||||
support for Joliet extensions.
|
||||
If both extensions are present, the Joliet extensions will be
|
||||
used and the Rockridge extensions will be ignored.
|
||||
In particular, this can create problems with hardlinks and symlinks,
|
||||
which are supported by Rockridge but not by Joliet.
|
||||
.PP
|
||||
Libarchive reads ISO9660 images using a streaming strategy.
|
||||
This allows it to read compressed images directly
|
||||
(decompressing on the fly) and allows it to read images
|
||||
directly from network sockets, pipes, and other non-seekable
|
||||
data sources.
|
||||
This strategy works well for optimized ISO9660 images created
|
||||
by many popular programs.
|
||||
Such programs collect all directory information at the beginning
|
||||
of the ISO9660 image so it can be read from a physical disk
|
||||
with a minimum of seeking.
|
||||
However, not all ISO9660 images can be read in this fashion.
|
||||
.PP
|
||||
Libarchive can also write ISO9660 images.
|
||||
Such images are fully optimized with the directory information
|
||||
preceding all file data.
|
||||
This is done by storing all file data to a temporary file
|
||||
while collecting directory information in memory.
|
||||
When the image is finished, libarchive writes out the
|
||||
directory structure followed by the file data.
|
||||
The location used for the temporary file can be changed
|
||||
by the usual environment variables.
|
||||
.SS Zip format
|
||||
Libarchive can read and write zip format archives that have
|
||||
uncompressed entries and entries compressed with the
|
||||
``deflate''
|
||||
algorithm.
|
||||
Other zip compression algorithms are not supported.
|
||||
It can extract jar archives, archives that use Zip64 extensions and
|
||||
self-extracting zip archives.
|
||||
Libarchive can use either of two different strategies for
|
||||
reading Zip archives:
|
||||
a streaming strategy which is fast and can handle extremely
|
||||
large archives, and a seeking strategy which can correctly
|
||||
process self-extracting Zip archives and archives with
|
||||
deleted members or other in-place modifications.
|
||||
.PP
|
||||
The streaming reader processes Zip archives as they are read.
|
||||
It can read archives of arbitrary size from tape or
|
||||
network sockets, and can decode Zip archives that have
|
||||
been separately compressed or encoded.
|
||||
However, self-extracting Zip archives and archives with
|
||||
certain types of modifications cannot be correctly
|
||||
handled.
|
||||
Such archives require that the reader first process the
|
||||
Central Directory, which is ordinarily located
|
||||
at the end of a Zip archive and is thus inaccessible
|
||||
to the streaming reader.
|
||||
If the program using libarchive has enabled seek support, then
|
||||
libarchive will use this to processes the central directory first.
|
||||
.PP
|
||||
In particular, the seeking reader must be used to
|
||||
correctly handle self-extracting archives.
|
||||
Such archives consist of a program followed by a regular
|
||||
Zip archive.
|
||||
The streaming reader cannot parse the initial program
|
||||
portion, but the seeking reader starts by reading the
|
||||
Central Directory from the end of the archive.
|
||||
Similarly, Zip archives that have been modified in-place
|
||||
can have deleted entries or other garbage data that
|
||||
can only be accurately detected by first reading the
|
||||
Central Directory.
|
||||
.SS Archive (library) file format
|
||||
The Unix archive format (commonly created by the
|
||||
\fBar\fP(1)
|
||||
archiver) is a general-purpose format which is
|
||||
used almost exclusively for object files to be
|
||||
read by the link editor
|
||||
\fBld\fP(1).
|
||||
The ar format has never been standardised.
|
||||
There are two common variants:
|
||||
the GNU format derived from SVR4,
|
||||
and the BSD format, which first appeared in 4.4BSD.
|
||||
The two differ primarily in their handling of filenames
|
||||
longer than 15 characters:
|
||||
the GNU/SVR4 variant writes a filename table at the beginning of the archive;
|
||||
the BSD format stores each long filename in an extension
|
||||
area adjacent to the entry.
|
||||
Libarchive can read both extensions,
|
||||
including archives that may include both types of long filenames.
|
||||
Programs using libarchive can write GNU/SVR4 format
|
||||
if they provide an entry called
|
||||
\fI//\fP
|
||||
containing a filename table to be written into the archive
|
||||
before any of the entries.
|
||||
Any entries whose names are not in the filename table
|
||||
will be written using BSD-style long filenames.
|
||||
This can cause problems for programs such as
|
||||
GNU ld that do not support the BSD-style long filenames.
|
||||
.SS mtree
|
||||
Libarchive can read and write files in
|
||||
\fBmtree\fP(5)
|
||||
format.
|
||||
This format is not a true archive format, but rather a textual description
|
||||
of a file hierarchy in which each line specifies the name of a file and
|
||||
provides specific metadata about that file.
|
||||
Libarchive can read all of the keywords supported by both
|
||||
the NetBSD and FreeBSD versions of
|
||||
\fBmtree\fP(8),
|
||||
although many of the keywords cannot currently be stored in an
|
||||
Tn archive_entry
|
||||
object.
|
||||
When writing, libarchive supports use of the
|
||||
\fBarchive_write_set_options\fP(3)
|
||||
interface to specify which keywords should be included in the
|
||||
output.
|
||||
If libarchive was compiled with access to suitable
|
||||
cryptographic libraries (such as the OpenSSL libraries),
|
||||
it can compute hash entries such as
|
||||
\fBsha512\fP
|
||||
or
|
||||
\fBmd5\fP
|
||||
from file data being written to the mtree writer.
|
||||
.PP
|
||||
When reading an mtree file, libarchive will locate the corresponding
|
||||
files on disk using the
|
||||
\fBcontents\fP
|
||||
keyword if present or the regular filename.
|
||||
If it can locate and open the file on disk, it will use that
|
||||
to fill in any metadata that is missing from the mtree file
|
||||
and will read the file contents and return those to the program
|
||||
using libarchive.
|
||||
If it cannot locate and open the file on disk, libarchive
|
||||
will return an error for any attempt to read the entry
|
||||
body.
|
||||
.SS 7-Zip
|
||||
Libarchive can read and write 7-Zip format archives.
|
||||
TODO: Need more information
|
||||
.SS CAB
|
||||
Libarchive can read Microsoft Cabinet (
|
||||
``CAB )''
|
||||
format archives.
|
||||
TODO: Need more information.
|
||||
.SS LHA
|
||||
TODO: Information about libarchive's LHA support
|
||||
.SS RAR
|
||||
Libarchive has limited support for reading RAR format archives.
|
||||
Currently, libarchive can read RARv3 format archives
|
||||
which have been either created uncompressed, or compressed using
|
||||
any of the compression methods supported by the RARv3 format.
|
||||
Libarchive can also read self-extracting RAR archives.
|
||||
.SS Warc
|
||||
Libarchive can read and write
|
||||
``web archives''.
|
||||
TODO: Need more information
|
||||
.SS XAR
|
||||
Libarchive can read and write the XAR format used by many Apple tools.
|
||||
TODO: Need more information
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBar\fP(1),
|
||||
\fBcpio\fP(1),
|
||||
\fBmkisofs\fP(1),
|
||||
\fBshar\fP(1),
|
||||
\fBtar\fP(1),
|
||||
\fBzip\fP(1),
|
||||
\fBzlib\fP(3),
|
||||
\fBcpio\fP(5),
|
||||
\fBmtree\fP(5),
|
||||
\fBtar\fP(5)
|
271
dependencies/libarchive-3.4.2/doc/man/libarchive.3
vendored
Normal file
271
dependencies/libarchive-3.4.2/doc/man/libarchive.3
vendored
Normal file
|
@ -0,0 +1,271 @@
|
|||
.TH LIBARCHIVE 3 "March 18, 2012" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%libarchive\fP
|
||||
\- functions for reading and writing streaming archives
|
||||
.SH OVERVIEW
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library provides a flexible interface for reading and writing
|
||||
archives in various formats such as tar and cpio.
|
||||
\fB\%libarchive\fP
|
||||
also supports reading and writing archives compressed using
|
||||
various compression filters such as gzip and bzip2.
|
||||
The library is inherently stream-oriented; readers serially iterate through
|
||||
the archive, writers serially add things to the archive.
|
||||
In particular, note that there is currently no built-in support for
|
||||
random access nor for in-place modification.
|
||||
.PP
|
||||
When reading an archive, the library automatically detects the
|
||||
format and the compression.
|
||||
The library currently has read support for:
|
||||
.RS 5
|
||||
.IP \(bu
|
||||
old-style tar archives,
|
||||
.IP \(bu
|
||||
most variants of the POSIX
|
||||
``ustar''
|
||||
format,
|
||||
.IP \(bu
|
||||
the POSIX
|
||||
``pax interchange''
|
||||
format,
|
||||
.IP \(bu
|
||||
GNU-format tar archives,
|
||||
.IP \(bu
|
||||
most common cpio archive formats,
|
||||
.IP \(bu
|
||||
ISO9660 CD images (including RockRidge and Joliet extensions),
|
||||
.IP \(bu
|
||||
Zip archives,
|
||||
.IP \(bu
|
||||
ar archives (including GNU/SysV and BSD extensions),
|
||||
.IP \(bu
|
||||
Microsoft CAB archives,
|
||||
.IP \(bu
|
||||
LHA archives,
|
||||
.IP \(bu
|
||||
mtree file tree descriptions,
|
||||
.IP \(bu
|
||||
RAR archives,
|
||||
.IP \(bu
|
||||
XAR archives.
|
||||
.RE
|
||||
The library automatically detects archives compressed with
|
||||
\fBgzip\fP(1),
|
||||
\fBbzip2\fP(1),
|
||||
\fBxz\fP(1),
|
||||
\fBlzip\fP(1),
|
||||
or
|
||||
\fBcompress\fP(1)
|
||||
and decompresses them transparently.
|
||||
It can similarly detect and decode archives processed with
|
||||
\fBuuencode\fP(1)
|
||||
or which have an
|
||||
\fBrpm\fP(1)
|
||||
header.
|
||||
.PP
|
||||
When writing an archive, you can specify the compression
|
||||
to be used and the format to use.
|
||||
The library can write
|
||||
.RS 5
|
||||
.IP \(bu
|
||||
POSIX-standard
|
||||
``ustar''
|
||||
archives,
|
||||
.IP \(bu
|
||||
POSIX
|
||||
``pax interchange format''
|
||||
archives,
|
||||
.IP \(bu
|
||||
POSIX octet-oriented cpio archives,
|
||||
.IP \(bu
|
||||
Zip archive,
|
||||
.IP \(bu
|
||||
two different variants of shar archives,
|
||||
.IP \(bu
|
||||
ISO9660 CD images,
|
||||
.IP \(bu
|
||||
7-Zip archives,
|
||||
.IP \(bu
|
||||
ar archives,
|
||||
.IP \(bu
|
||||
mtree file tree descriptions,
|
||||
.IP \(bu
|
||||
XAR archives.
|
||||
.RE
|
||||
Pax interchange format is an extension of the tar archive format that
|
||||
eliminates essentially all of the limitations of historic tar formats
|
||||
in a standard fashion that is supported
|
||||
by POSIX-compliant
|
||||
\fBpax\fP(1)
|
||||
implementations on many systems as well as several newer implementations of
|
||||
\fBtar\fP(1).
|
||||
Note that the default write format will suppress the pax extended
|
||||
attributes for most entries; explicitly requesting pax format will
|
||||
enable those attributes for all entries.
|
||||
.PP
|
||||
The read and write APIs are accessed through the
|
||||
\fB\%archive_read_XXX\fP()
|
||||
functions and the
|
||||
\fB\%archive_write_XXX\fP()
|
||||
functions, respectively, and either can be used independently
|
||||
of the other.
|
||||
.PP
|
||||
The rest of this manual page provides an overview of the library
|
||||
operation.
|
||||
More detailed information can be found in the individual manual
|
||||
pages for each API or utility function.
|
||||
.SH READING AN ARCHIVE
|
||||
.ad l
|
||||
See
|
||||
\fBarchive_read\fP(3).
|
||||
.SH WRITING AN ARCHIVE
|
||||
.ad l
|
||||
See
|
||||
\fBarchive_write\fP(3).
|
||||
.SH WRITING ENTRIES TO DISK
|
||||
.ad l
|
||||
The
|
||||
\fBarchive_write_disk\fP(3)
|
||||
API allows you to write
|
||||
\fBarchive_entry\fP(3)
|
||||
objects to disk using the same API used by
|
||||
\fBarchive_write\fP(3).
|
||||
The
|
||||
\fBarchive_write_disk\fP(3)
|
||||
API is used internally by
|
||||
\fB\%archive_read_extract\fP(\fI\%;\fP)
|
||||
using it directly can provide greater control over how entries
|
||||
get written to disk.
|
||||
This API also makes it possible to share code between
|
||||
archive-to-archive copy and archive-to-disk extraction
|
||||
operations.
|
||||
.SH READING ENTRIES FROM DISK
|
||||
.ad l
|
||||
The
|
||||
\fBarchive_read_disk\fP(3)
|
||||
supports for populating
|
||||
\fBarchive_entry\fP(3)
|
||||
objects from information in the filesystem.
|
||||
This includes the information accessible from the
|
||||
\fBstat\fP(2)
|
||||
system call as well as ACLs, extended attributes,
|
||||
and other metadata.
|
||||
The
|
||||
\fBarchive_read_disk\fP(3)
|
||||
API also supports iterating over directory trees,
|
||||
which allows directories of files to be read using
|
||||
an API compatible with
|
||||
the
|
||||
\fBarchive_read\fP(3)
|
||||
API.
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
Detailed descriptions of each function are provided by the
|
||||
corresponding manual pages.
|
||||
.PP
|
||||
All of the functions utilize an opaque
|
||||
Tn struct archive
|
||||
datatype that provides access to the archive contents.
|
||||
.PP
|
||||
The
|
||||
Tn struct archive_entry
|
||||
structure contains a complete description of a single archive
|
||||
entry.
|
||||
It uses an opaque interface that is fully documented in
|
||||
\fBarchive_entry\fP(3).
|
||||
.PP
|
||||
Users familiar with historic formats should be aware that the newer
|
||||
variants have eliminated most restrictions on the length of textual fields.
|
||||
Clients should not assume that filenames, link names, user names, or
|
||||
group names are limited in length.
|
||||
In particular, pax interchange format can easily accommodate pathnames
|
||||
in arbitrary character sets that exceed
|
||||
\fIPATH_MAX\fP.
|
||||
.SH RETURN VALUES
|
||||
.ad l
|
||||
Most functions return
|
||||
\fBARCHIVE_OK\fP
|
||||
(zero) on success, non-zero on error.
|
||||
The return value indicates the general severity of the error, ranging
|
||||
from
|
||||
\fBARCHIVE_WARN\fP,
|
||||
which indicates a minor problem that should probably be reported
|
||||
to the user, to
|
||||
\fBARCHIVE_FATAL\fP,
|
||||
which indicates a serious problem that will prevent any further
|
||||
operations on this archive.
|
||||
On error, the
|
||||
\fB\%archive_errno\fP()
|
||||
function can be used to retrieve a numeric error code (see
|
||||
\fBerrno\fP(2)).
|
||||
The
|
||||
\fB\%archive_error_string\fP()
|
||||
returns a textual error message suitable for display.
|
||||
.PP
|
||||
\fB\%archive_read_new\fP()
|
||||
and
|
||||
\fB\%archive_write_new\fP()
|
||||
return pointers to an allocated and initialized
|
||||
Tn struct archive
|
||||
object.
|
||||
.PP
|
||||
\fB\%archive_read_data\fP()
|
||||
and
|
||||
\fB\%archive_write_data\fP()
|
||||
return a count of the number of bytes actually read or written.
|
||||
A value of zero indicates the end of the data for this entry.
|
||||
A negative value indicates an error, in which case the
|
||||
\fB\%archive_errno\fP()
|
||||
and
|
||||
\fB\%archive_error_string\fP()
|
||||
functions can be used to obtain more information.
|
||||
.SH ENVIRONMENT
|
||||
.ad l
|
||||
There are character set conversions within the
|
||||
\fBarchive_entry\fP(3)
|
||||
functions that are impacted by the currently-selected locale.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBtar\fP(1),
|
||||
\fBarchive_entry\fP(3),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBtar\fP(5)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was originally written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
||||
.SH BUGS
|
||||
.ad l
|
||||
Some archive formats support information that is not supported by
|
||||
Tn struct archive_entry.
|
||||
Such information cannot be fully archived or restored using this library.
|
||||
This includes, for example, comments, character sets,
|
||||
or the arbitrary key/value pairs that can appear in
|
||||
pax interchange format archives.
|
||||
.PP
|
||||
Conversely, of course, not all of the information that can be
|
||||
stored in an
|
||||
Tn struct archive_entry
|
||||
is supported by all formats.
|
||||
For example, cpio formats do not support nanosecond timestamps;
|
||||
old tar formats do not support large device numbers.
|
||||
.PP
|
||||
The ISO9660 reader cannot yet read all ISO9660 images;
|
||||
it should learn how to seek.
|
||||
.PP
|
||||
The AR writer requires the client program to use
|
||||
two passes, unlike all other libarchive writers.
|
340
dependencies/libarchive-3.4.2/doc/man/libarchive_changes.3
vendored
Normal file
340
dependencies/libarchive-3.4.2/doc/man/libarchive_changes.3
vendored
Normal file
|
@ -0,0 +1,340 @@
|
|||
.TH LIBARCHIVE_CHANGES 3 "December 23, 2011" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%libarchive_changes\fP
|
||||
\- changes in libarchive interface
|
||||
.SH CHANGES IN LIBARCHIVE 3
|
||||
.ad l
|
||||
This page describes user-visible changes in libarchive3, and lists
|
||||
public functions and other symbols changed, deprecated or removed
|
||||
in libarchive3, along with their replacements if any.
|
||||
.SS Multiple Filters
|
||||
Libarchive2 permitted a single (input or output) filter active
|
||||
on an archive.
|
||||
Libarchive3 extends this into a variable-length stack.
|
||||
Where
|
||||
\fB\%archive_write_set_compression_XXX\fP()
|
||||
would replace any existing filter,
|
||||
\fB\%archive_write_add_filter_XXX\fP()
|
||||
extends the write pipeline with another filter.
|
||||
.SS Character Set Handling
|
||||
Libarchive2 assumed that the local platform uses
|
||||
Tn Unicode
|
||||
as the native
|
||||
Tn wchar_t
|
||||
encoding, which is true on
|
||||
Tn Windows,
|
||||
modern
|
||||
Tn Linux,
|
||||
and a few other systems, but is certainly not universal.
|
||||
As a result, pax format archives were written incorrectly on some
|
||||
systems, since pax format requires
|
||||
Tn UTF-8
|
||||
and libarchive 2 incorrectly
|
||||
assumed that
|
||||
Tn wchar_t
|
||||
strings can be easily converted to
|
||||
Tn UTF-8.
|
||||
.PP
|
||||
Libarchive3 uses the standard iconv library to convert between character
|
||||
sets and is introducing the notion of a
|
||||
``default character set for the archive''.
|
||||
To support this,
|
||||
Tn archive_entry
|
||||
objects can now be bound to a particular archive when they are created.
|
||||
The automatic character set conversions performed by
|
||||
Tn archive_entry
|
||||
objects when reading and writing filenames, usernames, and other strings
|
||||
will now use an appropriate default character set:
|
||||
.PP
|
||||
If the
|
||||
Tn archive_entry
|
||||
object is bound to an archive, it will use the
|
||||
default character set for that archive.
|
||||
.PP
|
||||
The platform default character encoding (as returned by
|
||||
\fB\%nl_langinfo\fP(\fI\%CHARSET\fP, \fI\%)\fP)
|
||||
will be used if nothing else is specified.
|
||||
.PP
|
||||
Libarchive3 also introduces charset options to many of the archive
|
||||
readers and writers to control the character set that will be used for
|
||||
filenames written in those archives.
|
||||
When possible, this will be set automatically based on information in
|
||||
the archive itself.
|
||||
Combining this with the notion of a default character set for the
|
||||
archive should allow you to configure libarchive to read archives from
|
||||
other platforms and have the filenames and other information
|
||||
transparently converted to the character encoding suitable for your
|
||||
application.
|
||||
.SS Prototype Changes
|
||||
These changes break binary compatibility; libarchive3 has a new shared
|
||||
library version to reflect these changes.
|
||||
The library now uses portable wide types such as
|
||||
Tn int64_t
|
||||
instead of less-portable types such as
|
||||
Tn off_t,
|
||||
Tn gid_t,
|
||||
Tn uid_t,
|
||||
and
|
||||
Tn ino_t.
|
||||
.PP
|
||||
There are a few cases where these changes will affect your source code:
|
||||
.RS 5
|
||||
.IP \(bu
|
||||
In some cases, libarchive's wider types will introduce the possibility
|
||||
of truncation: for example, on a system with a 16-bit
|
||||
Tn uid_t, you risk having uid
|
||||
.RS 4
|
||||
65536
|
||||
.RE
|
||||
be truncated to uid
|
||||
.RS 4
|
||||
0,
|
||||
.RE
|
||||
which can cause serious security problems.
|
||||
.IP \(bu
|
||||
Typedef function pointer types will be incompatible.
|
||||
For example, if you define custom skip callbacks, you may have to use
|
||||
code similar to the following if you want to support building against
|
||||
libarchive2 and libarchive3:
|
||||
.RS 4
|
||||
.nf
|
||||
#if ARCHIVE_VERSION_NUMBER < 3000000
|
||||
typedef off_t myoff_t;
|
||||
#else
|
||||
typedef int64_t myoff_t;
|
||||
#endif
|
||||
myoff_t
|
||||
my_skip_function(struct archive *a, void *v, myoff_t o)
|
||||
{
|
||||
... implementation ...
|
||||
}
|
||||
.RE
|
||||
.RE
|
||||
.PP
|
||||
Affected functions:
|
||||
.PP
|
||||
.RS 5
|
||||
.IP \(bu
|
||||
\fB\%archive_entry_gid\fP(),
|
||||
\fB\%archive_entry_set_gid\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_entry_uid\fP(),
|
||||
\fB\%archive_entry_set_uid\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_entry_ino\fP(),
|
||||
\fB\%archive_entry_set_ino\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_read_data_block\fP(),
|
||||
\fB\%archive_write_data_block\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_read_disk_gname\fP(),
|
||||
\fB\%archive_read_disk_uname\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_read_disk_set_gname_lookup\fP(),
|
||||
\fB\%archive_read_disk_set_group_lookup\fP(),
|
||||
\fB\%archive_read_disk_set_uname_lookup\fP(),
|
||||
\fB\%archive_read_disk_set_user_lookup\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_skip_callback\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_read_extract_set_skip_file\fP(),
|
||||
\fB\%archive_write_disk_set_skip_file\fP(),
|
||||
\fB\%archive_write_set_skip_file\fP()
|
||||
.IP \(bu
|
||||
\fB\%archive_write_disk_set_group_lookup\fP(),
|
||||
\fB\%archive_write_disk_set_user_lookup\fP()
|
||||
.RE
|
||||
.PP
|
||||
Where these functions or their arguments took or returned
|
||||
Tn gid_t,
|
||||
Tn ino_t,
|
||||
Tn off_t,
|
||||
or
|
||||
Tn uid_t
|
||||
they now take or return
|
||||
Tn int64_t
|
||||
or equivalent.
|
||||
.SS Deprecated Symbols
|
||||
Symbols deprecated in libarchive3 will be removed in libarchive4.
|
||||
These symbols, along with their replacements if any, are listed below:
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_position_compressed\fP(), \fB\%archive_position_uncompressed\fP()
|
||||
\fB\%archive_filter_bytes\fP()
|
||||
.TP
|
||||
\fB\%archive_compression\fP()
|
||||
\fB\%archive_filter_code\fP()
|
||||
.TP
|
||||
\fB\%archive_compression_name\fP()
|
||||
\fB\%archive_filter_name\fP()
|
||||
.TP
|
||||
\fB\%archive_read_finish\fP(), \fB\%archive_write_finish\fP()
|
||||
\fB\%archive_read_free\fP(),
|
||||
\fB\%archive_write_free\fP()
|
||||
.TP
|
||||
\fB\%archive_read_open_file\fP(), \fB\%archive_write_open_file\fP()
|
||||
\fB\%archive_read_open_filename\fP(),
|
||||
\fB\%archive_write_open_filename\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_all\fP()
|
||||
\fB\%archive_read_support_filter_all\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_bzip2\fP()
|
||||
\fB\%archive_read_support_filter_bzip2\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_compress\fP()
|
||||
\fB\%archive_read_support_filter_compress\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_gzip\fP()
|
||||
\fB\%archive_read_support_filter_gzip\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_lzip\fP()
|
||||
\fB\%archive_read_support_filter_lzip\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_lzma\fP()
|
||||
\fB\%archive_read_support_filter_lzma\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_none\fP()
|
||||
\fB\%archive_read_support_filter_none\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_program\fP()
|
||||
\fB\%archive_read_support_filter_program\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_program_signature\fP()
|
||||
\fB\%archive_read_support_filter_program_signature\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_rpm\fP()
|
||||
\fB\%archive_read_support_filter_rpm\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_uu\fP()
|
||||
\fB\%archive_read_support_filter_uu\fP()
|
||||
.TP
|
||||
\fB\%archive_read_support_compression_xz\fP()
|
||||
\fB\%archive_read_support_filter_xz\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_bzip2\fP()
|
||||
\fB\%archive_write_add_filter_bzip2\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_compress\fP()
|
||||
\fB\%archive_write_add_filter_compress\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_gzip\fP()
|
||||
\fB\%archive_write_add_filter_gzip\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_lzip\fP()
|
||||
\fB\%archive_write_add_filter_lzip\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_lzma\fP()
|
||||
\fB\%archive_write_add_filter_lzma\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_none\fP()
|
||||
\fB\%archive_write_add_filter_none\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_program\fP()
|
||||
\fB\%archive_write_add_filter_program\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_compression_filter\fP()
|
||||
\fB\%archive_write_add_filter_filter\fP()
|
||||
.RE
|
||||
.SS Removed Symbols
|
||||
These symbols, listed below along with their replacements if any,
|
||||
were deprecated in libarchive2, and are not part of libarchive3.
|
||||
.RS 5
|
||||
.TP
|
||||
\fB\%archive_api_feature\fP()
|
||||
\fB\%archive_version_number\fP()
|
||||
.TP
|
||||
\fB\%archive_api_version\fP()
|
||||
\fB\%archive_version_number\fP()
|
||||
.TP
|
||||
\fB\%archive_version\fP()
|
||||
\fB\%archive_version_string\fP()
|
||||
.TP
|
||||
\fB\%archive_version_stamp\fP()
|
||||
\fB\%archive_version_number\fP()
|
||||
.TP
|
||||
\fB\%archive_read_set_filter_options\fP()
|
||||
\fB\%archive_read_set_options\fP()
|
||||
or
|
||||
\fB\%archive_read_set_filter_option\fP()
|
||||
.TP
|
||||
\fB\%archive_read_set_format_options\fP()
|
||||
\fB\%archive_read_set_options\fP()
|
||||
or
|
||||
\fB\%archive_read_set_format_option\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_filter_options\fP()
|
||||
\fB\%archive_write_set_options\fP()
|
||||
or
|
||||
\fB\%archive_write_set_filter_option\fP()
|
||||
.TP
|
||||
\fB\%archive_write_set_format_options\fP()
|
||||
\fB\%archive_write_set_options\fP()
|
||||
or
|
||||
\fB\%archive_write_set_format_option\fP()
|
||||
.TP
|
||||
.BR ARCHIVE_API_FEATURE
|
||||
.BR ARCHIVE_VERSION_NUMBER
|
||||
.TP
|
||||
.BR ARCHIVE_API_VERSION
|
||||
.BR ARCHIVE_VERSION_NUMBER
|
||||
.TP
|
||||
.BR ARCHIVE_VERSION_STAMP
|
||||
.BR ARCHIVE_VERSION_NUMBER
|
||||
.TP
|
||||
.BR ARCHIVE_LIBRARY_VERSION
|
||||
.BR ARCHIVE_VERSION_STRING
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_NONE
|
||||
.BR ARCHIVE_FILTER_NONE
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_GZIP
|
||||
.BR ARCHIVE_FILTER_GZIP
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_BZIP2
|
||||
.BR ARCHIVE_FILTER_BZIP2
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_COMPRESS
|
||||
.BR ARCHIVE_FILTER_COMPRESS
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_PROGRAM
|
||||
.BR ARCHIVE_FILTER_PROGRAM
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_LZMA
|
||||
.BR ARCHIVE_FILTER_LZMA
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_XZ
|
||||
.BR ARCHIVE_FILTER_XZ
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_UU
|
||||
.BR ARCHIVE_FILTER_UU
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_RPM
|
||||
.BR ARCHIVE_FILTER_RPM
|
||||
.TP
|
||||
.BR ARCHIVE_COMPRESSION_LZIP
|
||||
.BR ARCHIVE_FILTER_LZIP
|
||||
.TP
|
||||
.BR ARCHIVE_BYTES_PER_RECORD
|
||||
.RS 4
|
||||
512
|
||||
.RE
|
||||
.TP
|
||||
.BR ARCHIVE_DEFAULT_BYTES_PER_BLOCK
|
||||
.RS 4
|
||||
10240
|
||||
.RE
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_read_filter\fP(3),
|
||||
\fBarchive_read_format\fP(3),
|
||||
\fBarchive_read_set_options\fP(3),
|
||||
\fBarchive_util\fP(3),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_filter\fP(3),
|
||||
\fBarchive_write_format\fP(3),
|
||||
\fBarchive_write_set_options\fP(3),
|
||||
\fBlibarchive\fP(3)
|
359
dependencies/libarchive-3.4.2/doc/man/libarchive_internals.3
vendored
Normal file
359
dependencies/libarchive-3.4.2/doc/man/libarchive_internals.3
vendored
Normal file
|
@ -0,0 +1,359 @@
|
|||
.TH LIBARCHIVE_INTERNALS 3 "January 26, 2011" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%libarchive_internals\fP
|
||||
\- description of libarchive internal interfaces
|
||||
.SH OVERVIEW
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library provides a flexible interface for reading and writing
|
||||
streaming archive files such as tar and cpio.
|
||||
Internally, it follows a modular layered design that should
|
||||
make it easy to add new archive and compression formats.
|
||||
.SH GENERAL ARCHITECTURE
|
||||
.ad l
|
||||
Externally, libarchive exposes most operations through an
|
||||
opaque, object-style interface.
|
||||
The
|
||||
\fBarchive_entry\fP(3)
|
||||
objects store information about a single filesystem object.
|
||||
The rest of the library provides facilities to write
|
||||
\fBarchive_entry\fP(3)
|
||||
objects to archive files,
|
||||
read them from archive files,
|
||||
and write them to disk.
|
||||
(There are plans to add a facility to read
|
||||
\fBarchive_entry\fP(3)
|
||||
objects from disk as well.)
|
||||
.PP
|
||||
The read and write APIs each have four layers: a public API
|
||||
layer, a format layer that understands the archive file format,
|
||||
a compression layer, and an I/O layer.
|
||||
The I/O layer is completely exposed to clients who can replace
|
||||
it entirely with their own functions.
|
||||
.PP
|
||||
In order to provide as much consistency as possible for clients,
|
||||
some public functions are virtualized.
|
||||
Eventually, it should be possible for clients to open
|
||||
an archive or disk writer, and then use a single set of
|
||||
code to select and write entries, regardless of the target.
|
||||
.SH READ ARCHITECTURE
|
||||
.ad l
|
||||
From the outside, clients use the
|
||||
\fBarchive_read\fP(3)
|
||||
API to manipulate an
|
||||
\fB\%archive\fP
|
||||
object to read entries and bodies from an archive stream.
|
||||
Internally, the
|
||||
\fB\%archive\fP
|
||||
object is cast to an
|
||||
\fB\%archive_read\fP
|
||||
object, which holds all read-specific data.
|
||||
The API has four layers:
|
||||
The lowest layer is the I/O layer.
|
||||
This layer can be overridden by clients, but most clients use
|
||||
the packaged I/O callbacks provided, for example, by
|
||||
\fBarchive_read_open_memory\fP(3),
|
||||
and
|
||||
\fBarchive_read_open_fd\fP(3).
|
||||
The compression layer calls the I/O layer to
|
||||
read bytes and decompresses them for the format layer.
|
||||
The format layer unpacks a stream of uncompressed bytes and
|
||||
creates
|
||||
\fB\%archive_entry\fP
|
||||
objects from the incoming data.
|
||||
The API layer tracks overall state
|
||||
(for example, it prevents clients from reading data before reading a header)
|
||||
and invokes the format and compression layer operations
|
||||
through registered function pointers.
|
||||
In particular, the API layer drives the format-detection process:
|
||||
When opening the archive, it reads an initial block of data
|
||||
and offers it to each registered compression handler.
|
||||
The one with the highest bid is initialized with the first block.
|
||||
Similarly, the format handlers are polled to see which handler
|
||||
is the best for each archive.
|
||||
(Prior to 2.4.0, the format bidders were invoked for each
|
||||
entry, but this design hindered error recovery.)
|
||||
.SS I/O Layer and Client Callbacks
|
||||
The read API goes to some lengths to be nice to clients.
|
||||
As a result, there are few restrictions on the behavior of
|
||||
the client callbacks.
|
||||
.PP
|
||||
The client read callback is expected to provide a block
|
||||
of data on each call.
|
||||
A zero-length return does indicate end of file, but otherwise
|
||||
blocks may be as small as one byte or as large as the entire file.
|
||||
In particular, blocks may be of different sizes.
|
||||
.PP
|
||||
The client skip callback returns the number of bytes actually
|
||||
skipped, which may be much smaller than the skip requested.
|
||||
The only requirement is that the skip not be larger.
|
||||
In particular, clients are allowed to return zero for any
|
||||
skip that they don't want to handle.
|
||||
The skip callback must never be invoked with a negative value.
|
||||
.PP
|
||||
Keep in mind that not all clients are reading from disk:
|
||||
clients reading from networks may provide different-sized
|
||||
blocks on every request and cannot skip at all;
|
||||
advanced clients may use
|
||||
\fBmmap\fP(2)
|
||||
to read the entire file into memory at once and return the
|
||||
entire file to libarchive as a single block;
|
||||
other clients may begin asynchronous I/O operations for the
|
||||
next block on each request.
|
||||
.SS Decompresssion Layer
|
||||
The decompression layer not only handles decompression,
|
||||
it also buffers data so that the format handlers see a
|
||||
much nicer I/O model.
|
||||
The decompression API is a two stage peek/consume model.
|
||||
A read_ahead request specifies a minimum read amount;
|
||||
the decompression layer must provide a pointer to at least
|
||||
that much data.
|
||||
If more data is immediately available, it should return more:
|
||||
the format layer handles bulk data reads by asking for a minimum
|
||||
of one byte and then copying as much data as is available.
|
||||
.PP
|
||||
A subsequent call to the
|
||||
\fB\%consume\fP()
|
||||
function advances the read pointer.
|
||||
Note that data returned from a
|
||||
\fB\%read_ahead\fP()
|
||||
call is guaranteed to remain in place until
|
||||
the next call to
|
||||
\fB\%read_ahead\fP().
|
||||
Intervening calls to
|
||||
\fB\%consume\fP()
|
||||
should not cause the data to move.
|
||||
.PP
|
||||
Skip requests must always be handled exactly.
|
||||
Decompression handlers that cannot seek forward should
|
||||
not register a skip handler;
|
||||
the API layer fills in a generic skip handler that reads and discards data.
|
||||
.PP
|
||||
A decompression handler has a specific lifecycle:
|
||||
.RS 5
|
||||
.TP
|
||||
Registration/Configuration
|
||||
When the client invokes the public support function,
|
||||
the decompression handler invokes the internal
|
||||
\fB\%__archive_read_register_compression\fP()
|
||||
function to provide bid and initialization functions.
|
||||
This function returns
|
||||
\fBNULL\fP
|
||||
on error or else a pointer to a
|
||||
\fBstruct\fP decompressor_t.
|
||||
This structure contains a
|
||||
\fIvoid\fP * config
|
||||
slot that can be used for storing any customization information.
|
||||
.TP
|
||||
Bid
|
||||
The bid function is invoked with a pointer and size of a block of data.
|
||||
The decompressor can access its config data
|
||||
through the
|
||||
\fIdecompressor\fP
|
||||
element of the
|
||||
\fBarchive_read\fP
|
||||
object.
|
||||
The bid function is otherwise stateless.
|
||||
In particular, it must not perform any I/O operations.
|
||||
.PP
|
||||
The value returned by the bid function indicates its suitability
|
||||
for handling this data stream.
|
||||
A bid of zero will ensure that this decompressor is never invoked.
|
||||
Return zero if magic number checks fail.
|
||||
Otherwise, your initial implementation should return the number of bits
|
||||
actually checked.
|
||||
For example, if you verify two full bytes and three bits of another
|
||||
byte, bid 19.
|
||||
Note that the initial block may be very short;
|
||||
be careful to only inspect the data you are given.
|
||||
(The current decompressors require two bytes for correct bidding.)
|
||||
.TP
|
||||
Initialize
|
||||
The winning bidder will have its init function called.
|
||||
This function should initialize the remaining slots of the
|
||||
\fIstruct\fP decompressor_t
|
||||
object pointed to by the
|
||||
\fIdecompressor\fP
|
||||
element of the
|
||||
\fIarchive_read\fP
|
||||
object.
|
||||
In particular, it should allocate any working data it needs
|
||||
in the
|
||||
\fIdata\fP
|
||||
slot of that structure.
|
||||
The init function is called with the block of data that
|
||||
was used for tasting.
|
||||
At this point, the decompressor is responsible for all I/O
|
||||
requests to the client callbacks.
|
||||
The decompressor is free to read more data as and when
|
||||
necessary.
|
||||
.TP
|
||||
Satisfy I/O requests
|
||||
The format handler will invoke the
|
||||
\fIread_ahead\fP,
|
||||
\fIconsume\fP,
|
||||
and
|
||||
\fIskip\fP
|
||||
functions as needed.
|
||||
.TP
|
||||
Finish
|
||||
The finish method is called only once when the archive is closed.
|
||||
It should release anything stored in the
|
||||
\fIdata\fP
|
||||
and
|
||||
\fIconfig\fP
|
||||
slots of the
|
||||
\fIdecompressor\fP
|
||||
object.
|
||||
It should not invoke the client close callback.
|
||||
.RE
|
||||
.SS Format Layer
|
||||
The read formats have a similar lifecycle to the decompression handlers:
|
||||
.RS 5
|
||||
.TP
|
||||
Registration
|
||||
Allocate your private data and initialize your pointers.
|
||||
.TP
|
||||
Bid
|
||||
Formats bid by invoking the
|
||||
\fB\%read_ahead\fP()
|
||||
decompression method but not calling the
|
||||
\fB\%consume\fP()
|
||||
method.
|
||||
This allows each bidder to look ahead in the input stream.
|
||||
Bidders should not look further ahead than necessary, as long
|
||||
look aheads put pressure on the decompression layer to buffer
|
||||
lots of data.
|
||||
Most formats only require a few hundred bytes of look ahead;
|
||||
look aheads of a few kilobytes are reasonable.
|
||||
(The ISO9660 reader sometimes looks ahead by 48k, which
|
||||
should be considered an upper limit.)
|
||||
.TP
|
||||
Read header
|
||||
The header read is usually the most complex part of any format.
|
||||
There are a few strategies worth mentioning:
|
||||
For formats such as tar or cpio, reading and parsing the header is
|
||||
straightforward since headers alternate with data.
|
||||
For formats that store all header data at the beginning of the file,
|
||||
the first header read request may have to read all headers into
|
||||
memory and store that data, sorted by the location of the file
|
||||
data.
|
||||
Subsequent header read requests will skip forward to the
|
||||
beginning of the file data and return the corresponding header.
|
||||
.TP
|
||||
Read Data
|
||||
The read data interface supports sparse files; this requires that
|
||||
each call return a block of data specifying the file offset and
|
||||
size.
|
||||
This may require you to carefully track the location so that you
|
||||
can return accurate file offsets for each read.
|
||||
Remember that the decompressor will return as much data as it has.
|
||||
Generally, you will want to request one byte,
|
||||
examine the return value to see how much data is available, and
|
||||
possibly trim that to the amount you can use.
|
||||
You should invoke consume for each block just before you return it.
|
||||
.TP
|
||||
Skip All Data
|
||||
The skip data call should skip over all file data and trailing padding.
|
||||
This is called automatically by the API layer just before each
|
||||
header read.
|
||||
It is also called in response to the client calling the public
|
||||
\fB\%data_skip\fP()
|
||||
function.
|
||||
.TP
|
||||
Cleanup
|
||||
On cleanup, the format should release all of its allocated memory.
|
||||
.RE
|
||||
.SS API Layer
|
||||
XXX to do XXX
|
||||
.SH WRITE ARCHITECTURE
|
||||
.ad l
|
||||
The write API has a similar set of four layers:
|
||||
an API layer, a format layer, a compression layer, and an I/O layer.
|
||||
The registration here is much simpler because only
|
||||
one format and one compression can be registered at a time.
|
||||
.SS I/O Layer and Client Callbacks
|
||||
XXX To be written XXX
|
||||
.SS Compression Layer
|
||||
XXX To be written XXX
|
||||
.SS Format Layer
|
||||
XXX To be written XXX
|
||||
.SS API Layer
|
||||
XXX To be written XXX
|
||||
.SH WRITE_DISK ARCHITECTURE
|
||||
.ad l
|
||||
The write_disk API is intended to look just like the write API
|
||||
to clients.
|
||||
Since it does not handle multiple formats or compression, it
|
||||
is not layered internally.
|
||||
.SH GENERAL SERVICES
|
||||
.ad l
|
||||
The
|
||||
\fB\%archive_read\fP,
|
||||
\fB\%archive_write\fP,
|
||||
and
|
||||
\fB\%archive_write_disk\fP
|
||||
objects all contain an initial
|
||||
\fB\%archive\fP
|
||||
object which provides common support for a set of standard services.
|
||||
(Recall that ANSI/ISO C90 guarantees that you can cast freely between
|
||||
a pointer to a structure and a pointer to the first element of that
|
||||
structure.)
|
||||
The
|
||||
\fB\%archive\fP
|
||||
object has a magic value that indicates which API this object
|
||||
is associated with,
|
||||
slots for storing error information,
|
||||
and function pointers for virtualized API functions.
|
||||
.SH MISCELLANEOUS NOTES
|
||||
.ad l
|
||||
Connecting existing archiving libraries into libarchive is generally
|
||||
quite difficult.
|
||||
In particular, many existing libraries strongly assume that you
|
||||
are reading from a file; they seek forwards and backwards as necessary
|
||||
to locate various pieces of information.
|
||||
In contrast, libarchive never seeks backwards in its input, which
|
||||
sometimes requires very different approaches.
|
||||
.PP
|
||||
For example, libarchive's ISO9660 support operates very differently
|
||||
from most ISO9660 readers.
|
||||
The libarchive support utilizes a work-queue design that
|
||||
keeps a list of known entries sorted by their location in the input.
|
||||
Whenever libarchive's ISO9660 implementation is asked for the next
|
||||
header, checks this list to find the next item on the disk.
|
||||
Directories are parsed when they are encountered and new
|
||||
items are added to the list.
|
||||
This design relies heavily on the ISO9660 image being optimized so that
|
||||
directories always occur earlier on the disk than the files they
|
||||
describe.
|
||||
.PP
|
||||
Depending on the specific format, such approaches may not be possible.
|
||||
The ZIP format specification, for example, allows archivers to store
|
||||
key information only at the end of the file.
|
||||
In theory, it is possible to create ZIP archives that cannot
|
||||
be read without seeking.
|
||||
Fortunately, such archives are very rare, and libarchive can read
|
||||
most ZIP archives, though it cannot always extract as much information
|
||||
as a dedicated ZIP program.
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBarchive_entry\fP(3),
|
||||
\fBarchive_read\fP(3),
|
||||
\fBarchive_write\fP(3),
|
||||
\fBarchive_write_disk\fP(3),
|
||||
\fBlibarchive\fP(3)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library first appeared in
|
||||
FreeBSD 5.3.
|
||||
.SH AUTHORS
|
||||
.ad l
|
||||
-nosplit
|
||||
The
|
||||
\fB\%libarchive\fP
|
||||
library was written by
|
||||
Tim Kientzle \%<kientzle@acm.org.>
|
345
dependencies/libarchive-3.4.2/doc/man/mtree.5
vendored
Normal file
345
dependencies/libarchive-3.4.2/doc/man/mtree.5
vendored
Normal file
|
@ -0,0 +1,345 @@
|
|||
.TH MTREE 5 "September 4, 2013" ""
|
||||
.SH NAME
|
||||
.ad l
|
||||
\fB\%mtree\fP
|
||||
\- format of mtree dir hierarchy files
|
||||
.SH DESCRIPTION
|
||||
.ad l
|
||||
The
|
||||
\fB\%mtree\fP
|
||||
format is a textual format that describes a collection of filesystem objects.
|
||||
Such files are typically used to create or verify directory hierarchies.
|
||||
.SS General Format
|
||||
An
|
||||
\fB\%mtree\fP
|
||||
file consists of a series of lines, each providing information
|
||||
about a single filesystem object.
|
||||
Leading whitespace is always ignored.
|
||||
.PP
|
||||
When encoding file or pathnames, any backslash character or
|
||||
character outside of the 95 printable ASCII characters must be
|
||||
encoded as a backslash followed by three
|
||||
octal digits.
|
||||
When reading mtree files, any appearance of a backslash
|
||||
followed by three octal digits should be converted into the
|
||||
corresponding character.
|
||||
.PP
|
||||
Each line is interpreted independently as one of the following types:
|
||||
.RS 5
|
||||
.TP
|
||||
Blank
|
||||
Blank lines are ignored.
|
||||
.TP
|
||||
Comment
|
||||
Lines beginning with
|
||||
\fB#\fP
|
||||
are ignored.
|
||||
.TP
|
||||
Special
|
||||
Lines beginning with
|
||||
\fB/\fP
|
||||
are special commands that influence
|
||||
the interpretation of later lines.
|
||||
.TP
|
||||
Relative
|
||||
If the first whitespace-delimited word has no
|
||||
\fB/\fP
|
||||
characters,
|
||||
it is the name of a file in the current directory.
|
||||
Any relative entry that describes a directory changes the
|
||||
current directory.
|
||||
.TP
|
||||
dot-dot
|
||||
As a special case, a relative entry with the filename
|
||||
\fI\& ..\fP
|
||||
changes the current directory to the parent directory.
|
||||
Options on dot-dot entries are always ignored.
|
||||
.TP
|
||||
Full
|
||||
If the first whitespace-delimited word has a
|
||||
\fB/\fP
|
||||
character after
|
||||
the first character, it is the pathname of a file relative to the
|
||||
starting directory.
|
||||
There can be multiple full entries describing the same file.
|
||||
.RE
|
||||
.PP
|
||||
Some tools that process
|
||||
\fB\%mtree\fP
|
||||
files may require that multiple lines describing the same file
|
||||
occur consecutively.
|
||||
It is not permitted for the same file to be mentioned using
|
||||
both a relative and a full file specification.
|
||||
.SS Special commands
|
||||
Two special commands are currently defined:
|
||||
.RS 5
|
||||
.TP
|
||||
\fB/set\fP
|
||||
This command defines default values for one or more keywords.
|
||||
It is followed on the same line by one or more whitespace-separated
|
||||
keyword definitions.
|
||||
These definitions apply to all following files that do not specify
|
||||
a value for that keyword.
|
||||
.TP
|
||||
\fB/unset\fP
|
||||
This command removes any default value set by a previous
|
||||
\fB/set\fP
|
||||
command.
|
||||
It is followed on the same line by one or more keywords
|
||||
separated by whitespace.
|
||||
.RE
|
||||
.SS Keywords
|
||||
After the filename, a full or relative entry consists of zero
|
||||
or more whitespace-separated keyword definitions.
|
||||
Each such definition consists of a key from the following
|
||||
list immediately followed by an '=' sign
|
||||
and a value.
|
||||
Software programs reading mtree files should warn about
|
||||
unrecognized keywords.
|
||||
.PP
|
||||
Currently supported keywords are as follows:
|
||||
.RS 5
|
||||
.TP
|
||||
\fBcksum\fP
|
||||
The checksum of the file using the default algorithm specified by
|
||||
the
|
||||
\fBcksum\fP(1)
|
||||
utility.
|
||||
.TP
|
||||
\fBdevice\fP
|
||||
The device number for
|
||||
.B block
|
||||
or
|
||||
.B char
|
||||
file types.
|
||||
The value must be one of the following forms:
|
||||
.RS 5
|
||||
.TP
|
||||
\fIformat\fP, \fImajor\fP, \fIminor\fP Bo, \fIsubunit\fP Bc
|
||||
A device with
|
||||
\fImajor\fP, minor
|
||||
and optional
|
||||
\fIsubunit\fP
|
||||
fields.
|
||||
Their meaning is specified by the operating's system
|
||||
\fIformat\fP.
|
||||
See below for valid formats.
|
||||
.TP
|
||||
\fInumber\fP
|
||||
Opaque number (as stored on the file system).
|
||||
.RE
|
||||
.PP
|
||||
The following values for
|
||||
\fIformat\fP
|
||||
are recognized:
|
||||
.B native ,
|
||||
.B 386bsd ,
|
||||
.B 4bsd ,
|
||||
.B bsdos ,
|
||||
.B freebsd ,
|
||||
.B hpux ,
|
||||
.B isc ,
|
||||
.B linux ,
|
||||
.B netbsd ,
|
||||
.B osf1 ,
|
||||
.B sco ,
|
||||
.B solaris ,
|
||||
.B sunos ,
|
||||
.B svr3 ,
|
||||
.B svr4 ,
|
||||
and
|
||||
.B ultrix .
|
||||
.PP
|
||||
See
|
||||
\fBmknod\fP(8)
|
||||
for more details.
|
||||
.TP
|
||||
\fBcontents\fP
|
||||
The full pathname of a file that holds the contents of this file.
|
||||
.TP
|
||||
\fBflags\fP
|
||||
The file flags as a symbolic name.
|
||||
See
|
||||
\fBchflags\fP(1)
|
||||
for information on these names.
|
||||
If no flags are to be set the string
|
||||
``none''
|
||||
may be used to override the current default.
|
||||
.TP
|
||||
\fBgid\fP
|
||||
The file group as a numeric value.
|
||||
.TP
|
||||
\fBgname\fP
|
||||
The file group as a symbolic name.
|
||||
.TP
|
||||
\fBignore\fP
|
||||
Ignore any file hierarchy below this file.
|
||||
.TP
|
||||
\fBinode\fP
|
||||
The inode number.
|
||||
.TP
|
||||
\fBlink\fP
|
||||
The target of the symbolic link when type=link.
|
||||
.TP
|
||||
\fBmd5\fP
|
||||
The MD5 message digest of the file.
|
||||
.TP
|
||||
\fBmd5digest\fP
|
||||
A synonym for
|
||||
\fBmd5\fP.
|
||||
.TP
|
||||
\fBmode\fP
|
||||
The current file's permissions as a numeric (octal) or symbolic
|
||||
value.
|
||||
.TP
|
||||
\fBnlink\fP
|
||||
The number of hard links the file is expected to have.
|
||||
.TP
|
||||
\fBnochange\fP
|
||||
Make sure this file or directory exists but otherwise ignore all attributes.
|
||||
.TP
|
||||
\fBoptional\fP
|
||||
The file is optional; do not complain about the file if it is not in
|
||||
the file hierarchy.
|
||||
.TP
|
||||
\fBresdevice\fP
|
||||
The
|
||||
``resident''
|
||||
device number of the file, e.g. the ID of the device that
|
||||
contains the file.
|
||||
Its format is the same as the one for
|
||||
\fBdevice\fP.
|
||||
.TP
|
||||
\fBripemd160digest\fP
|
||||
The
|
||||
Tn RIPEMD160
|
||||
message digest of the file.
|
||||
.TP
|
||||
\fBrmd160\fP
|
||||
A synonym for
|
||||
\fBripemd160digest\fP.
|
||||
.TP
|
||||
\fBrmd160digest\fP
|
||||
A synonym for
|
||||
\fBripemd160digest\fP.
|
||||
.TP
|
||||
\fBsha1\fP
|
||||
The
|
||||
Tn FIPS
|
||||
160-1
|
||||
(``Tn SHA-1'')
|
||||
message digest of the file.
|
||||
.TP
|
||||
\fBsha1digest\fP
|
||||
A synonym for
|
||||
\fBsha1\fP.
|
||||
.TP
|
||||
\fBsha256\fP
|
||||
The
|
||||
Tn FIPS
|
||||
180-2
|
||||
(``Tn SHA-256'')
|
||||
message digest of the file.
|
||||
.TP
|
||||
\fBsha256digest\fP
|
||||
A synonym for
|
||||
\fBsha256\fP.
|
||||
.TP
|
||||
\fBsha384\fP
|
||||
The
|
||||
Tn FIPS
|
||||
180-2
|
||||
(``Tn SHA-384'')
|
||||
message digest of the file.
|
||||
.TP
|
||||
\fBsha384digest\fP
|
||||
A synonym for
|
||||
\fBsha384\fP.
|
||||
.TP
|
||||
\fBsha512\fP
|
||||
The
|
||||
Tn FIPS
|
||||
180-2
|
||||
(``Tn SHA-512'')
|
||||
message digest of the file.
|
||||
.TP
|
||||
\fBsha512digest\fP
|
||||
A synonym for
|
||||
\fBsha512\fP.
|
||||
.TP
|
||||
\fBsize\fP
|
||||
The size, in bytes, of the file.
|
||||
.TP
|
||||
\fBtime\fP
|
||||
The last modification time of the file.
|
||||
.TP
|
||||
\fBtype\fP
|
||||
The type of the file; may be set to any one of the following:
|
||||
.PP
|
||||
.RS 5
|
||||
.TP
|
||||
\fBblock\fP
|
||||
block special device
|
||||
.TP
|
||||
\fBchar\fP
|
||||
character special device
|
||||
.TP
|
||||
\fBdir\fP
|
||||
directory
|
||||
.TP
|
||||
\fBfifo\fP
|
||||
fifo
|
||||
.TP
|
||||
\fBfile\fP
|
||||
regular file
|
||||
.TP
|
||||
\fBlink\fP
|
||||
symbolic link
|
||||
.TP
|
||||
\fBsocket\fP
|
||||
socket
|
||||
.RE
|
||||
.TP
|
||||
\fBuid\fP
|
||||
The file owner as a numeric value.
|
||||
.TP
|
||||
\fBuname\fP
|
||||
The file owner as a symbolic name.
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.ad l
|
||||
\fBcksum\fP(1),
|
||||
\fBfind\fP(1),
|
||||
\fBmtree\fP(8)
|
||||
.SH HISTORY
|
||||
.ad l
|
||||
The
|
||||
\fB\%mtree\fP
|
||||
utility appeared in
|
||||
Bx 4.3 Reno.
|
||||
The
|
||||
Tn MD5
|
||||
digest capability was added in
|
||||
FreeBSD 2.1,
|
||||
in response to the widespread use of programs which can spoof
|
||||
\fBcksum\fP(1).
|
||||
The
|
||||
Tn SHA-1
|
||||
and
|
||||
Tn RIPEMD160
|
||||
digests were added in
|
||||
FreeBSD 4.0,
|
||||
as new attacks have demonstrated weaknesses in
|
||||
Tn MD5.
|
||||
The
|
||||
Tn SHA-256
|
||||
digest was added in
|
||||
FreeBSD 6.0.
|
||||
Support for file flags was added in
|
||||
FreeBSD 4.0,
|
||||
and mostly comes from
|
||||
NetBSD.
|
||||
The
|
||||
``full''
|
||||
entry format was added by
|
||||
NetBSD.
|
1011
dependencies/libarchive-3.4.2/doc/man/tar.5
vendored
Normal file
1011
dependencies/libarchive-3.4.2/doc/man/tar.5
vendored
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue