X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/a553f2674865fa544d04ca7b8194e30c008644ae..6eeb5f1c29d33848c6a71703d02c8465237c7e7e:/client/flash.h diff --git a/client/flash.h b/client/flash.h index f468de35..06c7c96e 100644 --- a/client/flash.h +++ b/client/flash.h @@ -10,22 +10,25 @@ #define __FLASH_H__ #include +#include -struct partition { - int start; - int end; - int precious; - const char *name; -}; +typedef struct { + void *data; + uint32_t start; + uint32_t length; +} flash_seg_t; -void FlushPrevious(int translate); -void GotByte(uint32_t where, uint8_t which, int start_addr, int end_addr, int translate); -unsigned int EnterFlashState(void); -int PrepareFlash(struct partition *p, const char *filename, unsigned int state); -int find_next_area(const char *str, int *offset, int *length); - -#define PHYSICAL_FLASH_START 0x100000 -void do_flash(char **argv); +typedef struct { + const char *filename; + int can_write_bl; + int num_segs; + flash_seg_t *segments; +} flash_file_t; +int flash_load(flash_file_t *ctx, const char *name, bool can_write_bl); +int flash_start_flashing(int enable_bl_writes, char *serial_port_name); +int flash_write(flash_file_t *ctx); +void flash_free(flash_file_t *ctx); +int flash_stop_flashing(void); #endif