diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 22:52:54 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 22:52:54 +0100 |
| commit | dcacc00e3750300617ba6e16eb346713f91a783a (patch) | |
| tree | 38e2d4fb5ed9d119711d4295c6eda4b014af73fd /examples/redis-unstable/src/adlist.h | |
| parent | 58dac10aeb8f5a041c46bddbeaf4c7966a99b998 (diff) | |
| download | crep-dcacc00e3750300617ba6e16eb346713f91a783a.tar.gz | |
Remove testing data
Diffstat (limited to 'examples/redis-unstable/src/adlist.h')
| -rw-r--r-- | examples/redis-unstable/src/adlist.h | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/examples/redis-unstable/src/adlist.h b/examples/redis-unstable/src/adlist.h deleted file mode 100644 index bb0eed1..0000000 --- a/examples/redis-unstable/src/adlist.h +++ /dev/null @@ -1,80 +0,0 @@ -/* adlist.h - A generic doubly linked list implementation - * - * Copyright (c) 2006-Present, Redis Ltd. - * All rights reserved. - * - * Licensed under your choice of (a) the Redis Source Available License 2.0 - * (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the - * GNU Affero General Public License v3 (AGPLv3). - */ - -#ifndef __ADLIST_H__ -#define __ADLIST_H__ - -/* Node, List, and Iterator are the only data structures used currently. */ - -typedef struct listNode { - struct listNode *prev; - struct listNode *next; - void *value; -} listNode; - -typedef struct listIter { - listNode *next; - int direction; -} listIter; - -typedef struct list { - listNode *head; - listNode *tail; - void *(*dup)(void *ptr); - void (*free)(void *ptr); - int (*match)(void *ptr, void *key); - unsigned long len; -} list; - -/* Functions implemented as macros */ -#define listLength(l) ((l)->len) -#define listFirst(l) ((l)->head) -#define listLast(l) ((l)->tail) -#define listPrevNode(n) ((n)->prev) -#define listNextNode(n) ((n)->next) -#define listNodeValue(n) ((n)->value) - -#define listSetDupMethod(l,m) ((l)->dup = (m)) -#define listSetFreeMethod(l,m) ((l)->free = (m)) -#define listSetMatchMethod(l,m) ((l)->match = (m)) - -#define listGetDupMethod(l) ((l)->dup) -#define listGetFreeMethod(l) ((l)->free) -#define listGetMatchMethod(l) ((l)->match) - -/* Prototypes */ -list *listCreate(void); -void listRelease(list *list); -void listReleaseGeneric(void *list); -void listEmpty(list *list); -list *listAddNodeHead(list *list, void *value); -list *listAddNodeTail(list *list, void *value); -list *listInsertNode(list *list, listNode *old_node, void *value, int after); -void listDelNode(list *list, listNode *node); -void listInitIterator(listIter *iter, list *list, int direction); -listNode *listNext(listIter *iter); -list *listDup(list *orig); -listNode *listSearchKey(list *list, void *key); -listNode *listIndex(list *list, long index); -void listRewind(list *list, listIter *li); -void listRewindTail(list *list, listIter *li); -void listRotateTailToHead(list *list); -void listRotateHeadToTail(list *list); -void listJoin(list *l, list *o); -void listInitNode(listNode *node, void *value); -void listLinkNodeHead(list *list, listNode *node); -void listLinkNodeTail(list *list, listNode *node); -void listUnlinkNode(list *list, listNode *node); - -/* Directions for iterators */ -#define AL_START_HEAD 0 -#define AL_START_TAIL 1 - -#endif /* __ADLIST_H__ */ |
