]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/flash.h
fix "hf mf chk" <t|d|s|ss> flags (based on PR #700) (#718)
[proxmark3-svn] / client / flash.h
index 8d18cab0491e48d669cef5911cd78f45f2d9271d..06c7c96ecfae16b10db7470a7441a9de32eca623 100644 (file)
@@ -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 <stdint.h>
+#include <stdbool.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, 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
+
Impressum, Datenschutz