libidav/webdav.h

changeset 354
067ea2315a8a
parent 338
c7f3fe4abdb2
child 355
5da2cf15eb44
--- a/libidav/webdav.h	Tue Dec 12 23:58:54 2017 +0100
+++ b/libidav/webdav.h	Mon Dec 18 11:56:11 2017 +0100
@@ -63,6 +63,8 @@
 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*);
 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*);
 
+typedef int(*dav_auth_func)(DavSession *, void *);
+
 enum DavError {
     DAV_OK = 0,
     DAV_ERROR,
@@ -140,12 +142,15 @@
     uint32_t      flags;
     DavError      error;
     char          *errorstr;
+    
+    int(*auth_prompt)(DavSession *sn, void *userdata);
+    void *authprompt_userdata;
 };
 
 struct DavContext {
-    UcxMap  *namespaces;
-    UcxMap  *keys;
-    UcxList *sessions;
+    UcxMap   *namespaces;
+    UcxMap   *keys;
+    UcxList  *sessions;
     DavProxy *http_proxy;
     DavProxy *https_proxy;
 };
@@ -218,6 +223,8 @@
 void dav_session_set_auth(DavSession *sn, char *user, char *password);
 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_destroy(DavSession *sn);
 
 void* dav_session_malloc(DavSession *sn, size_t size);

mercurial