ngspice/src/include/wordlist.h

37 lines
1005 B
C

#ifndef _WORDLIST_H
#define _WORDLIST_H
/* Doubly linked lists of words. */
struct wordlist {
char *wl_word;
struct wordlist *wl_next;
struct wordlist *wl_prev;
} ;
typedef struct wordlist wordlist;
int wl_length(wordlist *wlist);
void wl_free(wordlist *wlist);
wordlist * wl_copy(wordlist *wlist);
wordlist * wl_splice(wordlist *elt, wordlist *list);
void wl_print(wordlist *wlist, FILE *fp);
wordlist * wl_build(char **v);
char ** wl_mkvec(wordlist *wl);
wordlist * wl_append(wordlist *wlist, wordlist *nwl);
wordlist * wl_reverse(wordlist *wl);
char * wl_flatten(wordlist *wl);
wordlist * wl_nthelem(int i, wordlist *wl);
void wl_sort(wordlist *wl);
wordlist * wl_range(wordlist *wl, int low, int up);
/* For quoting individual characters. '' strings are all quoted, but
* `` and "" strings are maintained as single words with the quotes
* around them. Note that this won't work on non-ascii machines. */
#define quote(c) ((c) | 0200)
#define strip(c) ((c) & 0177)
#endif