systemconfiguration/
lib.rs1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![allow(
3 clippy::borrow_as_ptr,
4 clippy::doc_markdown,
5 clippy::missing_const_for_fn,
6 clippy::missing_errors_doc,
7 clippy::missing_panics_doc,
8 clippy::module_name_repetitions,
9 clippy::must_use_candidate,
10 clippy::redundant_pub_crate,
11 clippy::similar_names,
12 clippy::use_self
13)]
14#![doc = include_str!("../README.md")]
15
16#[cfg(not(target_os = "macos"))]
17compile_error!("systemconfiguration only supports macOS");
18
19mod bridge;
20mod captive_network;
21mod console_user;
22mod dynamic_store;
23mod error;
24mod ffi;
25mod network_configuration;
26mod network_interface;
27mod network_protocol;
28mod network_reachability;
29mod network_services;
30mod network_sets;
31mod preferences;
32mod property_list;
33mod schema;
34
35pub use captive_network::CaptiveNetwork;
36pub use console_user::ConsoleUser;
37pub use dynamic_store::DynamicStore;
38pub use error::{Result, SystemConfigurationError};
39pub use network_configuration::{NetworkConfiguration, NetworkConfigurationOverview};
40pub use network_interface::NetworkInterface;
41pub use network_protocol::NetworkProtocol;
42pub use network_reachability::{NetworkReachability, Reachability, ReachabilityFlags};
43pub use network_services::NetworkService;
44pub use network_sets::NetworkSet;
45pub use preferences::Preferences;
46pub use property_list::PropertyList;
47pub use schema::{Schema, SchemaCatalog};
48
49#[cfg(feature = "raw-ffi")]
50pub mod raw_ffi;
51
52pub mod prelude {
53 pub use crate::{
54 CaptiveNetwork, ConsoleUser, DynamicStore, NetworkConfiguration, NetworkConfigurationOverview,
55 NetworkInterface, NetworkProtocol, NetworkReachability, NetworkService, NetworkSet,
56 Preferences, PropertyList, Reachability, ReachabilityFlags, Result, Schema,
57 SchemaCatalog, SystemConfigurationError,
58 };
59}