diff options
Diffstat (limited to 'programs/src/kconfig/boolexp.h')
-rw-r--r-- | programs/src/kconfig/boolexp.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/programs/src/kconfig/boolexp.h b/programs/src/kconfig/boolexp.h new file mode 100644 index 0000000..f03fc33 --- /dev/null +++ b/programs/src/kconfig/boolexp.h @@ -0,0 +1,27 @@ +#ifndef _BOOLEXP_H_ +#define _BOOLEXP_H_ + +#include <stdbool.h> +#include "symlist.h" +#include "kconfig/lkc.h" + +enum boolexp_type { + BE_OR, BE_AND, BE_NOT, BE_LEAF +}; + +struct boolexp; +union boolexp_data { + struct boolexp *be; + unsigned int id; +}; + +struct boolexp { + enum boolexp_type type; + union boolexp_data left, right; +}; + +struct boolexp *copy_kconfig_dep(struct symlist *sl, struct expr *expr); +struct boolexp *boolexp_cnf(struct boolexp *be); +void boolexp_print(struct boolexp *be); + +#endif /* _BOOLEXP_H_ */ |