diff options
| author | Tomas Bzatek <tbzatek@redhat.com> | 2010-02-05 11:06:31 +0100 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@redhat.com> | 2010-02-05 11:06:31 +0100 |
| commit | baea7d877d3cf69679a39e8512a120658a478073 (patch) | |
| tree | 37c9a98cb3d3a322f3f91c8ca656ccd6bd2eaebe /libarchive/libarchive-2.8.0/doc/html/archive_entry.3.html | |
| parent | e42a4ff3031aa1c1aaf27aa34d9395fec185924b (diff) | |
| download | tuxcmd-modules-baea7d877d3cf69679a39e8512a120658a478073.tar.xz | |
Rebase libarchive to 2.8.0
Diffstat (limited to 'libarchive/libarchive-2.8.0/doc/html/archive_entry.3.html')
| -rw-r--r-- | libarchive/libarchive-2.8.0/doc/html/archive_entry.3.html | 694 |
1 files changed, 694 insertions, 0 deletions
diff --git a/libarchive/libarchive-2.8.0/doc/html/archive_entry.3.html b/libarchive/libarchive-2.8.0/doc/html/archive_entry.3.html new file mode 100644 index 0000000..7b30d72 --- /dev/null +++ b/libarchive/libarchive-2.8.0/doc/html/archive_entry.3.html @@ -0,0 +1,694 @@ +<!-- Creator : groff version 1.19.2 --> +<!-- CreationDate: Thu Feb 4 20:36:29 2010 --> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta name="generator" content="groff -Thtml, see www.gnu.org"> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<meta name="Content-Style" content="text/css"> +<style type="text/css"> + p { margin-top: 0; margin-bottom: 0; } + pre { margin-top: 0; margin-bottom: 0; } + table { margin-top: 0; margin-bottom: 0; } +</style> +<title></title> +</head> +<body> + +<hr> + + +<p valign="top">archive_entry(3) FreeBSD Library Functions +Manual archive_entry(3)</p> + +<p style="margin-top: 1em" valign="top"><b>NAME</b></p> + + +<p style="margin-left:8%;"><b>archive_entry_acl_add_entry</b>, +<b>archive_entry_acl_add_entry_w</b>, +<b>archive_entry_acl_clear</b>, +<b>archive_entry_acl_count</b>, +<b>archive_entry_acl_next</b>, +<b>archive_entry_acl_next_w</b>, +<b>archive_entry_acl_reset</b>, +<b>archive_entry_acl_text_w</b>, <b>archive_entry_atime</b>, +<b>archive_entry_atime_nsec</b>, <b>archive_entry_clear</b>, +<b>archive_entry_clone</b>, +<b>archive_entry_copy_fflags_text</b>, +<b>archive_entry_copy_fflags_text_w</b>, +<b>archive_entry_copy_gname</b>, +<b>archive_entry_copy_gname_w</b>, +<b>archive_entry_copy_hardlink</b>, +<b>archive_entry_copy_hardlink_w</b>, +<b>archive_entry_copy_link</b>, +<b>archive_entry_copy_link_w</b>, +<b>archive_entry_copy_pathname_w</b>, +<b>archive_entry_copy_sourcepath</b>, +<b>archive_entry_copy_stat</b>, +<b>archive_entry_copy_symlink</b>, +<b>archive_entry_copy_symlink_w</b>, +<b>archive_entry_copy_uname</b>, +<b>archive_entry_copy_uname_w</b>, <b>archive_entry_dev</b>, +<b>archive_entry_devmajor</b>, +<b>archive_entry_devminor</b>, +<b>archive_entry_filetype</b>, <b>archive_entry_fflags</b>, +<b>archive_entry_fflags_text</b>, <b>archive_entry_free</b>, +<b>archive_entry_gid</b>, <b>archive_entry_gname</b>, +<b>archive_entry_hardlink</b>, <b>archive_entry_ino</b>, +<b>archive_entry_mode</b>, <b>archive_entry_mtime</b>, +<b>archive_entry_mtime_nsec</b>, <b>archive_entry_nlink</b>, +<b>archive_entry_new</b>, <b>archive_entry_pathname</b>, +<b>archive_entry_pathname_w</b>, <b>archive_entry_rdev</b>, +<b>archive_entry_rdevmajor</b>, +<b>archive_entry_rdevminor</b>, +<b>archive_entry_set_atime</b>, +<b>archive_entry_set_ctime</b>, +<b>archive_entry_set_dev</b>, +<b>archive_entry_set_devmajor</b>, +<b>archive_entry_set_devminor</b>, +<b>archive_entry_set_filetype</b>, +<b>archive_entry_set_fflags</b>, +<b>archive_entry_set_gid</b>, +<b>archive_entry_set_gname</b>, +<b>archive_entry_set_hardlink</b>, +<b>archive_entry_set_link</b>, +<b>archive_entry_set_mode</b>, +<b>archive_entry_set_mtime</b>, +<b>archive_entry_set_pathname</b>, +<b>archive_entry_set_rdevmajor</b>, +<b>archive_entry_set_rdevminor</b>, +<b>archive_entry_set_size</b>, +<b>archive_entry_set_symlink</b>, +<b>archive_entry_set_uid</b>, +<b>archive_entry_set_uname</b>, <b>archive_entry_size</b>, +<b>archive_entry_sourcepath</b>, <b>archive_entry_stat</b>, +<b>archive_entry_symlink</b>, <b>archive_entry_uid</b>, +<b>archive_entry_uname</b> — functions for +manipulating archive entry descriptions</p> + + +<p style="margin-top: 1em" valign="top"><b>SYNOPSIS</b></p> + +<p style="margin-left:8%;"><b>#include +<archive_entry.h></b></p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p valign="top"><b>archive_entry_acl_add_entry</b>(<i>struct archive_entry *</i>, +<i>int type</i>, <i>int permset</i>, +<i>int tag</i>, <i>int qual</i>, +<i>const char *name</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p valign="top"><b>archive_entry_acl_add_entry_w</b>(<i>struct archive_entry *</i>, +<i>int type</i>, <i>int permset</i>, +<i>int tag</i>, <i>int qual</i>, +<i>const wchar_t *name</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_acl_clear</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>int</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_acl_count</b>(<i>struct archive_entry *</i>, +<i>int type</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>int</i></p> + + +<p valign="top"><b>archive_entry_acl_next</b>(<i>struct archive_entry *</i>, +<i>int want_type</i>, <i>int *type</i>, +<i>int *permset</i>, <i>int *tag</i>, +<i>int *qual</i>, +<i>const char **name</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>int</i></p> + + +<p valign="top"><b>archive_entry_acl_next_w</b>(<i>struct archive_entry *</i>, +<i>int want_type</i>, <i>int *type</i>, +<i>int *permset</i>, <i>int *tag</i>, +<i>int *qual</i>, +<i>const wchar_t **name</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>int</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_acl_reset</b>(<i>struct archive_entry *</i>, +<i>int want_type</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const wchar_t +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_acl_text_w</b>(<i>struct archive_entry *</i>, +<i>int flags</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>time_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_atime</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>long</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_atime_nsec</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>struct +archive_entry *</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_clear</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>struct +archive_entry *</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_clone</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char * +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_fflags_text_w</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const wchar_t +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_fflags_text_w</b>(<i>struct archive_entry *</i>, +<i>const wchar_t *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_gname</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_gname_w</b>(<i>struct archive_entry *</i>, +<i>const wchar_t *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_hardlink</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_hardlink_w</b>(<i>struct archive_entry *</i>, +<i>const wchar_t *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_sourcepath</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_pathname_w</b>(<i>struct archive_entry *</i>, +<i>const wchar_t *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_stat</b>(<i>struct archive_entry *</i>, +<i>const struct stat *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_symlink</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_symlink_w</b>(<i>struct archive_entry *</i>, +<i>const wchar_t *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_uname</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_copy_uname_w</b>(<i>struct archive_entry *</i>, +<i>const wchar_t *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>dev_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_dev</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>dev_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_devmajor</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>dev_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_devminor</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>mode_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_filetype</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p valign="top"><b>archive_entry_fflags</b>(<i>struct archive_entry *</i>, +<i>unsigned long *set</i>, +<i>unsigned long *clear</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_fflags_text</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_free</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_gname</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_hardlink</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>ino_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_ino</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>mode_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_mode</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>time_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_mtime</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>long</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_mtime_nsec</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>unsigned +int</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_nlink</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>struct +archive_entry *</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_new</b>(<i>void</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_pathname</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const wchar_t +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_pathname_w</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>dev_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_rdev</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>dev_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_rdevmajor</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>dev_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_rdevminor</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_dev</b>(<i>struct archive_entry *</i>, +<i>dev_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_devmajor</b>(<i>struct archive_entry *</i>, +<i>dev_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_devminor</b>(<i>struct archive_entry *</i>, +<i>dev_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_filetype</b>(<i>struct archive_entry *</i>, +<i>unsigned int</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p valign="top"><b>archive_entry_set_fflags</b>(<i>struct archive_entry *</i>, +<i>unsigned long set</i>, +<i>unsigned long clear</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_gid</b>(<i>struct archive_entry *</i>, +<i>gid_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_gname</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_hardlink</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_ino</b>(<i>struct archive_entry *</i>, +<i>unsigned long</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_link</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_mode</b>(<i>struct archive_entry *</i>, +<i>mode_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_mtime</b>(<i>struct archive_entry *</i>, +<i>time_t</i>, <i>long nanos</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_nlink</b>(<i>struct archive_entry *</i>, +<i>unsigned int</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_pathname</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_rdev</b>(<i>struct archive_entry *</i>, +<i>dev_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_rdevmajor</b>(<i>struct archive_entry *</i>, +<i>dev_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_rdevminor</b>(<i>struct archive_entry *</i>, +<i>dev_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_size</b>(<i>struct archive_entry *</i>, +<i>int64_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_symlink</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_uid</b>(<i>struct archive_entry *</i>, +<i>uid_t</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_set_uname</b>(<i>struct archive_entry *</i>, +<i>const char *</i>);</p> + + +<p style="margin-left:8%; margin-top: 1em"><i>int64_t</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_size</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_sourcepath</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const struct +stat *</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_stat</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_symlink</b>(<i>struct archive_entry *</i>);</p> + +<p style="margin-left:8%; margin-top: 1em"><i>const char +*</i></p> + + +<p style="margin-left:14%;"><b>archive_entry_uname</b>(<i>struct archive_entry *</i>);</p> + + +<p style="margin-top: 1em" valign="top"><b>DESCRIPTION</b></p> + +<p style="margin-left:8%;">These functions create and +manipulate data objects that represent entries within an +archive. You can think of a struct archive_entry as a +heavy-duty version of struct stat: it includes everything +from struct stat plus associated pathname, textual group and +user names, etc. These objects are used by libarchive(3) to +represent the metadata associated with a particular entry in +an archive.</p> + +<p style="margin-left:8%; margin-top: 1em"><b>Create and +Destroy</b> <br> +There are functions to allocate, destroy, clear, and copy +<i>archive_entry</i> objects:</p> + +<p valign="top"><b>archive_entry_clear</b>()</p> + +<p style="margin-left:20%;">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.</p> + +<p valign="top"><b>archive_entry_clone</b>()</p> + +<p style="margin-left:20%;">A deep copy operation; all text +fields are duplicated.</p> + +<p valign="top"><b>archive_entry_free</b>()</p> + +<p style="margin-left:20%;">Releases the struct +archive_entry object.</p> + +<p valign="top"><b>archive_entry_new</b>()</p> + +<p style="margin-left:20%;">Allocate and return a blank +struct archive_entry object.</p> + +<p style="margin-left:8%; margin-top: 1em"><b>Set and Get +Functions</b> <br> +Most of the functions here set or read entries in an object. +Such functions have one of the following forms:</p> + +<p valign="top"><b>archive_entry_set_XXXX</b>()</p> + +<p style="margin-left:20%;">Stores the provided data in the +object. In particular, for strings, the pointer is stored, +not the referenced string.</p> + +<p valign="top"><b>archive_entry_copy_XXXX</b>()</p> + +<p style="margin-left:20%;">As above, except that the +referenced data is copied into the object.</p> + +<p valign="top"><b>archive_entry_XXXX</b>()</p> + +<p style="margin-left:20%;">Returns the specified data. In +the case of strings, a const-qualified pointer to the string +is returned.</p> + +<p style="margin-left:8%;">String data can be set or +accessed as wide character strings or normal <i>char</i> +strings. The functions that use wide character strings are +suffixed with <b>_w</b>. 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.</p> + +<p style="margin-left:8%; margin-top: 1em">There are a few +set/get functions that merit additional description:</p> + +<p valign="top"><b>archive_entry_set_link</b>()</p> + +<p style="margin-left:20%;">This function sets the symlink +field if it is already set. Otherwise, it sets the hardlink +field.</p> + +<p style="margin-left:8%; margin-top: 1em"><b>File +Flags</b> <br> +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.</p> + +<p style="margin-left:8%; margin-top: 1em">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 fflagstostr(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.</p> + +<p style="margin-left:8%; margin-top: 1em">The canonical +text format is a comma-separated list of flag names. The +<b>archive_entry_copy_fflags_text</b>() and +<b>archive_entry_copy_fflags_text_w</b>() 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 +strtofflags(3), which stops parsing at the first +unrecognized name.)</p> + +<p style="margin-left:8%; margin-top: 1em"><b>ACL +Handling</b> <br> +XXX This needs serious help. XXX</p> + +<p style="margin-left:8%; margin-top: 1em">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.</p> + +<p style="margin-left:8%; margin-top: 1em">XXX explain ACL +stuff XXX</p> + +<p style="margin-top: 1em" valign="top"><b>SEE ALSO</b></p> + +<p style="margin-left:8%;">archive(3)</p> + +<p style="margin-top: 1em" valign="top"><b>HISTORY</b></p> + +<p style="margin-left:8%;">The <b>libarchive</b> library +first appeared in FreeBSD 5.3.</p> + +<p style="margin-top: 1em" valign="top"><b>AUTHORS</b></p> + +<p style="margin-left:8%;">The <b>libarchive</b> library +was written by Tim Kientzle +⟨kientzle@acm.org⟩.</p> + + +<p style="margin-left:8%; margin-top: 1em">FreeBSD 8.0 +May 12, 2008 FreeBSD 8.0</p> +<hr> +</body> +</html> |
