summaryrefslogtreecommitdiff
path: root/libarchive/libarchive-2.5.5/doc/man/archive_entry.3
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2008-08-21 20:11:09 +0200
committerTomas Bzatek <tbzatek@users.sourceforge.net>2008-08-21 20:11:09 +0200
commit3d051722dea893c1b813db8bbeae1430b9eddd52 (patch)
tree6ffdcc7574ed7d5fcfe44aa910dc38b8482fffdb /libarchive/libarchive-2.5.5/doc/man/archive_entry.3
parent91d8a99387576216086c74b34b64efe468c2cd7b (diff)
downloadtuxcmd-modules-3d051722dea893c1b813db8bbeae1430b9eddd52.tar.xz
Update libarchive to v2.5.5
Diffstat (limited to 'libarchive/libarchive-2.5.5/doc/man/archive_entry.3')
-rw-r--r--libarchive/libarchive-2.5.5/doc/man/archive_entry.3695
1 files changed, 695 insertions, 0 deletions
diff --git a/libarchive/libarchive-2.5.5/doc/man/archive_entry.3 b/libarchive/libarchive-2.5.5/doc/man/archive_entry.3
new file mode 100644
index 0000000..994b474
--- /dev/null
+++ b/libarchive/libarchive-2.5.5/doc/man/archive_entry.3
@@ -0,0 +1,695 @@
+.TH archive_entry 3 "May 12, 2008" ""
+.SH NAME
+\fBarchive_entry_acl_add_entry\fP,
+\fBarchive_entry_acl_add_entry_w\fP,
+\fBarchive_entry_acl_clear\fP,
+\fBarchive_entry_acl_count\fP,
+\fBarchive_entry_acl_next\fP,
+\fBarchive_entry_acl_next_w\fP,
+\fBarchive_entry_acl_reset\fP,
+\fBarchive_entry_acl_text_w\fP,
+\fBarchive_entry_atime\fP,
+\fBarchive_entry_atime_nsec\fP,
+\fBarchive_entry_clear\fP,
+\fBarchive_entry_clone\fP,
+\fBarchive_entry_copy_fflags_text\fP,
+\fBarchive_entry_copy_fflags_text_w\fP,
+\fBarchive_entry_copy_gname\fP,
+\fBarchive_entry_copy_gname_w\fP,
+\fBarchive_entry_copy_hardlink\fP,
+\fBarchive_entry_copy_hardlink_w\fP,
+\fBarchive_entry_copy_link\fP,
+\fBarchive_entry_copy_link_w\fP,
+\fBarchive_entry_copy_pathname_w\fP,
+\fBarchive_entry_copy_sourcepath\fP,
+\fBarchive_entry_copy_stat\fP,
+\fBarchive_entry_copy_symlink\fP,
+\fBarchive_entry_copy_symlink_w\fP,
+\fBarchive_entry_copy_uname\fP,
+\fBarchive_entry_copy_uname_w\fP,
+\fBarchive_entry_dev\fP,
+\fBarchive_entry_devmajor\fP,
+\fBarchive_entry_devminor\fP,
+\fBarchive_entry_filetype\fP,
+\fBarchive_entry_fflags\fP,
+\fBarchive_entry_fflags_text\fP,
+\fBarchive_entry_free\fP,
+\fBarchive_entry_gid\fP,
+\fBarchive_entry_gname\fP,
+\fBarchive_entry_hardlink\fP,
+\fBarchive_entry_ino\fP,
+\fBarchive_entry_mode\fP,
+\fBarchive_entry_mtime\fP,
+\fBarchive_entry_mtime_nsec\fP,
+\fBarchive_entry_nlink\fP,
+\fBarchive_entry_new\fP,
+\fBarchive_entry_pathname\fP,
+\fBarchive_entry_pathname_w\fP,
+\fBarchive_entry_rdev\fP,
+\fBarchive_entry_rdevmajor\fP,
+\fBarchive_entry_rdevminor\fP,
+\fBarchive_entry_set_atime\fP,
+\fBarchive_entry_set_ctime\fP,
+\fBarchive_entry_set_dev\fP,
+\fBarchive_entry_set_devmajor\fP,
+\fBarchive_entry_set_devminor\fP,
+\fBarchive_entry_set_filetype\fP,
+\fBarchive_entry_set_fflags\fP,
+\fBarchive_entry_set_gid\fP,
+\fBarchive_entry_set_gname\fP,
+\fBarchive_entry_set_hardlink\fP,
+\fBarchive_entry_set_link\fP,
+\fBarchive_entry_set_mode\fP,
+\fBarchive_entry_set_mtime\fP,
+\fBarchive_entry_set_pathname\fP,
+\fBarchive_entry_set_rdevmajor\fP,
+\fBarchive_entry_set_rdevminor\fP,
+\fBarchive_entry_set_size\fP,
+\fBarchive_entry_set_symlink\fP,
+\fBarchive_entry_set_uid\fP,
+\fBarchive_entry_set_uname\fP,
+\fBarchive_entry_size\fP,
+\fBarchive_entry_sourcepath\fP,
+\fBarchive_entry_stat\fP,
+\fBarchive_entry_symlink\fP,
+\fBarchive_entry_uid\fP,
+\fBarchive_entry_uname\fP
+\- functions for manipulating archive entry descriptions
+.SH SYNOPSIS
+\fB#include <archive_entry.h>\fP
+.br
+\fIvoid\fP
+.RE
+Fo archive_entry_acl_add_entry
+Fa "struct archive_entry *"
+Fa "int type"
+Fa "int permset"
+Fa "int tag"
+Fa "int qual"
+Fa "const char *name"
+Fc
+\fIvoid\fP
+.RE
+Fo archive_entry_acl_add_entry_w
+Fa "struct archive_entry *"
+Fa "int type"
+Fa "int permset"
+Fa "int tag"
+Fa "int qual"
+Fa "const wchar_t *name"
+Fc
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_acl_clear\fP
+.hy
+("struct archive_entry *");
+\fIint\fP
+.RE
+.nh
+\fBarchive_entry_acl_count\fP
+.hy
+("struct archive_entry *" "int type");
+\fIint\fP
+.RE
+Fo archive_entry_acl_next
+Fa "struct archive_entry *"
+Fa "int want_type"
+Fa "int *type"
+Fa "int *permset"
+Fa "int *tag"
+Fa "int *qual"
+Fa "const char **name"
+Fc
+\fIint\fP
+.RE
+Fo archive_entry_acl_next_w
+Fa "struct archive_entry *"
+Fa "int want_type"
+Fa "int *type"
+Fa "int *permset"
+Fa "int *tag"
+Fa "int *qual"
+Fa "const wchar_t **name"
+Fc
+\fIint\fP
+.RE
+.nh
+\fBarchive_entry_acl_reset\fP
+.hy
+("struct archive_entry *" "int want_type");
+\fIconst wchar_t *\fP
+.RE
+.nh
+\fBarchive_entry_acl_text_w\fP
+.hy
+("struct archive_entry *" "int flags");
+\fItime_t\fP
+.RE
+.nh
+\fBarchive_entry_atime\fP
+.hy
+("struct archive_entry *");
+\fIlong\fP
+.RE
+.nh
+\fBarchive_entry_atime_nsec\fP
+.hy
+("struct archive_entry *");
+\fI"struct archive_entry *"\fP
+.RE
+.nh
+\fBarchive_entry_clear\fP
+.hy
+("struct archive_entry *");
+\fIstruct archive_entry *\fP
+.RE
+.nh
+\fBarchive_entry_clone\fP
+.hy
+("struct archive_entry *");
+\fIconst char * *\fP
+.RE
+.nh
+\fBarchive_entry_copy_fflags_text_w\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIconst wchar_t *\fP
+.RE
+.nh
+\fBarchive_entry_copy_fflags_text_w\fP
+.hy
+("struct archive_entry *" "const wchar_t *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_gname\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_gname_w\fP
+.hy
+("struct archive_entry *" "const wchar_t *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_hardlink\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_hardlink_w\fP
+.hy
+("struct archive_entry *" "const wchar_t *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_sourcepath\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_pathname_w\fP
+.hy
+("struct archive_entry *" "const wchar_t *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_stat\fP
+.hy
+("struct archive_entry *" "const struct stat *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_symlink\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_symlink_w\fP
+.hy
+("struct archive_entry *" "const wchar_t *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_uname\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_copy_uname_w\fP
+.hy
+("struct archive_entry *" "const wchar_t *");
+\fIdev_t\fP
+.RE
+.nh
+\fBarchive_entry_dev\fP
+.hy
+("struct archive_entry *");
+\fIdev_t\fP
+.RE
+.nh
+\fBarchive_entry_devmajor\fP
+.hy
+("struct archive_entry *");
+\fIdev_t\fP
+.RE
+.nh
+\fBarchive_entry_devminor\fP
+.hy
+("struct archive_entry *");
+\fImode_t\fP
+.RE
+.nh
+\fBarchive_entry_filetype\fP
+.hy
+("struct archive_entry *");
+\fIvoid\fP
+.RE
+Fo archive_entry_fflags
+Fa "struct archive_entry *"
+Fa "unsigned long *set"
+Fa "unsigned long *clear"
+Fc
+\fIconst char *\fP
+.RE
+.nh
+\fBarchive_entry_fflags_text\fP
+.hy
+("struct archive_entry *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_free\fP
+.hy
+("struct archive_entry *");
+\fIconst char *\fP
+.RE
+.nh
+\fBarchive_entry_gname\fP
+.hy
+("struct archive_entry *");
+\fIconst char *\fP
+.RE
+.nh
+\fBarchive_entry_hardlink\fP
+.hy
+("struct archive_entry *");
+\fIino_t\fP
+.RE
+.nh
+\fBarchive_entry_ino\fP
+.hy
+("struct archive_entry *");
+\fImode_t\fP
+.RE
+.nh
+\fBarchive_entry_mode\fP
+.hy
+("struct archive_entry *");
+\fItime_t\fP
+.RE
+.nh
+\fBarchive_entry_mtime\fP
+.hy
+("struct archive_entry *");
+\fIlong\fP
+.RE
+.nh
+\fBarchive_entry_mtime_nsec\fP
+.hy
+("struct archive_entry *");
+\fIunsigned int\fP
+.RE
+.nh
+\fBarchive_entry_nlink\fP
+.hy
+("struct archive_entry *");
+\fIstruct archive_entry *\fP
+.RE
+.nh
+\fBarchive_entry_new\fP
+.hy
+("void");
+\fIconst char *\fP
+.RE
+.nh
+\fBarchive_entry_pathname\fP
+.hy
+("struct archive_entry *");
+\fIconst wchar_t *\fP
+.RE
+.nh
+\fBarchive_entry_pathname_w\fP
+.hy
+("struct archive_entry *");
+\fIdev_t\fP
+.RE
+.nh
+\fBarchive_entry_rdev\fP
+.hy
+("struct archive_entry *");
+\fIdev_t\fP
+.RE
+.nh
+\fBarchive_entry_rdevmajor\fP
+.hy
+("struct archive_entry *");
+\fIdev_t\fP
+.RE
+.nh
+\fBarchive_entry_rdevminor\fP
+.hy
+("struct archive_entry *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_dev\fP
+.hy
+("struct archive_entry *" "dev_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_devmajor\fP
+.hy
+("struct archive_entry *" "dev_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_devminor\fP
+.hy
+("struct archive_entry *" "dev_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_filetype\fP
+.hy
+("struct archive_entry *" "unsigned int");
+\fIvoid\fP
+.RE
+Fo archive_entry_set_fflags
+Fa "struct archive_entry *"
+Fa "unsigned long set"
+Fa "unsigned long clear"
+Fc
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_gid\fP
+.hy
+("struct archive_entry *" "gid_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_gname\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_hardlink\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_ino\fP
+.hy
+("struct archive_entry *" "unsigned long");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_link\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_mode\fP
+.hy
+("struct archive_entry *" "mode_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_mtime\fP
+.hy
+("struct archive_entry *" "time_t" "long nanos");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_nlink\fP
+.hy
+("struct archive_entry *" "unsigned int");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_pathname\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_rdev\fP
+.hy
+("struct archive_entry *" "dev_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_rdevmajor\fP
+.hy
+("struct archive_entry *" "dev_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_rdevminor\fP
+.hy
+("struct archive_entry *" "dev_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_size\fP
+.hy
+("struct archive_entry *" "int64_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_symlink\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_uid\fP
+.hy
+("struct archive_entry *" "uid_t");
+\fIvoid\fP
+.RE
+.nh
+\fBarchive_entry_set_uname\fP
+.hy
+("struct archive_entry *" "const char *");
+\fIint64_t\fP
+.RE
+.nh
+\fBarchive_entry_size\fP
+.hy
+("struct archive_entry *");
+\fIconst char *\fP
+.RE
+.nh
+\fBarchive_entry_sourcepath\fP
+.hy
+("struct archive_entry *");
+\fIconst struct stat *\fP
+.RE
+.nh
+\fBarchive_entry_stat\fP
+.hy
+("struct archive_entry *");
+\fIconst char *\fP
+.RE
+.nh
+\fBarchive_entry_symlink\fP
+.hy
+("struct archive_entry *");
+\fIconst char *\fP
+.RE
+.nh
+\fBarchive_entry_uname\fP
+.hy
+("struct archive_entry *");
+.SH DESCRIPTION
+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:
+.TP
+.nh
+\fBarchive_entry_clear\fP
+.hy
+();
+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
+.nh
+\fBarchive_entry_clone\fP
+.hy
+();
+A deep copy operation; all text fields are duplicated.
+.TP
+.nh
+\fBarchive_entry_free\fP
+.hy
+();
+Releases the
+Tn struct archive_entry
+object.
+.TP
+.nh
+\fBarchive_entry_new\fP
+.hy
+();
+Allocate and return a blank
+Tn struct archive_entry
+object.
+.SS Set and Get Functions
+Most of the functions here set or read entries in an object.
+Such functions have one of the following forms:
+.TP
+.nh
+\fBarchive_entry_set_XXXX\fP
+.hy
+();
+Stores the provided data in the object.
+In particular, for strings, the pointer is stored,
+not the referenced string.
+.TP
+.nh
+\fBarchive_entry_copy_XXXX\fP
+.hy
+();
+As above, except that the referenced data is copied
+into the object.
+.TP
+.nh
+\fBarchive_entry_XXXX\fP
+.hy
+();
+Returns the specified data.
+In the case of strings, a const-qualified pointer to
+the string is returned.
+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.
+There are a few set/get functions that merit additional description:
+.TP
+.nh
+\fBarchive_entry_set_link\fP
+.hy
+();
+This function sets the symlink field if it is already set.
+Otherwise, it sets the hardlink field.
+.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.
+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.
+The canonical text format is a comma-separated list of flag names.
+The
+.nh
+\fBarchive_entry_copy_fflags_text\fP
+.hy
+();
+and
+.nh
+\fBarchive_entry_copy_fflags_text_w\fP
+.hy
+();
+functions parse the provided text and sets 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--including names that follow an unrecognized name--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.)
+.SS ACL Handling
+XXX This needs serious help.
+XXX
+An
+``Access Control List''
+(ACL) is a list of permissions that grant access to particular users or
+groups beyond what would normally be provided by standard POSIX mode bits.
+The ACL handling here addresses some deficiencies in the POSIX.1e draft 17 ACL
+specification.
+In particular, POSIX.1e draft 17 specifies several different formats, but
+none of those formats include both textual user/group names and numeric
+UIDs/GIDs.
+XXX explain ACL stuff XXX
+.SH SEE ALSO
+\fBarchive\fP(3)
+.SH HISTORY
+The
+\fBlibarchive\fP
+library first appeared in
+FreeBSD 5.3.
+.SH AUTHORS
+-nosplit
+The
+\fBlibarchive\fP
+library was written by
+Tim Kientzle <kientzle@acm.org.>