#ifndef ZAP_H #define ZAP_H #include #include 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