X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/6e4d4ee6096285692f247a44b59be7888bef9dd0..b4c1f167da39e85f3d10757a1b615a64a6031f26:/client/flash.h?ds=sidebyside

diff --git a/client/flash.h b/client/flash.h
index 8d18cab0..3e9f77a7 100644
--- a/client/flash.h
+++ b/client/flash.h
@@ -1,15 +1,35 @@
-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 <stdint.h>
+#include "elf.h"
+
+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, 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
+