libidav/webdav.h

changeset 354
067ea2315a8a
parent 338
c7f3fe4abdb2
child 355
5da2cf15eb44
equal deleted inserted replaced
353:e554f3d72d9e 354:067ea2315a8a
60 typedef struct DavKey DavKey; 60 typedef struct DavKey DavKey;
61 typedef struct DavXmlNode DavXmlNode; 61 typedef struct DavXmlNode DavXmlNode;
62 62
63 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*); 63 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*);
64 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*); 64 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*);
65
66 typedef int(*dav_auth_func)(DavSession *, void *);
65 67
66 enum DavError { 68 enum DavError {
67 DAV_OK = 0, 69 DAV_OK = 0,
68 DAV_ERROR, 70 DAV_ERROR,
69 DAV_NOT_FOUND, 71 DAV_NOT_FOUND,
138 DavKey *key; 140 DavKey *key;
139 void *locks; 141 void *locks;
140 uint32_t flags; 142 uint32_t flags;
141 DavError error; 143 DavError error;
142 char *errorstr; 144 char *errorstr;
145
146 int(*auth_prompt)(DavSession *sn, void *userdata);
147 void *authprompt_userdata;
143 }; 148 };
144 149
145 struct DavContext { 150 struct DavContext {
146 UcxMap *namespaces; 151 UcxMap *namespaces;
147 UcxMap *keys; 152 UcxMap *keys;
148 UcxList *sessions; 153 UcxList *sessions;
149 DavProxy *http_proxy; 154 DavProxy *http_proxy;
150 DavProxy *https_proxy; 155 DavProxy *https_proxy;
151 }; 156 };
152 157
153 struct DavProxy { 158 struct DavProxy {
215 char *base_url, 220 char *base_url,
216 char *user, 221 char *user,
217 char *password); 222 char *password);
218 void dav_session_set_auth(DavSession *sn, char *user, char *password); 223 void dav_session_set_auth(DavSession *sn, char *user, char *password);
219 void dav_session_enable_encryption(DavSession *sn, DavKey *key, int flags); 224 void dav_session_enable_encryption(DavSession *sn, DavKey *key, int flags);
225
226 void dav_session_set_authcallback(DavSession *sn, dav_auth_func func, void *userdata);
220 227
221 void dav_session_destroy(DavSession *sn); 228 void dav_session_destroy(DavSession *sn);
222 229
223 void* dav_session_malloc(DavSession *sn, size_t size); 230 void* dav_session_malloc(DavSession *sn, size_t size);
224 void* dav_session_calloc(DavSession *sn, size_t nelm, size_t size); 231 void* dav_session_calloc(DavSession *sn, size_t nelm, size_t size);

mercurial