diff -r 56e6b5ccbf11 -r 35a421f441d5 libidav/webdav.h --- a/libidav/webdav.h Fri Jun 04 18:24:39 2021 +0200 +++ b/libidav/webdav.h Fri Jun 04 18:24:55 2021 +0200 @@ -49,18 +49,21 @@ #define FALSE 0 #endif -typedef struct DavContext DavContext; -typedef struct DavProxy DavProxy; -typedef struct DavSession DavSession; -typedef struct DavResource DavResource; -typedef struct DavResult DavResult; -typedef struct DavNamespace DavNamespace; -typedef struct DavProperty DavProperty; -typedef struct DavPropName DavPropName; -typedef struct DavKey DavKey; -typedef struct DavNSInfo DavNSInfo; -typedef struct DavXmlNode DavXmlNode; -typedef struct DavXmlAttr DavXmlAttr; +typedef struct DavContext DavContext; +typedef struct DavProxy DavProxy; +typedef struct DavSession DavSession; +typedef struct DavResource DavResource; +typedef struct DavResult DavResult; +typedef struct DavNamespace DavNamespace; +typedef struct DavProperty DavProperty; +typedef struct DavPropName DavPropName; +typedef struct DavKey DavKey; +typedef struct DavNSInfo DavNSInfo; +typedef struct DavXmlNode DavXmlNode; +typedef struct DavXmlAttr DavXmlAttr; + +typedef struct DavInputStream DavInputStream; +typedef struct DavOutputStream DavOutputStream; 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*); @@ -335,6 +338,14 @@ int dav_store(DavResource *res); int dav_get_content(DavResource *res, void *stream, dav_write_func write_func); +DavInputStream* dav_inputstream_open(DavResource *res); +size_t dav_read(void *buf, size_t size, size_t nitems, DavInputStream *in); +void dav_inputstream_close(DavInputStream *in); + +DavOutputStream* dav_outputstream_open(DavResource *res); +size_t dav_write(const void *buf, size_t size, size_t nitems, DavOutputStream *out); +int dav_outputstream_close(DavOutputStream *out); + // private int dav_propfind(DavSession *sn, DavResource *root, UcxBuffer *rqbuf);