diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-10-06 18:12:10 +0200 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-10-06 18:13:51 +0200 |
commit | a1efc754c62dbddfe4a1af4d89c68391f2a51cfe (patch) | |
tree | b414246de246aaeb80dc66d8c13fe7e99def2b1b /tools/modem-image-tool.c | |
parent | 069326bb123ca4633a3261599736cf33150c05f6 (diff) | |
download | hardware_replicant_libsamsung-ipc-patches-todo/modem-firwmare-toc.tar.gz hardware_replicant_libsamsung-ipc-patches-todo/modem-firwmare-toc.tar.bz2 hardware_replicant_libsamsung-ipc-patches-todo/modem-firwmare-toc.zip |
last changespatches-todo/modem-firwmare-toc
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'tools/modem-image-tool.c')
-rw-r--r-- | tools/modem-image-tool.c | 54 |
1 files changed, 40 insertions, 14 deletions
diff --git a/tools/modem-image-tool.c b/tools/modem-image-tool.c index e9b5edd..4d30a7f 100644 --- a/tools/modem-image-tool.c +++ b/tools/modem-image-tool.c @@ -52,19 +52,6 @@ static struct toc_part_info gt_i9300[] = { {"NV", I9300_NV_DATA_OFFSET, 0, I9300_NV_DATA_SIZE, 0, 0}, }; -static void print_toc_part_info(struct toc_part_info* toc_part_info) -{ - char name[13]; - - memcpy(&name, toc_part_info->name, sizeof(toc_part_info->name)); - name[12] = '\0'; - - printf("%s 0x%x [0x%x]\n", - name, - le32toh(toc_part_info->offset), - le32toh(toc_part_info->size)); -} - static int part_info_cmp(struct toc_part_info* toc_part_info1, struct toc_part_info* toc_part_info2) { @@ -117,14 +104,53 @@ int main(int argc, char* argv[]) return -1; } + size_t name_max_len = 0; + for(pnum = 0;pnum < 10;pnum++){ + char* toc_part_info_buffer = buffer + + pnum * sizeof(struct toc_part_info); + char name[13]; + + if (toc_part_info_buffer[0] == '\0') { + break; + } + + toc_part_info = (struct toc_part_info*) toc_part_info_buffer; + + memcpy(&name, toc_part_info->name, sizeof(toc_part_info->name)); + name[12] = '\0'; + + if (strlen(name) > name_max_len) + name_max_len = strlen(name); + + } + for(pnum = 0;pnum < 10;pnum++){ char* toc_part_info_buffer = buffer + pnum * sizeof(struct toc_part_info); + char name[13]; + size_t i = 0; + if (toc_part_info_buffer[0] == '\0') { break; } toc_part_info = (struct toc_part_info*) toc_part_info_buffer; - print_toc_part_info(toc_part_info); + + memcpy(&name, toc_part_info->name, sizeof(toc_part_info->name)); + name[12] = '\0'; + + /* Alignement */ + printf("%s: ", name); + for (i=0 ; i < (name_max_len - strlen(name)) ; i++) + printf(" "); + + printf("offset: 0x%x,",le32toh(toc_part_info->offset)); + + printf("loadaddr: 0x%x, size: 0x%x, crc: 0x%x, entryid: 0x%x\n", + le32toh(toc_part_info->loadaddr), + le32toh(toc_part_info->size), + le32toh(toc_part_info->crc), + le32toh(toc_part_info->entryid)); + part_info_cmp(toc_part_info, &(gt_i9300[pnum])); } |