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::{DeviceExtent, Extent, Extents, ExtentsIterator};
13pub use file::{
14    DEFAULT_VERIFICATION_ALIGNMENT, DecodedBlobMetadata, DeliveryHandler, File, Files,
15    NoopDeliveryHandler, PagerThread, TARGET_READ_AHEAD_SIZE, Transform, process_mapping_command,
16    read_blob_metadata,
17};
18pub use fxfs_crypto::Cipher;
19pub use page_request::{NullPageRequest, PageRequest};
20pub use protocol::{
21    CLOSE_BLOB_COMMAND, DELIVERY_DATA_COMMAND, DELIVERY_REGISTER_BLOB_COMMAND, DELIVERY_VMO_SIZE,
22    DeliveryCommand, ENCRYPTION_KEY_SIZE, MAPPING_VMO_SIZE, MAPPINGS_COMMAND,
23    MAPPINGS_FLAG_ENCRYPTED, MappingCommand, PENDING_COMMANDS_CAPACITY,
24    PENDING_DELIVERY_COMMANDS_CAPACITY, RawDeliveryCommand, RawMappingCommand,
25};
26pub use reader::{ChildBlockService, read_buffer_from_extents};
27
28pub const BLOCK_SIZE: u64 = 4096;