aboutsummaryrefslogtreecommitdiff
path: root/custom_mutators/gramatron/test.h
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-07-09 10:32:14 +0200
committervanhauser-thc <vh@thc.org>2021-07-09 10:32:14 +0200
commite1d5009229fb5cea5845cd08e0abdc8fe440ee86 (patch)
tree5855fd6e27d83b5d7eb2c455a8bb3bc7b43403a4 /custom_mutators/gramatron/test.h
parentfd4acc935efe78a340395ca386b856930f7e6b22 (diff)
downloadafl++-e1d5009229fb5cea5845cd08e0abdc8fe440ee86.tar.gz
fixes
Diffstat (limited to 'custom_mutators/gramatron/test.h')
-rw-r--r--custom_mutators/gramatron/test.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/custom_mutators/gramatron/test.h b/custom_mutators/gramatron/test.h
new file mode 100644
index 00000000..857cb5fc
--- /dev/null
+++ b/custom_mutators/gramatron/test.h
@@ -0,0 +1,57 @@
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <json-c/json.h>
+#include <unistd.h>
+#include "hashmap.h"
+#include "uthash.h"
+#include "utarray.h"
+
+#define INIT_SIZE 100 // Initial size of the dynamic array holding the input
+
+typedef struct terminal {
+
+ int state;
+ int trigger_idx;
+ size_t symbol_len;
+ char * symbol;
+
+} terminal;
+
+typedef struct trigger {
+
+ char * id;
+ int dest;
+ char * term;
+ size_t term_len;
+
+} trigger;
+
+typedef struct state {
+
+ int state_name; // Integer State name
+ int trigger_len; // Number of triggers associated with this state
+ trigger *ptr; // Pointer to beginning of the list of triggers
+
+} state;
+
+typedef struct {
+
+ size_t used;
+ size_t size;
+ size_t inputlen;
+ terminal *start;
+
+} Array;
+
+int init_state;
+int curr_state;
+int final_state;
+
+state *create_pda(char *);
+Array *gen_input(state *, Array *);
+void print_repr(Array *, char *);
+void initArray(Array *, size_t);
+void insertArray(Array *, int, char *, size_t, int);
+