blob: d3ff539ecb5f4cb007861788e00d97d27b0ea7bc [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_STORAGE_TOOLS_BLOBFS_COMPRESSION_BLOBFS_COMPRESSION_H_
#define SRC_STORAGE_TOOLS_BLOBFS_COMPRESSION_BLOBFS_COMPRESSION_H_
#include <string>
#include <fbl/unique_fd.h>
#include "src/lib/chunked-compression/chunked-compressor.h"
namespace blobfs_compress {
struct CompressionCliOptionStruct {
std::string source_file;
std::string compressed_file;
fbl::unique_fd source_file_fd;
fbl::unique_fd compressed_file_fd;
};
zx_status_t ValidateCliOptions(const CompressionCliOptionStruct& options);
zx_status_t BlobfsCompress(const uint8_t* src, size_t src_sz, uint8_t* dest_write_buf,
size_t* out_compressed_size,
chunked_compression::CompressionParams params);
} // namespace blobfs_compress
#endif // SRC_STORAGE_TOOLS_BLOBFS_COMPRESSION_BLOBFS_COMPRESSION_H_