summaryrefslogtreecommitdiff
path: root/include/data_writer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/data_writer.h')
-rw-r--r--include/data_writer.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/data_writer.h b/include/data_writer.h
index cafe61e..2ace899 100644
--- a/include/data_writer.h
+++ b/include/data_writer.h
@@ -5,6 +5,7 @@
#include "squashfs.h"
#include "compress.h"
#include "fstree.h"
+#include "util.h"
typedef struct data_writer_t data_writer_t;
@@ -42,8 +43,21 @@ int data_writer_flush_fragments(data_writer_t *data);
The file_info_t object is updated accordingly and used to determine the
number of bytes to write and the input file name to report errors.
+ Blocks or fragments that are all zero bytes automatically detected,
+ not written out and the sparse file accounting updated accordingly.
+
Returns 0 on success, prints errors to stderr.
*/
int write_data_from_fd(data_writer_t *data, file_info_t *fi, int infd);
+/*
+ Does the same as write_data_from_fd but the input file is the condensed
+ representation of a sparse file. The layout must be in order and
+ non-overlapping.
+
+ Returns 0 on success, prints errors to stderr.
+ */
+int write_data_from_fd_condensed(data_writer_t *data, file_info_t *fi,
+ int infd, sparse_map_t *map);
+
#endif /* DATA_WRITER_H */