summaryrefslogtreecommitdiff
path: root/zap.h
diff options
context:
space:
mode:
Diffstat (limited to 'zap.h')
-rw-r--r--zap.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/zap.h b/zap.h
new file mode 100644
index 0000000..cd835c0
--- /dev/null
+++ b/zap.h
@@ -0,0 +1,31 @@
+#ifndef ZAP_H
+#define ZAP_H
+
+#include <stdbool.h>
+#include <stdint.h>
+
+typedef uint32_t u32;
+typedef uint16_t u16;
+typedef uint8_t u8;
+
+struct zap_private;
+
+struct zap {
+ unsigned int val_width;
+ unsigned int addr_shift;
+ unsigned int min_addr;
+ unsigned int max_addr;
+ bool ascii;
+ bool (*read)(void *private, u32 addr, u32 *val);
+ bool (*read_block)(void *private, u32 addr, u32 *vals, size_t num);
+ void (*write)(void *private, u32 addr, u32 val);
+ void (*key)(struct zap_private *priv, void *private, int key);
+ void (*print_header)(void *private);
+ void (*update_aux)(void *private);
+ void (*input)(void *private, char mode, const char *str);
+};
+
+void zap_prompt_input(struct zap_private *priv, char mode, const char *prompt);
+void zap(const struct zap *zap, unsigned long start, void *private);
+
+#endif