aboutsummaryrefslogtreecommitdiff
path: root/programs/src/kconfig_parser/cnfexpr.h
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2015-03-22 18:53:50 +0100
committerKarel Kočí <cynerd@email.cz>2015-03-22 18:53:50 +0100
commite0b3ecbe06cb47d14ee64dbf1bdbd9cbc27ac648 (patch)
treea66c17e6a0253c966691d363dc32d7551464177a /programs/src/kconfig_parser/cnfexpr.h
parent3e149e0d540e359ba66668452b8c137bfcb3112c (diff)
downloadlinux-conf-perf-e0b3ecbe06cb47d14ee64dbf1bdbd9cbc27ac648.tar.gz
linux-conf-perf-e0b3ecbe06cb47d14ee64dbf1bdbd9cbc27ac648.tar.bz2
linux-conf-perf-e0b3ecbe06cb47d14ee64dbf1bdbd9cbc27ac648.zip
kconfig_parser rewritten and now supports revers dependency
Most of the kconfig_parser is changed. Now dependency are not copied before transfer to CNF and CNF expression is direcly extracted from kconfíg parsed output structures.
Diffstat (limited to 'programs/src/kconfig_parser/cnfexpr.h')
-rw-r--r--programs/src/kconfig_parser/cnfexpr.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/programs/src/kconfig_parser/cnfexpr.h b/programs/src/kconfig_parser/cnfexpr.h
new file mode 100644
index 0000000..ed5c2fb
--- /dev/null
+++ b/programs/src/kconfig_parser/cnfexpr.h
@@ -0,0 +1,26 @@
+#ifndef _CNFEXPR_H_
+#define _CNFEXPR_H_
+
+#include <stdlib.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include "symlist.h"
+#include "kconfig/lkc.h"
+
+enum cnfexpr_type {
+ CT_EXPR, CT_FALSE, CT_TRUE
+};
+
+struct cnfexpr {
+ enum cnfexpr_type type;
+ int **exprs;
+ unsigned *sizes;
+ unsigned size;
+};
+
+struct cnfexpr *kconfig_cnfexpr(struct symlist *sl, struct expr *expr);
+void cnf_printf(struct cnfexpr *);
+
+struct boolexp *printf_original(struct symlist *sl, struct expr *expr);
+
+#endif /* _CNFEXPR_H_ */