diff options
Diffstat (limited to 'include/sqfs/xattr.h')
-rw-r--r-- | include/sqfs/xattr.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/sqfs/xattr.h b/include/sqfs/xattr.h index 2e48a4e..92fdbfe 100644 --- a/include/sqfs/xattr.h +++ b/include/sqfs/xattr.h @@ -9,6 +9,8 @@ #include "config.h" +#include "sqfs/compress.h" + #include <stdbool.h> #include <stdint.h> #include <stddef.h> @@ -45,6 +47,8 @@ typedef struct { uint32_t unused; } sqfs_xattr_id_table_t; +typedef struct xattr_reader_t xattr_reader_t; + #ifdef __cplusplus extern "C" { #endif @@ -58,6 +62,21 @@ int sqfs_get_xattr_prefix_id(const char *key); /* Check if a given xattr key can be encoded in squashfs at all. */ bool sqfs_has_xattr(const char *key); +void xattr_reader_destroy(xattr_reader_t *xr); + +xattr_reader_t *xattr_reader_create(int sqfsfd, sqfs_super_t *super, + compressor_t *cmp); + +int xattr_reader_get_desc(xattr_reader_t *xr, uint32_t idx, + sqfs_xattr_id_t *desc); + +int xattr_reader_seek_kv(xattr_reader_t *xr, const sqfs_xattr_id_t *desc); + +sqfs_xattr_value_t *xattr_reader_read_value(xattr_reader_t *xr, + const sqfs_xattr_entry_t *key); + +sqfs_xattr_entry_t *xattr_reader_read_key(xattr_reader_t *xr); + #ifdef __cplusplus } #endif |