#![deny(unsafe_code)]
#![allow(warnings)]
pub mod aead;
pub mod aead_ops;
pub mod categorization_policy;
pub mod chunking_config;
pub mod codec;
pub mod compression_tournament_config;
pub mod crypto;
pub mod cursor;
pub mod delta_linkage;
pub mod dictionary_section;
pub mod directory_node;
pub mod dms_policy;
pub mod dms_scheme;
pub mod drop_record;
pub mod ec_params;
pub mod ec_repair;
pub mod ec_scheme;
pub mod encryption_descriptor;
pub mod epoch;
pub mod error;
pub mod feature_flags;
pub mod fetch;
pub mod gf256;
pub mod header;
pub mod history;
#[cfg(feature = "http")]
pub mod http_locator;
pub mod inode;
#[cfg(all(target_os = "linux", feature = "io-uring"))]
pub mod iouring_slab_source;
#[cfg(feature = "http")]
pub mod ipfs_locator;
#[cfg(feature = "key-wrap")]
pub mod key_wrap;
pub mod live_tree;
pub mod locator;
pub mod merkle;
pub mod metadata;
pub mod metadata_reference;
pub mod profile_descriptor;
pub mod reed_solomon;
#[cfg(feature = "http")]
pub mod s3_locator;
pub mod shamir;
#[cfg(feature = "signing")]
pub mod signing;
pub mod slab;
pub mod slab_cache;
pub mod slab_index;
pub mod slab_reader;
pub mod slab_source;
pub mod slab_store;
pub use cursor::ManifestCursor;
pub use directory_node::{parse_directory_node, DirEntry, DirectoryNode, DIRECTORY_NODE_VERSION};
pub use dms_policy::{
parse_dms_policy, parse_dms_policy_with_ceilings, DmsPolicy, ShareRecord,
DEFAULT_HINT_MAX_BYTES, DEFAULT_SHARE_DATA_MAX_BYTES, DMS_POLICY_SECTION_VERSION,
DMS_SCHEME_EXTENDED, DMS_SCHEME_SHAMIR, MAX_TOTAL_SHARES,
};
pub use drop_record::{
parse_drop_record, parse_drop_record_with_ceiling, DropRecord, DROP_RECORD_LEN,
};
pub use ec_params::{
parse_ec_params, EcOverride, EcParams, DEFAULT_EC_POLYNOMIAL, EC_PARAMS_SECTION_VERSION,
MAX_SHARDS,
};
pub use error::CoreError;
pub use feature_flags::{
parse_feature_flags_section, FeatureFlag, FeatureFlags, FEATURE_FLAGS_SECTION_VERSION,
};
pub use header::{parse_manifest_header, ManifestHeader};
pub use history::{
parse_history, parse_history_with_ceiling, History, HistoryEntry, HistoryOp,
DEFAULT_HISTORY_PARAMS_MAX_BYTES, HISTORY_SECTION_VERSION, OP_EXTENDED,
};
pub use inode::{
parse_inode, parse_inode_with_ceiling, ContentHandle, Inode, SliceRef, XAttr,
DEFAULT_INLINE_DATA_MAX_BYTES, INODE_FIXED_PREFIX_LEN, INODE_FLAG_ATIME,
INODE_FLAG_INLINE_DATA, INODE_FLAG_RESERVED_MASK, INODE_FLAG_SHARED_INLINE, S_IFBLK, S_IFCHR,
S_IFDIR, S_IFIFO, S_IFLNK, S_IFMT, S_IFREG, S_IFSOCK,
};
pub use locator::{
parse_locator_entries, parse_locator_entries_with_ceiling, parse_locator_entry,
parse_locator_entry_with_ceiling, LocatorEntry, DEFAULT_LOCATOR_MAX_URI_BYTES,
LOCATOR_LENGTH_PREFIX_LEN, MIN_LOCATOR_URI_BYTES,
};
pub use merkle::{
compute_merkle_root, hash_empty_section, hash_section, section_hashes_minimal, SectionHashes,
MERKLE_DOMAIN_SEPARATOR,
};
pub use metadata::{
dir_node_hash, parse_metadata_blob, parse_metadata_blob_with_ceiling, MetadataBlob,
};
pub use metadata_reference::{
parse_metadata_reference, parse_metadata_reference_with_ceilings, MetadataReference,
DEFAULT_INLINE_METADATA_MAX_BYTES, METADATA_REFERENCE_SECTION_VERSION,
METADATA_REFERENCE_SECTION_VERSION_2,
};
pub use slab::{
parse_slab_header, parse_slab_header_with_ceiling, SlabHeader, CRYPTO_HINT_EXTENDED,
DEFAULT_SLAB_MAX_BYTES, EC_DESCRIPTOR_EXTENDED, SLAB_FORMAT_VERSION, SLAB_HEADER_LEN,
};
pub use slab_index::{
parse_slab_index, parse_slab_index_with_ceiling, SlabIndex, SlabIndexEntry,
SLAB_INDEX_SECTION_VERSION,
};
pub use slab_reader::{parse_slab, SlabView};
#[cfg(feature = "http")]
pub use http_locator::HttpLocator;
#[cfg(feature = "http")]
pub use s3_locator::{S3Locator, DEFAULT_S3_ENDPOINT};
pub use limnifs_format::{ManifestRoot, MANIFEST_HEADER_LEN};