summaryrefslogtreecommitdiff
path: root/rbutil/jztool/include/jztool.h
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/jztool/include/jztool.h')
-rw-r--r--rbutil/jztool/include/jztool.h37
1 files changed, 2 insertions, 35 deletions
diff --git a/rbutil/jztool/include/jztool.h b/rbutil/jztool/include/jztool.h
index e16bc9765f..df51fe9f44 100644
--- a/rbutil/jztool/include/jztool.h
+++ b/rbutil/jztool/include/jztool.h
@@ -37,7 +37,6 @@ typedef struct jz_context jz_context;
37typedef struct jz_usbdev jz_usbdev; 37typedef struct jz_usbdev jz_usbdev;
38typedef struct jz_device_info jz_device_info; 38typedef struct jz_device_info jz_device_info;
39typedef struct jz_buffer jz_buffer; 39typedef struct jz_buffer jz_buffer;
40typedef struct jz_paramlist jz_paramlist;
41 40
42typedef enum jz_error jz_error; 41typedef enum jz_error jz_error;
43typedef enum jz_identify_error jz_identify_error; 42typedef enum jz_identify_error jz_identify_error;
@@ -46,7 +45,6 @@ typedef enum jz_device_type jz_device_type;
46typedef enum jz_cpu_type jz_cpu_type; 45typedef enum jz_cpu_type jz_cpu_type;
47 46
48typedef void(*jz_log_cb)(jz_log_level, const char*); 47typedef void(*jz_log_cb)(jz_log_level, const char*);
49typedef int(*jz_device_action_fn)(jz_context*, jz_paramlist*);
50 48
51enum jz_error { 49enum jz_error {
52 JZ_SUCCESS = 0, 50 JZ_SUCCESS = 0,
@@ -92,10 +90,6 @@ struct jz_device_info {
92 jz_cpu_type cpu_type; 90 jz_cpu_type cpu_type;
93 uint16_t vendor_id; 91 uint16_t vendor_id;
94 uint16_t product_id; 92 uint16_t product_id;
95 int num_actions;
96 const char* const* action_names;
97 const jz_device_action_fn* action_funcs;
98 const char* const* const* action_params;
99}; 93};
100 94
101struct jz_buffer { 95struct jz_buffer {
@@ -132,7 +126,6 @@ const jz_device_info* jz_get_device_info_indexed(int index);
132 126
133int jz_identify_x1000_spl(const void* data, size_t len); 127int jz_identify_x1000_spl(const void* data, size_t len);
134int jz_identify_scramble_image(const void* data, size_t len); 128int jz_identify_scramble_image(const void* data, size_t len);
135int jz_identify_fiiom3k_bootimage(const void* data, size_t len);
136 129
137/****************************************************************************** 130/******************************************************************************
138 * USB boot ROM protocol 131 * USB boot ROM protocol
@@ -148,27 +141,10 @@ int jz_usb_start2(jz_usbdev* dev, uint32_t addr);
148int jz_usb_flush_caches(jz_usbdev* dev); 141int jz_usb_flush_caches(jz_usbdev* dev);
149 142
150/****************************************************************************** 143/******************************************************************************
151 * X1000 flash protocol 144 * Rockbox loader (all functions are model-specific, see docs)
152 */ 145 */
153 146
154int jz_x1000_setup(jz_usbdev* dev, size_t spl_len, const void* spl_data); 147int jz_fiiom3k_boot(jz_usbdev* dev, const char* filename);
155int jz_x1000_read_flash(jz_usbdev* dev, uint32_t addr, size_t len, void* data);
156int jz_x1000_write_flash(jz_usbdev* dev, uint32_t addr, size_t len, const void* data);
157int jz_x1000_boot_rockbox(jz_usbdev* dev);
158
159/******************************************************************************
160 * FiiO M3K bootloader backup/installation
161 */
162
163int jz_fiiom3k_readboot(jz_usbdev* dev, jz_buffer** bufptr);
164int jz_fiiom3k_writeboot(jz_usbdev* dev, size_t image_size, const void* image_buf);
165int jz_fiiom3k_patchboot(jz_context* jz, void* image_buf, size_t image_size,
166 const void* spl_buf, size_t spl_size,
167 const void* boot_buf, size_t boot_size);
168
169int jz_fiiom3k_install(jz_context* jz, jz_paramlist* pl);
170int jz_fiiom3k_backup(jz_context* jz, jz_paramlist* pl);
171int jz_fiiom3k_restore(jz_context* jz, jz_paramlist* pl);
172 148
173/****************************************************************************** 149/******************************************************************************
174 * Simple buffer API 150 * Simple buffer API
@@ -181,15 +157,6 @@ int jz_buffer_load(jz_buffer** buf, const char* filename);
181int jz_buffer_save(jz_buffer* buf, const char* filename); 157int jz_buffer_save(jz_buffer* buf, const char* filename);
182 158
183/****************************************************************************** 159/******************************************************************************
184 * Parameter list
185 */
186
187jz_paramlist* jz_paramlist_new(void);
188void jz_paramlist_free(jz_paramlist* pl);
189int jz_paramlist_set(jz_paramlist* pl, const char* param, const char* value);
190const char* jz_paramlist_get(jz_paramlist* pl, const char* param);
191
192/******************************************************************************
193 * END 160 * END
194 */ 161 */
195 162