X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/6e4d4ee6096285692f247a44b59be7888bef9dd0..6eeb5f1c29d33848c6a71703d02c8465237c7e7e:/client/flash.h diff --git a/client/flash.h b/client/flash.h index 8d18cab0..06c7c96e 100644 --- a/client/flash.h +++ b/client/flash.h @@ -1,15 +1,34 @@ -struct partition { - int start; - int end; - int precious; - const char *name; -}; - -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); +//----------------------------------------------------------------------------- +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Flashing utility functions +//----------------------------------------------------------------------------- + +#ifndef __FLASH_H__ +#define __FLASH_H__ + +#include +#include + +typedef struct { + void *data; + uint32_t start; + uint32_t length; +} flash_seg_t; + +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 +