Blame doc/html/archive_entry_perms.3.html

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348
"http://www.w3.org/TR/html4/loose.dtd">
Packit Service 1d0348
<html>
Packit Service 1d0348
<head>
Packit Service 1d0348
<meta name="generator" content="groff -Thtml, see www.gnu.org">
Packit Service 1d0348
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
Packit Service 1d0348
<meta name="Content-Style" content="text/css">
Packit Service 1d0348
<style type="text/css">
Packit Service 1d0348
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       h1      { text-align: center }
Packit Service 1d0348
</style>
Packit Service 1d0348
<title></title>
Packit Service 1d0348
</head>
Packit Service 1d0348
<body>
Packit Service 1d0348
Packit Service 1d0348

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

ARCHIVE_ENTRY_PERMS(3) BSD Library Functions Manual

Packit Service 1d0348
ARCHIVE_ENTRY_PERMS(3)

Packit Service 1d0348
Packit Service 1d0348

NAME

Packit Service 1d0348
Packit Service 1d0348

archive_entry_gid,

Packit Service 1d0348
archive_entry_set_gid, archive_entry_uid,
Packit Service 1d0348
archive_entry_set_uid, archive_entry_perm,
Packit Service 1d0348
archive_entry_set_perm, archive_entry_strmode,
Packit Service 1d0348
archive_entry_uname, archive_entry_uname_w,
Packit Service 1d0348
archive_entry_set_uname,
Packit Service 1d0348
archive_entry_copy_uname,
Packit Service 1d0348
archive_entry_copy_uname_w,
Packit Service 1d0348
archive_entry_update_uname_utf8,
Packit Service 1d0348
archive_entry_gname, archive_entry_gname_w,
Packit Service 1d0348
archive_entry_set_gname,
Packit Service 1d0348
archive_entry_copy_gname,
Packit Service 1d0348
archive_entry_copy_gname_w,
Packit Service 1d0348
archive_entry_update_gname_utf8,
Packit Service 1d0348
archive_entry_fflags,
Packit Service 1d0348
archive_entry_fflags_text,
Packit Service 1d0348
archive_entry_set_fflags,
Packit Service 1d0348
archive_entry_copy_fflags_text,
Packit Service 1d0348
archive_entry_copy_fflags_text_w — functions
Packit Service 1d0348
for manipulating ownership and permissions in archive entry
Packit Service 1d0348
descriptions

Packit Service 1d0348
Packit Service 1d0348

LIBRARY

Packit Service 1d0348
Packit Service 1d0348

Streaming Archive Library

Packit Service 1d0348
(libarchive, -larchive)

Packit Service 1d0348
Packit Service 1d0348

SYNOPSIS

Packit Service 1d0348
Packit Service 1d0348

#include

Packit Service 1d0348
<archive_entry.h>

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

