diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-03-07 11:53:40 +0000 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-03-11 10:58:20 -0500 |
commit | 7fa48faeb55fb43b6a4e727d0abd104b267c89a4 (patch) | |
tree | 4f3a735bc72009dc100045c8964d937be1cce7e4 /firmware/export/mi4-loader.h | |
parent | 439b4e8bcad57fac53f4286033f431e7e9df6546 (diff) | |
download | rockbox-7fa48faeb55fb43b6a4e727d0abd104b267c89a4.tar.gz rockbox-7fa48faeb55fb43b6a4e727d0abd104b267c89a4.zip |
multiboot: Refactor duplicated functions to a separate file
The implementation of write_bootdata() and get_redirect_dir() was
copied verbatim in two different places, obviously a bad thing for
maintainability. This moves them to a new file multiboot.c as they
are only used for multiboot.
Change-Id: Id0279216e4dd019f8bf612a81d3835eff010e506
Diffstat (limited to 'firmware/export/mi4-loader.h')
-rw-r--r-- | firmware/export/mi4-loader.h | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/firmware/export/mi4-loader.h b/firmware/export/mi4-loader.h index f66164ec2c..adc43ebf64 100644 --- a/firmware/export/mi4-loader.h +++ b/firmware/export/mi4-loader.h | |||
@@ -21,6 +21,9 @@ | |||
21 | * | 21 | * |
22 | ****************************************************************************/ | 22 | ****************************************************************************/ |
23 | 23 | ||
24 | #ifndef __MI4_LOADER_H__ | ||
25 | #define __MI4_LOADER_H__ | ||
26 | |||
24 | #include <stdint.h> | 27 | #include <stdint.h> |
25 | 28 | ||
26 | #define MI4_HEADER_SIZE 0x200 | 29 | #define MI4_HEADER_SIZE 0x200 |
@@ -50,21 +53,4 @@ struct tea_key { | |||
50 | int load_mi4(unsigned char* buf, const char* firmware, unsigned int buffer_size); | 53 | int load_mi4(unsigned char* buf, const char* firmware, unsigned int buffer_size); |
51 | const char *mi4_strerror(int8_t errno); | 54 | const char *mi4_strerror(int8_t errno); |
52 | 55 | ||
53 | #ifdef HAVE_MULTIBOOT /* defined by config.h */ | 56 | #endif /* __MI4_LOADER_H__ */ |
54 | /* Check in root of this <volume> for rockbox_main.<playername> | ||
55 | * if this file empty or there is a single slash '/' | ||
56 | * buf = '<volume#>/<rootdir>/<firmware(name)>\0' | ||
57 | * If instead '/<*DIRECTORY*>' is supplied | ||
58 | * addpath will be set to this DIRECTORY buf = | ||
59 | * '/<volume#>/addpath/<rootdir>/<firmware(name)>\0' | ||
60 | * On error returns Negative number or 0 | ||
61 | * On success returns bytes from snprintf | ||
62 | * and generated path will be placed in buf | ||
63 | * note: if supplied buffer is too small return will be | ||
64 | * the number of bytes that would have been written | ||
65 | */ | ||
66 | |||
67 | /* TODO needs mapped back to debug_menu if root redirect ever becomes a reality */ | ||
68 | int get_redirect_dir(char* buf, int buffer_size, int volume, | ||
69 | const char* rootdir, const char* firmware); | ||
70 | #endif | ||