Skip to main content

ios_core/lockdown/
mod.rs

1//! Lockdown protocol client with TLS session establishment, pair record management,
2//! and device pairing (including supervised P12 pairing).
3//!
4//! Use [`LockdownClient`] to read device values, start services, and manage pairing.
5
6pub mod client;
7pub mod pair_record;
8pub mod pairing;
9pub mod protocol;
10pub mod session;
11pub mod supervised_pair;
12
13pub use client::LockdownClient;
14pub use pair_record::{PairRecord, PairRecordError};
15pub use protocol::LOCKDOWN_PORT;
16pub use session::CORE_DEVICE_PROXY;
17
18/// Service info returned by StartService.
19#[derive(Debug, Clone)]
20pub struct ServiceInfo {
21    pub port: u16,
22    pub enable_service_ssl: bool,
23}
24
25/// Errors from lockdown operations.
26#[derive(Debug, thiserror::Error)]
27pub enum LockdownError {
28    #[error("IO error: {0}")]
29    Io(#[from] std::io::Error),
30    #[error("protocol error: {0}")]
31    Protocol(String),
32    #[error("pair record error: {0}")]
33    PairRecord(#[from] PairRecordError),
34}