Skip to main content

Crate zff

Crate zff 

Source
Expand description

This crate provides the reference implementation of the forensic file format Zff. Zff is a new file format for forensic images, as an alternative to EWF and AFF. Zff is focused on speed and security. If you want to learn more about ZFF, visit https://codeberg.org/zff-team/zff-rs.

Re-exports§

pub use encryption::*;

Modules§

constants
This module contains all constants, used in this crate. Module containing all constants used in the zff crate.
encryption
Contains various functions, methods and traits to handle encryption in zff. Module for encryption operations in zff.
footer
This module contains all footer, could be found in the zff specification (footer version 1 and footer version 2). Module containing all footer types for the zff format.
header
This module contains all header, could be found in the zff specification (header version 1 and header version 2). Module containing all header types for the zff format.
helper
Contains some little helper functions Module containing helper functions and utilities.
io
Contains various functionality to handle zff containers (e.g., create, extend, or read zff containers). Module for I/O operations with zff containers.
prelude
Re-exports commonly used types, traits, and constants for convenient access. Prelude module for convenient access to commonly used types and traits.

Structs§

Chunk
This struct represents a full Chunk (decrypted and uncompressed) - The raw chunk data, the flags and the size.
EncodingThreadPoolManager
The EncodingThreadPoolManager is used to manage the threads and to ensure that the threads will use the given data in zero-copy way.
FileEncoder
Encodes a file in a zff container.
FileMapPosition
References the location of a serialized VirtualFileMap inside a zff segment.
FileMetadata
The FileMetadata contains the appropriate metadata for a zff logical file or a zff virtual logical file.
Hash
structure contains several methods to handle hashing
LogicalObjectEncoder
The LogicalObjectEncoder can be used to encode a logical object.
LogicalObjectSourceFilesystem
A LogicalObjectSource implementation to handle files from the filesystem.
PhysicalObjectEncoder
The PhysicalObjectEncoder can be used to encode a physical object.
ReadAtCursor
Segment
Represents a full Segment
Signature
structure contains several methods to handle signing of chunked data.
VirtualFileEncoder
Encodes the a virtual file.
VirtualFileFooterMetadata
Metadata extracted from a VirtualFileFooter.
VirtualObjectEncoder
Encodes a virtual object.
ZffError
The main error-type of this crate.

Enums§

CompressionAlgorithm
Defines all compression algorithms, which are implemented in zff.
FileFooterMetadata
A Wrapper for logical objects FileFooter and virtual objects VirtualFileFooterMetadata.
FileTypeEncodingInformation
This enum contains the information, which are needed to encode the different file types.
HashType
Defines all hashing algorithms, which are implemented in zff.
ObjectEncoder
An encoder for each object.
PlatformString
Represents a platform-native string in an interoperable on-disk form.
SpecialFileEncodingInformation
This enum contains the information, which are needed to encode the different special file types.
VirtualFileContent
Describes how a virtual file is represented inside a VirtualFileFooterMetadata.
ZffErrorKind
Contains the variants/kinds of errors, which could be find in this crate.

Traits§

Encryption
trait to implement the zff encryption for the appropriate type.
HeaderCoding
The HeaderCoding trait specifies an interface for the common header methods and the encoding and decoding methods.
HeaderEncryption
Trait which provides methods to encrypt a header.
LogicalObjectSource
Trait for abstracting different file input sources.
ReadAt
Trait for types that support reading at arbitrary offsets.
ReadAtFile
Trait similar to ReadAt but for underlying files.
ValueDecoder
decoder methods for values (and primitive types). This is an extension trait.
ValueEncoder
encoder methods for values (and primitive types). This is an extension trait.
VirtualObjectSource
Trait for abstracting different file input sources for VirtualObjectSource.

Functions§

decompress_buffer
Decompresses a buffer with the given CompressionAlgorithm.
decompress_reader
Decompresses a reader with the given CompressionAlgorithm.
file_extension_next_value
Returns the next file extension value.
file_extension_previous_value
Returns the previous file extension value.

Type Aliases§

Result
Result for std::result::Result<T, ZffError>.