gid_t

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_gid(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_set_gid(struct archive_entry *a,

Packit Service 1d0348
gid_t gid);

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

uid_t

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_uid(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_set_uid(struct archive_entry *a,

Packit Service 1d0348
uid_t uid);

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

mode_t

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_perm(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_set_perm(struct archive_entry *a,

Packit Service 1d0348
mode_t mode);

Packit Service 1d0348
Packit Service 1d0348

const char

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_strmode(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

const char

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_gname(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

const wchar_t

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_gname_w(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_set_gname(struct archive_entry *a,

Packit Service 1d0348
const char *a);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_copy_gname(struct archive_entry *a,

Packit Service 1d0348
const char *name);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_copy_gname_w(struct archive_entry *a,

Packit Service 1d0348
const wchar_t *name);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_update_gname_utf8(struct archive_entry *a,

Packit Service 1d0348
const char *name);

Packit Service 1d0348
Packit Service 1d0348

const char

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_uname(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

const wchar_t

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_uname_w(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_set_uname(struct archive_entry *a,

Packit Service 1d0348
const char *name);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_copy_uname(struct archive_entry *a,

Packit Service 1d0348
const char *name);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_copy_uname_w(struct archive_entry *a,

Packit Service 1d0348
const wchar_t *name);

Packit Service 1d0348
Packit Service 1d0348

int

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_update_uname_utf8(struct archive_entry *a,

Packit Service 1d0348
const char *name);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_fflags(struct archive_entry *a,

Packit Service 1d0348
unsigned long *set_bits,
Packit Service 1d0348
unsigned long *clear_bits);

Packit Service 1d0348
Packit Service 1d0348

const char

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_fflags_text(struct archive_entry *a);

Packit Service 1d0348
Packit Service 1d0348

void

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_set_fflags(struct archive_entry *a,

Packit Service 1d0348
unsigned long set_bits,
Packit Service 1d0348
unsigned long clear_bits);

Packit Service 1d0348
Packit Service 1d0348

const char

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_copy_fflags_text(struct archive_entry *a,

Packit Service 1d0348
const char *text);

Packit Service 1d0348
Packit Service 1d0348

const wchar_t

Packit Service 1d0348
*

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_copy_fflags_text_w(struct archive_entry *a,

Packit Service 1d0348
const wchar_t *text);

Packit Service 1d0348
Packit Service 1d0348

DESCRIPTION

Packit Service 1d0348
Packit Service 1d0348

User id, group id and

Packit Service 1d0348
mode 
Packit Service 1d0348
The functions archive_entry_uid(),
Packit Service 1d0348
archive_entry_gid(), and archive_entry_perm()
Packit Service 1d0348
can be used to extract the user id, group id and permission
Packit Service 1d0348
from the given entry. The corresponding functions
Packit Service 1d0348
archive_entry_set_uid(),
Packit Service 1d0348
archive_entry_set_gid(), and
Packit Service 1d0348
archive_entry_set_perm() store the given user id,
Packit Service 1d0348
group id and permission in the entry. The permission is also
Packit Service 1d0348
set as side effect of calling
Packit Service 1d0348
archive_entry_set_mode().

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_strmode()

Packit Service 1d0348
returns a string representation of the permission as used by
Packit Service 1d0348
the long mode of ls(1).

Packit Service 1d0348
Packit Service 1d0348

User and

Packit Service 1d0348
group name 
Packit Service 1d0348
User and group names can be provided in one of three
Packit Service 1d0348
different ways:

Packit Service 1d0348
Packit Service 1d0348

char *

Packit Service 1d0348
Packit Service 1d0348

Multibyte

Packit Service 1d0348
strings in the current locale.

Packit Service 1d0348
Packit Service 1d0348

wchar_t *

Packit Service 1d0348
Packit Service 1d0348

Wide character

Packit Service 1d0348
strings in the current locale. The accessor functions are
Packit Service 1d0348
named XXX_w().

Packit Service 1d0348
Packit Service 1d0348

UTF-8

Packit Service 1d0348
Packit Service 1d0348

Unicode strings

Packit Service 1d0348
encoded as UTF-8. This are convience functions to update
Packit Service 1d0348
both the multibyte and wide character strings at the same
Packit Service 1d0348
time.

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

archive_entry_set_XXX()

Packit Service 1d0348
is an alias for archive_entry_copy_XXX().

Packit Service 1d0348
Packit Service 1d0348

File

Packit Service 1d0348
Flags 
Packit Service 1d0348
File flags are transparently converted between a bitmap
Packit Service 1d0348
representation and a textual format. For example, if you set
Packit Service 1d0348
the bitmap and ask for text, the library will build a
Packit Service 1d0348
canonical text format. However, if you set a text format and
Packit Service 1d0348
request a text format, you will get back the same text, even
Packit Service 1d0348
if it is ill-formed. If you need to canonicalize a textual
Packit Service 1d0348
flags string, you should first set the text form, then
Packit Service 1d0348
request the bitmap form, then use that to set the bitmap
Packit Service 1d0348
form. Setting the bitmap format will clear the internal text
Packit Service 1d0348
representation and force it to be reconstructed when you
Packit Service 1d0348
next request the text form.

Packit Service 1d0348
Packit Service 1d0348

The bitmap

Packit Service 1d0348
format consists of two integers, one containing bits that
Packit Service 1d0348
should be set, the other specifying bits that should be
Packit Service 1d0348
cleared. Bits not mentioned in either bitmap will be
Packit Service 1d0348
ignored. Usually, the bitmap of bits to be cleared will be
Packit Service 1d0348
set to zero. In unusual circumstances, you can force a
Packit Service 1d0348
fully-specified set of file flags by setting the bitmap of
Packit Service 1d0348
flags to clear to the complement of the bitmap of flags to
Packit Service 1d0348
set. (This differs from fflagstostr(3), which only includes
Packit Service 1d0348
names for set bits.) Converting a bitmap to a textual string
Packit Service 1d0348
is a platform-specific operation; bits that are not
Packit Service 1d0348
meaningful on the current platform will be ignored.

Packit Service 1d0348
Packit Service 1d0348

The canonical

Packit Service 1d0348
text format is a comma-separated list of flag names. The
Packit Service 1d0348
archive_entry_copy_fflags_text() and
Packit Service 1d0348
archive_entry_copy_fflags_text_w() functions parse
Packit Service 1d0348
the provided text and sets the internal bitmap values. This
Packit Service 1d0348
is a platform-specific operation; names that are not
Packit Service 1d0348
meaningful on the current platform will be ignored. The
Packit Service 1d0348
function returns a pointer to the start of the first name
Packit Service 1d0348
that was not recognized, or NULL if every name was
Packit Service 1d0348
recognized. Note that every name — including names
Packit Service 1d0348
that follow an unrecognized name — will be evaluated,
Packit Service 1d0348
and the bitmaps will be set to reflect every name that is
Packit Service 1d0348
recognized. (In particular, this differs from
Packit Service 1d0348
strtofflags(3), which stops parsing at the first
Packit Service 1d0348
unrecognized name.)

Packit Service 1d0348
Packit Service 1d0348

SEE ALSO

Packit Service 1d0348
Packit Service 1d0348

archive_entry(3),

Packit Service 1d0348
archive_entry_acl(3), archive_read_disk(3),
Packit Service 1d0348
archive_write_disk(3) libarchive(3),

Packit Service 1d0348
Packit Service 1d0348

BUGS

Packit Service 1d0348
Packit Service 1d0348

The platform types uid_t

Packit Service 1d0348
and gid_t are often 16 or 32 bit wide. In this case
Packit Service 1d0348
it is possible that the ids can not be correctly restored
Packit Service 1d0348
from archives and get truncated.

Packit Service 1d0348
Packit Service 1d0348

BSD

Packit Service 1d0348
February 2, 2012 BSD

Packit Service 1d0348

Packit Service 1d0348
</body>
Packit Service 1d0348
</html>