/* single-linked list routines */
/* written by Xiayi Edwards */
/* released to the public domain */
#include
struct pointers
{
char *p1;
struct pointers *p2;
};
typedef struct
{
struct pointers *last;
struct pointers *begin;
} DLIST;
void dlistDefaults(DLIST * dlist); /* */
void dlistInit(DLIST * dlist); /* */
void dlistAddNode(DLIST * dlist, void *data, size_t len); /* */
void dlistDelNode(DLIST * dlist);
void *dlistFirst(DLIST * dlist);/* */
void *dlistNext(DLIST * dlist); /* */
void *dlistPrev(DLIST * dlist);
void *dlistLast(DLIST * dlist);
void dlistTerm(DLIST * dlist); /* */
void dlistInsertBefore(DLIST * dlist, void *data, size_t len);
void dlistInsertAfter(DLIST * dlist, void *data, size_t len);
void dlistTraverse(DLIST * dlist, int (*func) (void *data, size_t len));
@EOT:
---
* Origin: X (3:711/934.9)
|