diff options
Diffstat (limited to 'archivers/libarchive/files/doc/html/archive_entry_acl.3.html')
-rw-r--r-- | archivers/libarchive/files/doc/html/archive_entry_acl.3.html | 271 |
1 files changed, 271 insertions, 0 deletions
diff --git a/archivers/libarchive/files/doc/html/archive_entry_acl.3.html b/archivers/libarchive/files/doc/html/archive_entry_acl.3.html new file mode 100644 index 00000000000..f4068d341bf --- /dev/null +++ b/archivers/libarchive/files/doc/html/archive_entry_acl.3.html @@ -0,0 +1,271 @@ +<!-- Creator : groff version 1.22.3 --> +<!-- CreationDate: Sun Jun 19 19:54:05 2016 --> +<!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; vertical-align: top } + pre { margin-top: 0; margin-bottom: 0; vertical-align: top } + table { margin-top: 0; margin-bottom: 0; vertical-align: top } + h1 { text-align: center } +</style> +<title></title> +</head> +<body> + +<hr> + + +<p>ARCHIVE_ENTRY_ACL(3) BSD Library Functions Manual +ARCHIVE_ENTRY_ACL(3)</p> + +<p style="margin-top: 1em"><b>NAME</b></p> + + +<p style="margin-left:6%;"><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> — functions for +manipulating Access Control Lists in archive entry +descriptions</p> + +<p style="margin-top: 1em"><b>LIBRARY</b></p> + +<p style="margin-left:6%;">Streaming Archive Library +(libarchive, -larchive)</p> + +<p style="margin-top: 1em"><b>SYNOPSIS</b></p> + +<p style="margin-left:6%;"><b>#include +<archive_entry.h></b></p> + +<p style="margin-left:6%; margin-top: 1em"><i>void</i></p> + + +<p><b>archive_entry_acl_add_entry</b>(<i>struct archive_entry *a</i>, +<i>int type</i>, <i>int permset</i>, +<i>int tag</i>, <i>int qualifier</i>, +<i>const char *name</i>);</p> + +<p style="margin-left:6%; margin-top: 1em"><i>void</i></p> + + +<p><b>archive_entry_acl_add_entry_w</b>(<i>struct archive_entry *a</i>, +<i>int type</i>, <i>int permset</i>, +<i>int tag</i>, <i>int qualifier</i>, +<i>const wchar_t *name</i>);</p> + +<p style="margin-left:6%; margin-top: 1em"><i>void</i></p> + + +<p style="margin-left:12%;"><b>archive_entry_acl_clear</b>(<i>struct archive_entry *a</i>);</p> + +<p style="margin-left:6%; margin-top: 1em"><i>int</i></p> + + +<p style="margin-left:12%;"><b>archive_entry_acl_count</b>(<i>struct archive_entry *a</i>, +<i>int type</i>);</p> + +<p style="margin-left:6%; margin-top: 1em"><i>int</i></p> + + +<p><b>archive_entry_acl_next</b>(<i>struct archive_entry *a</i>, +<i>int type</i>, <i>int *ret_type</i>, +<i>int *ret_permset</i>, <i>int *ret_tag</i>, +<i>int *ret_qual</i>, +<i>const char **ret_name</i>);</p> + +<p style="margin-left:6%; margin-top: 1em"><i>int</i></p> + + +<p><b>archive_entry_acl_next_w</b>(<i>struct archive_entry *a</i>, +<i>int type</i>, <i>int *ret_type</i>, +<i>int *ret_permset</i>, <i>int *ret_tag</i>, +<i>int *ret_qual</i>, +<i>const wchar_t **ret_name</i>);</p> + +<p style="margin-left:6%; margin-top: 1em"><i>int</i></p> + + +<p style="margin-left:12%;"><b>archive_entry_acl_reset</b>(<i>struct archive_entry *a</i>, +<i>int type</i>);</p> + +<p style="margin-left:6%; margin-top: 1em"><i>const wchar_t +*</i></p> + + +<p style="margin-left:12%;"><b>archive_entry_acl_text_w</b>(<i>struct archive_entry *a</i>, +<i>int flags</i>);</p> + +<p style="margin-top: 1em"><b>DESCRIPTION</b></p> + +<p style="margin-left:6%;">An ’’Access Control +List’’ is a generalisation of the classic Unix +permission system. The ACL interface of <b>libarchive</b> is +derived from the POSIX.1e draft, but restricted to simplify +dealing with practical implementations in various Operating +Systems and archive formats.</p> + +<p style="margin-left:6%; margin-top: 1em">An ACL consists +of a number of independent entries. Each entry specifies the +permission set as bitmask of basic permissions. Valid +permissions are:</p> + +<p>ARCHIVE_ENTRY_ACL_EXECUTE <br> +ARCHIVE_ENTRY_ACL_WRITE <br> +ARCHIVE_ENTRY_ACL_READ</p> + +<p style="margin-left:6%; margin-top: 1em">The permissions +correspond to the normal Unix permissions.</p> + +<p style="margin-left:6%; margin-top: 1em">The tag +specifies the principal to which the permission applies. +Valid values are:</p> + +<p>ARCHIVE_ENTRY_ACL_USER</p> + +<p style="margin-left:51%; margin-top: 1em">The user +specified by the name field.</p> + +<p>ARCHIVE_ENTRY_ACL_USER_OBJ</p> + +<p style="margin-left:51%; margin-top: 1em">The owner of +the file.</p> + +<p>ARCHIVE_ENTRY_ACL_GROUP</p> + +<p style="margin-left:51%; margin-top: 1em">The group +specied by the name field.</p> + +<p>ARCHIVE_ENTRY_ACL_GROUP_OBJ</p> + +<p style="margin-left:51%; margin-top: 1em">The group who +owns the file.</p> + +<p>ARCHIVE_ENTRY_ACL_MASK</p> + +<p style="margin-left:51%; margin-top: 1em">The maximum +permissions to be obtained via group permissions.</p> + +<p>ARCHIVE_ENTRY_ACL_OTHER</p> + +<p style="margin-left:51%; margin-top: 1em">Any principal +who doesn’t have a user or group entry.</p> + +<p style="margin-left:6%;">The principals +ARCHIVE_ENTRY_ACL_USER_OBJ, ARCHIVE_ENTRY_ACL_GROUP_OBJ and +ARCHIVE_ENTRY_ACL_OTHER are equivalent to user, group and +other in the classic Unix permission model and specify +non-extended ACL entries.</p> + +<p style="margin-left:6%; margin-top: 1em">All files have +an access ACL (ARCHIVE_ENTRY_ACL_TYPE_ACCESS). This +specifies the permissions required for access to the file +itself. Directories have an additional ACL +(ARCHIVE_ENTRY_ACL_TYPE_DEFAULT), which controls the initial +access ACL for newly created directory entries.</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_acl_add_entry</b>() +and <b>archive_entry_acl_add_entry_w</b>() add a single ACL +entry. For the access ACL and non-extended principals, the +classic Unix permissions are updated.</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_acl_clear</b>() +removes all ACL entries and resets the enumeration +pointer.</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_acl_count</b>() +counts the ACL entries that have the given type mask. +<i>type</i> can be the bitwise-or of +ARCHIVE_ENTRY_ACL_TYPE_ACCESS and +ARCHIVE_ENTRY_ACL_TYPE_DEFAULT. If +ARCHIVE_ENTRY_ACL_TYPE_ACCESS is included and at least one +extended ACL entry is found, the three non-extened ACLs are +added.</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_acl_next</b>() +and <b>archive_entry_acl_next_w</b>() return the next entry +of the ACL list. This functions may only be called after +<b>archive_entry_acl_reset</b>() has indicated the presence +of extended ACL entries.</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_acl_reset</b>() +prepare reading the list of ACL entries with +<b>archive_entry_acl_next</b>() or +<b>archive_entry_acl_next_w</b>(). The function returns +either 0, if no non-extended ACLs are found. In this case, +the access permissions should be obtained by +archive_entry_mode(3) or set using chmod(2). Otherwise, the +function returns the same value as +<b>archive_entry_acl_count</b>().</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_acl_text_w</b>() +converts the ACL entries for the given type mask into a wide +string. In addition to the normal type flags, +ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID and +ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT can be specified to +further customize the result. The returned long string is +valid until the next call to +<b>archive_entry_acl_clear</b>(), +<b>archive_entry_acl_add_entry</b>(), +<b>archive_entry_acl_add_entry_w</b>() or +<b>archive_entry_acl_text_w</b>().</p> + +<p style="margin-top: 1em"><b>RETURN VALUES</b></p> + + +<p style="margin-left:6%;"><b>archive_entry_acl_count</b>() +and <b>archive_entry_acl_reset</b>() returns the number of +ACL entries that match the given type mask. If the type mask +includes ARCHIVE_ENTRY_ACL_TYPE_ACCESS and at least one +extended ACL entry exists, the three classic Unix +permissions are counted.</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_acl_next</b>() +and <b>archive_entry_acl_next_w</b>() return ARCHIVE_OK on +success, ARCHIVE_EOF if no more ACL entries exist and +ARCHIVE_WARN if <b>archive_entry_acl_reset</b>() has not +been called first.</p> + + +<p style="margin-left:6%; margin-top: 1em"><b>archive_entry_text_w</b>() +returns a wide string representation of the ACL entrise +matching the given type mask. The returned long string is +valid until the next call to +<b>archive_entry_acl_clear</b>(), +<b>archive_entry_acl_add_entry</b>(), +<b>archive_entry_acl_add_entry_w</b>() or +<b>archive_entry_acl_text_w</b>().</p> + +<p style="margin-top: 1em"><b>SEE ALSO</b></p> + +<p style="margin-left:6%;">archive_entry(3) +libarchive(3),</p> + +<p style="margin-top: 1em"><b>BUGS</b></p> + + +<p style="margin-left:6%;">ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID +and ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT are not +documented.</p> + +<p style="margin-left:6%; margin-top: 1em">BSD +February 2, 2012 BSD</p> +<hr> +</body> +</html> |