diff -r 4d7ac67a1c14 -r 68e824ba4a4f src/server/public/webdav.h --- a/src/server/public/webdav.h Sun Dec 29 21:43:14 2019 +0100 +++ b/src/server/public/webdav.h Sun Dec 29 22:39:35 2019 +0100 @@ -46,6 +46,8 @@ typedef struct WebdavPList WebdavPList; typedef struct WebdavNSList WebdavNSList; +typedef struct WebdavPListIterator WebdavPListIterator; + typedef enum WebdavLockScope WebdavLockScope; typedef enum WebdavLockType WebdavLockType; @@ -124,6 +126,13 @@ WebdavNSList *next; }; +struct WebdavPListIterator { + WebdavPList **list; + WebdavPList *cur; + WebdavPList *next; + size_t index; +}; + enum WebdavLockScope { WEBDAV_LOCK_EXCLUSIVE = 0, WEBDAV_LOCK_SHARED, @@ -273,6 +282,10 @@ size_t webdav_plist_count(WebdavPList *list); +WebdavPListIterator webdav_plist_iterator(WebdavPList **list); +int webdav_plist_iterator_next(WebdavPListIterator *i, WebdavPList **cur); +void webdav_plist_iterator_remove_current(WebdavPListIterator *i); + WSNamespace* webdav_dav_namespace(void); WebdavProperty* webdav_dav_property( pool_handle_t *pool,