X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=avahi-common%2Frlist.h;h=57b258cd5330b00caae7bf42aaefcaa91755b9d3;hb=a36df935a82b59544fa4fa56effef0ab123a97ce;hp=96c03f159968868e49508317a46d2e7af2c68ce2;hpb=1b8b3c22a69f5d0cf8f6ff6bcb8a4cc770faa113;p=catta diff --git a/avahi-common/rlist.h b/avahi-common/rlist.h index 96c03f1..57b258c 100644 --- a/avahi-common/rlist.h +++ b/avahi-common/rlist.h @@ -22,17 +22,34 @@ USA. ***/ +/** \file rlist.h A simple linked list implementation */ + #include "llist.h" +#ifndef DOXYGEN_SHOULD_SKIP_THIS +AVAHI_C_DECL_BEGIN +#endif + +/** 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); +#ifndef DOXYGEN_SHOULD_SKIP_THIS +AVAHI_C_DECL_END +#endif + #endif