diff options
Diffstat (limited to 'scripts/parse_kconfig/output.h')
-rw-r--r-- | scripts/parse_kconfig/output.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/scripts/parse_kconfig/output.h b/scripts/parse_kconfig/output.h index dd70768..a1b43aa 100644 --- a/scripts/parse_kconfig/output.h +++ b/scripts/parse_kconfig/output.h @@ -3,10 +3,33 @@ #include <stdlib.h> #include <stdio.h> + #include "symlist.h" #include <build_files.h> -void fprint_rules(struct symlist *sl, char *output); -void fprint_symbol_map(struct symlist *sl, char *output); +int output_init(char *rules_file, char *symbolmap_file); +void output_finish(void); + +// Functions for symbol_map +void output_push_symbol(int id, char *name); + +// Functions for rules +struct output_expr { + int **terms; + size_t *terms_sizes; + size_t terms_size, terms_pos; + + int *w_term; + size_t w_term_size, w_term_pos; +}; + +struct output_expr *output_rules_newexpr(void); +void output_rules_symbol(struct output_expr *ex, int id); +void output_rules_endterm(struct output_expr *ex); +struct output_expr *output_rules_joinexpr(struct output_expr *ex1, + struct output_expr *ex2); +struct output_expr *output_rules_copycnf(struct output_expr *ex); +void output_rules_freexpr(struct output_expr *ex); +void output_rules_writexpr(struct output_expr *ex); #endif /* _OUTPUT_H_ */ |