X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-common%2Frlist.h;h=0b88955f8d51e80f1d071d6428027189dc55b4c3;hb=aa157bc129efe89e13972c40a283df9a3ca46480;hp=96c03f159968868e49508317a46d2e7af2c68ce2;hpb=1b8b3c22a69f5d0cf8f6ff6bcb8a4cc770faa113;p=catta diff --git a/avahi-common/rlist.h b/avahi-common/rlist.h index 96c03f1..0b88955 100644 --- a/avahi-common/rlist.h +++ b/avahi-common/rlist.h @@ -22,17 +22,30 @@ USA. ***/ +/** \file rlist.h A simple linked list implementation */ + #include "llist.h" +AVAHI_C_DECL_BEGIN + +/** A doubly linked list type */ typedef struct AvahiRList AvahiRList; +/** A doubly linked list type */ struct AvahiRList { AVAHI_LLIST_FIELDS(AvahiRList, rlist); void *data; }; +/** Prepend a new item to the beginning of the list and return the new beginning */ AvahiRList* avahi_rlist_prepend(AvahiRList *r, void *data); + +/** Remove the first occurence of the specified item from the list and return the new beginning */ AvahiRList* avahi_rlist_remove(AvahiRList *r, void *data); + +/** Remove the specified item from the list and return the new beginning */ AvahiRList* avahi_rlist_remove_by_link(AvahiRList *r, AvahiRList *n); +AVAHI_C_DECL_END + #endif