diff options
Diffstat (limited to 'scripts/parse_kconfig/symlist.h')
-rw-r--r-- | scripts/parse_kconfig/symlist.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/scripts/parse_kconfig/symlist.h b/scripts/parse_kconfig/symlist.h index 6f1f32f..7d24bd1 100644 --- a/scripts/parse_kconfig/symlist.h +++ b/scripts/parse_kconfig/symlist.h @@ -1,26 +1,36 @@ +#include <stdlib.h> +#include <stdio.h> #include <stdbool.h> #include <string.h> -#include "cnfexpr.h" +#include <search.h> + +#include "cnfbuild.h" +#include "output.h" #ifndef _SYMLIST_H_ #define _SYMLIST_H_ struct symlist_el { - unsigned int id; char *name; - bool prompt, def; - struct cnfexpr *be; - struct cnfexpr *re_be; // forward dependency + bool prompt; + struct cnfexpr *def; + size_t def_size; + + struct cnfexpr *dep, *rev_dep; }; + struct symlist { struct symlist_el *array; size_t size, pos; + unsigned lastsym; }; struct symlist *symlist_create(); void symlist_add(struct symlist *sl, char *name); -void symlist_set_prompt(struct symlist *sl, char *name, bool prompt); +void symlist_closesym(struct symlist *sl); +unsigned symlist_adddummy(struct symlist *sl); struct symlist_el *symlist_find(struct symlist *sl, char *name); +size_t symlist_id(struct symlist *sl, char *name); void symlist_print(struct symlist *sl); void symlist_free(struct symlist *sl); |