Archive-Libarchive-XS
view release on metacpan or search on metacpan
lib/Archive/Libarchive/XS.xs view on Meta::CPAN
struct archive_acl *
archive_entry_acl(entry)
struct archive_entry *entry
#endif
=head2 archive_entry_acl_clear
my $status = archive_entry_acl_clear($entry);
removes all ACL entries and resets the enumeration pointer.
=cut
#if HAS_archive_entry_acl_clear
int
archive_entry_acl_clear(entry)
struct archive_entry *entry
CODE:
archive_entry_acl_clear(entry);
RETVAL = ARCHIVE_OK;
OUTPUT:
RETVAL
#endif
=head2 archive_entry_acl_add_entry
my $status = archive_entry_acl_add_entry($entry, $type, $permset, $tag, $qual, $name);
Adds a single ACL entry. For the access ACL and non-extended principals, the classic
UNIX permissions are updated.
=cut
#if HAS_archive_entry_acl_add_entry
int
_archive_entry_acl_add_entry(entry, type, permset, tag, qual, name)
struct archive_entry *entry
int type
int permset
int tag
int qual
const char *name
CODE:
RETVAL = archive_entry_acl_add_entry(entry, type, permset, tag, qual, name);
OUTPUT:
RETVAL
#endif
=head2 archive_entry_acl_reset
my $status = archive_entry_acl_reset($entry, $want_type);
prepare reading the list of ACL entries with
L<#archive_entry_acl_next> or L<#archive_entry_acl_next_w>. The function returns
either 0, if no non-extended ACLs are found. In this case, the access permissions
should be obtained by L<#archive_entry_mode> or set using L<chmod|perlfunc#chmod>.
Otherwise, the function returns the same value as L<#archive_entry_acl_count>.
=cut
#if HAS_archive_entry_acl_reset
int
archive_entry_acl_reset(entry, want_type)
struct archive_entry *entry
int want_type
#endif
=head2 archive_entry_acl_next
my $status = archive_entry_acl_next($entry, $want_type, $type, $permset, $tag, $qual, $name);
return the next entry of the ACL list. This functions may only be called after L<#archive_entry_acl_reset>
has indicated the presence of extended ACL entries.
=cut
#if HAS_archive_entry_acl_next
int
archive_entry_acl_next(entry, want_type, type, permset, tag, qual, name)
struct archive_entry *entry
int want_type
SV *type
SV *permset
SV *tag
SV *qual
SV *name
CODE:
int a_type, a_permset, a_tag, a_qual;
const char *a_name;
RETVAL = archive_entry_acl_next(entry, want_type, &a_type, &a_permset, &a_tag, &a_qual, &a_name);
sv_setiv(type, a_type);
sv_setiv(permset, a_permset);
sv_setiv(tag, a_tag);
sv_setiv(qual, a_qual);
sv_setpv(name, a_name);
OUTPUT:
type
permset
tag
qual
name
#endif
=head2 archive_entry_acl_text
my $string = archive_entry_acl_text($entry, $flags);
converts the ACL entries for the given type mask into a string. In addition to the normal type flags,
C<ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID> and C<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
L<#archive_entry_acl_clear>, L<#archive_entry_acl_add_entry>, L<#archive_entry_acl_text>.
( run in 0.846 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )