1pub mod client;
7pub(crate) mod pair_record;
8#[cfg(feature = "tunnel")]
9pub mod pairing;
10pub mod protocol;
11pub(crate) mod session;
12#[cfg(feature = "supervised-pair")]
13pub(crate) mod supervised_pair;
14
15pub use client::LockdownClient;
16pub use pair_record::{default_pair_record_path, PairRecord, PairRecordError};
17pub use protocol::{
18 recv_lockdown, send_lockdown, GetValueRequest, GetValueResponse, QueryTypeRequest,
19 QueryTypeResponse, RemoveValueRequest, SetValueRequest, StartServiceRequest,
20 StartServiceResponse, StartSessionRequest, StartSessionResponse, StopSessionRequest,
21 ValueOperationResponse, LOCKDOWN_PORT,
22};
23pub use session::{
24 handshake_only_service_tls, start_lockdown_session, start_service, strip_service_tls,
25 wrap_service_tls, CORE_DEVICE_PROXY,
26};
27#[cfg(feature = "supervised-pair")]
28pub use supervised_pair::{pair_supervised, save_pair_record, FullPairRecord};
29
30#[derive(Debug, Clone)]
32pub struct ServiceInfo {
33 pub port: u16,
34 pub enable_service_ssl: bool,
35}
36
37#[derive(Debug, thiserror::Error)]
39pub enum LockdownError {
40 #[error("IO error: {0}")]
41 Io(#[from] std::io::Error),
42 #[error("protocol error: {0}")]
43 Protocol(String),
44 #[error("pair record error: {0}")]
45 PairRecord(#[from] PairRecordError),
46}