diff options
Diffstat (limited to 'image.h')
-rw-r--r-- | image.h | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -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_ */ |