]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/flash.h
appmain.c cleanup
[proxmark3-svn] / client / flash.h
index 20090db7c88ae1e008936464ac88f1a827a5b9dc..06c7c96ecfae16b10db7470a7441a9de32eca623 100644 (file)
@@ -1,23 +1,34 @@
+//-----------------------------------------------------------------------------
+// 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>
 #ifndef __FLASH_H__
 #define __FLASH_H__
 
 #include <stdint.h>
+#include <stdbool.h>
 
 
-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);
+typedef struct {
+       void *data;
+       uint32_t start;
+       uint32_t length;
+} flash_seg_t;
 
 
-#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
 
 #endif
 
Impressum, Datenschutz