|
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>
|