Lines Matching full:image

109 void pt_image_init(struct pt_image *image, const char *name)  in pt_image_init()  argument
111 if (!image) in pt_image_init()
114 memset(image, 0, sizeof(*image)); in pt_image_init()
116 image->name = dupstr(name); in pt_image_init()
119 void pt_image_fini(struct pt_image *image) in pt_image_fini() argument
121 if (!image) in pt_image_fini()
124 pt_section_list_free_tail(image->sections); in pt_image_fini()
125 free(image->name); in pt_image_fini()
127 memset(image, 0, sizeof(*image)); in pt_image_fini()
132 struct pt_image *image; in pt_image_alloc() local
134 image = malloc(sizeof(*image)); in pt_image_alloc()
135 if (image) in pt_image_alloc()
136 pt_image_init(image, name); in pt_image_alloc()
138 return image; in pt_image_alloc()
141 void pt_image_free(struct pt_image *image) in pt_image_free() argument
143 pt_image_fini(image); in pt_image_free()
144 free(image); in pt_image_free()
147 const char *pt_image_name(const struct pt_image *image) in pt_image_name() argument
149 if (!image) in pt_image_name()
152 return image->name; in pt_image_name()
155 int pt_image_add(struct pt_image *image, struct pt_section *section, in pt_image_add() argument
162 if (!image || !section) in pt_image_add()
177 list = &(image->sections); in pt_image_add()
267 int pt_image_remove(struct pt_image *image, struct pt_section *section, in pt_image_remove() argument
272 if (!image || !section) in pt_image_remove()
275 for (list = &image->sections; *list; list = &((*list)->next)) { in pt_image_remove()
307 int pt_image_add_file(struct pt_image *image, const char *filename, in pt_image_add_file() argument
315 if (!image || !filename) in pt_image_add_file()
327 errcode = pt_image_add(image, section, &asid, vaddr, 0); in pt_image_add_file()
333 /* The image list got its own reference; let's drop ours. */ in pt_image_add_file()
341 int pt_image_copy(struct pt_image *image, const struct pt_image *src) in pt_image_copy() argument
346 if (!image || !src) in pt_image_copy()
349 /* There is nothing to do if we copy an image to itself. in pt_image_copy()
354 if (image == src) in pt_image_copy()
361 errcode = pt_image_add(image, list->section.section, in pt_image_copy()
372 int pt_image_remove_by_filename(struct pt_image *image, const char *filename, in pt_image_remove_by_filename() argument
379 if (!image || !filename) in pt_image_remove_by_filename()
387 for (list = &image->sections; *list;) { in pt_image_remove_by_filename()
422 int pt_image_remove_by_asid(struct pt_image *image, in pt_image_remove_by_asid() argument
429 if (!image) in pt_image_remove_by_asid()
437 for (list = &image->sections; *list;) { in pt_image_remove_by_asid()
464 int pt_image_set_callback(struct pt_image *image, in pt_image_set_callback() argument
467 if (!image) in pt_image_set_callback()
470 image->readmem.callback = callback; in pt_image_set_callback()
471 image->readmem.context = context; in pt_image_set_callback()
476 static int pt_image_read_callback(struct pt_image *image, int *isid, in pt_image_read_callback() argument
482 if (!image || !isid) in pt_image_read_callback()
485 callback = image->readmem.callback; in pt_image_read_callback()
491 return callback(buffer, size, asid, addr, image->readmem.context); in pt_image_read_callback()
535 static int pt_image_fetch_section(struct pt_image *image, in pt_image_fetch_section() argument
540 if (!image) in pt_image_fetch_section()
543 start = &image->sections; in pt_image_fetch_section()
574 int pt_image_read(struct pt_image *image, int *isid, uint8_t *buffer, in pt_image_read() argument
582 if (!image || !isid) in pt_image_read()
585 errcode = pt_image_fetch_section(image, asid, addr); in pt_image_read()
590 return pt_image_read_callback(image, isid, buffer, size, asid, in pt_image_read()
594 slist = image->sections; in pt_image_read()
617 return pt_image_read_callback(image, isid, buffer, size, asid, in pt_image_read()
624 int pt_image_add_cached(struct pt_image *image, in pt_image_add_cached() argument
633 if (!image || !iscache) in pt_image_add_cached()
644 status = pt_image_add(image, section, &asid, vaddr, isid); in pt_image_add_cached()
656 int pt_image_find(struct pt_image *image, struct pt_mapped_section *usec, in pt_image_find() argument
664 if (!image || !usec) in pt_image_find()
667 errcode = pt_image_fetch_section(image, asid, vaddr); in pt_image_find()
671 slist = image->sections; in pt_image_find()
687 int pt_image_validate(const struct pt_image *image, in pt_image_validate() argument
695 if (!image || !usec) in pt_image_validate()
711 slist = image->sections; in pt_image_validate()