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 bond_interface;
20mod bridge;
21mod captive_network;
22mod console_user;
23mod dynamic_store;
24mod error;
25mod ffi;
26mod network_configuration;
27mod network_connection;
28mod network_interface;
29mod network_protocol;
30mod network_reachability;
31mod network_services;
32mod network_sets;
33mod preferences;
34mod property_list;
35mod schema;
36pub mod schema_definitions;
37mod system_configuration;
38mod vlan_interface;
39
40pub use bond_interface::{BondInterface, BondStatus};
41pub use captive_network::CaptiveNetwork;
42pub use console_user::ConsoleUser;
43pub use dynamic_store::{DynamicStore, DynamicStoreRunLoopSource};
44pub use error::{Result, SystemConfigurationError};
45pub use network_configuration::{NetworkConfiguration, NetworkConfigurationOverview};
46pub use network_connection::{
47 NetworkConnection, NetworkConnectionFlags, NetworkConnectionPppStatus, NetworkConnectionStatus,
48 NetworkConnectionUserPreferences,
49};
50pub use network_interface::{
51 NetworkInterface, NetworkInterfaceMediaOptions, NetworkInterfaceMtuInfo,
52};
53pub use network_protocol::NetworkProtocol;
54pub use network_reachability::{NetworkReachability, Reachability, ReachabilityFlags};
55pub use network_services::NetworkService;
56pub use network_sets::NetworkSet;
57pub use preferences::{Preferences, PreferencesNotification};
58pub use property_list::PropertyList;
59pub use schema::{Schema, SchemaCatalog};
60pub use system_configuration::{SystemConfiguration, SystemConfigurationLastError};
61pub use vlan_interface::VlanInterface;
62
63#[cfg(feature = "raw-ffi")]
64pub mod raw_ffi;
65
66#[cfg(feature = "async")]
67#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
68pub mod async_api;
69
70pub mod prelude {
71 pub use crate::{
72 schema_definitions, BondInterface, BondStatus, CaptiveNetwork, ConsoleUser, DynamicStore,
73 DynamicStoreRunLoopSource, NetworkConfiguration, NetworkConfigurationOverview,
74 NetworkConnection, NetworkConnectionFlags, NetworkConnectionPppStatus,
75 NetworkConnectionStatus, NetworkConnectionUserPreferences, NetworkInterface,
76 NetworkInterfaceMediaOptions, NetworkInterfaceMtuInfo, NetworkProtocol,
77 NetworkReachability, NetworkService, NetworkSet, Preferences, PreferencesNotification,
78 PropertyList, Reachability, ReachabilityFlags, Result, Schema, SchemaCatalog,
79 SystemConfiguration, SystemConfigurationError, SystemConfigurationLastError, VlanInterface,
80 };
81}