X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/91c38cf715f2bbd668cb13f4acfed0cb01293912..3d83b58b50a328b2bedd63cb102158a8c43c07ef:/client/flash.h?ds=sidebyside

diff --git a/client/flash.h b/client/flash.h
index 20090db7..3e9f77a7 100644
--- a/client/flash.h
+++ b/client/flash.h
@@ -1,23 +1,35 @@
+//-----------------------------------------------------------------------------
+// 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 <stdint.h>
+#include "elf.h"
 
-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);
+typedef struct {
+	const char *filename;
+	int can_write_bl;
+	int num_segs;
+	flash_seg_t *segments;
+} flash_file_t;
 
-#define PHYSICAL_FLASH_START 0x100000
-void do_flash(char **argv);
+int flash_load(flash_file_t *ctx, const char *name, int 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