1#![cfg_attr(not(feature = "std"), no_std)]
9
10#[cfg(test)]
11extern crate alloc;
12
13pub mod checksum;
14pub mod compression;
15pub mod constants;
16pub mod cow_map;
17pub mod data_type;
18pub mod delta;
19pub mod ebpf;
20pub mod error;
21pub mod filter;
22pub mod flags;
23pub mod kernel;
24pub mod kernel_binding;
25pub mod manifest;
26pub mod membership;
27pub mod profile;
28pub mod quant_type;
29pub mod refcount;
30pub mod segment;
31pub mod segment_type;
32pub mod signature;
33pub mod attestation;
34pub mod lineage;
35
36pub use attestation::{AttestationHeader, AttestationWitnessType, TeePlatform, KEY_TYPE_TEE_BOUND};
37pub use ebpf::{
38 EbpfAttachType, EbpfHeader, EbpfProgramType, EBPF_MAGIC,
39};
40pub use kernel::{
41 ApiTransport, KernelArch, KernelHeader, KernelType, KERNEL_MAGIC,
42 KERNEL_FLAG_SIGNED, KERNEL_FLAG_COMPRESSED, KERNEL_FLAG_REQUIRES_TEE,
43 KERNEL_FLAG_MEASURED, KERNEL_FLAG_REQUIRES_KVM, KERNEL_FLAG_REQUIRES_UEFI,
44 KERNEL_FLAG_HAS_NETWORKING, KERNEL_FLAG_HAS_QUERY_API, KERNEL_FLAG_HAS_INGEST_API,
45 KERNEL_FLAG_HAS_ADMIN_API, KERNEL_FLAG_ATTESTATION_READY, KERNEL_FLAG_RELOCATABLE,
46 KERNEL_FLAG_HAS_VIRTIO_NET, KERNEL_FLAG_HAS_VIRTIO_BLK, KERNEL_FLAG_HAS_VSOCK,
47};
48pub use lineage::{
49 DerivationType, FileIdentity, LineageRecord, LINEAGE_RECORD_SIZE,
50 WITNESS_DERIVATION, WITNESS_LINEAGE_MERGE, WITNESS_LINEAGE_SNAPSHOT,
51 WITNESS_LINEAGE_TRANSFORM, WITNESS_LINEAGE_VERIFY,
52};
53pub use cow_map::{CowMapEntry, CowMapHeader, MapFormat, COWMAP_MAGIC};
54pub use delta::{DeltaEncoding, DeltaHeader, DELTA_MAGIC};
55pub use kernel_binding::KernelBinding;
56pub use membership::{FilterMode, FilterType, MembershipHeader, MEMBERSHIP_MAGIC};
57pub use refcount::{RefcountHeader, REFCOUNT_MAGIC};
58pub use checksum::ChecksumAlgo;
59pub use compression::CompressionAlgo;
60pub use constants::*;
61pub use data_type::DataType;
62pub use error::{ErrorCode, RvfError};
63pub use filter::FilterOp;
64pub use flags::SegmentFlags;
65pub use manifest::{
66 CentroidPtr, EntrypointPtr, HotCachePtr, Level0Root, PrefetchMapPtr, QuantDictPtr, TopLayerPtr,
67};
68pub use profile::{DomainProfile, ProfileId};
69pub use quant_type::QuantType;
70pub use segment::SegmentHeader;
71pub use segment_type::SegmentType;
72pub use signature::{SignatureAlgo, SignatureFooter};