12345678910111213141516171819202122232425262728293031323334353637 |
- /*
- * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
- * See the copyright notice in the ACK home directory, in the file "Copyright".
- */
- #ifndef UTILS_ACK_LIST_H
- #define UTILS_ACK_LIST_H
- #ifndef NORCSID
- #define RCS_LIST "$Id$"
- #endif
- struct ca_elem {
- struct ca_elem *ca_next; /* The link */
- char *ca_cont; /* The contents */
- } ;
- struct ca_list {
- struct ca_elem *ca_first; /* The head */
- struct ca_elem *ca_last; /* The tail */
- } ;
- typedef struct ca_list list_head ; /* The decl. for headers */
- typedef struct ca_elem list_elem ; /* The decl. for elements */
- /* Some operations */
- /* Access */
- #define l_first(header) (header).ca_first
- #define l_next(elem) (elem).ca_next
- #define l_content(elem) (elem).ca_cont
- /* To be used for scanning lists, ptr is the running variable */
- #define scanlist(elem,ptr) \
- for ( ptr= elem ; ptr; ptr= l_next(*ptr) )
- #endif /* UTILS_ACK_LIST_H */
|