diff -r 26a1d5b9d9d2 -r e3c0440bd599 dav/finfo.h --- a/dav/finfo.h Sun Mar 17 15:00:48 2019 +0100 +++ b/dav/finfo.h Sun Mar 17 18:11:31 2019 +0100 @@ -49,15 +49,31 @@ char *hash; } XAttributes; -uint32_t parse_finfo(const char *str, char **unknown); +typedef struct FileInfo { + time_t last_modified; + mode_t mode; + uid_t uid; + gid_t gid; + DavBool date_set; + DavBool mode_set; + DavBool uid_set; + DavBool gid_set; +} FileInfo; + +uint32_t parse_finfo_settings(const char *str, char **unknown); 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* xml_get_attributes(DavXmlNode *xml); XAttributes* file_get_attributes(const char *path); int resource_set_xattr(DavResource *res, XAttributes *xattr); void xattributes_free(XAttributes *xattr); +char* get_xattr_hash(DavXmlNode *finfo); + +void finfo_get_values(DavXmlNode *xml, FileInfo *outval); + #ifdef __cplusplus } #endif