PUPNP_Api UpnpListIter UpnpListInsert(UpnpListHead *list, UpnpListIter pos, UpnpListHead *elt)
Insert element before pos, returns iterator pointing to inserted element.
struct UpnpListHead * prev
Points to previous entry in the list.
PUPNP_Api UpnpListIter UpnpListEnd(UpnpListHead *list)
Return end of list sentinel iterator (not an element)
PUPNP_Api UpnpListIter UpnpListErase(UpnpListHead *list, UpnpListIter pos)
Erase element at pos, return next one, or end()
PUPNP_Api UpnpListIter UpnpListBegin(UpnpListHead *list)
Return iterator pointing to the first list element, or UpnpListEnd(list) if the list is empty.
PUPNP_Api void UpnpListInit(UpnpListHead *list)
Initialize empty list.
PUPNP_Api UpnpListIter UpnpListNext(UpnpListHead *list, UpnpListIter pos)
Return iterator pointing to element after pos, or end()
struct UpnpListHead * next
Points to next entry in the list.
UpnpListHead * UpnpListIter
List iterator. Not strictly necessary, but clarifies the interface.
Macros to support visibility of external symbols.