X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fimage-sparse.h;h=b0cc5007f78a3fae5f7fd7721368f5ce07fbeed6;hb=01abae4d04868dede60947867699bf096a1831ff;hp=a2b0694190d99ed8235f98c622a581e589f347e3;hpb=64ece84854ae49f40e9b9d4d88502247774f9d2f;p=platform%2Fkernel%2Fu-boot.git diff --git a/include/image-sparse.h b/include/image-sparse.h index a2b0694..b0cc500 100644 --- a/include/image-sparse.h +++ b/include/image-sparse.h @@ -9,16 +9,21 @@ #define ROUNDUP(x, y) (((x) + ((y) - 1)) & ~((y) - 1)) -typedef struct sparse_storage { - unsigned int block_sz; - unsigned int start; - unsigned int size; - const char *name; - - int (*write)(struct sparse_storage *storage, void *priv, - unsigned int offset, unsigned int size, - char *data); -} sparse_storage_t; +struct sparse_storage { + lbaint_t blksz; + lbaint_t start; + lbaint_t size; + void *priv; + + lbaint_t (*write)(struct sparse_storage *info, + lbaint_t blk, + lbaint_t blkcnt, + const void *buffer); + + lbaint_t (*reserve)(struct sparse_storage *info, + lbaint_t blk, + lbaint_t blkcnt); +}; static inline int is_sparse_image(void *buf) { @@ -31,5 +36,5 @@ static inline int is_sparse_image(void *buf) return 0; } -int store_sparse_image(sparse_storage_t *storage, void *storage_priv, - void *data); +void write_sparse_image(struct sparse_storage *info, const char *part_name, + void *data, unsigned sz);