summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/imgtool/modules/cybikoxt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/imgtool/modules/cybikoxt.cpp')
-rw-r--r--src/tools/imgtool/modules/cybikoxt.cpp42
1 files changed, 10 insertions, 32 deletions
diff --git a/src/tools/imgtool/modules/cybikoxt.cpp b/src/tools/imgtool/modules/cybikoxt.cpp
index 8c2980de449..556f37fde76 100644
--- a/src/tools/imgtool/modules/cybikoxt.cpp
+++ b/src/tools/imgtool/modules/cybikoxt.cpp
@@ -10,6 +10,8 @@
#include "imgtool.h"
+#include "multibyte.h"
+
#include <zlib.h>
struct cybiko_file_system
@@ -44,8 +46,8 @@ enum
#define INVALID_FILE_ID 0xFFFF
#define BLOCK_USED(x) (x[0] & 0x80)
-#define BLOCK_FILE_ID(x) buffer_read_16_be( x + 2)
-#define BLOCK_PART_ID(x) buffer_read_16_be( x + 4)
+#define BLOCK_FILE_ID(x) get_u16be( x + 2)
+#define BLOCK_PART_ID(x) get_u16be( x + 4)
#define BLOCK_FILENAME(x) (char*)(x + 7)
#define FILE_HEADER_SIZE 0x48
@@ -58,30 +60,6 @@ static cybiko_file_system *get_cfs(imgtool::image &image)
extern imgtool::datetime cybiko_time_crack(uint32_t cfs_time);
extern uint32_t cybiko_time_setup(const imgtool::datetime &t);
-static uint32_t buffer_read_32_be( uint8_t *buffer)
-{
- return (buffer[0] << 24) | (buffer[1] << 16) | (buffer[2] << 8) | (buffer[3] << 0);
-}
-
-static uint16_t buffer_read_16_be( uint8_t *buffer)
-{
- return (buffer[0] << 8) | (buffer[1] << 0);
-}
-
-static void buffer_write_32_be( uint8_t *buffer, uint32_t data)
-{
- buffer[0] = (data >> 24) & 0xFF;
- buffer[1] = (data >> 16) & 0xFF;
- buffer[2] = (data >> 8) & 0xFF;
- buffer[3] = (data >> 0) & 0xFF;
-}
-
-static void buffer_write_16_be( uint8_t *buffer, uint16_t data)
-{
- buffer[0] = (data >> 8) & 0xFF;
- buffer[1] = (data >> 0) & 0xFF;
-}
-
// page = crc (2) + data (x)
static uint16_t page_buffer_calc_checksum( uint8_t *data, uint32_t size)
@@ -103,7 +81,7 @@ static int page_buffer_verify( uint8_t *buffer, uint32_t size, int block_type)
{
uint32_t checksum_page, checksum_calc;
checksum_calc = page_buffer_calc_checksum( buffer + 2, size - 2);
- checksum_page = buffer_read_16_be( buffer + 0);
+ checksum_page = get_u16be( buffer + 0);
if (checksum_calc != checksum_page) return false;
}
// ok
@@ -183,7 +161,7 @@ static int cfs_block_write( cybiko_file_system *cfs, uint8_t *buffer, int block_
{
checksum = page_buffer_calc_checksum( buffer_page + 2, cfs->page_size - 2);
}
- buffer_write_16_be( buffer_page + 0, checksum);
+ put_u16be( buffer_page + 0, checksum);
if (!cfs_block_to_page( cfs, block_type, block, &page)) return false;
if (!cfs_page_write( cfs, buffer_page, page)) return false;
return true;
@@ -218,7 +196,7 @@ static int cfs_file_info( cybiko_file_system *cfs, uint16_t file_id, cfs_file *f
if (BLOCK_PART_ID(buffer) == 0)
{
strcpy( file->name, BLOCK_FILENAME(buffer));
- file->date = buffer_read_32_be( buffer + 6 + FILE_HEADER_SIZE - 4);
+ file->date = get_u32be( buffer + 6 + FILE_HEADER_SIZE - 4);
}
file->size += buffer[1];
file->blocks++;
@@ -460,13 +438,13 @@ static imgtoolerr_t cybiko_image_write_file(imgtool::partition &partition, const
buffer[0] = 0x80;
buffer[1] = (cfs->page_size - 2) - 6 - ((part_id == 0) ? FILE_HEADER_SIZE : 0);
if (bytes_left < buffer[1]) buffer[1] = bytes_left;
- buffer_write_16_be( buffer + 2, file_id);
- buffer_write_16_be( buffer + 4, part_id);
+ put_u16be( buffer + 2, file_id);
+ put_u16be( buffer + 4, part_id);
if (part_id == 0)
{
buffer[6] = 0x20;
strcpy(BLOCK_FILENAME(buffer), filename);
- buffer_write_32_be( buffer + 6 + FILE_HEADER_SIZE - 4, cybiko_time_setup(imgtool::datetime::now(imgtool::datetime::datetime_type::LOCAL)));
+ put_u32be( buffer + 6 + FILE_HEADER_SIZE - 4, cybiko_time_setup(imgtool::datetime::now(imgtool::datetime::datetime_type::LOCAL)));
sourcef.read(buffer + 6 + FILE_HEADER_SIZE, buffer[1]);
}
else