From 28ab9bb7be403e0b3049908b3587cbdc718a8350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 9 Sep 2003 02:37:49 +0000 Subject: [PATCH] list.h is now in util/. All files updated, so this can be removed. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4597 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/list.h | 72 ----------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 headers/private/kernel/list.h diff --git a/headers/private/kernel/list.h b/headers/private/kernel/list.h deleted file mode 100644 index 96b867240e..0000000000 --- a/headers/private/kernel/list.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved. -** Distributed under the terms of the OpenBeOS License. -*/ -#ifndef KERNEL_LIST_H -#define KERNEL_LIST_H - - -#include - - -/* This header defines a doubly-linked list. It differentiates between a link - * and an item. - * A link is what is put into and removed from a list, an item is the whole - * object that contains the link. The item doesn't have to be begin with a - * link; the offset to the link structure is given to init_list_etc(), so that - * list_get_next/prev_item() will work correctly. - * Note, the offset value is only needed for the *_item() functions. If the - * offset is 0, list_link and item are identical - if you use init_list(), - * you don't have to care about the difference between a link and an item. - */ - -typedef struct list_link list_link; - -/* The object that is put into the list must begin with these - * fields, but it doesn't have to be this structure. - */ - -struct list_link { - list_link *next; - list_link *prev; -}; - -struct list { - list_link link; - int32 offset; -}; - - -#ifdef __cplusplus -extern "C" { -#endif - -extern void list_init(struct list *list); -extern void list_init_etc(struct list *list, int32 offset); -extern void list_add_link_to_head(struct list *list, void *_link); -extern void list_add_link_to_tail(struct list *list, void *_link); -extern void list_remove_link(void *_link); -extern void *list_get_next_item(struct list *list, void *item); -extern void *list_get_prev_item(struct list *list, void *item); -extern void list_add_item(struct list *list, void *item); -extern void list_remove_item(struct list *list, void *item); -extern void *list_remove_head_item(struct list *list); -extern void *list_remove_tail_item(struct list *list); - -static inline bool -list_is_empty(struct list *list) -{ - return list->link.next == (list_link *)list; -} - -static inline void * -list_get_first_item(struct list *list) -{ - return list_get_next_item(list, NULL); -} - -#ifdef __cplusplus -} -#endif - -#endif /* KERNEL_LIST_H */