#ifndef SHADOW_IMAGE_H_ #define SHADOW_IMAGE_H_ #include "cluster-table.h" #include "status.h" #include struct b_file; struct b_buffer; struct ec3_image_ioctx; struct ec3_tag_ioctx; struct ec3_tag_info; struct shadow_image { size_t img_nr_clusters; size_t img_nr_bytes; size_t img_cluster_data_offset; struct b_file *img_f_data; struct b_file *img_f_cluster_table; struct cluster_table img_cluster_table; struct b_buffer *img_extent_table; struct b_buffer *img_tag_table; }; extern enum ec3_status shadow_image_init( struct ec3_image_ioctx *parent, struct shadow_image *out); extern enum ec3_status shadow_image_finish( struct ec3_image_ioctx *parent, struct shadow_image *image); extern void shadow_image_cancel(struct shadow_image *image); extern enum ec3_status shadow_image_write_tag( struct ec3_image_ioctx *src, const struct ec3_tag_info *tag, struct ec3_tag_ioctx *ioctx, struct shadow_image *dest); #endif