aboutsummaryrefslogtreecommitdiff
path: root/include/sqfs
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-25 17:47:19 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-25 17:47:19 +0200
commit3511b1fa7c6f71c579e161951e945904e552e1d9 (patch)
tree55fa94e5daef7bcc8e4b650f27d05af49fd1b02d /include/sqfs
parent4d79f55f4a626a3cfd8bd18673aa29b48b16e137 (diff)
Remove condensed sparse file handling from libsquashfs
This only exists for tar2sqfs. Move the sparse file map to libtar and add the ability to do this into the stind sqfs_file_t abstraction, so it acts like a normal file but internally stitches the data together from the sparse implementation. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/sqfs')
-rw-r--r--include/sqfs/io.h44
-rw-r--r--include/sqfs/predef.h1
2 files changed, 0 insertions, 45 deletions
diff --git a/include/sqfs/io.h b/include/sqfs/io.h
index d7a923c..5c1bfd5 100644
--- a/include/sqfs/io.h
+++ b/include/sqfs/io.h
@@ -120,20 +120,6 @@ struct sqfs_file_t {
int (*truncate)(sqfs_file_t *file, uint64_t size);
};
-/**
- * @struct sqfs_sparse_map_t
- *
- * @brief Describes the layout of a sparse file.
- *
- * This structure is part of a linked list that indicates where the actual
- * data is located in a sparse file.
- */
-struct sqfs_sparse_map_t {
- sqfs_sparse_map_t *next;
- uint64_t offset;
- uint64_t count;
-};
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -175,36 +161,6 @@ SQFS_API int sqfs_file_create_block(sqfs_file_t *file, uint64_t offset,
size_t size, sqfs_inode_generic_t *inode,
uint32_t flags, sqfs_block_t **out);
-/**
- * @brief Read a chunk from a condensed version of a sparse file and turn it
- * into a block that can be fed to a block processor.
- *
- * @member sqfs_file_t
- *
- * This function works on condensed sparse files, i.e. a sparse file that had
- * its holdes removed. The given mapping describes the original data region
- * that are actually packed next to each other. The function emulates the
- * orignal sparse file by zero-initializing the block data, then figuring
- * out which regions overlap the block, working out their physical location and
- * stitching the block together.
- *
- * @param file A pointer to a file implementation.
- * @param offset A byte offset into the file.
- * @param size The number of bytes to read, starting at the given offset.
- * @param inode The inode pointer to set for the block.
- * @param flags The flags to store in the newly created block.
- * @param map Describes the data regions of the original sparse file.
- * @param out Returns a pointer to a block on success.
- *
- * @return Zero on success, an @ref E_SQFS_ERROR identifier on failure.
- */
-SQFS_API int sqfs_file_create_block_dense(sqfs_file_t *file, uint64_t offset,
- size_t size,
- sqfs_inode_generic_t *inode,
- uint32_t flags,
- const sqfs_sparse_map_t *map,
- sqfs_block_t **out);
-
#ifdef __cplusplus
}
#endif
diff --git a/include/sqfs/predef.h b/include/sqfs/predef.h
index 8a554dd..ebe99e1 100644
--- a/include/sqfs/predef.h
+++ b/include/sqfs/predef.h
@@ -69,7 +69,6 @@ typedef struct sqfs_meta_reader_t sqfs_meta_reader_t;
typedef struct sqfs_meta_writer_t sqfs_meta_writer_t;
typedef struct sqfs_xattr_reader_t sqfs_xattr_reader_t;
typedef struct sqfs_file_t sqfs_file_t;
-typedef struct sqfs_sparse_map_t sqfs_sparse_map_t;
typedef struct sqfs_tree_node_t sqfs_tree_node_t;
typedef struct sqfs_data_reader_t sqfs_data_reader_t;
typedef struct sqfs_block_hooks_t sqfs_block_hooks_t;