summaryrefslogtreecommitdiff
path: root/image.h
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2010-11-10 17:10:07 +0100
committerTobias Klauser <tklauser@distanz.ch>2010-11-10 17:10:07 +0100
commit3cb7c05906b8eb8e884013b441f352256fded011 (patch)
tree4061936126e43746ed5d6157ead0eb778b256beb /image.h
parent32f507ce5f66dd9c89a45854688f46bde33c5e3d (diff)
First bunch of rework, stil work in progress
Diffstat (limited to 'image.h')
-rw-r--r--image.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/image.h b/image.h
new file mode 100644
index 0000000..01f94c9
--- /dev/null
+++ b/image.h
@@ -0,0 +1,37 @@
+/*
+ */
+
+#ifndef _IMAGE_H_
+#define _IMAGE_H_
+
+extern int image_load(const char *image_path, int image_format, uint8_t *mem_base, size_t mem_size);
+
+/* Image file loader functions */
+typedef int (*loader_func_t)(FILE *, const char *, uint8_t *, size_t);
+extern int srec_load(FILE *fp, const char *name, uint8_t *mem_base, size_t mem_size);
+extern int elf_load(FILE *fp, const char *name, uint8_t *mem_base, size_t mem_size);
+
+enum {
+ FORMAT_SREC,
+ FORMAT_ELF,
+};
+
+static inline char *image_format_str(int format)
+{
+ char *ret;
+
+ switch (format) {
+ case FORMAT_SREC:
+ ret = "SREC";
+ break;
+ case FORMAT_ELF:
+ ret = "ELF";
+ break;
+ default:
+ ret = "<invalid format>";
+ }
+
+ return ret;
+}
+
+#endif /* _IMAGE_H_ */