1#[cfg(feature = "tunnel")]
10pub mod client;
11#[cfg(any(
12 feature = "tunnel",
13 feature = "dproxy",
14 feature = "fetchsymbols",
15 feature = "restore"
16))]
17pub mod h2_raw;
18pub mod message;
19pub mod rsd;
20
21#[cfg(feature = "tunnel")]
22pub use client::XpcClient;
23#[cfg(any(
24 feature = "apps",
25 feature = "deviceinfo",
26 feature = "diagnosticsservice",
27 feature = "dproxy",
28 feature = "fetchsymbols",
29 feature = "fileservice",
30 feature = "restore"
31))]
32pub(crate) use message::{XpcMessage, XpcValue};
33
34#[derive(Debug, thiserror::Error)]
36pub enum XpcError {
37 #[error("IO error: {0}")]
38 Io(#[from] std::io::Error),
39 #[error("not connected")]
40 NotConnected,
41 #[error("service not found: {0}")]
42 ServiceNotFound(String),
43 #[error("TLS / protocol error: {0}")]
44 Tls(String),
45}