1#![deny(unsafe_code)]
35#![allow(warnings)]
36
37pub mod aead;
38pub mod aead_ops;
39pub mod categorization_policy;
40pub mod chunking_config;
41pub mod codec;
42pub mod compression_tournament_config;
43pub mod crypto;
44pub mod cursor;
45pub mod delta_linkage;
46pub mod dictionary_section;
47pub mod directory_node;
48pub mod dms_policy;
49pub mod dms_scheme;
50pub mod drop_record;
51pub mod ec_params;
52pub mod ec_repair;
53pub mod ec_scheme;
54pub mod encryption_descriptor;
55pub mod epoch;
56pub mod error;
57pub mod feature_flags;
58pub mod fetch;
59pub mod gf256;
60pub mod header;
61pub mod history;
62#[cfg(feature = "http")]
63pub mod http_locator;
64pub mod inode;
65#[cfg(all(target_os = "linux", feature = "io-uring"))]
66pub mod iouring_slab_source;
67#[cfg(feature = "http")]
68pub mod ipfs_locator;
69#[cfg(feature = "key-wrap")]
70pub mod key_wrap;
71pub mod live_tree;
72pub mod locator;
73pub mod merkle;
74pub mod metadata;
75pub mod metadata_reference;
76pub mod profile_descriptor;
77pub mod read;
78pub mod reed_solomon;
79#[cfg(feature = "http")]
80pub mod s3_locator;
81pub mod seekable;
82pub mod shamir;
83#[cfg(feature = "signing")]
84pub mod signing;
85pub mod slab;
86pub mod slab_cache;
87pub mod slab_index;
88pub mod slab_reader;
89pub mod slab_source;
90pub mod slab_store;
91
92pub use cursor::ManifestCursor;
93pub use directory_node::{parse_directory_node, DirEntry, DirectoryNode, DIRECTORY_NODE_VERSION};
94pub use dms_policy::{
95 parse_dms_policy, parse_dms_policy_with_ceilings, DmsPolicy, ShareRecord,
96 DEFAULT_HINT_MAX_BYTES, DEFAULT_SHARE_DATA_MAX_BYTES, DMS_POLICY_SECTION_VERSION,
97 DMS_SCHEME_EXTENDED, DMS_SCHEME_SHAMIR, MAX_TOTAL_SHARES,
98};
99pub use drop_record::{
100 parse_drop_record, parse_drop_record_with_ceiling, DropRecord, DROP_RECORD_LEN,
101};
102pub use ec_params::{
103 parse_ec_params, EcOverride, EcParams, DEFAULT_EC_POLYNOMIAL, EC_PARAMS_SECTION_VERSION,
104 MAX_SHARDS,
105};
106pub use error::CoreError;
107pub use feature_flags::{
108 parse_feature_flags_section, FeatureFlag, FeatureFlags, FEATURE_FLAGS_SECTION_VERSION,
109};
110pub use header::{parse_manifest_header, ManifestHeader};
111pub use history::{
112 parse_history, parse_history_with_ceiling, History, HistoryEntry, HistoryOp,
113 DEFAULT_HISTORY_PARAMS_MAX_BYTES, HISTORY_SECTION_VERSION, OP_EXTENDED,
114};
115pub use inode::{
116 parse_inode, parse_inode_with_ceiling, ContentHandle, Inode, SliceRef, XAttr,
117 DEFAULT_INLINE_DATA_MAX_BYTES, INODE_FIXED_PREFIX_LEN, INODE_FLAG_ATIME,
118 INODE_FLAG_INLINE_DATA, INODE_FLAG_RESERVED_MASK, INODE_FLAG_SHARED_INLINE, S_IFBLK, S_IFCHR,
119 S_IFDIR, S_IFIFO, S_IFLNK, S_IFMT, S_IFREG, S_IFSOCK,
120};
121pub use locator::{
122 parse_locator_entries, parse_locator_entries_with_ceiling, parse_locator_entry,
123 parse_locator_entry_with_ceiling, LocatorEntry, DEFAULT_LOCATOR_MAX_URI_BYTES,
124 LOCATOR_LENGTH_PREFIX_LEN, MIN_LOCATOR_URI_BYTES,
125};
126pub use merkle::{
127 compute_merkle_root, hash_empty_section, hash_section, section_hashes_minimal, SectionHashes,
128 MERKLE_DOMAIN_SEPARATOR,
129};
130pub use metadata::{
131 dir_node_hash, parse_metadata_blob, parse_metadata_blob_with_ceiling, MetadataBlob,
132};
133pub use metadata_reference::{
134 parse_metadata_reference, parse_metadata_reference_with_ceilings, read_external_metadata,
135 MetadataReference, DEFAULT_INLINE_METADATA_MAX_BYTES, METADATA_REFERENCE_SECTION_VERSION,
136 METADATA_REFERENCE_SECTION_VERSION_2,
137};
138pub use slab::{
139 parse_slab_header, parse_slab_header_with_ceiling, SlabHeader, CRYPTO_HINT_EXTENDED,
140 DEFAULT_SLAB_MAX_BYTES, EC_DESCRIPTOR_EXTENDED, SLAB_FORMAT_VERSION, SLAB_HEADER_LEN,
141};
142pub use slab_index::{
143 parse_slab_index, parse_slab_index_with_ceiling, SlabIndex, SlabIndexEntry,
144 SLAB_INDEX_SECTION_VERSION,
145};
146pub use slab_reader::{parse_slab, SlabView};
147
148#[cfg(feature = "http")]
149pub use http_locator::HttpLocator;
150#[cfg(feature = "http")]
151pub use s3_locator::{S3Locator, DEFAULT_S3_ENDPOINT};
152
153pub use limnifs_format::{ManifestRoot, MANIFEST_HEADER_LEN};