--- a/dav/webdav.h Tue Aug 13 12:44:23 2013 +0200 +++ b/dav/webdav.h Tue Aug 13 13:51:00 2013 +0200 @@ -52,6 +52,16 @@ 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*); +enum DavError { + DAV_OK = 0, + DAV_ERROR, + DAV_NOT_FOUND, + DAV_UNAUTHORIZED, + DAV_FORBIDDEN +}; + +typedef enum DavError DavError; + struct DavNamespace { char *prefix; char *name; @@ -80,7 +90,7 @@ char *base_url; UcxMempool *mp; UcxAllocator *allocator; - int error; + DavError error; }; struct DavContext { @@ -130,6 +140,8 @@ DavSession* dav_session_new_auth(DavContext *context, char *base_url, char *user, char *password); void dav_session_set_auth(DavSession *sn, char *user, char *password); +void session_set_error(DavSession *sn, CURLcode c, int status); + DavResource* dav_get(DavSession *sn, char *path, char *properties); UcxList* parse_properties_string(DavContext *context, sstr_t str);