void *(*dup)(void *ptr);
void (*free)(void *ptr);
int (*match)(void *ptr, void *key);
- unsigned int len;
+ unsigned long len;
} list;
/* Functions implemented as macros */
void listReleaseIterator(listIter *iter);
list *listDup(list *orig);
listNode *listSearchKey(list *list, void *key);
-listNode *listIndex(list *list, int index);
+listNode *listIndex(list *list, long index);
void listRewind(list *list, listIter *li);
void listRewindTail(list *list, listIter *li);
+void listRotate(list *list);
/* Directions for iterators */
#define AL_START_HEAD 0