efi_loader: type of efi_secure_mode
[oweals/u-boot.git] / include / image-sparse.h
index 0382f5bd2639fecd498b7a2635ed5035381ee58d..234c237b845fe592077d4be51e98ffe7cfb8ef3b 100644 (file)
@@ -1,7 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright 2014 Broadcom Corporation.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <part.h>
@@ -9,16 +8,23 @@
 
 #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;
+struct sparse_storage {
+       lbaint_t        blksz;
+       lbaint_t        start;
+       lbaint_t        size;
+       void            *priv;
 
-       int     (*write)(struct sparse_storage *storage, void *priv,
-                        unsigned int offset, unsigned int size,
-                        char *data);
-} sparse_storage_t;
+       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);
+
+       void            (*mssg)(const char *str, char *response);
+};
 
 static inline int is_sparse_image(void *buf)
 {
@@ -31,5 +37,5 @@ static inline int is_sparse_image(void *buf)
        return 0;
 }
 
-int store_sparse_image(sparse_storage_t *storage, void *storage_priv,
-                      unsigned int session_id, void *data);
+int write_sparse_image(struct sparse_storage *info, const char *part_name,
+                      void *data, char *response);