X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=avahi-common%2Fllist.h;h=e37056d9892c962207c94b7fc6dcf4e3c174bacc;hb=d0c0bfc1f46f407d31e5f50963457be201343ae3;hp=4f48b55d81362a2e1930be4c5d9ba2f454eaed4b;hpb=e63a65b3955b173a3e8d6b78c6377a518a9922d6;p=catta diff --git a/avahi-common/llist.h b/avahi-common/llist.h index 4f48b55..e37056d 100644 --- a/avahi-common/llist.h +++ b/avahi-common/llist.h @@ -1,49 +1,51 @@ #ifndef foollistfoo #define foollistfoo -/* $Id$ */ - /*** This file is part of avahi. - + avahi is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. - + avahi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - + You should have received a copy of the GNU Lesser General Public License along with avahi; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. ***/ -/* Some macros for maintaining doubly linked lists */ +/** \file llist.h A simple macro based linked list implementation */ #include -/* The head of the linked list. Use this in the structure that shall +#include + +AVAHI_C_DECL_BEGIN + +/** The head of the linked list. Use this in the structure that shall * contain the head of the linked list */ #define AVAHI_LLIST_HEAD(t,name) t *name -/* The pointers in the linked list's items. Use this in the item structure */ +/** The pointers in the linked list's items. Use this in the item structure */ #define AVAHI_LLIST_FIELDS(t,name) t *name##_next, *name##_prev -/* Initialize the list's head */ +/** Initialize the list's head */ #define AVAHI_LLIST_HEAD_INIT(t,head) do { (head) = NULL; } while(0) -/* Initialize a list item */ +/** Initialize a list item */ #define AVAHI_LLIST_INIT(t,name,item) do { \ t *_item = (item); \ assert(_item); \ _item->name##_prev = _item->name##_next = NULL; \ } while(0) -/* Prepend an item to the list */ +/** Prepend an item to the list */ #define AVAHI_LLIST_PREPEND(t,name,head,item) do { \ t **_head = &(head), *_item = (item); \ assert(_item); \ @@ -53,7 +55,7 @@ *_head = _item; \ } while (0) -/* Remove an item from the list */ +/** Remove an item from the list */ #define AVAHI_LLIST_REMOVE(t,name,head,item) do { \ t **_head = &(head), *_item = (item); \ assert(_item); \ @@ -68,4 +70,6 @@ _item->name##_next = _item->name##_prev = NULL; \ } while(0) +AVAHI_C_DECL_END + #endif