123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* $Id$ */
- /* IDENTIFIER DESCRIPTOR */
- #include <ansi.h>
- /* This a generic package for maintaining a name list */
- /* Instantiation parameters, supplied by #define, are :
- IDF_TYPE: the type of the user-defined part of the idf-structure,
- IDF_NAME: the selector name for this field in the idf_structure, and
- IDF_HSIZE: the number of significant characters for hashing
- */
- #ifndef IDF_NAME
- #define IDF_NAME id_user
- #endif
- struct idf {
- struct idf *id_next; /* links idf-structures together */
- char *id_text; /* string representing the name */
- #ifdef IDF_TYPE
- IDF_TYPE IDF_NAME; /* user defined type and selector */
- #endif
- };
- /* init_idf()
- Initializes the namelist.
- */
- _PROTOTYPE(void init_idf, (void));
- /* struct idf * str2idf(tg, cp)
- char *tg;
- int cp;
- Adds the string indicated by "tg" to the namelist, and returns a
- pointer to the entry.
- If cp > 0, a copy of tg is made for id_text, otherwise tg itself
- is used.
- If cp < 0, the string is not entered, but only looked for.
- */
- _PROTOTYPE(struct idf *str2idf, (char *, int));
- #define findidf(tg) str2idf(tg, -1)
|