--- a/dav/finfo.h Tue Mar 12 09:35:04 2019 +0100 +++ b/dav/finfo.h Wed Mar 13 12:52:24 2019 +0100 @@ -40,12 +40,23 @@ #define FINFO_DATE 1 #define FINFO_OWNER 2 #define FINFO_MODE 4 +#define FINFO_XATTR 8 + +typedef struct XAttributes { + size_t nattr; + char **names; + sstr_t *values; + char *hash; +} XAttributes; uint32_t parse_finfo(const char *str); int resource_set_finfo(const char *path, DavResource *res, uint32_t finfo); int resource_set_finfo_s(struct stat *s, DavResource *res, uint32_t finfo); +XAttributes* file_get_attributes(const char *path); +int resource_set_xattr(DavResource *res, XAttributes *xattr); +void xattributes_free(XAttributes *xattr); #ifdef __cplusplus }