summaryrefslogtreecommitdiff
path: root/utils/imxtools/sbtools/elf.c
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-07-18 00:27:12 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-07-18 00:27:12 +0200
commit1c8c24183ed9d89519de2924997593cc81f6f33d (patch)
treeba4a7babace41a249c44467982d5e6a70b8d7796 /utils/imxtools/sbtools/elf.c
parent3c5ee9ac57cbac4050df1729a28ec39c60d303ff (diff)
downloadrockbox-1c8c24183ed9d89519de2924997593cc81f6f33d.tar.gz
rockbox-1c8c24183ed9d89519de2924997593cc81f6f33d.zip
sbtools: refactor and cleanup
Factor common elf/sb read/write/printf routines. Factor sb zero key, move sb version guess. Change-Id: I5ae1885587456736e782e623610281bbee545039
Diffstat (limited to 'utils/imxtools/sbtools/elf.c')
-rw-r--r--utils/imxtools/sbtools/elf.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/utils/imxtools/sbtools/elf.c b/utils/imxtools/sbtools/elf.c
index 5626c0f58c..76f29c6db7 100644
--- a/utils/imxtools/sbtools/elf.c
+++ b/utils/imxtools/sbtools/elf.c
@@ -20,6 +20,7 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21#include "elf.h" 21#include "elf.h"
22#include "misc.h" 22#include "misc.h"
23#include <stdarg.h>
23 24
24/** 25/**
25 * Definitions 26 * Definitions
@@ -723,3 +724,28 @@ void elf_release(struct elf_params_t *params)
723 seg = next_seg; 724 seg = next_seg;
724 } 725 }
725} 726}
727
728void elf_std_printf(void *user, bool error, const char *fmt, ...)
729{
730 if(!g_debug && !error)
731 return;
732 (void) user;
733 va_list args;
734 va_start(args, fmt);
735 vprintf(fmt, args);
736 va_end(args);
737}
738
739void elf_std_write(void *user, uint32_t addr, const void *buf, size_t count)
740{
741 FILE *f = user;
742 fseek(f, addr, SEEK_SET);
743 fwrite(buf, count, 1, f);
744}
745
746bool elf_std_read(void *user, uint32_t addr, void *buf, size_t count)
747{
748 if(fseek((FILE *)user, addr, SEEK_SET) == -1)
749 return false;
750 return fread(buf, 1, count, (FILE *)user) == count;
751}