summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/apimagic/apimagic.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/include/apimagic/apimagic.h b/include/apimagic/apimagic.h
index beee461..1139873 100644
--- a/include/apimagic/apimagic.h
+++ b/include/apimagic/apimagic.h
@@ -41,17 +41,36 @@ extern "C" {
#define AMGC_DRIVER_VERSION 0x0010
#define AMGC_DRIVER_DRY_RUN 0x0020
-/* unit action flags */
+enum amgc_action_type {
+ AMGC_ACTION_NONE,
+ AMGC_ACTION_OUTPUT,
+};
+
+enum amgc_output_action {
+ AMGC_OUTPUT_DEFINE,
+ AMGC_OUTPUT_ENUM,
+ AMGC_OUTPUT_TYPEDEF,
+ AMGC_OUTPUT_STRUCT,
+ AMGC_OUTPUT_UNION,
+ AMGC_OUTPUT_FUNCTION,
+};
struct amgc_input {
void * addr;
size_t size;
};
+struct amgc_action {
+ enum amgc_action_type type;
+ int action;
+ const char * filter;
+};
+
struct amgc_common_ctx {
uint64_t drvflags;
uint64_t actflags;
uint64_t fmtflags;
+ const struct amgc_action * actions;
struct compilation_env_t * ccenv;
enum lang_standard_t std;
};