diff options
Diffstat (limited to 'src/common.h')
-rw-r--r-- | src/common.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/common.h b/src/common.h index 6dd1abd..b82558d 100644 --- a/src/common.h +++ b/src/common.h @@ -255,6 +255,15 @@ GLOBAL int same_owner_option; /* If positive, preserve permissions when extracting. */ GLOBAL int same_permissions_option; +/* If positive, save the SELinux context. */ +GLOBAL int selinux_context_option; + +/* If positive, save the ACLs. */ +GLOBAL int acls_option; + +/* If positive, save the user and root xattrs. */ +GLOBAL int xattrs_option; + /* When set, strip the given number of file name components from the file name before extracting */ GLOBAL size_t strip_name_components; @@ -666,6 +675,9 @@ extern char *output_start; void update_archive (void); +/* Module attrs.c. */ +#include "xattrs.h" + /* Module xheader.c. */ void xheader_init (struct xheader *xhdr); @@ -687,6 +699,12 @@ bool xheader_string_end (struct xheader *xhdr, char const *keyword); bool xheader_keyword_deleted_p (const char *kw); char *xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n); +void xheader_xattr_init(struct tar_stat_info *st); +void xheader_xattr_free(struct xattr_array *vals, size_t sz); +void xheader_xattr_copy(const struct tar_stat_info *st, + struct xattr_array **vals, size_t *sz); +void xheader_xattr_add(struct tar_stat_info *st, + const char *key, const char *val, size_t len); /* Module system.c */ |