Skip to main content

mapping/
lib.rs

1// Copyright 2026 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5pub mod extents;
6pub mod file;
7pub mod page_request;
8pub mod protocol;
9pub mod reader;
10pub mod testing;
11
12pub use extents::{Extent, Extents, ExtentsIterator};
13pub use file::{
14    DecodedBlobMetadata, DeliveryHandler, File, Files, NoopDeliveryHandler, PagerThread, Transform,
15    process_mapping_command, read_blob_metadata,
16};
17pub use fxfs_crypto::Cipher;
18pub use page_request::{NullPageRequest, PageRequest};
19pub use protocol::{
20    CLOSE_BLOB_COMMAND, DELIVERY_DATA_COMMAND, DELIVERY_DATA_SIZE, DELIVERY_REGISTER_BLOB_COMMAND,
21    DELIVERY_VMO_SIZE, DeliveryCommand, ENCRYPTION_KEY_SIZE, MAPPING_VMO_SIZE, MAPPINGS_COMMAND,
22    MAPPINGS_FLAG_ENCRYPTED, MappingCommand, PENDING_COMMANDS_CAPACITY,
23    PENDING_DELIVERY_COMMANDS_CAPACITY, RawDeliveryCommand, RawMappingCommand,
24};
25pub use reader::{ChildBlockService, read_buffer_from_extents};
26
27pub const BLOCK_SIZE: u64 = 4096;