diff options
author | kientzle <kientzle@FreeBSD.org> | 2004-04-06 23:16:50 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2004-04-06 23:16:50 +0000 |
commit | f66baeffb4a34dc9ddefcb67483fe0eeb09f56b9 (patch) | |
tree | 90b995b3e74d4ca9b699ccd90f762138f10db7b4 /lib/libarchive/archive_entry.h | |
parent | 3a3d909a8cb270706cd7840fed0e6a63f046e2b4 (diff) | |
download | FreeBSD-src-f66baeffb4a34dc9ddefcb67483fe0eeb09f56b9.zip FreeBSD-src-f66baeffb4a34dc9ddefcb67483fe0eeb09f56b9.tar.gz |
Fix some issues with ACL handling:
* ACL storage is no longer erased before a group of entries are added.
* ACL text creation no longer tries to skip over non-existent text.
* UTF8 encoder no longer blows up on invalid wide characters.
* Fixed ACL state management for default ACLs.
Also, publicize function for obtaining text-format ACL in various
formats. The interface is now extensible through a "flags" argument
that allows you to select a variant format.
Diffstat (limited to 'lib/libarchive/archive_entry.h')
-rw-r--r-- | lib/libarchive/archive_entry.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/libarchive/archive_entry.h b/lib/libarchive/archive_entry.h index 0471f01..d749e9b 100644 --- a/lib/libarchive/archive_entry.h +++ b/lib/libarchive/archive_entry.h @@ -167,6 +167,21 @@ int archive_entry_acl_next_w(struct archive_entry *, int want_type, int *type, int *permset, int *tag, int *qual, const wchar_t **name); +/* + * Construct a text-format ACL. The flags argument is a bitmask that + * can include any of the following: + * + * ARCHIVE_ENTRY_ACL_TYPE_ACCESS - Include access entries. + * ARCHIVE_ENTRY_ACL_TYPE_DEFAULT - Include default entries. + * ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID - Include extra numeric ID field in + * each ACL entry. (As used by 'star'.) + * ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT - Include "default:" before each + * default ACL entry. + */ +#define ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID 1024 +#define ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 2048 +const wchar_t *archive_entry_acl_text_w(struct archive_entry *, int flags); + /* Return a count of entries matching 'want_type' */ int archive_entry_acl_count(struct archive_entry *, int want_type); |