--- a/dav/db.h Wed Mar 13 12:52:24 2019 +0100 +++ b/dav/db.h Wed Mar 13 15:05:40 2019 +0100 @@ -29,6 +29,7 @@ #ifndef DB_H #define DB_H +#include <inttypes.h> #include <libidav/webdav.h> #include <ucx/map.h> #include <ucx/buffer.h> @@ -40,6 +41,9 @@ extern "C" { #endif +#define DB_STORE_MODE 1 +#define DB_STORE_USER 2 + typedef struct LocalResource LocalResource; typedef struct SyncDatabase SyncDatabase; @@ -48,12 +52,16 @@ char *path; char *etag; time_t last_modified; + mode_t mode; + uid_t uid; + gid_t gid; off_t size; DavBool isdirectory; DavBool skipped; DavBool tags_updated; UcxBuffer *cached_tags; char *tags_hash; + char *xattr_hash; DavBool keep; DavBool restore; @@ -65,7 +73,7 @@ }; SyncDatabase* load_db(char *name); -int store_db(SyncDatabase *db, char *name); +int store_db(SyncDatabase *db, char *name, uint32_t settings); void destroy_db(SyncDatabase *db); void local_resource_free(LocalResource *res);