]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/flash.h
USB comms: part 3 towards @micolous PR#463
[proxmark3-svn] / client / flash.h
index f468de35419c0142e68b649f2fe720ea818da136..f8ffd221ae1ef793bc6ef7ad69212c04f5f13dee 100644 (file)
 #define __FLASH_H__
 
 #include <stdint.h>
+#include "elf.h"
+#include "uart.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);
+void CloseProxmark(const char *serial_port_name);
+bool OpenProxmark(size_t i, const char *serial_port_name);
 
+extern serial_port sp;
 #endif
 
Impressum, Datenschutz