]> cvs.zerfleddert.de Git - proxmark3-svn/blob - client/flash.h
f8ffd221ae1ef793bc6ef7ad69212c04f5f13dee
[proxmark3-svn] / client / flash.h
1 //-----------------------------------------------------------------------------
2 // This code is licensed to you under the terms of the GNU GPL, version 2 or,
3 // at your option, any later version. See the LICENSE.txt file for the text of
4 // the license.
5 //-----------------------------------------------------------------------------
6 // Flashing utility functions
7 //-----------------------------------------------------------------------------
8
9 #ifndef __FLASH_H__
10 #define __FLASH_H__
11
12 #include <stdint.h>
13 #include "elf.h"
14 #include "uart.h"
15
16 typedef struct {
17 void *data;
18 uint32_t start;
19 uint32_t length;
20 } flash_seg_t;
21
22 typedef struct {
23 const char *filename;
24 int can_write_bl;
25 int num_segs;
26 flash_seg_t *segments;
27 } flash_file_t;
28
29 int flash_load(flash_file_t *ctx, const char *name, int can_write_bl);
30 int flash_start_flashing(int enable_bl_writes, char *serial_port_name);
31 int flash_write(flash_file_t *ctx);
32 void flash_free(flash_file_t *ctx);
33 int flash_stop_flashing(void);
34 void CloseProxmark(const char *serial_port_name);
35 bool OpenProxmark(size_t i, const char *serial_port_name);
36
37 extern serial_port sp;
38 #endif
39
Impressum, Datenschutz