/*
* ll.h - various things of used for dealing with linked lists.
*
- * Jonathan McDowell <noodles@earth.li>
+ * Copyright 2000-2004 Jonathan McDowell <noodles@earth.li>
*
- * Copyright 2002 Project Purple
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; version 2 of the License.
*
- * $Id: ll.h,v 1.3 2003/06/04 20:57:10 noodles Exp $
+ * This program 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 General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __LL_H__
*/
struct ll *lladd(struct ll *curll, void *object);
+/**
+ * lladdend - Add an item to the end of a linked list.
+ * @curll: The list to add to. Can be NULL to create a new list.
+ * @object: The object to add.
+ *
+ * Returns a pointer to the head of the new list.
+ */
+struct ll *lladdend(struct ll *curll, void *object);
+
/**
* lldel - Remove an item from a linked list.
* @curll: The list to remove the item from.
* objectfree then it's called for each element to free them, if it's NULL
* just the list is freed.
*/
-struct ll *llfree(struct ll *curll,
- void (*objectfree) (void *object));
+void llfree(struct ll *curll, void (*objectfree) (void *object));
#endif /* __LL_H__ */