diff -r 067ea2315a8a -r 5da2cf15eb44 libidav/webdav.h --- a/libidav/webdav.h Mon Dec 18 11:56:11 2017 +0100 +++ b/libidav/webdav.h Mon Dec 18 16:24:32 2017 +0100 @@ -64,6 +64,7 @@ typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*); typedef int(*dav_auth_func)(DavSession *, void *); +typedef void(*dav_progress_func)(DavResource *, int64_t, int64_t, void *); enum DavError { DAV_OK = 0, @@ -145,6 +146,10 @@ int(*auth_prompt)(DavSession *sn, void *userdata); void *authprompt_userdata; + + void(*get_progress)(DavResource *res, int64_t total, int64_t now, void *userdata); + void(*put_progress)(DavResource *res, int64_t total, int64_t now, void *userdata); + void *progress_userdata; }; struct DavContext { @@ -224,6 +229,7 @@ void dav_session_enable_encryption(DavSession *sn, DavKey *key, int flags); void dav_session_set_authcallback(DavSession *sn, dav_auth_func func, void *userdata); +void dav_session_set_progresscallback(DavSession *sn, dav_progress_func get, dav_progress_func put, void *userdata); void dav_session_destroy(DavSession *sn);