wireguard_uapi/xplatform/mod.rs
1//! Cross-Platform Userspace Client
2//!
3//! This module implements the cross-platform userspace protocol defined at
4//! [wireguard.com/xplatform]. It is disabled by default, and guarded behind the
5//! `xplatform` feature flag.
6//!
7//! Similar to the Linux-specific client, structs are organized into
8//! [`set`][crate::xplatform::set] and [`get`][crate::get] modules. The
9//! [`get`][crate::get] module for the cross-platform client is shared with the
10//! Linux-specific client since the typings are compatible.
11//!
12//! This module does not provide any way to create and destroy WireGuard
13//! interfaces. That functionality is not part of the cross-platform protocol
14//! specification. In general you will have to shell out to the command line. See
15//! the [*Interface* section of the official docs][xplatform-interface] for an
16//! example.
17//!
18//! [wireguard.com/xplatform]: https://www.wireguard.com/xplatform
19//! [xplatform-interface]: https://www.wireguard.com/xplatform/#interface
20
21mod client;
22pub mod error;
23pub mod parser;
24mod protocol;
25pub mod set;
26
27#[cfg(unix)]
28pub use client::Client;