aboutsummaryrefslogtreecommitdiff
path: root/programs/src/kconfig/boolexp.h
diff options
context:
space:
mode:
Diffstat (limited to 'programs/src/kconfig/boolexp.h')
-rw-r--r--programs/src/kconfig/boolexp.h27
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_ */