diff options
author | SVN Migration <svn@php.net> | 2000-06-29 13:34:59 +0000 |
---|---|---|
committer | SVN Migration <svn@php.net> | 2000-06-29 13:34:59 +0000 |
commit | d26abbcdc9b2decf18e5c8b33ae5be8a08d0d368 (patch) | |
tree | fe3bd08d30845a9510557728022bfa006a62cc53 /Zend/zend_llist.h | |
parent | 01a8f4606ea99e9be92dbd4a27c69330786c7a8c (diff) | |
download | php-git-php-4.0.1pl1.tar.gz |
This commit was manufactured by cvs2svn to create tag 'php_4_0_1pl1'.php-4.0.1pl1
Diffstat (limited to 'Zend/zend_llist.h')
-rw-r--r-- | Zend/zend_llist.h | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/Zend/zend_llist.h b/Zend/zend_llist.h deleted file mode 100644 index 476708d69c..0000000000 --- a/Zend/zend_llist.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | Zend Engine | - +----------------------------------------------------------------------+ - | Copyright (c) 1998-2000 Zend Technologies Ltd. (http://www.zend.com) | - +----------------------------------------------------------------------+ - | This source file is subject to version 0.92 of the Zend license, | - | that is bundled with this package in the file LICENSE, and is | - | available at through the world-wide-web at | - | http://www.zend.com/license/0_92.txt. | - | If you did not receive a copy of the Zend license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@zend.com so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Andi Gutmans <andi@zend.com> | - | Zeev Suraski <zeev@zend.com> | - +----------------------------------------------------------------------+ -*/ - - -#ifndef _ZEND_LLIST_H -#define _ZEND_LLIST_H - -#include <stdlib.h> - -typedef struct _zend_llist_element { - struct _zend_llist_element *next; - struct _zend_llist_element *prev; - char data[1]; /* Needs to always be last in the struct */ -} zend_llist_element; - -typedef struct _zend_llist { - zend_llist_element *head; - zend_llist_element *tail; - size_t size; - void (*dtor)(void *data); - unsigned char persistent; - zend_llist_element *traverse_ptr; -} zend_llist; - -typedef int (*llist_compare_func_t)(const zend_llist_element *, const zend_llist_element *); -typedef void(*llist_apply_with_arg_func_t)(void *data, void *arg); -typedef void(*llist_apply_with_args_func_t)(void *data, int num_args, va_list args); -typedef void (*llist_apply_func_t)(void *); - -typedef zend_llist_element* zend_llist_position; - -BEGIN_EXTERN_C() -ZEND_API void zend_llist_init(zend_llist *l, size_t size, void (*dtor)(void *data), unsigned char persistent); -ZEND_API void zend_llist_add_element(zend_llist *l, void *element); -ZEND_API void zend_llist_prepend_element(zend_llist *l, void *element); -ZEND_API void zend_llist_del_element(zend_llist *l, void *element, int (*compare)(void *element1, void *element2)); -ZEND_API void zend_llist_destroy(zend_llist *l); -ZEND_API void zend_llist_clean(zend_llist *l); -ZEND_API void zend_llist_remove_tail(zend_llist *l); -ZEND_API void zend_llist_copy(zend_llist *dst, zend_llist *src); -ZEND_API void zend_llist_apply(zend_llist *l, llist_apply_func_t); -ZEND_API void zend_llist_apply_with_argument(zend_llist *l, llist_apply_with_arg_func_t, void *arg); -ZEND_API void zend_llist_apply_with_arguments(zend_llist *l, llist_apply_with_args_func_t func, int num_args, ...); -ZEND_API int zend_llist_count(zend_llist *l); -ZEND_API void zend_llist_sort(zend_llist *l, llist_compare_func_t comp_func); - -/* traversal */ -ZEND_API void *zend_llist_get_first_ex(zend_llist *l, zend_llist_position *pos); -ZEND_API void *zend_llist_get_last_ex(zend_llist *l, zend_llist_position *pos); -ZEND_API void *zend_llist_get_next_ex(zend_llist *l, zend_llist_position *pos); -ZEND_API void *zend_llist_get_prev_ex(zend_llist *l, zend_llist_position *pos); - -#define zend_llist_get_first(l) zend_llist_get_first_ex(l, NULL) -#define zend_llist_get_last(l) zend_llist_get_last_ex(l, NULL) -#define zend_llist_get_next(l) zend_llist_get_next_ex(l, NULL) -#define zend_llist_get_prev(l) zend_llist_get_prev_ex(l, NULL) - -END_EXTERN_C() - -#endif /* _ZEND_LLIST_H */ |