]> git.sur5r.net Git - openocd/blobdiff - src/target/image.h
Reset wip. Just adding hooks. This is just to reduce the size of the actual change...
[openocd] / src / target / image.h
index 2e4ef968b1a5e2ecefd38e45c2c2a3c929b5ebd5..064654b35c691b33d74981a77ce160305d59e294 100644 (file)
@@ -34,7 +34,7 @@
 #define IMAGE_MAX_ERROR_STRING         (256)
 #define IMAGE_MAX_SECTIONS                     (128)
 
-#define IMAGE_MEMORY_CACHE_SIZE                (1024)
+#define IMAGE_MEMORY_CACHE_SIZE                (2048)
 
 typedef enum image_type
 {
@@ -42,7 +42,8 @@ typedef enum image_type
     IMAGE_IHEX,                /* intel hex-record format */
     IMAGE_MEMORY,      /* target-memory pseudo-image */
     IMAGE_ELF,         /* ELF binary */
-    IMAGE_SRECORD      /* motorola s19 */
+    IMAGE_SRECORD,     /* motorola s19 */
+    IMAGE_BUILDER,     /* when building a new image */
 } image_type_t;
 
 typedef struct image_section_s
@@ -63,7 +64,6 @@ typedef struct image_s
        int base_address;               /* base address, if one is set */
        int start_address_set;  /* whether the image has a start address (entry point) associated */
        u32 start_address;              /* start address, if one is set */
-       char error_str[IMAGE_MAX_ERROR_STRING];
 } image_t;
 
 typedef struct image_binary_s
@@ -102,6 +102,9 @@ typedef struct image_mot_s
 extern int image_open(image_t *image, char *url, char *type_string);
 extern int image_read_section(image_t *image, int section, u32 offset, u32 size, u8 *buffer, u32 *size_read);
 extern int image_close(image_t *image);
+extern int image_add_section(image_t *image, u32 base, u32 size, int flags, u8 *data);
+
+extern int image_calculate_checksum(u8* buffer, u32 nbytes, u32* checksum);
 
 #define ERROR_IMAGE_FORMAT_ERROR       (-1400)
 #define ERROR_IMAGE_TYPE_UNKNOWN       (-1401)