nm_rs_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from ../gir
3// from ../gtk-girs
4// DO NOT EDIT
5
6#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8    clippy::approx_constant,
9    clippy::type_complexity,
10    clippy::unreadable_literal,
11    clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use gio_sys as gio;
16use glib_sys as glib;
17use gobject_sys as gobject;
18use libc::in6_addr;
19use libc::stat;
20
21#[cfg(unix)]
22#[allow(unused_imports)]
23use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
24#[allow(unused_imports)]
25use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
26#[allow(unused_imports)]
27use std::ffi::{
28    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
29};
30
31#[allow(unused_imports)]
32use glib::{gboolean, gconstpointer, gpointer, GType};
33
34// Enums
35pub type NM80211Mode = c_int;
36pub const NM_802_11_MODE_UNKNOWN: NM80211Mode = 0;
37pub const NM_802_11_MODE_ADHOC: NM80211Mode = 1;
38pub const NM_802_11_MODE_INFRA: NM80211Mode = 2;
39pub const NM_802_11_MODE_AP: NM80211Mode = 3;
40pub const NM_802_11_MODE_MESH: NM80211Mode = 4;
41
42pub type NMActiveConnectionState = c_int;
43pub const NM_ACTIVE_CONNECTION_STATE_UNKNOWN: NMActiveConnectionState = 0;
44pub const NM_ACTIVE_CONNECTION_STATE_ACTIVATING: NMActiveConnectionState = 1;
45pub const NM_ACTIVE_CONNECTION_STATE_ACTIVATED: NMActiveConnectionState = 2;
46pub const NM_ACTIVE_CONNECTION_STATE_DEACTIVATING: NMActiveConnectionState = 3;
47pub const NM_ACTIVE_CONNECTION_STATE_DEACTIVATED: NMActiveConnectionState = 4;
48
49pub type NMActiveConnectionStateReason = c_int;
50pub const NM_ACTIVE_CONNECTION_STATE_REASON_UNKNOWN: NMActiveConnectionStateReason = 0;
51pub const NM_ACTIVE_CONNECTION_STATE_REASON_NONE: NMActiveConnectionStateReason = 1;
52pub const NM_ACTIVE_CONNECTION_STATE_REASON_USER_DISCONNECTED: NMActiveConnectionStateReason = 2;
53pub const NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED: NMActiveConnectionStateReason = 3;
54pub const NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_STOPPED: NMActiveConnectionStateReason = 4;
55pub const NM_ACTIVE_CONNECTION_STATE_REASON_IP_CONFIG_INVALID: NMActiveConnectionStateReason = 5;
56pub const NM_ACTIVE_CONNECTION_STATE_REASON_CONNECT_TIMEOUT: NMActiveConnectionStateReason = 6;
57pub const NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT: NMActiveConnectionStateReason =
58    7;
59pub const NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_FAILED: NMActiveConnectionStateReason = 8;
60pub const NM_ACTIVE_CONNECTION_STATE_REASON_NO_SECRETS: NMActiveConnectionStateReason = 9;
61pub const NM_ACTIVE_CONNECTION_STATE_REASON_LOGIN_FAILED: NMActiveConnectionStateReason = 10;
62pub const NM_ACTIVE_CONNECTION_STATE_REASON_CONNECTION_REMOVED: NMActiveConnectionStateReason = 11;
63pub const NM_ACTIVE_CONNECTION_STATE_REASON_DEPENDENCY_FAILED: NMActiveConnectionStateReason = 12;
64pub const NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_REALIZE_FAILED: NMActiveConnectionStateReason =
65    13;
66pub const NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_REMOVED: NMActiveConnectionStateReason = 14;
67
68pub type NMAgentManagerError = c_int;
69pub const NM_AGENT_MANAGER_ERROR_FAILED: NMAgentManagerError = 0;
70pub const NM_AGENT_MANAGER_ERROR_PERMISSION_DENIED: NMAgentManagerError = 1;
71pub const NM_AGENT_MANAGER_ERROR_INVALID_IDENTIFIER: NMAgentManagerError = 2;
72pub const NM_AGENT_MANAGER_ERROR_NOT_REGISTERED: NMAgentManagerError = 3;
73pub const NM_AGENT_MANAGER_ERROR_NO_SECRETS: NMAgentManagerError = 4;
74pub const NM_AGENT_MANAGER_ERROR_USER_CANCELED: NMAgentManagerError = 5;
75
76pub type NMCapability = c_int;
77pub const NM_CAPABILITY_TEAM: NMCapability = 1;
78pub const NM_CAPABILITY_OVS: NMCapability = 2;
79
80pub type NMClientError = c_int;
81pub const NM_CLIENT_ERROR_FAILED: NMClientError = 0;
82pub const NM_CLIENT_ERROR_MANAGER_NOT_RUNNING: NMClientError = 1;
83pub const NM_CLIENT_ERROR_OBJECT_CREATION_FAILED: NMClientError = 2;
84
85pub type NMClientPermission = c_int;
86pub const NM_CLIENT_PERMISSION_NONE: NMClientPermission = 0;
87pub const NM_CLIENT_PERMISSION_ENABLE_DISABLE_NETWORK: NMClientPermission = 1;
88pub const NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIFI: NMClientPermission = 2;
89pub const NM_CLIENT_PERMISSION_ENABLE_DISABLE_WWAN: NMClientPermission = 3;
90pub const NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIMAX: NMClientPermission = 4;
91pub const NM_CLIENT_PERMISSION_SLEEP_WAKE: NMClientPermission = 5;
92pub const NM_CLIENT_PERMISSION_NETWORK_CONTROL: NMClientPermission = 6;
93pub const NM_CLIENT_PERMISSION_WIFI_SHARE_PROTECTED: NMClientPermission = 7;
94pub const NM_CLIENT_PERMISSION_WIFI_SHARE_OPEN: NMClientPermission = 8;
95pub const NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM: NMClientPermission = 9;
96pub const NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN: NMClientPermission = 10;
97pub const NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME: NMClientPermission = 11;
98pub const NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS: NMClientPermission = 12;
99pub const NM_CLIENT_PERMISSION_RELOAD: NMClientPermission = 13;
100pub const NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK: NMClientPermission = 14;
101pub const NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS: NMClientPermission = 15;
102pub const NM_CLIENT_PERMISSION_ENABLE_DISABLE_CONNECTIVITY_CHECK: NMClientPermission = 16;
103pub const NM_CLIENT_PERMISSION_WIFI_SCAN: NMClientPermission = 17;
104pub const NM_CLIENT_PERMISSION_LAST: NMClientPermission = 17;
105
106pub type NMClientPermissionResult = c_int;
107pub const NM_CLIENT_PERMISSION_RESULT_UNKNOWN: NMClientPermissionResult = 0;
108pub const NM_CLIENT_PERMISSION_RESULT_YES: NMClientPermissionResult = 1;
109pub const NM_CLIENT_PERMISSION_RESULT_AUTH: NMClientPermissionResult = 2;
110pub const NM_CLIENT_PERMISSION_RESULT_NO: NMClientPermissionResult = 3;
111
112pub type NMConnectionError = c_int;
113pub const NM_CONNECTION_ERROR_FAILED: NMConnectionError = 0;
114pub const NM_CONNECTION_ERROR_SETTING_NOT_FOUND: NMConnectionError = 1;
115pub const NM_CONNECTION_ERROR_PROPERTY_NOT_FOUND: NMConnectionError = 2;
116pub const NM_CONNECTION_ERROR_PROPERTY_NOT_SECRET: NMConnectionError = 3;
117pub const NM_CONNECTION_ERROR_MISSING_SETTING: NMConnectionError = 4;
118pub const NM_CONNECTION_ERROR_INVALID_SETTING: NMConnectionError = 5;
119pub const NM_CONNECTION_ERROR_MISSING_PROPERTY: NMConnectionError = 6;
120pub const NM_CONNECTION_ERROR_INVALID_PROPERTY: NMConnectionError = 7;
121
122pub type NMConnectionMultiConnect = c_int;
123pub const NM_CONNECTION_MULTI_CONNECT_DEFAULT: NMConnectionMultiConnect = 0;
124pub const NM_CONNECTION_MULTI_CONNECT_SINGLE: NMConnectionMultiConnect = 1;
125pub const NM_CONNECTION_MULTI_CONNECT_MANUAL_MULTIPLE: NMConnectionMultiConnect = 2;
126pub const NM_CONNECTION_MULTI_CONNECT_MULTIPLE: NMConnectionMultiConnect = 3;
127
128pub type NMConnectivityState = c_int;
129pub const NM_CONNECTIVITY_UNKNOWN: NMConnectivityState = 0;
130pub const NM_CONNECTIVITY_NONE: NMConnectivityState = 1;
131pub const NM_CONNECTIVITY_PORTAL: NMConnectivityState = 2;
132pub const NM_CONNECTIVITY_LIMITED: NMConnectivityState = 3;
133pub const NM_CONNECTIVITY_FULL: NMConnectivityState = 4;
134
135pub type NMCryptoError = c_int;
136pub const NM_CRYPTO_ERROR_FAILED: NMCryptoError = 0;
137pub const NM_CRYPTO_ERROR_INVALID_DATA: NMCryptoError = 1;
138pub const NM_CRYPTO_ERROR_INVALID_PASSWORD: NMCryptoError = 2;
139pub const NM_CRYPTO_ERROR_UNKNOWN_CIPHER: NMCryptoError = 3;
140pub const NM_CRYPTO_ERROR_DECRYPTION_FAILED: NMCryptoError = 4;
141pub const NM_CRYPTO_ERROR_ENCRYPTION_FAILED: NMCryptoError = 5;
142
143pub type NMDeviceError = c_int;
144pub const NM_DEVICE_ERROR_FAILED: NMDeviceError = 0;
145pub const NM_DEVICE_ERROR_CREATION_FAILED: NMDeviceError = 1;
146pub const NM_DEVICE_ERROR_INVALID_CONNECTION: NMDeviceError = 2;
147pub const NM_DEVICE_ERROR_INCOMPATIBLE_CONNECTION: NMDeviceError = 3;
148pub const NM_DEVICE_ERROR_NOT_ACTIVE: NMDeviceError = 4;
149pub const NM_DEVICE_ERROR_NOT_SOFTWARE: NMDeviceError = 5;
150pub const NM_DEVICE_ERROR_NOT_ALLOWED: NMDeviceError = 6;
151pub const NM_DEVICE_ERROR_SPECIFIC_OBJECT_NOT_FOUND: NMDeviceError = 7;
152pub const NM_DEVICE_ERROR_VERSION_ID_MISMATCH: NMDeviceError = 8;
153pub const NM_DEVICE_ERROR_MISSING_DEPENDENCIES: NMDeviceError = 9;
154pub const NM_DEVICE_ERROR_INVALID_ARGUMENT: NMDeviceError = 10;
155
156pub type NMDeviceState = c_int;
157pub const NM_DEVICE_STATE_UNKNOWN: NMDeviceState = 0;
158pub const NM_DEVICE_STATE_UNMANAGED: NMDeviceState = 10;
159pub const NM_DEVICE_STATE_UNAVAILABLE: NMDeviceState = 20;
160pub const NM_DEVICE_STATE_DISCONNECTED: NMDeviceState = 30;
161pub const NM_DEVICE_STATE_PREPARE: NMDeviceState = 40;
162pub const NM_DEVICE_STATE_CONFIG: NMDeviceState = 50;
163pub const NM_DEVICE_STATE_NEED_AUTH: NMDeviceState = 60;
164pub const NM_DEVICE_STATE_IP_CONFIG: NMDeviceState = 70;
165pub const NM_DEVICE_STATE_IP_CHECK: NMDeviceState = 80;
166pub const NM_DEVICE_STATE_SECONDARIES: NMDeviceState = 90;
167pub const NM_DEVICE_STATE_ACTIVATED: NMDeviceState = 100;
168pub const NM_DEVICE_STATE_DEACTIVATING: NMDeviceState = 110;
169pub const NM_DEVICE_STATE_FAILED: NMDeviceState = 120;
170
171pub type NMDeviceStateReason = c_int;
172pub const NM_DEVICE_STATE_REASON_NONE: NMDeviceStateReason = 0;
173pub const NM_DEVICE_STATE_REASON_UNKNOWN: NMDeviceStateReason = 1;
174pub const NM_DEVICE_STATE_REASON_NOW_MANAGED: NMDeviceStateReason = 2;
175pub const NM_DEVICE_STATE_REASON_NOW_UNMANAGED: NMDeviceStateReason = 3;
176pub const NM_DEVICE_STATE_REASON_CONFIG_FAILED: NMDeviceStateReason = 4;
177pub const NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE: NMDeviceStateReason = 5;
178pub const NM_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED: NMDeviceStateReason = 6;
179pub const NM_DEVICE_STATE_REASON_NO_SECRETS: NMDeviceStateReason = 7;
180pub const NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT: NMDeviceStateReason = 8;
181pub const NM_DEVICE_STATE_REASON_SUPPLICANT_CONFIG_FAILED: NMDeviceStateReason = 9;
182pub const NM_DEVICE_STATE_REASON_SUPPLICANT_FAILED: NMDeviceStateReason = 10;
183pub const NM_DEVICE_STATE_REASON_SUPPLICANT_TIMEOUT: NMDeviceStateReason = 11;
184pub const NM_DEVICE_STATE_REASON_PPP_START_FAILED: NMDeviceStateReason = 12;
185pub const NM_DEVICE_STATE_REASON_PPP_DISCONNECT: NMDeviceStateReason = 13;
186pub const NM_DEVICE_STATE_REASON_PPP_FAILED: NMDeviceStateReason = 14;
187pub const NM_DEVICE_STATE_REASON_DHCP_START_FAILED: NMDeviceStateReason = 15;
188pub const NM_DEVICE_STATE_REASON_DHCP_ERROR: NMDeviceStateReason = 16;
189pub const NM_DEVICE_STATE_REASON_DHCP_FAILED: NMDeviceStateReason = 17;
190pub const NM_DEVICE_STATE_REASON_SHARED_START_FAILED: NMDeviceStateReason = 18;
191pub const NM_DEVICE_STATE_REASON_SHARED_FAILED: NMDeviceStateReason = 19;
192pub const NM_DEVICE_STATE_REASON_AUTOIP_START_FAILED: NMDeviceStateReason = 20;
193pub const NM_DEVICE_STATE_REASON_AUTOIP_ERROR: NMDeviceStateReason = 21;
194pub const NM_DEVICE_STATE_REASON_AUTOIP_FAILED: NMDeviceStateReason = 22;
195pub const NM_DEVICE_STATE_REASON_MODEM_BUSY: NMDeviceStateReason = 23;
196pub const NM_DEVICE_STATE_REASON_MODEM_NO_DIAL_TONE: NMDeviceStateReason = 24;
197pub const NM_DEVICE_STATE_REASON_MODEM_NO_CARRIER: NMDeviceStateReason = 25;
198pub const NM_DEVICE_STATE_REASON_MODEM_DIAL_TIMEOUT: NMDeviceStateReason = 26;
199pub const NM_DEVICE_STATE_REASON_MODEM_DIAL_FAILED: NMDeviceStateReason = 27;
200pub const NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED: NMDeviceStateReason = 28;
201pub const NM_DEVICE_STATE_REASON_GSM_APN_FAILED: NMDeviceStateReason = 29;
202pub const NM_DEVICE_STATE_REASON_GSM_REGISTRATION_NOT_SEARCHING: NMDeviceStateReason = 30;
203pub const NM_DEVICE_STATE_REASON_GSM_REGISTRATION_DENIED: NMDeviceStateReason = 31;
204pub const NM_DEVICE_STATE_REASON_GSM_REGISTRATION_TIMEOUT: NMDeviceStateReason = 32;
205pub const NM_DEVICE_STATE_REASON_GSM_REGISTRATION_FAILED: NMDeviceStateReason = 33;
206pub const NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED: NMDeviceStateReason = 34;
207pub const NM_DEVICE_STATE_REASON_FIRMWARE_MISSING: NMDeviceStateReason = 35;
208pub const NM_DEVICE_STATE_REASON_REMOVED: NMDeviceStateReason = 36;
209pub const NM_DEVICE_STATE_REASON_SLEEPING: NMDeviceStateReason = 37;
210pub const NM_DEVICE_STATE_REASON_CONNECTION_REMOVED: NMDeviceStateReason = 38;
211pub const NM_DEVICE_STATE_REASON_USER_REQUESTED: NMDeviceStateReason = 39;
212pub const NM_DEVICE_STATE_REASON_CARRIER: NMDeviceStateReason = 40;
213pub const NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED: NMDeviceStateReason = 41;
214pub const NM_DEVICE_STATE_REASON_SUPPLICANT_AVAILABLE: NMDeviceStateReason = 42;
215pub const NM_DEVICE_STATE_REASON_MODEM_NOT_FOUND: NMDeviceStateReason = 43;
216pub const NM_DEVICE_STATE_REASON_BT_FAILED: NMDeviceStateReason = 44;
217pub const NM_DEVICE_STATE_REASON_GSM_SIM_NOT_INSERTED: NMDeviceStateReason = 45;
218pub const NM_DEVICE_STATE_REASON_GSM_SIM_PIN_REQUIRED: NMDeviceStateReason = 46;
219pub const NM_DEVICE_STATE_REASON_GSM_SIM_PUK_REQUIRED: NMDeviceStateReason = 47;
220pub const NM_DEVICE_STATE_REASON_GSM_SIM_WRONG: NMDeviceStateReason = 48;
221pub const NM_DEVICE_STATE_REASON_INFINIBAND_MODE: NMDeviceStateReason = 49;
222pub const NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED: NMDeviceStateReason = 50;
223pub const NM_DEVICE_STATE_REASON_BR2684_FAILED: NMDeviceStateReason = 51;
224pub const NM_DEVICE_STATE_REASON_MODEM_MANAGER_UNAVAILABLE: NMDeviceStateReason = 52;
225pub const NM_DEVICE_STATE_REASON_SSID_NOT_FOUND: NMDeviceStateReason = 53;
226pub const NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED: NMDeviceStateReason = 54;
227pub const NM_DEVICE_STATE_REASON_DCB_FCOE_FAILED: NMDeviceStateReason = 55;
228pub const NM_DEVICE_STATE_REASON_TEAMD_CONTROL_FAILED: NMDeviceStateReason = 56;
229pub const NM_DEVICE_STATE_REASON_MODEM_FAILED: NMDeviceStateReason = 57;
230pub const NM_DEVICE_STATE_REASON_MODEM_AVAILABLE: NMDeviceStateReason = 58;
231pub const NM_DEVICE_STATE_REASON_SIM_PIN_INCORRECT: NMDeviceStateReason = 59;
232pub const NM_DEVICE_STATE_REASON_NEW_ACTIVATION: NMDeviceStateReason = 60;
233pub const NM_DEVICE_STATE_REASON_PARENT_CHANGED: NMDeviceStateReason = 61;
234pub const NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED: NMDeviceStateReason = 62;
235pub const NM_DEVICE_STATE_REASON_OVSDB_FAILED: NMDeviceStateReason = 63;
236pub const NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE: NMDeviceStateReason = 64;
237pub const NM_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED: NMDeviceStateReason = 65;
238pub const NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED: NMDeviceStateReason = 66;
239pub const NM_DEVICE_STATE_REASON_PEER_NOT_FOUND: NMDeviceStateReason = 67;
240pub const NM_DEVICE_STATE_REASON_DEVICE_HANDLER_FAILED: NMDeviceStateReason = 68;
241pub const NM_DEVICE_STATE_REASON_UNMANAGED_BY_DEFAULT: NMDeviceStateReason = 69;
242pub const NM_DEVICE_STATE_REASON_UNMANAGED_EXTERNAL_DOWN: NMDeviceStateReason = 70;
243pub const NM_DEVICE_STATE_REASON_UNMANAGED_LINK_NOT_INIT: NMDeviceStateReason = 71;
244pub const NM_DEVICE_STATE_REASON_UNMANAGED_QUITTING: NMDeviceStateReason = 72;
245pub const NM_DEVICE_STATE_REASON_UNMANAGED_SLEEPING: NMDeviceStateReason = 73;
246pub const NM_DEVICE_STATE_REASON_UNMANAGED_USER_CONF: NMDeviceStateReason = 74;
247pub const NM_DEVICE_STATE_REASON_UNMANAGED_USER_EXPLICIT: NMDeviceStateReason = 75;
248pub const NM_DEVICE_STATE_REASON_UNMANAGED_USER_SETTINGS: NMDeviceStateReason = 76;
249pub const NM_DEVICE_STATE_REASON_UNMANAGED_USER_UDEV: NMDeviceStateReason = 77;
250
251pub type NMDeviceType = c_int;
252pub const NM_DEVICE_TYPE_UNKNOWN: NMDeviceType = 0;
253pub const NM_DEVICE_TYPE_ETHERNET: NMDeviceType = 1;
254pub const NM_DEVICE_TYPE_WIFI: NMDeviceType = 2;
255pub const NM_DEVICE_TYPE_UNUSED1: NMDeviceType = 3;
256pub const NM_DEVICE_TYPE_UNUSED2: NMDeviceType = 4;
257pub const NM_DEVICE_TYPE_BT: NMDeviceType = 5;
258pub const NM_DEVICE_TYPE_OLPC_MESH: NMDeviceType = 6;
259pub const NM_DEVICE_TYPE_WIMAX: NMDeviceType = 7;
260pub const NM_DEVICE_TYPE_MODEM: NMDeviceType = 8;
261pub const NM_DEVICE_TYPE_INFINIBAND: NMDeviceType = 9;
262pub const NM_DEVICE_TYPE_BOND: NMDeviceType = 10;
263pub const NM_DEVICE_TYPE_VLAN: NMDeviceType = 11;
264pub const NM_DEVICE_TYPE_ADSL: NMDeviceType = 12;
265pub const NM_DEVICE_TYPE_BRIDGE: NMDeviceType = 13;
266pub const NM_DEVICE_TYPE_GENERIC: NMDeviceType = 14;
267pub const NM_DEVICE_TYPE_TEAM: NMDeviceType = 15;
268pub const NM_DEVICE_TYPE_TUN: NMDeviceType = 16;
269pub const NM_DEVICE_TYPE_IP_TUNNEL: NMDeviceType = 17;
270pub const NM_DEVICE_TYPE_MACVLAN: NMDeviceType = 18;
271pub const NM_DEVICE_TYPE_VXLAN: NMDeviceType = 19;
272pub const NM_DEVICE_TYPE_VETH: NMDeviceType = 20;
273pub const NM_DEVICE_TYPE_MACSEC: NMDeviceType = 21;
274pub const NM_DEVICE_TYPE_DUMMY: NMDeviceType = 22;
275pub const NM_DEVICE_TYPE_PPP: NMDeviceType = 23;
276pub const NM_DEVICE_TYPE_OVS_INTERFACE: NMDeviceType = 24;
277pub const NM_DEVICE_TYPE_OVS_PORT: NMDeviceType = 25;
278pub const NM_DEVICE_TYPE_OVS_BRIDGE: NMDeviceType = 26;
279pub const NM_DEVICE_TYPE_WPAN: NMDeviceType = 27;
280pub const NM_DEVICE_TYPE_6LOWPAN: NMDeviceType = 28;
281pub const NM_DEVICE_TYPE_WIREGUARD: NMDeviceType = 29;
282pub const NM_DEVICE_TYPE_WIFI_P2P: NMDeviceType = 30;
283pub const NM_DEVICE_TYPE_VRF: NMDeviceType = 31;
284pub const NM_DEVICE_TYPE_LOOPBACK: NMDeviceType = 32;
285pub const NM_DEVICE_TYPE_HSR: NMDeviceType = 33;
286pub const NM_DEVICE_TYPE_IPVLAN: NMDeviceType = 34;
287
288pub type NMIPTunnelMode = c_int;
289pub const NM_IP_TUNNEL_MODE_UNKNOWN: NMIPTunnelMode = 0;
290pub const NM_IP_TUNNEL_MODE_IPIP: NMIPTunnelMode = 1;
291pub const NM_IP_TUNNEL_MODE_GRE: NMIPTunnelMode = 2;
292pub const NM_IP_TUNNEL_MODE_SIT: NMIPTunnelMode = 3;
293pub const NM_IP_TUNNEL_MODE_ISATAP: NMIPTunnelMode = 4;
294pub const NM_IP_TUNNEL_MODE_VTI: NMIPTunnelMode = 5;
295pub const NM_IP_TUNNEL_MODE_IP6IP6: NMIPTunnelMode = 6;
296pub const NM_IP_TUNNEL_MODE_IPIP6: NMIPTunnelMode = 7;
297pub const NM_IP_TUNNEL_MODE_IP6GRE: NMIPTunnelMode = 8;
298pub const NM_IP_TUNNEL_MODE_VTI6: NMIPTunnelMode = 9;
299pub const NM_IP_TUNNEL_MODE_GRETAP: NMIPTunnelMode = 10;
300pub const NM_IP_TUNNEL_MODE_IP6GRETAP: NMIPTunnelMode = 11;
301
302pub type NMKeyfileHandlerType = c_int;
303pub const NM_KEYFILE_HANDLER_TYPE_WARN: NMKeyfileHandlerType = 1;
304pub const NM_KEYFILE_HANDLER_TYPE_WRITE_CERT: NMKeyfileHandlerType = 2;
305
306pub type NMKeyfileWarnSeverity = c_int;
307pub const NM_KEYFILE_WARN_SEVERITY_DEBUG: NMKeyfileWarnSeverity = 1000;
308pub const NM_KEYFILE_WARN_SEVERITY_INFO: NMKeyfileWarnSeverity = 2000;
309pub const NM_KEYFILE_WARN_SEVERITY_INFO_MISSING_FILE: NMKeyfileWarnSeverity = 2901;
310pub const NM_KEYFILE_WARN_SEVERITY_WARN: NMKeyfileWarnSeverity = 3000;
311
312pub type NMManagerError = c_int;
313pub const NM_MANAGER_ERROR_FAILED: NMManagerError = 0;
314pub const NM_MANAGER_ERROR_PERMISSION_DENIED: NMManagerError = 1;
315pub const NM_MANAGER_ERROR_UNKNOWN_CONNECTION: NMManagerError = 2;
316pub const NM_MANAGER_ERROR_UNKNOWN_DEVICE: NMManagerError = 3;
317pub const NM_MANAGER_ERROR_CONNECTION_NOT_AVAILABLE: NMManagerError = 4;
318pub const NM_MANAGER_ERROR_CONNECTION_NOT_ACTIVE: NMManagerError = 5;
319pub const NM_MANAGER_ERROR_CONNECTION_ALREADY_ACTIVE: NMManagerError = 6;
320pub const NM_MANAGER_ERROR_DEPENDENCY_FAILED: NMManagerError = 7;
321pub const NM_MANAGER_ERROR_ALREADY_ASLEEP_OR_AWAKE: NMManagerError = 8;
322pub const NM_MANAGER_ERROR_ALREADY_ENABLED_OR_DISABLED: NMManagerError = 9;
323pub const NM_MANAGER_ERROR_UNKNOWN_LOG_LEVEL: NMManagerError = 10;
324pub const NM_MANAGER_ERROR_UNKNOWN_LOG_DOMAIN: NMManagerError = 11;
325pub const NM_MANAGER_ERROR_INVALID_ARGUMENTS: NMManagerError = 12;
326pub const NM_MANAGER_ERROR_MISSING_PLUGIN: NMManagerError = 13;
327
328pub type NMMetered = c_int;
329pub const NM_METERED_UNKNOWN: NMMetered = 0;
330pub const NM_METERED_YES: NMMetered = 1;
331pub const NM_METERED_NO: NMMetered = 2;
332pub const NM_METERED_GUESS_YES: NMMetered = 3;
333pub const NM_METERED_GUESS_NO: NMMetered = 4;
334
335pub type NMRollbackResult = c_int;
336pub const NM_ROLLBACK_RESULT_OK: NMRollbackResult = 0;
337pub const NM_ROLLBACK_RESULT_ERR_NO_DEVICE: NMRollbackResult = 1;
338pub const NM_ROLLBACK_RESULT_ERR_DEVICE_UNMANAGED: NMRollbackResult = 2;
339pub const NM_ROLLBACK_RESULT_ERR_FAILED: NMRollbackResult = 3;
340
341pub type NMSecretAgentError = c_int;
342pub const NM_SECRET_AGENT_ERROR_FAILED: NMSecretAgentError = 0;
343pub const NM_SECRET_AGENT_ERROR_PERMISSION_DENIED: NMSecretAgentError = 1;
344pub const NM_SECRET_AGENT_ERROR_INVALID_CONNECTION: NMSecretAgentError = 2;
345pub const NM_SECRET_AGENT_ERROR_USER_CANCELED: NMSecretAgentError = 3;
346pub const NM_SECRET_AGENT_ERROR_AGENT_CANCELED: NMSecretAgentError = 4;
347pub const NM_SECRET_AGENT_ERROR_NO_SECRETS: NMSecretAgentError = 5;
348
349pub type NMSetting8021xCKFormat = c_int;
350pub const NM_SETTING_802_1X_CK_FORMAT_UNKNOWN: NMSetting8021xCKFormat = 0;
351pub const NM_SETTING_802_1X_CK_FORMAT_X509: NMSetting8021xCKFormat = 1;
352pub const NM_SETTING_802_1X_CK_FORMAT_RAW_KEY: NMSetting8021xCKFormat = 2;
353pub const NM_SETTING_802_1X_CK_FORMAT_PKCS12: NMSetting8021xCKFormat = 3;
354
355pub type NMSetting8021xCKScheme = c_int;
356pub const NM_SETTING_802_1X_CK_SCHEME_UNKNOWN: NMSetting8021xCKScheme = 0;
357pub const NM_SETTING_802_1X_CK_SCHEME_BLOB: NMSetting8021xCKScheme = 1;
358pub const NM_SETTING_802_1X_CK_SCHEME_PATH: NMSetting8021xCKScheme = 2;
359pub const NM_SETTING_802_1X_CK_SCHEME_PKCS11: NMSetting8021xCKScheme = 3;
360
361pub type NMSettingCompareFlags = c_int;
362pub const NM_SETTING_COMPARE_FLAG_EXACT: NMSettingCompareFlags = 0;
363pub const NM_SETTING_COMPARE_FLAG_FUZZY: NMSettingCompareFlags = 1;
364pub const NM_SETTING_COMPARE_FLAG_IGNORE_ID: NMSettingCompareFlags = 2;
365pub const NM_SETTING_COMPARE_FLAG_IGNORE_SECRETS: NMSettingCompareFlags = 4;
366pub const NM_SETTING_COMPARE_FLAG_IGNORE_AGENT_OWNED_SECRETS: NMSettingCompareFlags = 8;
367pub const NM_SETTING_COMPARE_FLAG_IGNORE_NOT_SAVED_SECRETS: NMSettingCompareFlags = 16;
368pub const NM_SETTING_COMPARE_FLAG_DIFF_RESULT_WITH_DEFAULT: NMSettingCompareFlags = 32;
369pub const NM_SETTING_COMPARE_FLAG_DIFF_RESULT_NO_DEFAULT: NMSettingCompareFlags = 64;
370pub const NM_SETTING_COMPARE_FLAG_IGNORE_TIMESTAMP: NMSettingCompareFlags = 128;
371
372pub type NMSettingConnectionAutoconnectSlaves = c_int;
373pub const NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_DEFAULT: NMSettingConnectionAutoconnectSlaves =
374    -1;
375pub const NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_NO: NMSettingConnectionAutoconnectSlaves = 0;
376pub const NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_YES: NMSettingConnectionAutoconnectSlaves = 1;
377
378pub type NMSettingConnectionDnsOverTls = c_int;
379pub const NM_SETTING_CONNECTION_DNS_OVER_TLS_DEFAULT: NMSettingConnectionDnsOverTls = -1;
380pub const NM_SETTING_CONNECTION_DNS_OVER_TLS_NO: NMSettingConnectionDnsOverTls = 0;
381pub const NM_SETTING_CONNECTION_DNS_OVER_TLS_OPPORTUNISTIC: NMSettingConnectionDnsOverTls = 1;
382pub const NM_SETTING_CONNECTION_DNS_OVER_TLS_YES: NMSettingConnectionDnsOverTls = 2;
383
384pub type NMSettingConnectionDownOnPoweroff = c_int;
385pub const NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_DEFAULT: NMSettingConnectionDownOnPoweroff = -1;
386pub const NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_NO: NMSettingConnectionDownOnPoweroff = 0;
387pub const NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_YES: NMSettingConnectionDownOnPoweroff = 1;
388
389pub type NMSettingConnectionLldp = c_int;
390pub const NM_SETTING_CONNECTION_LLDP_DEFAULT: NMSettingConnectionLldp = -1;
391pub const NM_SETTING_CONNECTION_LLDP_DISABLE: NMSettingConnectionLldp = 0;
392pub const NM_SETTING_CONNECTION_LLDP_ENABLE_RX: NMSettingConnectionLldp = 1;
393
394pub type NMSettingConnectionLlmnr = c_int;
395pub const NM_SETTING_CONNECTION_LLMNR_DEFAULT: NMSettingConnectionLlmnr = -1;
396pub const NM_SETTING_CONNECTION_LLMNR_NO: NMSettingConnectionLlmnr = 0;
397pub const NM_SETTING_CONNECTION_LLMNR_RESOLVE: NMSettingConnectionLlmnr = 1;
398pub const NM_SETTING_CONNECTION_LLMNR_YES: NMSettingConnectionLlmnr = 2;
399
400pub type NMSettingConnectionMdns = c_int;
401pub const NM_SETTING_CONNECTION_MDNS_DEFAULT: NMSettingConnectionMdns = -1;
402pub const NM_SETTING_CONNECTION_MDNS_NO: NMSettingConnectionMdns = 0;
403pub const NM_SETTING_CONNECTION_MDNS_RESOLVE: NMSettingConnectionMdns = 1;
404pub const NM_SETTING_CONNECTION_MDNS_YES: NMSettingConnectionMdns = 2;
405
406pub type NMSettingDiffResult = c_int;
407pub const NM_SETTING_DIFF_RESULT_UNKNOWN: NMSettingDiffResult = 0;
408pub const NM_SETTING_DIFF_RESULT_IN_A: NMSettingDiffResult = 1;
409pub const NM_SETTING_DIFF_RESULT_IN_B: NMSettingDiffResult = 2;
410pub const NM_SETTING_DIFF_RESULT_IN_A_DEFAULT: NMSettingDiffResult = 4;
411pub const NM_SETTING_DIFF_RESULT_IN_B_DEFAULT: NMSettingDiffResult = 8;
412
413pub type NMSettingIP4DhcpIpv6OnlyPreferred = c_int;
414pub const NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT: NMSettingIP4DhcpIpv6OnlyPreferred = -1;
415pub const NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO: NMSettingIP4DhcpIpv6OnlyPreferred = 0;
416pub const NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES: NMSettingIP4DhcpIpv6OnlyPreferred = 1;
417
418pub type NMSettingIP4LinkLocal = c_int;
419pub const NM_SETTING_IP4_LL_DEFAULT: NMSettingIP4LinkLocal = 0;
420pub const NM_SETTING_IP4_LL_AUTO: NMSettingIP4LinkLocal = 1;
421pub const NM_SETTING_IP4_LL_DISABLED: NMSettingIP4LinkLocal = 2;
422pub const NM_SETTING_IP4_LL_ENABLED: NMSettingIP4LinkLocal = 3;
423pub const NM_SETTING_IP4_LL_FALLBACK: NMSettingIP4LinkLocal = 4;
424
425pub type NMSettingIP6ConfigAddrGenMode = c_int;
426pub const NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64: NMSettingIP6ConfigAddrGenMode = 0;
427pub const NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY: NMSettingIP6ConfigAddrGenMode = 1;
428pub const NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_DEFAULT_OR_EUI64: NMSettingIP6ConfigAddrGenMode = 2;
429pub const NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_DEFAULT: NMSettingIP6ConfigAddrGenMode = 3;
430
431pub type NMSettingIP6ConfigPrivacy = c_int;
432pub const NM_SETTING_IP6_CONFIG_PRIVACY_UNKNOWN: NMSettingIP6ConfigPrivacy = -1;
433pub const NM_SETTING_IP6_CONFIG_PRIVACY_DISABLED: NMSettingIP6ConfigPrivacy = 0;
434pub const NM_SETTING_IP6_CONFIG_PRIVACY_PREFER_PUBLIC_ADDR: NMSettingIP6ConfigPrivacy = 1;
435pub const NM_SETTING_IP6_CONFIG_PRIVACY_PREFER_TEMP_ADDR: NMSettingIP6ConfigPrivacy = 2;
436
437pub type NMSettingIPConfigForwarding = c_int;
438pub const NM_SETTING_IP_CONFIG_FORWARDING_DEFAULT: NMSettingIPConfigForwarding = -1;
439pub const NM_SETTING_IP_CONFIG_FORWARDING_NO: NMSettingIPConfigForwarding = 0;
440pub const NM_SETTING_IP_CONFIG_FORWARDING_YES: NMSettingIPConfigForwarding = 1;
441pub const NM_SETTING_IP_CONFIG_FORWARDING_AUTO: NMSettingIPConfigForwarding = 2;
442
443pub type NMSettingIPConfigRoutedDns = c_int;
444pub const NM_SETTING_IP_CONFIG_ROUTED_DNS_DEFAULT: NMSettingIPConfigRoutedDns = -1;
445pub const NM_SETTING_IP_CONFIG_ROUTED_DNS_NO: NMSettingIPConfigRoutedDns = 0;
446pub const NM_SETTING_IP_CONFIG_ROUTED_DNS_YES: NMSettingIPConfigRoutedDns = 1;
447
448pub type NMSettingIpvlanMode = c_int;
449pub const NM_SETTING_IPVLAN_MODE_UNKNOWN: NMSettingIpvlanMode = 0;
450pub const NM_SETTING_IPVLAN_MODE_L2: NMSettingIpvlanMode = 1;
451pub const NM_SETTING_IPVLAN_MODE_L3: NMSettingIpvlanMode = 2;
452pub const NM_SETTING_IPVLAN_MODE_L3S: NMSettingIpvlanMode = 3;
453
454pub type NMSettingMacRandomization = c_int;
455pub const NM_SETTING_MAC_RANDOMIZATION_DEFAULT: NMSettingMacRandomization = 0;
456pub const NM_SETTING_MAC_RANDOMIZATION_NEVER: NMSettingMacRandomization = 1;
457pub const NM_SETTING_MAC_RANDOMIZATION_ALWAYS: NMSettingMacRandomization = 2;
458
459pub type NMSettingMacsecMode = c_int;
460pub const NM_SETTING_MACSEC_MODE_PSK: NMSettingMacsecMode = 0;
461pub const NM_SETTING_MACSEC_MODE_EAP: NMSettingMacsecMode = 1;
462
463pub type NMSettingMacsecOffload = c_int;
464pub const NM_SETTING_MACSEC_OFFLOAD_DEFAULT: NMSettingMacsecOffload = -1;
465pub const NM_SETTING_MACSEC_OFFLOAD_OFF: NMSettingMacsecOffload = 0;
466pub const NM_SETTING_MACSEC_OFFLOAD_PHY: NMSettingMacsecOffload = 1;
467pub const NM_SETTING_MACSEC_OFFLOAD_MAC: NMSettingMacsecOffload = 2;
468
469pub type NMSettingMacsecValidation = c_int;
470pub const NM_SETTING_MACSEC_VALIDATION_DISABLE: NMSettingMacsecValidation = 0;
471pub const NM_SETTING_MACSEC_VALIDATION_CHECK: NMSettingMacsecValidation = 1;
472pub const NM_SETTING_MACSEC_VALIDATION_STRICT: NMSettingMacsecValidation = 2;
473
474pub type NMSettingMacvlanMode = c_int;
475pub const NM_SETTING_MACVLAN_MODE_UNKNOWN: NMSettingMacvlanMode = 0;
476pub const NM_SETTING_MACVLAN_MODE_VEPA: NMSettingMacvlanMode = 1;
477pub const NM_SETTING_MACVLAN_MODE_BRIDGE: NMSettingMacvlanMode = 2;
478pub const NM_SETTING_MACVLAN_MODE_PRIVATE: NMSettingMacvlanMode = 3;
479pub const NM_SETTING_MACVLAN_MODE_PASSTHRU: NMSettingMacvlanMode = 4;
480pub const NM_SETTING_MACVLAN_MODE_SOURCE: NMSettingMacvlanMode = 5;
481
482pub type NMSettingOvsDpdkLscInterrupt = c_int;
483pub const NM_SETTING_OVS_DPDK_LSC_INTERRUPT_IGNORE: NMSettingOvsDpdkLscInterrupt = -1;
484pub const NM_SETTING_OVS_DPDK_LSC_INTERRUPT_DISABLED: NMSettingOvsDpdkLscInterrupt = 0;
485pub const NM_SETTING_OVS_DPDK_LSC_INTERRUPT_ENABLED: NMSettingOvsDpdkLscInterrupt = 1;
486
487pub type NMSettingProxyMethod = c_int;
488pub const NM_SETTING_PROXY_METHOD_NONE: NMSettingProxyMethod = 0;
489pub const NM_SETTING_PROXY_METHOD_AUTO: NMSettingProxyMethod = 1;
490
491pub type NMSettingSerialParity = c_int;
492pub const NM_SETTING_SERIAL_PARITY_NONE: NMSettingSerialParity = 0;
493pub const NM_SETTING_SERIAL_PARITY_EVEN: NMSettingSerialParity = 1;
494pub const NM_SETTING_SERIAL_PARITY_ODD: NMSettingSerialParity = 2;
495
496pub type NMSettingTunMode = c_int;
497pub const NM_SETTING_TUN_MODE_UNKNOWN: NMSettingTunMode = 0;
498pub const NM_SETTING_TUN_MODE_TUN: NMSettingTunMode = 1;
499pub const NM_SETTING_TUN_MODE_TAP: NMSettingTunMode = 2;
500
501pub type NMSettingWirelessChannelWidth = c_int;
502pub const NM_SETTING_WIRELESS_CHANNEL_WIDTH_AUTO: NMSettingWirelessChannelWidth = 0;
503pub const NM_SETTING_WIRELESS_CHANNEL_WIDTH_20MHZ: NMSettingWirelessChannelWidth = 20;
504pub const NM_SETTING_WIRELESS_CHANNEL_WIDTH_40MHZ: NMSettingWirelessChannelWidth = 40;
505pub const NM_SETTING_WIRELESS_CHANNEL_WIDTH_80MHZ: NMSettingWirelessChannelWidth = 80;
506
507pub type NMSettingWirelessPowersave = c_int;
508pub const NM_SETTING_WIRELESS_POWERSAVE_DEFAULT: NMSettingWirelessPowersave = 0;
509pub const NM_SETTING_WIRELESS_POWERSAVE_IGNORE: NMSettingWirelessPowersave = 1;
510pub const NM_SETTING_WIRELESS_POWERSAVE_DISABLE: NMSettingWirelessPowersave = 2;
511pub const NM_SETTING_WIRELESS_POWERSAVE_ENABLE: NMSettingWirelessPowersave = 3;
512
513pub type NMSettingWirelessSecurityFils = c_int;
514pub const NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT: NMSettingWirelessSecurityFils = 0;
515pub const NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE: NMSettingWirelessSecurityFils = 1;
516pub const NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL: NMSettingWirelessSecurityFils = 2;
517pub const NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED: NMSettingWirelessSecurityFils = 3;
518
519pub type NMSettingWirelessSecurityPmf = c_int;
520pub const NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT: NMSettingWirelessSecurityPmf = 0;
521pub const NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE: NMSettingWirelessSecurityPmf = 1;
522pub const NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL: NMSettingWirelessSecurityPmf = 2;
523pub const NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED: NMSettingWirelessSecurityPmf = 3;
524
525pub type NMSettingsError = c_int;
526pub const NM_SETTINGS_ERROR_FAILED: NMSettingsError = 0;
527pub const NM_SETTINGS_ERROR_PERMISSION_DENIED: NMSettingsError = 1;
528pub const NM_SETTINGS_ERROR_NOT_SUPPORTED: NMSettingsError = 2;
529pub const NM_SETTINGS_ERROR_INVALID_CONNECTION: NMSettingsError = 3;
530pub const NM_SETTINGS_ERROR_READ_ONLY_CONNECTION: NMSettingsError = 4;
531pub const NM_SETTINGS_ERROR_UUID_EXISTS: NMSettingsError = 5;
532pub const NM_SETTINGS_ERROR_INVALID_HOSTNAME: NMSettingsError = 6;
533pub const NM_SETTINGS_ERROR_INVALID_ARGUMENTS: NMSettingsError = 7;
534pub const NM_SETTINGS_ERROR_VERSION_ID_MISMATCH: NMSettingsError = 8;
535pub const NM_SETTINGS_ERROR_NOT_SUPPORTED_BY_PLUGIN: NMSettingsError = 9;
536
537pub type NMSriovEswitchEncapMode = c_int;
538pub const NM_SRIOV_ESWITCH_ENCAP_MODE_PRESERVE: NMSriovEswitchEncapMode = -1;
539pub const NM_SRIOV_ESWITCH_ENCAP_MODE_NONE: NMSriovEswitchEncapMode = 0;
540pub const NM_SRIOV_ESWITCH_ENCAP_MODE_BASIC: NMSriovEswitchEncapMode = 1;
541
542pub type NMSriovEswitchInlineMode = c_int;
543pub const NM_SRIOV_ESWITCH_INLINE_MODE_PRESERVE: NMSriovEswitchInlineMode = -1;
544pub const NM_SRIOV_ESWITCH_INLINE_MODE_NONE: NMSriovEswitchInlineMode = 0;
545pub const NM_SRIOV_ESWITCH_INLINE_MODE_LINK: NMSriovEswitchInlineMode = 1;
546pub const NM_SRIOV_ESWITCH_INLINE_MODE_NETWORK: NMSriovEswitchInlineMode = 2;
547pub const NM_SRIOV_ESWITCH_INLINE_MODE_TRANSPORT: NMSriovEswitchInlineMode = 3;
548
549pub type NMSriovEswitchMode = c_int;
550pub const NM_SRIOV_ESWITCH_MODE_PRESERVE: NMSriovEswitchMode = -1;
551pub const NM_SRIOV_ESWITCH_MODE_LEGACY: NMSriovEswitchMode = 0;
552pub const NM_SRIOV_ESWITCH_MODE_SWITCHDEV: NMSriovEswitchMode = 1;
553
554pub type NMSriovPreserveOnDown = c_int;
555pub const NM_SRIOV_PRESERVE_ON_DOWN_DEFAULT: NMSriovPreserveOnDown = -1;
556pub const NM_SRIOV_PRESERVE_ON_DOWN_NO: NMSriovPreserveOnDown = 0;
557pub const NM_SRIOV_PRESERVE_ON_DOWN_YES: NMSriovPreserveOnDown = 1;
558
559pub type NMSriovVFVlanProtocol = c_int;
560pub const NM_SRIOV_VF_VLAN_PROTOCOL_802_1Q: NMSriovVFVlanProtocol = 0;
561pub const NM_SRIOV_VF_VLAN_PROTOCOL_802_1AD: NMSriovVFVlanProtocol = 1;
562
563pub type NMState = c_int;
564pub const NM_STATE_UNKNOWN: NMState = 0;
565pub const NM_STATE_ASLEEP: NMState = 10;
566pub const NM_STATE_DISCONNECTED: NMState = 20;
567pub const NM_STATE_DISCONNECTING: NMState = 30;
568pub const NM_STATE_CONNECTING: NMState = 40;
569pub const NM_STATE_CONNECTED_LOCAL: NMState = 50;
570pub const NM_STATE_CONNECTED_SITE: NMState = 60;
571pub const NM_STATE_CONNECTED_GLOBAL: NMState = 70;
572
573pub type NMTernary = c_int;
574pub const NM_TERNARY_DEFAULT: NMTernary = -1;
575pub const NM_TERNARY_FALSE: NMTernary = 0;
576pub const NM_TERNARY_TRUE: NMTernary = 1;
577
578pub type NMUtilsSecurityType = c_int;
579pub const NMU_SEC_INVALID: NMUtilsSecurityType = 0;
580pub const NMU_SEC_NONE: NMUtilsSecurityType = 1;
581pub const NMU_SEC_STATIC_WEP: NMUtilsSecurityType = 2;
582pub const NMU_SEC_LEAP: NMUtilsSecurityType = 3;
583pub const NMU_SEC_DYNAMIC_WEP: NMUtilsSecurityType = 4;
584pub const NMU_SEC_WPA_PSK: NMUtilsSecurityType = 5;
585pub const NMU_SEC_WPA_ENTERPRISE: NMUtilsSecurityType = 6;
586pub const NMU_SEC_WPA2_PSK: NMUtilsSecurityType = 7;
587pub const NMU_SEC_WPA2_ENTERPRISE: NMUtilsSecurityType = 8;
588pub const NMU_SEC_SAE: NMUtilsSecurityType = 9;
589pub const NMU_SEC_OWE: NMUtilsSecurityType = 10;
590pub const NMU_SEC_WPA3_SUITE_B_192: NMUtilsSecurityType = 11;
591
592pub type NMVersionInfoCapability = c_int;
593pub const NM_VERSION_INFO_CAPABILITY_SYNC_ROUTE_WITH_TABLE: NMVersionInfoCapability = 0;
594pub const NM_VERSION_INFO_CAPABILITY_IP4_FORWARDING: NMVersionInfoCapability = 1;
595pub const NM_VERSION_INFO_CAPABILITY_SRIOV_PRESERVE_ON_DOWN: NMVersionInfoCapability = 2;
596
597pub type NMVlanPriorityMap = c_int;
598pub const NM_VLAN_INGRESS_MAP: NMVlanPriorityMap = 0;
599pub const NM_VLAN_EGRESS_MAP: NMVlanPriorityMap = 1;
600
601pub type NMVpnConnectionState = c_int;
602pub const NM_VPN_CONNECTION_STATE_UNKNOWN: NMVpnConnectionState = 0;
603pub const NM_VPN_CONNECTION_STATE_PREPARE: NMVpnConnectionState = 1;
604pub const NM_VPN_CONNECTION_STATE_NEED_AUTH: NMVpnConnectionState = 2;
605pub const NM_VPN_CONNECTION_STATE_CONNECT: NMVpnConnectionState = 3;
606pub const NM_VPN_CONNECTION_STATE_IP_CONFIG_GET: NMVpnConnectionState = 4;
607pub const NM_VPN_CONNECTION_STATE_ACTIVATED: NMVpnConnectionState = 5;
608pub const NM_VPN_CONNECTION_STATE_FAILED: NMVpnConnectionState = 6;
609pub const NM_VPN_CONNECTION_STATE_DISCONNECTED: NMVpnConnectionState = 7;
610
611pub type NMVpnConnectionStateReason = c_int;
612pub const NM_VPN_CONNECTION_STATE_REASON_UNKNOWN: NMVpnConnectionStateReason = 0;
613pub const NM_VPN_CONNECTION_STATE_REASON_NONE: NMVpnConnectionStateReason = 1;
614pub const NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED: NMVpnConnectionStateReason = 2;
615pub const NM_VPN_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED: NMVpnConnectionStateReason = 3;
616pub const NM_VPN_CONNECTION_STATE_REASON_SERVICE_STOPPED: NMVpnConnectionStateReason = 4;
617pub const NM_VPN_CONNECTION_STATE_REASON_IP_CONFIG_INVALID: NMVpnConnectionStateReason = 5;
618pub const NM_VPN_CONNECTION_STATE_REASON_CONNECT_TIMEOUT: NMVpnConnectionStateReason = 6;
619pub const NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT: NMVpnConnectionStateReason = 7;
620pub const NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_FAILED: NMVpnConnectionStateReason = 8;
621pub const NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS: NMVpnConnectionStateReason = 9;
622pub const NM_VPN_CONNECTION_STATE_REASON_LOGIN_FAILED: NMVpnConnectionStateReason = 10;
623pub const NM_VPN_CONNECTION_STATE_REASON_CONNECTION_REMOVED: NMVpnConnectionStateReason = 11;
624
625pub type NMVpnPluginError = c_int;
626pub const NM_VPN_PLUGIN_ERROR_FAILED: NMVpnPluginError = 0;
627pub const NM_VPN_PLUGIN_ERROR_STARTING_IN_PROGRESS: NMVpnPluginError = 1;
628pub const NM_VPN_PLUGIN_ERROR_ALREADY_STARTED: NMVpnPluginError = 2;
629pub const NM_VPN_PLUGIN_ERROR_STOPPING_IN_PROGRESS: NMVpnPluginError = 3;
630pub const NM_VPN_PLUGIN_ERROR_ALREADY_STOPPED: NMVpnPluginError = 4;
631pub const NM_VPN_PLUGIN_ERROR_WRONG_STATE: NMVpnPluginError = 5;
632pub const NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS: NMVpnPluginError = 6;
633pub const NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED: NMVpnPluginError = 7;
634pub const NM_VPN_PLUGIN_ERROR_INVALID_CONNECTION: NMVpnPluginError = 8;
635pub const NM_VPN_PLUGIN_ERROR_INTERACTIVE_NOT_SUPPORTED: NMVpnPluginError = 9;
636
637pub type NMVpnPluginFailure = c_int;
638pub const NM_VPN_PLUGIN_FAILURE_LOGIN_FAILED: NMVpnPluginFailure = 0;
639pub const NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED: NMVpnPluginFailure = 1;
640pub const NM_VPN_PLUGIN_FAILURE_BAD_IP_CONFIG: NMVpnPluginFailure = 2;
641
642pub type NMVpnServiceState = c_int;
643pub const NM_VPN_SERVICE_STATE_UNKNOWN: NMVpnServiceState = 0;
644pub const NM_VPN_SERVICE_STATE_INIT: NMVpnServiceState = 1;
645pub const NM_VPN_SERVICE_STATE_SHUTDOWN: NMVpnServiceState = 2;
646pub const NM_VPN_SERVICE_STATE_STARTING: NMVpnServiceState = 3;
647pub const NM_VPN_SERVICE_STATE_STARTED: NMVpnServiceState = 4;
648pub const NM_VPN_SERVICE_STATE_STOPPING: NMVpnServiceState = 5;
649pub const NM_VPN_SERVICE_STATE_STOPPED: NMVpnServiceState = 6;
650
651pub type NMWepKeyType = c_int;
652pub const NM_WEP_KEY_TYPE_UNKNOWN: NMWepKeyType = 0;
653pub const NM_WEP_KEY_TYPE_KEY: NMWepKeyType = 1;
654pub const NM_WEP_KEY_TYPE_PASSPHRASE: NMWepKeyType = 2;
655
656pub type NMWimaxNspNetworkType = c_int;
657pub const NM_WIMAX_NSP_NETWORK_TYPE_UNKNOWN: NMWimaxNspNetworkType = 0;
658pub const NM_WIMAX_NSP_NETWORK_TYPE_HOME: NMWimaxNspNetworkType = 1;
659pub const NM_WIMAX_NSP_NETWORK_TYPE_PARTNER: NMWimaxNspNetworkType = 2;
660pub const NM_WIMAX_NSP_NETWORK_TYPE_ROAMING_PARTNER: NMWimaxNspNetworkType = 3;
661
662// Constants
663pub const NM_ACCESS_POINT_BANDWIDTH: &[u8] = b"bandwidth\0";
664pub const NM_ACCESS_POINT_BSSID: &[u8] = b"bssid\0";
665pub const NM_ACCESS_POINT_FLAGS: &[u8] = b"flags\0";
666pub const NM_ACCESS_POINT_FREQUENCY: &[u8] = b"frequency\0";
667pub const NM_ACCESS_POINT_HW_ADDRESS: &[u8] = b"hw-address\0";
668pub const NM_ACCESS_POINT_LAST_SEEN: &[u8] = b"last-seen\0";
669pub const NM_ACCESS_POINT_MAX_BITRATE: &[u8] = b"max-bitrate\0";
670pub const NM_ACCESS_POINT_MODE: &[u8] = b"mode\0";
671pub const NM_ACCESS_POINT_RSN_FLAGS: &[u8] = b"rsn-flags\0";
672pub const NM_ACCESS_POINT_SSID: &[u8] = b"ssid\0";
673pub const NM_ACCESS_POINT_STRENGTH: &[u8] = b"strength\0";
674pub const NM_ACCESS_POINT_WPA_FLAGS: &[u8] = b"wpa-flags\0";
675pub const NM_ACTIVE_CONNECTION_CONNECTION: &[u8] = b"connection\0";
676pub const NM_ACTIVE_CONNECTION_CONTROLLER: &[u8] = b"controller\0";
677pub const NM_ACTIVE_CONNECTION_DEFAULT: &[u8] = b"default\0";
678pub const NM_ACTIVE_CONNECTION_DEFAULT6: &[u8] = b"default6\0";
679pub const NM_ACTIVE_CONNECTION_DEVICES: &[u8] = b"devices\0";
680pub const NM_ACTIVE_CONNECTION_DHCP4_CONFIG: &[u8] = b"dhcp4-config\0";
681pub const NM_ACTIVE_CONNECTION_DHCP6_CONFIG: &[u8] = b"dhcp6-config\0";
682pub const NM_ACTIVE_CONNECTION_ID: &[u8] = b"id\0";
683pub const NM_ACTIVE_CONNECTION_IP4_CONFIG: &[u8] = b"ip4-config\0";
684pub const NM_ACTIVE_CONNECTION_IP6_CONFIG: &[u8] = b"ip6-config\0";
685pub const NM_ACTIVE_CONNECTION_MASTER: &[u8] = b"master\0";
686pub const NM_ACTIVE_CONNECTION_SPECIFIC_OBJECT_PATH: &[u8] = b"specific-object-path\0";
687pub const NM_ACTIVE_CONNECTION_STATE: &[u8] = b"state\0";
688pub const NM_ACTIVE_CONNECTION_STATE_FLAGS: &[u8] = b"state-flags\0";
689pub const NM_ACTIVE_CONNECTION_TYPE: &[u8] = b"type\0";
690pub const NM_ACTIVE_CONNECTION_UUID: &[u8] = b"uuid\0";
691pub const NM_ACTIVE_CONNECTION_VPN: &[u8] = b"vpn\0";
692pub const NM_BRIDGE_VLAN_VID_MAX: c_int = 4094;
693pub const NM_BRIDGE_VLAN_VID_MIN: c_int = 1;
694pub const NM_CHECKPOINT_CREATED: &[u8] = b"created\0";
695pub const NM_CHECKPOINT_DEVICES: &[u8] = b"devices\0";
696pub const NM_CHECKPOINT_ROLLBACK_TIMEOUT: &[u8] = b"rollback-timeout\0";
697pub const NM_CLIENT_ACTIVATING_CONNECTION: &[u8] = b"activating-connection\0";
698pub const NM_CLIENT_ACTIVE_CONNECTIONS: &[u8] = b"active-connections\0";
699pub const NM_CLIENT_ACTIVE_CONNECTION_ADDED: &[u8] = b"active-connection-added\0";
700pub const NM_CLIENT_ACTIVE_CONNECTION_REMOVED: &[u8] = b"active-connection-removed\0";
701pub const NM_CLIENT_ALL_DEVICES: &[u8] = b"all-devices\0";
702pub const NM_CLIENT_ANY_DEVICE_ADDED: &[u8] = b"any-device-added\0";
703pub const NM_CLIENT_ANY_DEVICE_REMOVED: &[u8] = b"any-device-removed\0";
704pub const NM_CLIENT_CAN_MODIFY: &[u8] = b"can-modify\0";
705pub const NM_CLIENT_CAPABILITIES: &[u8] = b"capabilities\0";
706pub const NM_CLIENT_CHECKPOINTS: &[u8] = b"checkpoints\0";
707pub const NM_CLIENT_CONNECTIONS: &[u8] = b"connections\0";
708pub const NM_CLIENT_CONNECTION_ADDED: &[u8] = b"connection-added\0";
709pub const NM_CLIENT_CONNECTION_REMOVED: &[u8] = b"connection-removed\0";
710pub const NM_CLIENT_CONNECTIVITY: &[u8] = b"connectivity\0";
711pub const NM_CLIENT_CONNECTIVITY_CHECK_AVAILABLE: &[u8] = b"connectivity-check-available\0";
712pub const NM_CLIENT_CONNECTIVITY_CHECK_ENABLED: &[u8] = b"connectivity-check-enabled\0";
713pub const NM_CLIENT_CONNECTIVITY_CHECK_URI: &[u8] = b"connectivity-check-uri\0";
714pub const NM_CLIENT_DBUS_CONNECTION: &[u8] = b"dbus-connection\0";
715pub const NM_CLIENT_DBUS_NAME_OWNER: &[u8] = b"dbus-name-owner\0";
716pub const NM_CLIENT_DEVICES: &[u8] = b"devices\0";
717pub const NM_CLIENT_DEVICE_ADDED: &[u8] = b"device-added\0";
718pub const NM_CLIENT_DEVICE_REMOVED: &[u8] = b"device-removed\0";
719pub const NM_CLIENT_DNS_CONFIGURATION: &[u8] = b"dns-configuration\0";
720pub const NM_CLIENT_DNS_MODE: &[u8] = b"dns-mode\0";
721pub const NM_CLIENT_DNS_RC_MANAGER: &[u8] = b"dns-rc-manager\0";
722pub const NM_CLIENT_HOSTNAME: &[u8] = b"hostname\0";
723pub const NM_CLIENT_INSTANCE_FLAGS: &[u8] = b"instance-flags\0";
724pub const NM_CLIENT_METERED: &[u8] = b"metered\0";
725pub const NM_CLIENT_NETWORKING_ENABLED: &[u8] = b"networking-enabled\0";
726pub const NM_CLIENT_NM_RUNNING: &[u8] = b"nm-running\0";
727pub const NM_CLIENT_PERMISSIONS_STATE: &[u8] = b"permissions-state\0";
728pub const NM_CLIENT_PERMISSION_CHANGED: &[u8] = b"permission-changed\0";
729pub const NM_CLIENT_PRIMARY_CONNECTION: &[u8] = b"primary-connection\0";
730pub const NM_CLIENT_RADIO_FLAGS: &[u8] = b"radio-flags\0";
731pub const NM_CLIENT_STARTUP: &[u8] = b"startup\0";
732pub const NM_CLIENT_STATE: &[u8] = b"state\0";
733pub const NM_CLIENT_VERSION: &[u8] = b"version\0";
734pub const NM_CLIENT_VERSION_INFO: &[u8] = b"version-info\0";
735pub const NM_CLIENT_WIMAX_ENABLED: &[u8] = b"wimax-enabled\0";
736pub const NM_CLIENT_WIMAX_HARDWARE_ENABLED: &[u8] = b"wimax-hardware-enabled\0";
737pub const NM_CLIENT_WIRELESS_ENABLED: &[u8] = b"wireless-enabled\0";
738pub const NM_CLIENT_WIRELESS_HARDWARE_ENABLED: &[u8] = b"wireless-hardware-enabled\0";
739pub const NM_CLIENT_WWAN_ENABLED: &[u8] = b"wwan-enabled\0";
740pub const NM_CLIENT_WWAN_HARDWARE_ENABLED: &[u8] = b"wwan-hardware-enabled\0";
741pub const NM_CONNECTION_CHANGED: &[u8] = b"changed\0";
742pub const NM_CONNECTION_NORMALIZE_PARAM_IP4_CONFIG_METHOD: &[u8] = b"ip4-config-method\0";
743pub const NM_CONNECTION_NORMALIZE_PARAM_IP6_CONFIG_METHOD: &[u8] = b"ip6-config-method\0";
744pub const NM_CONNECTION_SECRETS_CLEARED: &[u8] = b"secrets-cleared\0";
745pub const NM_CONNECTION_SECRETS_UPDATED: &[u8] = b"secrets-updated\0";
746pub const NM_DBUS_INTERFACE: &[u8] = b"org.freedesktop.NetworkManager\0";
747pub const NM_DBUS_INTERFACE_DNS_MANAGER: &[u8] = b"org.freedesktop.NetworkManager.DnsManager\0";
748pub const NM_DBUS_INTERFACE_SETTINGS: &[u8] = b"org.freedesktop.NetworkManager.Settings\0";
749pub const NM_DBUS_INTERFACE_SETTINGS_CONNECTION: &[u8] =
750    b"org.freedesktop.NetworkManager.Settings.Connection\0";
751pub const NM_DBUS_INTERFACE_SETTINGS_CONNECTION_SECRETS: &[u8] =
752    b"org.freedesktop.NetworkManager.Settings.Connection.Secrets\0";
753pub const NM_DBUS_INTERFACE_VPN: &[u8] = b"org.freedesktop.NetworkManager.VPN.Manager\0";
754pub const NM_DBUS_INTERFACE_VPN_CONNECTION: &[u8] =
755    b"org.freedesktop.NetworkManager.VPN.Connection\0";
756pub const NM_DBUS_INVALID_VPN_CONNECTION: &[u8] =
757    b"org.freedesktop.NetworkManager.VPNConnections.InvalidVPNConnection\0";
758pub const NM_DBUS_NO_ACTIVE_VPN_CONNECTION: &[u8] =
759    b"org.freedesktop.NetworkManager.VPNConnections.NoActiveVPNConnection\0";
760pub const NM_DBUS_NO_VPN_CONNECTIONS: &[u8] =
761    b"org.freedesktop.NetworkManager.VPNConnections.NoVPNConnections\0";
762pub const NM_DBUS_PATH: &[u8] = b"/org/freedesktop/NetworkManager\0";
763pub const NM_DBUS_PATH_AGENT_MANAGER: &[u8] = b"/org/freedesktop/NetworkManager/AgentManager\0";
764pub const NM_DBUS_PATH_DNS_MANAGER: &[u8] = b"/org/freedesktop/NetworkManager/DnsManager\0";
765pub const NM_DBUS_PATH_SECRET_AGENT: &[u8] = b"/org/freedesktop/NetworkManager/SecretAgent\0";
766pub const NM_DBUS_PATH_SETTINGS: &[u8] = b"/org/freedesktop/NetworkManager/Settings\0";
767pub const NM_DBUS_PATH_SETTINGS_CONNECTION: &[u8] =
768    b"/org/freedesktop/NetworkManager/Settings/Connection\0";
769pub const NM_DBUS_PATH_VPN: &[u8] = b"/org/freedesktop/NetworkManager/VPN/Manager\0";
770pub const NM_DBUS_PATH_VPN_CONNECTION: &[u8] = b"/org/freedesktop/NetworkManager/VPN/Connection\0";
771pub const NM_DBUS_SERVICE: &[u8] = b"org.freedesktop.NetworkManager\0";
772pub const NM_DBUS_VPN_ALREADY_STARTED: &[u8] = b"AlreadyStarted\0";
773pub const NM_DBUS_VPN_ALREADY_STOPPED: &[u8] = b"AlreadyStopped\0";
774pub const NM_DBUS_VPN_BAD_ARGUMENTS: &[u8] = b"BadArguments\0";
775pub const NM_DBUS_VPN_ERROR_PREFIX: &[u8] = b"org.freedesktop.NetworkManager.VPN.Error\0";
776pub const NM_DBUS_VPN_INTERACTIVE_NOT_SUPPORTED: &[u8] = b"InteractiveNotSupported\0";
777pub const NM_DBUS_VPN_SIGNAL_CONNECT_FAILED: &[u8] = b"ConnectFailed\0";
778pub const NM_DBUS_VPN_SIGNAL_IP4_CONFIG: &[u8] = b"IP4Config\0";
779pub const NM_DBUS_VPN_SIGNAL_IP_CONFIG_BAD: &[u8] = b"IPConfigBad\0";
780pub const NM_DBUS_VPN_SIGNAL_LAUNCH_FAILED: &[u8] = b"LaunchFailed\0";
781pub const NM_DBUS_VPN_SIGNAL_LOGIN_BANNER: &[u8] = b"LoginBanner\0";
782pub const NM_DBUS_VPN_SIGNAL_LOGIN_FAILED: &[u8] = b"LoginFailed\0";
783pub const NM_DBUS_VPN_SIGNAL_STATE_CHANGE: &[u8] = b"StateChange\0";
784pub const NM_DBUS_VPN_SIGNAL_VPN_CONFIG_BAD: &[u8] = b"VPNConfigBad\0";
785pub const NM_DBUS_VPN_STARTING_IN_PROGRESS: &[u8] = b"StartingInProgress\0";
786pub const NM_DBUS_VPN_STOPPING_IN_PROGRESS: &[u8] = b"StoppingInProgress\0";
787pub const NM_DBUS_VPN_WRONG_STATE: &[u8] = b"WrongState\0";
788pub const NM_DEVICE_6LOWPAN_HW_ADDRESS: &[u8] = b"hw-address\0";
789pub const NM_DEVICE_6LOWPAN_PARENT: &[u8] = b"parent\0";
790pub const NM_DEVICE_ACTIVE_CONNECTION: &[u8] = b"active-connection\0";
791pub const NM_DEVICE_ADSL_CARRIER: &[u8] = b"carrier\0";
792pub const NM_DEVICE_AUTOCONNECT: &[u8] = b"autoconnect\0";
793pub const NM_DEVICE_AVAILABLE_CONNECTIONS: &[u8] = b"available-connections\0";
794pub const NM_DEVICE_BOND_CARRIER: &[u8] = b"carrier\0";
795pub const NM_DEVICE_BOND_HW_ADDRESS: &[u8] = b"hw-address\0";
796pub const NM_DEVICE_BOND_SLAVES: &[u8] = b"slaves\0";
797pub const NM_DEVICE_BRIDGE_CARRIER: &[u8] = b"carrier\0";
798pub const NM_DEVICE_BRIDGE_HW_ADDRESS: &[u8] = b"hw-address\0";
799pub const NM_DEVICE_BRIDGE_SLAVES: &[u8] = b"slaves\0";
800pub const NM_DEVICE_BT_CAPABILITIES: &[u8] = b"bt-capabilities\0";
801pub const NM_DEVICE_BT_HW_ADDRESS: &[u8] = b"hw-address\0";
802pub const NM_DEVICE_BT_NAME: &[u8] = b"name\0";
803pub const NM_DEVICE_CAPABILITIES: &[u8] = b"capabilities\0";
804pub const NM_DEVICE_DEVICE_TYPE: &[u8] = b"device-type\0";
805pub const NM_DEVICE_DHCP4_CONFIG: &[u8] = b"dhcp4-config\0";
806pub const NM_DEVICE_DHCP6_CONFIG: &[u8] = b"dhcp6-config\0";
807pub const NM_DEVICE_DRIVER: &[u8] = b"driver\0";
808pub const NM_DEVICE_DRIVER_VERSION: &[u8] = b"driver-version\0";
809pub const NM_DEVICE_DUMMY_HW_ADDRESS: &[u8] = b"hw-address\0";
810pub const NM_DEVICE_ETHERNET_CARRIER: &[u8] = b"carrier\0";
811pub const NM_DEVICE_ETHERNET_HW_ADDRESS: &[u8] = b"hw-address\0";
812pub const NM_DEVICE_ETHERNET_PERMANENT_HW_ADDRESS: &[u8] = b"perm-hw-address\0";
813pub const NM_DEVICE_ETHERNET_S390_SUBCHANNELS: &[u8] = b"s390-subchannels\0";
814pub const NM_DEVICE_ETHERNET_SPEED: &[u8] = b"speed\0";
815pub const NM_DEVICE_FIRMWARE_MISSING: &[u8] = b"firmware-missing\0";
816pub const NM_DEVICE_FIRMWARE_VERSION: &[u8] = b"firmware-version\0";
817pub const NM_DEVICE_GENERIC_HW_ADDRESS: &[u8] = b"hw-address\0";
818pub const NM_DEVICE_GENERIC_TYPE_DESCRIPTION: &[u8] = b"type-description\0";
819pub const NM_DEVICE_HSR_MULTICAST_SPEC: &[u8] = b"multicast-spec\0";
820pub const NM_DEVICE_HSR_PORT1: &[u8] = b"port1\0";
821pub const NM_DEVICE_HSR_PORT2: &[u8] = b"port2\0";
822pub const NM_DEVICE_HSR_PRP: &[u8] = b"prp\0";
823pub const NM_DEVICE_HSR_SUPERVISION_ADDRESS: &[u8] = b"supervision-address\0";
824pub const NM_DEVICE_HW_ADDRESS: &[u8] = b"hw-address\0";
825pub const NM_DEVICE_INFINIBAND_CARRIER: &[u8] = b"carrier\0";
826pub const NM_DEVICE_INFINIBAND_HW_ADDRESS: &[u8] = b"hw-address\0";
827pub const NM_DEVICE_INTERFACE: &[u8] = b"interface\0";
828pub const NM_DEVICE_INTERFACE_FLAGS: &[u8] = b"interface-flags\0";
829pub const NM_DEVICE_IP4_CONFIG: &[u8] = b"ip4-config\0";
830pub const NM_DEVICE_IP4_CONNECTIVITY: &[u8] = b"ip4-connectivity\0";
831pub const NM_DEVICE_IP6_CONFIG: &[u8] = b"ip6-config\0";
832pub const NM_DEVICE_IP6_CONNECTIVITY: &[u8] = b"ip6-connectivity\0";
833pub const NM_DEVICE_IPVLAN_MODE: &[u8] = b"mode\0";
834pub const NM_DEVICE_IPVLAN_PARENT: &[u8] = b"parent\0";
835pub const NM_DEVICE_IPVLAN_PRIVATE: &[u8] = b"private\0";
836pub const NM_DEVICE_IPVLAN_VEPA: &[u8] = b"vepa\0";
837pub const NM_DEVICE_IP_INTERFACE: &[u8] = b"ip-interface\0";
838pub const NM_DEVICE_IP_TUNNEL_ENCAPSULATION_LIMIT: &[u8] = b"encapsulation-limit\0";
839pub const NM_DEVICE_IP_TUNNEL_FLAGS: &[u8] = b"flags\0";
840pub const NM_DEVICE_IP_TUNNEL_FLOW_LABEL: &[u8] = b"flow-label\0";
841pub const NM_DEVICE_IP_TUNNEL_FWMARK: &[u8] = b"fwmark\0";
842pub const NM_DEVICE_IP_TUNNEL_INPUT_KEY: &[u8] = b"input-key\0";
843pub const NM_DEVICE_IP_TUNNEL_LOCAL: &[u8] = b"local\0";
844pub const NM_DEVICE_IP_TUNNEL_MODE: &[u8] = b"mode\0";
845pub const NM_DEVICE_IP_TUNNEL_OUTPUT_KEY: &[u8] = b"output-key\0";
846pub const NM_DEVICE_IP_TUNNEL_PARENT: &[u8] = b"parent\0";
847pub const NM_DEVICE_IP_TUNNEL_PATH_MTU_DISCOVERY: &[u8] = b"path-mtu-discovery\0";
848pub const NM_DEVICE_IP_TUNNEL_REMOTE: &[u8] = b"remote\0";
849pub const NM_DEVICE_IP_TUNNEL_TOS: &[u8] = b"tos\0";
850pub const NM_DEVICE_IP_TUNNEL_TTL: &[u8] = b"ttl\0";
851pub const NM_DEVICE_LLDP_NEIGHBORS: &[u8] = b"lldp-neighbors\0";
852pub const NM_DEVICE_MACSEC_CIPHER_SUITE: &[u8] = b"cipher-suite\0";
853pub const NM_DEVICE_MACSEC_ENCODING_SA: &[u8] = b"encoding-sa\0";
854pub const NM_DEVICE_MACSEC_ENCRYPT: &[u8] = b"encrypt\0";
855pub const NM_DEVICE_MACSEC_ES: &[u8] = b"es\0";
856pub const NM_DEVICE_MACSEC_HW_ADDRESS: &[u8] = b"hw-address\0";
857pub const NM_DEVICE_MACSEC_ICV_LENGTH: &[u8] = b"icv-length\0";
858pub const NM_DEVICE_MACSEC_INCLUDE_SCI: &[u8] = b"include-sci\0";
859pub const NM_DEVICE_MACSEC_PARENT: &[u8] = b"parent\0";
860pub const NM_DEVICE_MACSEC_PROTECT: &[u8] = b"protect\0";
861pub const NM_DEVICE_MACSEC_REPLAY_PROTECT: &[u8] = b"replay-protect\0";
862pub const NM_DEVICE_MACSEC_SCB: &[u8] = b"scb\0";
863pub const NM_DEVICE_MACSEC_SCI: &[u8] = b"sci\0";
864pub const NM_DEVICE_MACSEC_VALIDATION: &[u8] = b"validation\0";
865pub const NM_DEVICE_MACSEC_WINDOW: &[u8] = b"window\0";
866pub const NM_DEVICE_MACVLAN_HW_ADDRESS: &[u8] = b"hw-address\0";
867pub const NM_DEVICE_MACVLAN_MODE: &[u8] = b"mode\0";
868pub const NM_DEVICE_MACVLAN_NO_PROMISC: &[u8] = b"no-promisc\0";
869pub const NM_DEVICE_MACVLAN_PARENT: &[u8] = b"parent\0";
870pub const NM_DEVICE_MACVLAN_TAP: &[u8] = b"tap\0";
871pub const NM_DEVICE_MANAGED: &[u8] = b"managed\0";
872pub const NM_DEVICE_METERED: &[u8] = b"metered\0";
873pub const NM_DEVICE_MODEM_APN: &[u8] = b"apn\0";
874pub const NM_DEVICE_MODEM_CURRENT_CAPABILITIES: &[u8] = b"current-capabilities\0";
875pub const NM_DEVICE_MODEM_DEVICE_ID: &[u8] = b"device-id\0";
876pub const NM_DEVICE_MODEM_MODEM_CAPABILITIES: &[u8] = b"modem-capabilities\0";
877pub const NM_DEVICE_MODEM_OPERATOR_CODE: &[u8] = b"operator-code\0";
878pub const NM_DEVICE_MTU: &[u8] = b"mtu\0";
879pub const NM_DEVICE_NM_PLUGIN_MISSING: &[u8] = b"nm-plugin-missing\0";
880pub const NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL: &[u8] = b"active-channel\0";
881pub const NM_DEVICE_OLPC_MESH_COMPANION: &[u8] = b"companion\0";
882pub const NM_DEVICE_OLPC_MESH_HW_ADDRESS: &[u8] = b"hw-address\0";
883pub const NM_DEVICE_OVS_BRIDGE_SLAVES: &[u8] = b"slaves\0";
884pub const NM_DEVICE_OVS_PORT_SLAVES: &[u8] = b"slaves\0";
885pub const NM_DEVICE_PATH: &[u8] = b"path\0";
886pub const NM_DEVICE_PHYSICAL_PORT_ID: &[u8] = b"physical-port-id\0";
887pub const NM_DEVICE_PORTS: &[u8] = b"ports\0";
888pub const NM_DEVICE_PRODUCT: &[u8] = b"product\0";
889pub const NM_DEVICE_REAL: &[u8] = b"real\0";
890pub const NM_DEVICE_STATE: &[u8] = b"state\0";
891pub const NM_DEVICE_STATE_REASON: &[u8] = b"state-reason\0";
892pub const NM_DEVICE_TEAM_CARRIER: &[u8] = b"carrier\0";
893pub const NM_DEVICE_TEAM_CONFIG: &[u8] = b"config\0";
894pub const NM_DEVICE_TEAM_HW_ADDRESS: &[u8] = b"hw-address\0";
895pub const NM_DEVICE_TEAM_SLAVES: &[u8] = b"slaves\0";
896pub const NM_DEVICE_TUN_GROUP: &[u8] = b"group\0";
897pub const NM_DEVICE_TUN_HW_ADDRESS: &[u8] = b"hw-address\0";
898pub const NM_DEVICE_TUN_MODE: &[u8] = b"mode\0";
899pub const NM_DEVICE_TUN_MULTI_QUEUE: &[u8] = b"multi-queue\0";
900pub const NM_DEVICE_TUN_NO_PI: &[u8] = b"no-pi\0";
901pub const NM_DEVICE_TUN_OWNER: &[u8] = b"owner\0";
902pub const NM_DEVICE_TUN_VNET_HDR: &[u8] = b"vnet-hdr\0";
903pub const NM_DEVICE_UDI: &[u8] = b"udi\0";
904pub const NM_DEVICE_VENDOR: &[u8] = b"vendor\0";
905pub const NM_DEVICE_VETH_PEER: &[u8] = b"peer\0";
906pub const NM_DEVICE_VLAN_CARRIER: &[u8] = b"carrier\0";
907pub const NM_DEVICE_VLAN_HW_ADDRESS: &[u8] = b"hw-address\0";
908pub const NM_DEVICE_VLAN_PARENT: &[u8] = b"parent\0";
909pub const NM_DEVICE_VLAN_VLAN_ID: &[u8] = b"vlan-id\0";
910pub const NM_DEVICE_VRF_TABLE: &[u8] = b"table\0";
911pub const NM_DEVICE_VXLAN_AGEING: &[u8] = b"ageing\0";
912pub const NM_DEVICE_VXLAN_CARRIER: &[u8] = b"carrier\0";
913pub const NM_DEVICE_VXLAN_DST_PORT: &[u8] = b"dst-port\0";
914pub const NM_DEVICE_VXLAN_GROUP: &[u8] = b"group\0";
915pub const NM_DEVICE_VXLAN_HW_ADDRESS: &[u8] = b"hw-address\0";
916pub const NM_DEVICE_VXLAN_ID: &[u8] = b"id\0";
917pub const NM_DEVICE_VXLAN_L2MISS: &[u8] = b"l2miss\0";
918pub const NM_DEVICE_VXLAN_L3MISS: &[u8] = b"l3miss\0";
919pub const NM_DEVICE_VXLAN_LEARNING: &[u8] = b"learning\0";
920pub const NM_DEVICE_VXLAN_LIMIT: &[u8] = b"limit\0";
921pub const NM_DEVICE_VXLAN_LOCAL: &[u8] = b"local\0";
922pub const NM_DEVICE_VXLAN_PARENT: &[u8] = b"parent\0";
923pub const NM_DEVICE_VXLAN_PROXY: &[u8] = b"proxy\0";
924pub const NM_DEVICE_VXLAN_RSC: &[u8] = b"rsc\0";
925pub const NM_DEVICE_VXLAN_SRC_PORT_MAX: &[u8] = b"src-port-max\0";
926pub const NM_DEVICE_VXLAN_SRC_PORT_MIN: &[u8] = b"src-port-min\0";
927pub const NM_DEVICE_VXLAN_TOS: &[u8] = b"tos\0";
928pub const NM_DEVICE_VXLAN_TTL: &[u8] = b"ttl\0";
929pub const NM_DEVICE_WIFI_ACCESS_POINTS: &[u8] = b"access-points\0";
930pub const NM_DEVICE_WIFI_ACTIVE_ACCESS_POINT: &[u8] = b"active-access-point\0";
931pub const NM_DEVICE_WIFI_BITRATE: &[u8] = b"bitrate\0";
932pub const NM_DEVICE_WIFI_CAPABILITIES: &[u8] = b"wireless-capabilities\0";
933pub const NM_DEVICE_WIFI_HW_ADDRESS: &[u8] = b"hw-address\0";
934pub const NM_DEVICE_WIFI_LAST_SCAN: &[u8] = b"last-scan\0";
935pub const NM_DEVICE_WIFI_MODE: &[u8] = b"mode\0";
936pub const NM_DEVICE_WIFI_P2P_HW_ADDRESS: &[u8] = b"hw-address\0";
937pub const NM_DEVICE_WIFI_P2P_PEERS: &[u8] = b"peers\0";
938pub const NM_DEVICE_WIFI_P2P_WFDIES: &[u8] = b"wfdies\0";
939pub const NM_DEVICE_WIFI_PERMANENT_HW_ADDRESS: &[u8] = b"perm-hw-address\0";
940pub const NM_DEVICE_WIMAX_ACTIVE_NSP: &[u8] = b"active-nsp\0";
941pub const NM_DEVICE_WIMAX_BSID: &[u8] = b"bsid\0";
942pub const NM_DEVICE_WIMAX_CENTER_FREQUENCY: &[u8] = b"center-frequency\0";
943pub const NM_DEVICE_WIMAX_CINR: &[u8] = b"cinr\0";
944pub const NM_DEVICE_WIMAX_HW_ADDRESS: &[u8] = b"hw-address\0";
945pub const NM_DEVICE_WIMAX_NSPS: &[u8] = b"nsps\0";
946pub const NM_DEVICE_WIMAX_RSSI: &[u8] = b"rssi\0";
947pub const NM_DEVICE_WIMAX_TX_POWER: &[u8] = b"tx-power\0";
948pub const NM_DEVICE_WIREGUARD_FWMARK: &[u8] = b"fwmark\0";
949pub const NM_DEVICE_WIREGUARD_LISTEN_PORT: &[u8] = b"listen-port\0";
950pub const NM_DEVICE_WIREGUARD_PUBLIC_KEY: &[u8] = b"public-key\0";
951pub const NM_DEVICE_WPAN_HW_ADDRESS: &[u8] = b"hw-address\0";
952pub const NM_DHCP_CONFIG_FAMILY: &[u8] = b"family\0";
953pub const NM_DHCP_CONFIG_OPTIONS: &[u8] = b"options\0";
954pub const NM_ETHTOOL_OPTNAME_CHANNELS_COMBINED: &[u8] = b"channels-combined\0";
955pub const NM_ETHTOOL_OPTNAME_CHANNELS_OTHER: &[u8] = b"channels-other\0";
956pub const NM_ETHTOOL_OPTNAME_CHANNELS_RX: &[u8] = b"channels-rx\0";
957pub const NM_ETHTOOL_OPTNAME_CHANNELS_TX: &[u8] = b"channels-tx\0";
958pub const NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_RX: &[u8] = b"coalesce-adaptive-rx\0";
959pub const NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_TX: &[u8] = b"coalesce-adaptive-tx\0";
960pub const NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_HIGH: &[u8] = b"coalesce-pkt-rate-high\0";
961pub const NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_LOW: &[u8] = b"coalesce-pkt-rate-low\0";
962pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES: &[u8] = b"coalesce-rx-frames\0";
963pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_HIGH: &[u8] = b"coalesce-rx-frames-high\0";
964pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_IRQ: &[u8] = b"coalesce-rx-frames-irq\0";
965pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_LOW: &[u8] = b"coalesce-rx-frames-low\0";
966pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS: &[u8] = b"coalesce-rx-usecs\0";
967pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_HIGH: &[u8] = b"coalesce-rx-usecs-high\0";
968pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_IRQ: &[u8] = b"coalesce-rx-usecs-irq\0";
969pub const NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_LOW: &[u8] = b"coalesce-rx-usecs-low\0";
970pub const NM_ETHTOOL_OPTNAME_COALESCE_SAMPLE_INTERVAL: &[u8] = b"coalesce-sample-interval\0";
971pub const NM_ETHTOOL_OPTNAME_COALESCE_STATS_BLOCK_USECS: &[u8] = b"coalesce-stats-block-usecs\0";
972pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES: &[u8] = b"coalesce-tx-frames\0";
973pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_HIGH: &[u8] = b"coalesce-tx-frames-high\0";
974pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_IRQ: &[u8] = b"coalesce-tx-frames-irq\0";
975pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_LOW: &[u8] = b"coalesce-tx-frames-low\0";
976pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS: &[u8] = b"coalesce-tx-usecs\0";
977pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_HIGH: &[u8] = b"coalesce-tx-usecs-high\0";
978pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_IRQ: &[u8] = b"coalesce-tx-usecs-irq\0";
979pub const NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_LOW: &[u8] = b"coalesce-tx-usecs-low\0";
980pub const NM_ETHTOOL_OPTNAME_EEE_ENABLED: &[u8] = b"eee-enabled\0";
981pub const NM_ETHTOOL_OPTNAME_FEATURE_ESP_HW_OFFLOAD: &[u8] = b"feature-esp-hw-offload\0";
982pub const NM_ETHTOOL_OPTNAME_FEATURE_ESP_TX_CSUM_HW_OFFLOAD: &[u8] =
983    b"feature-esp-tx-csum-hw-offload\0";
984pub const NM_ETHTOOL_OPTNAME_FEATURE_FCOE_MTU: &[u8] = b"feature-fcoe-mtu\0";
985pub const NM_ETHTOOL_OPTNAME_FEATURE_GRO: &[u8] = b"feature-gro\0";
986pub const NM_ETHTOOL_OPTNAME_FEATURE_GSO: &[u8] = b"feature-gso\0";
987pub const NM_ETHTOOL_OPTNAME_FEATURE_HIGHDMA: &[u8] = b"feature-highdma\0";
988pub const NM_ETHTOOL_OPTNAME_FEATURE_HW_TC_OFFLOAD: &[u8] = b"feature-hw-tc-offload\0";
989pub const NM_ETHTOOL_OPTNAME_FEATURE_L2_FWD_OFFLOAD: &[u8] = b"feature-l2-fwd-offload\0";
990pub const NM_ETHTOOL_OPTNAME_FEATURE_LOOPBACK: &[u8] = b"feature-loopback\0";
991pub const NM_ETHTOOL_OPTNAME_FEATURE_LRO: &[u8] = b"feature-lro\0";
992pub const NM_ETHTOOL_OPTNAME_FEATURE_MACSEC_HW_OFFLOAD: &[u8] = b"feature-macsec-hw-offload\0";
993pub const NM_ETHTOOL_OPTNAME_FEATURE_NTUPLE: &[u8] = b"feature-ntuple\0";
994pub const NM_ETHTOOL_OPTNAME_FEATURE_RX: &[u8] = b"feature-rx\0";
995pub const NM_ETHTOOL_OPTNAME_FEATURE_RXHASH: &[u8] = b"feature-rxhash\0";
996pub const NM_ETHTOOL_OPTNAME_FEATURE_RXVLAN: &[u8] = b"feature-rxvlan\0";
997pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_ALL: &[u8] = b"feature-rx-all\0";
998pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_FCS: &[u8] = b"feature-rx-fcs\0";
999pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_HW: &[u8] = b"feature-rx-gro-hw\0";
1000pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_LIST: &[u8] = b"feature-rx-gro-list\0";
1001pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_GRO_FORWARDING: &[u8] =
1002    b"feature-rx-udp-gro-forwarding\0";
1003pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD: &[u8] =
1004    b"feature-rx-udp_tunnel-port-offload\0";
1005pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_FILTER: &[u8] = b"feature-rx-vlan-filter\0";
1006pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_FILTER: &[u8] = b"feature-rx-vlan-stag-filter\0";
1007pub const NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_HW_PARSE: &[u8] =
1008    b"feature-rx-vlan-stag-hw-parse\0";
1009pub const NM_ETHTOOL_OPTNAME_FEATURE_SG: &[u8] = b"feature-sg\0";
1010pub const NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RECORD: &[u8] = b"feature-tls-hw-record\0";
1011pub const NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RX_OFFLOAD: &[u8] = b"feature-tls-hw-rx-offload\0";
1012pub const NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_TX_OFFLOAD: &[u8] = b"feature-tls-hw-tx-offload\0";
1013pub const NM_ETHTOOL_OPTNAME_FEATURE_TSO: &[u8] = b"feature-tso\0";
1014pub const NM_ETHTOOL_OPTNAME_FEATURE_TX: &[u8] = b"feature-tx\0";
1015pub const NM_ETHTOOL_OPTNAME_FEATURE_TXVLAN: &[u8] = b"feature-txvlan\0";
1016pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_FCOE_CRC: &[u8] =
1017    b"feature-tx-checksum-fcoe-crc\0";
1018pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV4: &[u8] = b"feature-tx-checksum-ipv4\0";
1019pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV6: &[u8] = b"feature-tx-checksum-ipv6\0";
1020pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IP_GENERIC: &[u8] =
1021    b"feature-tx-checksum-ip-generic\0";
1022pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_SCTP: &[u8] = b"feature-tx-checksum-sctp\0";
1023pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_ESP_SEGMENTATION: &[u8] = b"feature-tx-esp-segmentation\0";
1024pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_FCOE_SEGMENTATION: &[u8] =
1025    b"feature-tx-fcoe-segmentation\0";
1026pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_CSUM_SEGMENTATION: &[u8] =
1027    b"feature-tx-gre-csum-segmentation\0";
1028pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_SEGMENTATION: &[u8] = b"feature-tx-gre-segmentation\0";
1029pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_LIST: &[u8] = b"feature-tx-gso-list\0";
1030pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_PARTIAL: &[u8] = b"feature-tx-gso-partial\0";
1031pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_ROBUST: &[u8] = b"feature-tx-gso-robust\0";
1032pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP4_SEGMENTATION: &[u8] =
1033    b"feature-tx-ipxip4-segmentation\0";
1034pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP6_SEGMENTATION: &[u8] =
1035    b"feature-tx-ipxip6-segmentation\0";
1036pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_NOCACHE_COPY: &[u8] = b"feature-tx-nocache-copy\0";
1037pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER: &[u8] = b"feature-tx-scatter-gather\0";
1038pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER_FRAGLIST: &[u8] =
1039    b"feature-tx-scatter-gather-fraglist\0";
1040pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_SCTP_SEGMENTATION: &[u8] =
1041    b"feature-tx-sctp-segmentation\0";
1042pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP6_SEGMENTATION: &[u8] =
1043    b"feature-tx-tcp6-segmentation\0";
1044pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_ECN_SEGMENTATION: &[u8] =
1045    b"feature-tx-tcp-ecn-segmentation\0";
1046pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_MANGLEID_SEGMENTATION: &[u8] =
1047    b"feature-tx-tcp-mangleid-segmentation\0";
1048pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_SEGMENTATION: &[u8] = b"feature-tx-tcp-segmentation\0";
1049pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION: &[u8] =
1050    b"feature-tx-tunnel-remcsum-segmentation\0";
1051pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_SEGMENTATION: &[u8] = b"feature-tx-udp-segmentation\0";
1052pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION: &[u8] =
1053    b"feature-tx-udp_tnl-csum-segmentation\0";
1054pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_SEGMENTATION: &[u8] =
1055    b"feature-tx-udp_tnl-segmentation\0";
1056pub const NM_ETHTOOL_OPTNAME_FEATURE_TX_VLAN_STAG_HW_INSERT: &[u8] =
1057    b"feature-tx-vlan-stag-hw-insert\0";
1058pub const NM_ETHTOOL_OPTNAME_FEC_MODE: &[u8] = b"fec-mode\0";
1059pub const NM_ETHTOOL_OPTNAME_PAUSE_AUTONEG: &[u8] = b"pause-autoneg\0";
1060pub const NM_ETHTOOL_OPTNAME_PAUSE_RX: &[u8] = b"pause-rx\0";
1061pub const NM_ETHTOOL_OPTNAME_PAUSE_TX: &[u8] = b"pause-tx\0";
1062pub const NM_ETHTOOL_OPTNAME_RING_RX: &[u8] = b"ring-rx\0";
1063pub const NM_ETHTOOL_OPTNAME_RING_RX_JUMBO: &[u8] = b"ring-rx-jumbo\0";
1064pub const NM_ETHTOOL_OPTNAME_RING_RX_MINI: &[u8] = b"ring-rx-mini\0";
1065pub const NM_ETHTOOL_OPTNAME_RING_TX: &[u8] = b"ring-tx\0";
1066pub const NM_IP_ADDRESS_ATTRIBUTE_LABEL: &[u8] = b"label\0";
1067pub const NM_IP_CONFIG_ADDRESSES: &[u8] = b"addresses\0";
1068pub const NM_IP_CONFIG_DOMAINS: &[u8] = b"domains\0";
1069pub const NM_IP_CONFIG_FAMILY: &[u8] = b"family\0";
1070pub const NM_IP_CONFIG_GATEWAY: &[u8] = b"gateway\0";
1071pub const NM_IP_CONFIG_NAMESERVERS: &[u8] = b"nameservers\0";
1072pub const NM_IP_CONFIG_ROUTES: &[u8] = b"routes\0";
1073pub const NM_IP_CONFIG_SEARCHES: &[u8] = b"searches\0";
1074pub const NM_IP_CONFIG_WINS_SERVERS: &[u8] = b"wins-servers\0";
1075pub const NM_IP_ROUTE_ATTRIBUTE_ADVMSS: &[u8] = b"advmss\0";
1076pub const NM_IP_ROUTE_ATTRIBUTE_CWND: &[u8] = b"cwnd\0";
1077pub const NM_IP_ROUTE_ATTRIBUTE_FROM: &[u8] = b"from\0";
1078pub const NM_IP_ROUTE_ATTRIBUTE_INITCWND: &[u8] = b"initcwnd\0";
1079pub const NM_IP_ROUTE_ATTRIBUTE_INITRWND: &[u8] = b"initrwnd\0";
1080pub const NM_IP_ROUTE_ATTRIBUTE_LOCK_ADVMSS: &[u8] = b"lock-advmss\0";
1081pub const NM_IP_ROUTE_ATTRIBUTE_LOCK_CWND: &[u8] = b"lock-cwnd\0";
1082pub const NM_IP_ROUTE_ATTRIBUTE_LOCK_INITCWND: &[u8] = b"lock-initcwnd\0";
1083pub const NM_IP_ROUTE_ATTRIBUTE_LOCK_INITRWND: &[u8] = b"lock-initrwnd\0";
1084pub const NM_IP_ROUTE_ATTRIBUTE_LOCK_MTU: &[u8] = b"lock-mtu\0";
1085pub const NM_IP_ROUTE_ATTRIBUTE_LOCK_WINDOW: &[u8] = b"lock-window\0";
1086pub const NM_IP_ROUTE_ATTRIBUTE_MTU: &[u8] = b"mtu\0";
1087pub const NM_IP_ROUTE_ATTRIBUTE_ONLINK: &[u8] = b"onlink\0";
1088pub const NM_IP_ROUTE_ATTRIBUTE_QUICKACK: &[u8] = b"quickack\0";
1089pub const NM_IP_ROUTE_ATTRIBUTE_RTO_MIN: &[u8] = b"rto_min\0";
1090pub const NM_IP_ROUTE_ATTRIBUTE_SCOPE: &[u8] = b"scope\0";
1091pub const NM_IP_ROUTE_ATTRIBUTE_SRC: &[u8] = b"src\0";
1092pub const NM_IP_ROUTE_ATTRIBUTE_TABLE: &[u8] = b"table\0";
1093pub const NM_IP_ROUTE_ATTRIBUTE_TOS: &[u8] = b"tos\0";
1094pub const NM_IP_ROUTE_ATTRIBUTE_TYPE: &[u8] = b"type\0";
1095pub const NM_IP_ROUTE_ATTRIBUTE_WEIGHT: &[u8] = b"weight\0";
1096pub const NM_IP_ROUTE_ATTRIBUTE_WINDOW: &[u8] = b"window\0";
1097pub const NM_LLDP_ATTR_CHASSIS_ID: &[u8] = b"chassis-id\0";
1098pub const NM_LLDP_ATTR_CHASSIS_ID_TYPE: &[u8] = b"chassis-id-type\0";
1099pub const NM_LLDP_ATTR_DESTINATION: &[u8] = b"destination\0";
1100pub const NM_LLDP_ATTR_IEEE_802_1_PPVID: &[u8] = b"ieee-802-1-ppvid\0";
1101pub const NM_LLDP_ATTR_IEEE_802_1_PPVIDS: &[u8] = b"ieee-802-1-ppvids\0";
1102pub const NM_LLDP_ATTR_IEEE_802_1_PPVID_FLAGS: &[u8] = b"ieee-802-1-ppvid-flags\0";
1103pub const NM_LLDP_ATTR_IEEE_802_1_PVID: &[u8] = b"ieee-802-1-pvid\0";
1104pub const NM_LLDP_ATTR_IEEE_802_1_VID: &[u8] = b"ieee-802-1-vid\0";
1105pub const NM_LLDP_ATTR_IEEE_802_1_VLANS: &[u8] = b"ieee-802-1-vlans\0";
1106pub const NM_LLDP_ATTR_IEEE_802_1_VLAN_NAME: &[u8] = b"ieee-802-1-vlan-name\0";
1107pub const NM_LLDP_ATTR_IEEE_802_3_MAC_PHY_CONF: &[u8] = b"ieee-802-3-mac-phy-conf\0";
1108pub const NM_LLDP_ATTR_IEEE_802_3_MAX_FRAME_SIZE: &[u8] = b"ieee-802-3-max-frame-size\0";
1109pub const NM_LLDP_ATTR_IEEE_802_3_POWER_VIA_MDI: &[u8] = b"ieee-802-3-power-via-mdi\0";
1110pub const NM_LLDP_ATTR_MANAGEMENT_ADDRESSES: &[u8] = b"management-addresses\0";
1111pub const NM_LLDP_ATTR_MUD_URL: &[u8] = b"mud-url\0";
1112pub const NM_LLDP_ATTR_PORT_DESCRIPTION: &[u8] = b"port-description\0";
1113pub const NM_LLDP_ATTR_PORT_ID: &[u8] = b"port-id\0";
1114pub const NM_LLDP_ATTR_PORT_ID_TYPE: &[u8] = b"port-id-type\0";
1115pub const NM_LLDP_ATTR_RAW: &[u8] = b"raw\0";
1116pub const NM_LLDP_ATTR_SYSTEM_CAPABILITIES: &[u8] = b"system-capabilities\0";
1117pub const NM_LLDP_ATTR_SYSTEM_DESCRIPTION: &[u8] = b"system-description\0";
1118pub const NM_LLDP_ATTR_SYSTEM_NAME: &[u8] = b"system-name\0";
1119pub const NM_LLDP_DEST_NEAREST_BRIDGE: &[u8] = b"nearest-bridge\0";
1120pub const NM_LLDP_DEST_NEAREST_CUSTOMER_BRIDGE: &[u8] = b"nearest-customer-bridge\0";
1121pub const NM_LLDP_DEST_NEAREST_NON_TPMR_BRIDGE: &[u8] = b"nearest-non-tpmr-bridge\0";
1122pub const NM_MAJOR_VERSION: c_int = 1;
1123pub const NM_MICRO_VERSION: c_int = 1;
1124pub const NM_MINOR_VERSION: c_int = 54;
1125pub const NM_OBJECT_CLIENT: &[u8] = b"client\0";
1126pub const NM_OBJECT_PATH: &[u8] = b"path\0";
1127pub const NM_REMOTE_CONNECTION_DBUS_CONNECTION: &[u8] = b"dbus-connection\0";
1128pub const NM_REMOTE_CONNECTION_FILENAME: &[u8] = b"filename\0";
1129pub const NM_REMOTE_CONNECTION_FLAGS: &[u8] = b"flags\0";
1130pub const NM_REMOTE_CONNECTION_PATH: &[u8] = b"path\0";
1131pub const NM_REMOTE_CONNECTION_UNSAVED: &[u8] = b"unsaved\0";
1132pub const NM_REMOTE_CONNECTION_VERSION_ID: &[u8] = b"version-id\0";
1133pub const NM_REMOTE_CONNECTION_VISIBLE: &[u8] = b"visible\0";
1134pub const NM_SECRET_AGENT_OLD_AUTO_REGISTER: &[u8] = b"auto-register\0";
1135pub const NM_SECRET_AGENT_OLD_CAPABILITIES: &[u8] = b"capabilities\0";
1136pub const NM_SECRET_AGENT_OLD_DBUS_CONNECTION: &[u8] = b"dbus-connection\0";
1137pub const NM_SECRET_AGENT_OLD_IDENTIFIER: &[u8] = b"identifier\0";
1138pub const NM_SECRET_AGENT_OLD_REGISTERED: &[u8] = b"registered\0";
1139pub const NM_SECRET_TAG_DYNAMIC_CHALLENGE: &[u8] = b"x-dynamic-challenge:\0";
1140pub const NM_SECRET_TAG_DYNAMIC_CHALLENGE_ECHO: &[u8] = b"x-dynamic-challenge-echo:\0";
1141pub const NM_SECRET_TAG_VPN_MSG: &[u8] = b"x-vpn-message:\0";
1142pub const NM_SETTING_6LOWPAN_PARENT: &[u8] = b"parent\0";
1143pub const NM_SETTING_6LOWPAN_SETTING_NAME: &[u8] = b"6lowpan\0";
1144pub const NM_SETTING_802_1X_ALTSUBJECT_MATCHES: &[u8] = b"altsubject-matches\0";
1145pub const NM_SETTING_802_1X_ANONYMOUS_IDENTITY: &[u8] = b"anonymous-identity\0";
1146pub const NM_SETTING_802_1X_AUTH_TIMEOUT: &[u8] = b"auth-timeout\0";
1147pub const NM_SETTING_802_1X_CA_CERT: &[u8] = b"ca-cert\0";
1148pub const NM_SETTING_802_1X_CA_CERT_PASSWORD: &[u8] = b"ca-cert-password\0";
1149pub const NM_SETTING_802_1X_CA_CERT_PASSWORD_FLAGS: &[u8] = b"ca-cert-password-flags\0";
1150pub const NM_SETTING_802_1X_CA_PATH: &[u8] = b"ca-path\0";
1151pub const NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH: &[u8] = b"file://\0";
1152pub const NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11: &[u8] = b"pkcs11:\0";
1153pub const NM_SETTING_802_1X_CLIENT_CERT: &[u8] = b"client-cert\0";
1154pub const NM_SETTING_802_1X_CLIENT_CERT_PASSWORD: &[u8] = b"client-cert-password\0";
1155pub const NM_SETTING_802_1X_CLIENT_CERT_PASSWORD_FLAGS: &[u8] = b"client-cert-password-flags\0";
1156pub const NM_SETTING_802_1X_DOMAIN_MATCH: &[u8] = b"domain-match\0";
1157pub const NM_SETTING_802_1X_DOMAIN_SUFFIX_MATCH: &[u8] = b"domain-suffix-match\0";
1158pub const NM_SETTING_802_1X_EAP: &[u8] = b"eap\0";
1159pub const NM_SETTING_802_1X_IDENTITY: &[u8] = b"identity\0";
1160pub const NM_SETTING_802_1X_OPENSSL_CIPHERS: &[u8] = b"openssl-ciphers\0";
1161pub const NM_SETTING_802_1X_OPTIONAL: &[u8] = b"optional\0";
1162pub const NM_SETTING_802_1X_PAC_FILE: &[u8] = b"pac-file\0";
1163pub const NM_SETTING_802_1X_PASSWORD: &[u8] = b"password\0";
1164pub const NM_SETTING_802_1X_PASSWORD_FLAGS: &[u8] = b"password-flags\0";
1165pub const NM_SETTING_802_1X_PASSWORD_RAW: &[u8] = b"password-raw\0";
1166pub const NM_SETTING_802_1X_PASSWORD_RAW_FLAGS: &[u8] = b"password-raw-flags\0";
1167pub const NM_SETTING_802_1X_PHASE1_AUTH_FLAGS: &[u8] = b"phase1-auth-flags\0";
1168pub const NM_SETTING_802_1X_PHASE1_FAST_PROVISIONING: &[u8] = b"phase1-fast-provisioning\0";
1169pub const NM_SETTING_802_1X_PHASE1_PEAPLABEL: &[u8] = b"phase1-peaplabel\0";
1170pub const NM_SETTING_802_1X_PHASE1_PEAPVER: &[u8] = b"phase1-peapver\0";
1171pub const NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES: &[u8] = b"phase2-altsubject-matches\0";
1172pub const NM_SETTING_802_1X_PHASE2_AUTH: &[u8] = b"phase2-auth\0";
1173pub const NM_SETTING_802_1X_PHASE2_AUTHEAP: &[u8] = b"phase2-autheap\0";
1174pub const NM_SETTING_802_1X_PHASE2_CA_CERT: &[u8] = b"phase2-ca-cert\0";
1175pub const NM_SETTING_802_1X_PHASE2_CA_CERT_PASSWORD: &[u8] = b"phase2-ca-cert-password\0";
1176pub const NM_SETTING_802_1X_PHASE2_CA_CERT_PASSWORD_FLAGS: &[u8] =
1177    b"phase2-ca-cert-password-flags\0";
1178pub const NM_SETTING_802_1X_PHASE2_CA_PATH: &[u8] = b"phase2-ca-path\0";
1179pub const NM_SETTING_802_1X_PHASE2_CLIENT_CERT: &[u8] = b"phase2-client-cert\0";
1180pub const NM_SETTING_802_1X_PHASE2_CLIENT_CERT_PASSWORD: &[u8] = b"phase2-client-cert-password\0";
1181pub const NM_SETTING_802_1X_PHASE2_CLIENT_CERT_PASSWORD_FLAGS: &[u8] =
1182    b"phase2-client-cert-password-flags\0";
1183pub const NM_SETTING_802_1X_PHASE2_DOMAIN_MATCH: &[u8] = b"phase2-domain-match\0";
1184pub const NM_SETTING_802_1X_PHASE2_DOMAIN_SUFFIX_MATCH: &[u8] = b"phase2-domain-suffix-match\0";
1185pub const NM_SETTING_802_1X_PHASE2_PRIVATE_KEY: &[u8] = b"phase2-private-key\0";
1186pub const NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD: &[u8] = b"phase2-private-key-password\0";
1187pub const NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD_FLAGS: &[u8] =
1188    b"phase2-private-key-password-flags\0";
1189pub const NM_SETTING_802_1X_PHASE2_SUBJECT_MATCH: &[u8] = b"phase2-subject-match\0";
1190pub const NM_SETTING_802_1X_PIN: &[u8] = b"pin\0";
1191pub const NM_SETTING_802_1X_PIN_FLAGS: &[u8] = b"pin-flags\0";
1192pub const NM_SETTING_802_1X_PRIVATE_KEY: &[u8] = b"private-key\0";
1193pub const NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD: &[u8] = b"private-key-password\0";
1194pub const NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD_FLAGS: &[u8] = b"private-key-password-flags\0";
1195pub const NM_SETTING_802_1X_SETTING_NAME: &[u8] = b"802-1x\0";
1196pub const NM_SETTING_802_1X_SUBJECT_MATCH: &[u8] = b"subject-match\0";
1197pub const NM_SETTING_802_1X_SYSTEM_CA_CERTS: &[u8] = b"system-ca-certs\0";
1198pub const NM_SETTING_ADSL_ENCAPSULATION: &[u8] = b"encapsulation\0";
1199pub const NM_SETTING_ADSL_ENCAPSULATION_LLC: &[u8] = b"llc\0";
1200pub const NM_SETTING_ADSL_ENCAPSULATION_VCMUX: &[u8] = b"vcmux\0";
1201pub const NM_SETTING_ADSL_PASSWORD: &[u8] = b"password\0";
1202pub const NM_SETTING_ADSL_PASSWORD_FLAGS: &[u8] = b"password-flags\0";
1203pub const NM_SETTING_ADSL_PROTOCOL: &[u8] = b"protocol\0";
1204pub const NM_SETTING_ADSL_PROTOCOL_IPOATM: &[u8] = b"ipoatm\0";
1205pub const NM_SETTING_ADSL_PROTOCOL_PPPOA: &[u8] = b"pppoa\0";
1206pub const NM_SETTING_ADSL_PROTOCOL_PPPOE: &[u8] = b"pppoe\0";
1207pub const NM_SETTING_ADSL_SETTING_NAME: &[u8] = b"adsl\0";
1208pub const NM_SETTING_ADSL_USERNAME: &[u8] = b"username\0";
1209pub const NM_SETTING_ADSL_VCI: &[u8] = b"vci\0";
1210pub const NM_SETTING_ADSL_VPI: &[u8] = b"vpi\0";
1211pub const NM_SETTING_BLUETOOTH_BDADDR: &[u8] = b"bdaddr\0";
1212pub const NM_SETTING_BLUETOOTH_SETTING_NAME: &[u8] = b"bluetooth\0";
1213pub const NM_SETTING_BLUETOOTH_TYPE: &[u8] = b"type\0";
1214pub const NM_SETTING_BLUETOOTH_TYPE_DUN: &[u8] = b"dun\0";
1215pub const NM_SETTING_BLUETOOTH_TYPE_NAP: &[u8] = b"nap\0";
1216pub const NM_SETTING_BLUETOOTH_TYPE_PANU: &[u8] = b"panu\0";
1217pub const NM_SETTING_BOND_OPTIONS: &[u8] = b"options\0";
1218pub const NM_SETTING_BOND_OPTION_ACTIVE_SLAVE: &[u8] = b"active_slave\0";
1219pub const NM_SETTING_BOND_OPTION_AD_ACTOR_SYSTEM: &[u8] = b"ad_actor_system\0";
1220pub const NM_SETTING_BOND_OPTION_AD_ACTOR_SYS_PRIO: &[u8] = b"ad_actor_sys_prio\0";
1221pub const NM_SETTING_BOND_OPTION_AD_SELECT: &[u8] = b"ad_select\0";
1222pub const NM_SETTING_BOND_OPTION_AD_USER_PORT_KEY: &[u8] = b"ad_user_port_key\0";
1223pub const NM_SETTING_BOND_OPTION_ALL_SLAVES_ACTIVE: &[u8] = b"all_slaves_active\0";
1224pub const NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS: &[u8] = b"arp_all_targets\0";
1225pub const NM_SETTING_BOND_OPTION_ARP_INTERVAL: &[u8] = b"arp_interval\0";
1226pub const NM_SETTING_BOND_OPTION_ARP_IP_TARGET: &[u8] = b"arp_ip_target\0";
1227pub const NM_SETTING_BOND_OPTION_ARP_MISSED_MAX: &[u8] = b"arp_missed_max\0";
1228pub const NM_SETTING_BOND_OPTION_ARP_VALIDATE: &[u8] = b"arp_validate\0";
1229pub const NM_SETTING_BOND_OPTION_BALANCE_SLB: &[u8] = b"balance-slb\0";
1230pub const NM_SETTING_BOND_OPTION_DOWNDELAY: &[u8] = b"downdelay\0";
1231pub const NM_SETTING_BOND_OPTION_FAIL_OVER_MAC: &[u8] = b"fail_over_mac\0";
1232pub const NM_SETTING_BOND_OPTION_LACP_ACTIVE: &[u8] = b"lacp_active\0";
1233pub const NM_SETTING_BOND_OPTION_LACP_RATE: &[u8] = b"lacp_rate\0";
1234pub const NM_SETTING_BOND_OPTION_LP_INTERVAL: &[u8] = b"lp_interval\0";
1235pub const NM_SETTING_BOND_OPTION_MIIMON: &[u8] = b"miimon\0";
1236pub const NM_SETTING_BOND_OPTION_MIN_LINKS: &[u8] = b"min_links\0";
1237pub const NM_SETTING_BOND_OPTION_MODE: &[u8] = b"mode\0";
1238pub const NM_SETTING_BOND_OPTION_NS_IP6_TARGET: &[u8] = b"ns_ip6_target\0";
1239pub const NM_SETTING_BOND_OPTION_NUM_GRAT_ARP: &[u8] = b"num_grat_arp\0";
1240pub const NM_SETTING_BOND_OPTION_NUM_UNSOL_NA: &[u8] = b"num_unsol_na\0";
1241pub const NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE: &[u8] = b"packets_per_slave\0";
1242pub const NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY: &[u8] = b"peer_notif_delay\0";
1243pub const NM_SETTING_BOND_OPTION_PRIMARY: &[u8] = b"primary\0";
1244pub const NM_SETTING_BOND_OPTION_PRIMARY_RESELECT: &[u8] = b"primary_reselect\0";
1245pub const NM_SETTING_BOND_OPTION_RESEND_IGMP: &[u8] = b"resend_igmp\0";
1246pub const NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB: &[u8] = b"tlb_dynamic_lb\0";
1247pub const NM_SETTING_BOND_OPTION_UPDELAY: &[u8] = b"updelay\0";
1248pub const NM_SETTING_BOND_OPTION_USE_CARRIER: &[u8] = b"use_carrier\0";
1249pub const NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY: &[u8] = b"xmit_hash_policy\0";
1250pub const NM_SETTING_BOND_PORT_PRIO: &[u8] = b"prio\0";
1251pub const NM_SETTING_BOND_PORT_QUEUE_ID: &[u8] = b"queue-id\0";
1252pub const NM_SETTING_BOND_PORT_SETTING_NAME: &[u8] = b"bond-port\0";
1253pub const NM_SETTING_BOND_SETTING_NAME: &[u8] = b"bond\0";
1254pub const NM_SETTING_BRIDGE_AGEING_TIME: &[u8] = b"ageing-time\0";
1255pub const NM_SETTING_BRIDGE_FORWARD_DELAY: &[u8] = b"forward-delay\0";
1256pub const NM_SETTING_BRIDGE_GROUP_ADDRESS: &[u8] = b"group-address\0";
1257pub const NM_SETTING_BRIDGE_GROUP_FORWARD_MASK: &[u8] = b"group-forward-mask\0";
1258pub const NM_SETTING_BRIDGE_HELLO_TIME: &[u8] = b"hello-time\0";
1259pub const NM_SETTING_BRIDGE_MAC_ADDRESS: &[u8] = b"mac-address\0";
1260pub const NM_SETTING_BRIDGE_MAX_AGE: &[u8] = b"max-age\0";
1261pub const NM_SETTING_BRIDGE_MULTICAST_HASH_MAX: &[u8] = b"multicast-hash-max\0";
1262pub const NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT: &[u8] = b"multicast-last-member-count\0";
1263pub const NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL: &[u8] =
1264    b"multicast-last-member-interval\0";
1265pub const NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL: &[u8] =
1266    b"multicast-membership-interval\0";
1267pub const NM_SETTING_BRIDGE_MULTICAST_QUERIER: &[u8] = b"multicast-querier\0";
1268pub const NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL: &[u8] = b"multicast-querier-interval\0";
1269pub const NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL: &[u8] = b"multicast-query-interval\0";
1270pub const NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL: &[u8] =
1271    b"multicast-query-response-interval\0";
1272pub const NM_SETTING_BRIDGE_MULTICAST_QUERY_USE_IFADDR: &[u8] = b"multicast-query-use-ifaddr\0";
1273pub const NM_SETTING_BRIDGE_MULTICAST_ROUTER: &[u8] = b"multicast-router\0";
1274pub const NM_SETTING_BRIDGE_MULTICAST_SNOOPING: &[u8] = b"multicast-snooping\0";
1275pub const NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT: &[u8] =
1276    b"multicast-startup-query-count\0";
1277pub const NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL: &[u8] =
1278    b"multicast-startup-query-interval\0";
1279pub const NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE: &[u8] = b"hairpin-mode\0";
1280pub const NM_SETTING_BRIDGE_PORT_PATH_COST: &[u8] = b"path-cost\0";
1281pub const NM_SETTING_BRIDGE_PORT_PRIORITY: &[u8] = b"priority\0";
1282pub const NM_SETTING_BRIDGE_PORT_SETTING_NAME: &[u8] = b"bridge-port\0";
1283pub const NM_SETTING_BRIDGE_PORT_VLANS: &[u8] = b"vlans\0";
1284pub const NM_SETTING_BRIDGE_PRIORITY: &[u8] = b"priority\0";
1285pub const NM_SETTING_BRIDGE_SETTING_NAME: &[u8] = b"bridge\0";
1286pub const NM_SETTING_BRIDGE_STP: &[u8] = b"stp\0";
1287pub const NM_SETTING_BRIDGE_VLANS: &[u8] = b"vlans\0";
1288pub const NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID: &[u8] = b"vlan-default-pvid\0";
1289pub const NM_SETTING_BRIDGE_VLAN_FILTERING: &[u8] = b"vlan-filtering\0";
1290pub const NM_SETTING_BRIDGE_VLAN_PROTOCOL: &[u8] = b"vlan-protocol\0";
1291pub const NM_SETTING_BRIDGE_VLAN_STATS_ENABLED: &[u8] = b"vlan-stats-enabled\0";
1292pub const NM_SETTING_CDMA_MTU: &[u8] = b"mtu\0";
1293pub const NM_SETTING_CDMA_NUMBER: &[u8] = b"number\0";
1294pub const NM_SETTING_CDMA_PASSWORD: &[u8] = b"password\0";
1295pub const NM_SETTING_CDMA_PASSWORD_FLAGS: &[u8] = b"password-flags\0";
1296pub const NM_SETTING_CDMA_SETTING_NAME: &[u8] = b"cdma\0";
1297pub const NM_SETTING_CDMA_USERNAME: &[u8] = b"username\0";
1298pub const NM_SETTING_CONNECTION_AUTH_RETRIES: &[u8] = b"auth-retries\0";
1299pub const NM_SETTING_CONNECTION_AUTOCONNECT: &[u8] = b"autoconnect\0";
1300pub const NM_SETTING_CONNECTION_AUTOCONNECT_PORTS: &[u8] = b"autoconnect-ports\0";
1301pub const NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY: &[u8] = b"autoconnect-priority\0";
1302pub const NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_DEFAULT: c_int = 0;
1303pub const NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MAX: c_int = 999;
1304pub const NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MIN: c_int = -999;
1305pub const NM_SETTING_CONNECTION_AUTOCONNECT_RETRIES: &[u8] = b"autoconnect-retries\0";
1306pub const NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES: &[u8] = b"autoconnect-slaves\0";
1307pub const NM_SETTING_CONNECTION_CONTROLLER: &[u8] = b"controller\0";
1308pub const NM_SETTING_CONNECTION_DNS_OVER_TLS: &[u8] = b"dns-over-tls\0";
1309pub const NM_SETTING_CONNECTION_DOWN_ON_POWEROFF: &[u8] = b"down-on-poweroff\0";
1310pub const NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT: &[u8] = b"gateway-ping-timeout\0";
1311pub const NM_SETTING_CONNECTION_ID: &[u8] = b"id\0";
1312pub const NM_SETTING_CONNECTION_INTERFACE_NAME: &[u8] = b"interface-name\0";
1313pub const NM_SETTING_CONNECTION_IP_PING_ADDRESSES: &[u8] = b"ip-ping-addresses\0";
1314pub const NM_SETTING_CONNECTION_IP_PING_ADDRESSES_REQUIRE_ALL: &[u8] =
1315    b"ip-ping-addresses-require-all\0";
1316pub const NM_SETTING_CONNECTION_IP_PING_TIMEOUT: &[u8] = b"ip-ping-timeout\0";
1317pub const NM_SETTING_CONNECTION_LLDP: &[u8] = b"lldp\0";
1318pub const NM_SETTING_CONNECTION_LLMNR: &[u8] = b"llmnr\0";
1319pub const NM_SETTING_CONNECTION_MASTER: &[u8] = b"master\0";
1320pub const NM_SETTING_CONNECTION_MDNS: &[u8] = b"mdns\0";
1321pub const NM_SETTING_CONNECTION_METERED: &[u8] = b"metered\0";
1322pub const NM_SETTING_CONNECTION_MPTCP_FLAGS: &[u8] = b"mptcp-flags\0";
1323pub const NM_SETTING_CONNECTION_MUD_URL: &[u8] = b"mud-url\0";
1324pub const NM_SETTING_CONNECTION_MULTI_CONNECT: &[u8] = b"multi-connect\0";
1325pub const NM_SETTING_CONNECTION_PERMISSIONS: &[u8] = b"permissions\0";
1326pub const NM_SETTING_CONNECTION_PORT_TYPE: &[u8] = b"port-type\0";
1327pub const NM_SETTING_CONNECTION_READ_ONLY: &[u8] = b"read-only\0";
1328pub const NM_SETTING_CONNECTION_SECONDARIES: &[u8] = b"secondaries\0";
1329pub const NM_SETTING_CONNECTION_SETTING_NAME: &[u8] = b"connection\0";
1330pub const NM_SETTING_CONNECTION_SLAVE_TYPE: &[u8] = b"slave-type\0";
1331pub const NM_SETTING_CONNECTION_STABLE_ID: &[u8] = b"stable-id\0";
1332pub const NM_SETTING_CONNECTION_TIMESTAMP: &[u8] = b"timestamp\0";
1333pub const NM_SETTING_CONNECTION_TYPE: &[u8] = b"type\0";
1334pub const NM_SETTING_CONNECTION_UUID: &[u8] = b"uuid\0";
1335pub const NM_SETTING_CONNECTION_WAIT_ACTIVATION_DELAY: &[u8] = b"wait-activation-delay\0";
1336pub const NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT: &[u8] = b"wait-device-timeout\0";
1337pub const NM_SETTING_CONNECTION_ZONE: &[u8] = b"zone\0";
1338pub const NM_SETTING_DCB_APP_FCOE_FLAGS: &[u8] = b"app-fcoe-flags\0";
1339pub const NM_SETTING_DCB_APP_FCOE_MODE: &[u8] = b"app-fcoe-mode\0";
1340pub const NM_SETTING_DCB_APP_FCOE_PRIORITY: &[u8] = b"app-fcoe-priority\0";
1341pub const NM_SETTING_DCB_APP_FIP_FLAGS: &[u8] = b"app-fip-flags\0";
1342pub const NM_SETTING_DCB_APP_FIP_PRIORITY: &[u8] = b"app-fip-priority\0";
1343pub const NM_SETTING_DCB_APP_ISCSI_FLAGS: &[u8] = b"app-iscsi-flags\0";
1344pub const NM_SETTING_DCB_APP_ISCSI_PRIORITY: &[u8] = b"app-iscsi-priority\0";
1345pub const NM_SETTING_DCB_FCOE_MODE_FABRIC: &[u8] = b"fabric\0";
1346pub const NM_SETTING_DCB_FCOE_MODE_VN2VN: &[u8] = b"vn2vn\0";
1347pub const NM_SETTING_DCB_PRIORITY_BANDWIDTH: &[u8] = b"priority-bandwidth\0";
1348pub const NM_SETTING_DCB_PRIORITY_FLOW_CONTROL: &[u8] = b"priority-flow-control\0";
1349pub const NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS: &[u8] = b"priority-flow-control-flags\0";
1350pub const NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH: &[u8] = b"priority-group-bandwidth\0";
1351pub const NM_SETTING_DCB_PRIORITY_GROUP_FLAGS: &[u8] = b"priority-group-flags\0";
1352pub const NM_SETTING_DCB_PRIORITY_GROUP_ID: &[u8] = b"priority-group-id\0";
1353pub const NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH: &[u8] = b"priority-strict-bandwidth\0";
1354pub const NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS: &[u8] = b"priority-traffic-class\0";
1355pub const NM_SETTING_DCB_SETTING_NAME: &[u8] = b"dcb\0";
1356pub const NM_SETTING_DNS_OPTION_ATTEMPTS: &[u8] = b"attempts\0";
1357pub const NM_SETTING_DNS_OPTION_DEBUG: &[u8] = b"debug\0";
1358pub const NM_SETTING_DNS_OPTION_EDNS0: &[u8] = b"edns0\0";
1359pub const NM_SETTING_DNS_OPTION_INET6: &[u8] = b"inet6\0";
1360pub const NM_SETTING_DNS_OPTION_INTERNAL_NO_ADD_EDNS0: &[u8] = b"_no-add-edns0\0";
1361pub const NM_SETTING_DNS_OPTION_INTERNAL_NO_ADD_TRUST_AD: &[u8] = b"_no-add-trust-ad\0";
1362pub const NM_SETTING_DNS_OPTION_IP6_BYTESTRING: &[u8] = b"ip6-bytestring\0";
1363pub const NM_SETTING_DNS_OPTION_IP6_DOTINT: &[u8] = b"ip6-dotint\0";
1364pub const NM_SETTING_DNS_OPTION_NDOTS: &[u8] = b"ndots\0";
1365pub const NM_SETTING_DNS_OPTION_NO_AAAA: &[u8] = b"no-aaaa\0";
1366pub const NM_SETTING_DNS_OPTION_NO_CHECK_NAMES: &[u8] = b"no-check-names\0";
1367pub const NM_SETTING_DNS_OPTION_NO_IP6_DOTINT: &[u8] = b"no-ip6-dotint\0";
1368pub const NM_SETTING_DNS_OPTION_NO_RELOAD: &[u8] = b"no-reload\0";
1369pub const NM_SETTING_DNS_OPTION_NO_TLD_QUERY: &[u8] = b"no-tld-query\0";
1370pub const NM_SETTING_DNS_OPTION_ROTATE: &[u8] = b"rotate\0";
1371pub const NM_SETTING_DNS_OPTION_SINGLE_REQUEST: &[u8] = b"single-request\0";
1372pub const NM_SETTING_DNS_OPTION_SINGLE_REQUEST_REOPEN: &[u8] = b"single-request-reopen\0";
1373pub const NM_SETTING_DNS_OPTION_TIMEOUT: &[u8] = b"timeout\0";
1374pub const NM_SETTING_DNS_OPTION_TRUST_AD: &[u8] = b"trust-ad\0";
1375pub const NM_SETTING_DNS_OPTION_USE_VC: &[u8] = b"use-vc\0";
1376pub const NM_SETTING_DUMMY_SETTING_NAME: &[u8] = b"dummy\0";
1377pub const NM_SETTING_ETHTOOL_SETTING_NAME: &[u8] = b"ethtool\0";
1378pub const NM_SETTING_GENERIC_DEVICE_HANDLER: &[u8] = b"device-handler\0";
1379pub const NM_SETTING_GENERIC_SETTING_NAME: &[u8] = b"generic\0";
1380pub const NM_SETTING_GSM_APN: &[u8] = b"apn\0";
1381pub const NM_SETTING_GSM_AUTO_CONFIG: &[u8] = b"auto-config\0";
1382pub const NM_SETTING_GSM_DEVICE_ID: &[u8] = b"device-id\0";
1383pub const NM_SETTING_GSM_HOME_ONLY: &[u8] = b"home-only\0";
1384pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_APN: &[u8] = b"initial-eps-bearer-apn\0";
1385pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_CONFIGURE: &[u8] = b"initial-eps-bearer-configure\0";
1386pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_NOAUTH: &[u8] = b"initial-eps-bearer-noauth\0";
1387pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_PASSWORD: &[u8] = b"initial-eps-bearer-password\0";
1388pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_PASSWORD_FLAGS: &[u8] =
1389    b"initial-eps-bearer-password-flags\0";
1390pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_CHAP: &[u8] =
1391    b"initial-eps-bearer-refuse-chap\0";
1392pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_EAP: &[u8] = b"initial-eps-bearer-refuse-eap\0";
1393pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_MSCHAP: &[u8] =
1394    b"initial-eps-bearer-refuse-mschap\0";
1395pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_MSCHAPV2: &[u8] =
1396    b"initial-eps-bearer-refuse-mschapv2\0";
1397pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_PAP: &[u8] = b"initial-eps-bearer-refuse-pap\0";
1398pub const NM_SETTING_GSM_INITIAL_EPS_BEARER_USERNAME: &[u8] = b"initial-eps-bearer-username\0";
1399pub const NM_SETTING_GSM_MTU: &[u8] = b"mtu\0";
1400pub const NM_SETTING_GSM_NETWORK_ID: &[u8] = b"network-id\0";
1401pub const NM_SETTING_GSM_NUMBER: &[u8] = b"number\0";
1402pub const NM_SETTING_GSM_PASSWORD: &[u8] = b"password\0";
1403pub const NM_SETTING_GSM_PASSWORD_FLAGS: &[u8] = b"password-flags\0";
1404pub const NM_SETTING_GSM_PIN: &[u8] = b"pin\0";
1405pub const NM_SETTING_GSM_PIN_FLAGS: &[u8] = b"pin-flags\0";
1406pub const NM_SETTING_GSM_SETTING_NAME: &[u8] = b"gsm\0";
1407pub const NM_SETTING_GSM_SIM_ID: &[u8] = b"sim-id\0";
1408pub const NM_SETTING_GSM_SIM_OPERATOR_ID: &[u8] = b"sim-operator-id\0";
1409pub const NM_SETTING_GSM_USERNAME: &[u8] = b"username\0";
1410pub const NM_SETTING_HOSTNAME_FROM_DHCP: &[u8] = b"from-dhcp\0";
1411pub const NM_SETTING_HOSTNAME_FROM_DNS_LOOKUP: &[u8] = b"from-dns-lookup\0";
1412pub const NM_SETTING_HOSTNAME_ONLY_FROM_DEFAULT: &[u8] = b"only-from-default\0";
1413pub const NM_SETTING_HOSTNAME_PRIORITY: &[u8] = b"priority\0";
1414pub const NM_SETTING_HOSTNAME_SETTING_NAME: &[u8] = b"hostname\0";
1415pub const NM_SETTING_HSR_MULTICAST_SPEC: &[u8] = b"multicast-spec\0";
1416pub const NM_SETTING_HSR_PORT1: &[u8] = b"port1\0";
1417pub const NM_SETTING_HSR_PORT2: &[u8] = b"port2\0";
1418pub const NM_SETTING_HSR_PRP: &[u8] = b"prp\0";
1419pub const NM_SETTING_HSR_SETTING_NAME: &[u8] = b"hsr\0";
1420pub const NM_SETTING_INFINIBAND_MAC_ADDRESS: &[u8] = b"mac-address\0";
1421pub const NM_SETTING_INFINIBAND_MTU: &[u8] = b"mtu\0";
1422pub const NM_SETTING_INFINIBAND_PARENT: &[u8] = b"parent\0";
1423pub const NM_SETTING_INFINIBAND_P_KEY: &[u8] = b"p-key\0";
1424pub const NM_SETTING_INFINIBAND_SETTING_NAME: &[u8] = b"infiniband\0";
1425pub const NM_SETTING_INFINIBAND_TRANSPORT_MODE: &[u8] = b"transport-mode\0";
1426pub const NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID: &[u8] = b"dhcp-client-id\0";
1427pub const NM_SETTING_IP4_CONFIG_DHCP_FQDN: &[u8] = b"dhcp-fqdn\0";
1428pub const NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED: &[u8] = b"dhcp-ipv6-only-preferred\0";
1429pub const NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER: &[u8] =
1430    b"dhcp-vendor-class-identifier\0";
1431pub const NM_SETTING_IP4_CONFIG_LINK_LOCAL: &[u8] = b"link-local\0";
1432pub const NM_SETTING_IP4_CONFIG_METHOD_AUTO: &[u8] = b"auto\0";
1433pub const NM_SETTING_IP4_CONFIG_METHOD_DISABLED: &[u8] = b"disabled\0";
1434pub const NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL: &[u8] = b"link-local\0";
1435pub const NM_SETTING_IP4_CONFIG_METHOD_MANUAL: &[u8] = b"manual\0";
1436pub const NM_SETTING_IP4_CONFIG_METHOD_SHARED: &[u8] = b"shared\0";
1437pub const NM_SETTING_IP4_CONFIG_SETTING_NAME: &[u8] = b"ipv4\0";
1438pub const NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE: &[u8] = b"addr-gen-mode\0";
1439pub const NM_SETTING_IP6_CONFIG_DHCP_DUID: &[u8] = b"dhcp-duid\0";
1440pub const NM_SETTING_IP6_CONFIG_DHCP_PD_HINT: &[u8] = b"dhcp-pd-hint\0";
1441pub const NM_SETTING_IP6_CONFIG_IP6_PRIVACY: &[u8] = b"ip6-privacy\0";
1442pub const NM_SETTING_IP6_CONFIG_METHOD_AUTO: &[u8] = b"auto\0";
1443pub const NM_SETTING_IP6_CONFIG_METHOD_DHCP: &[u8] = b"dhcp\0";
1444pub const NM_SETTING_IP6_CONFIG_METHOD_DISABLED: &[u8] = b"disabled\0";
1445pub const NM_SETTING_IP6_CONFIG_METHOD_IGNORE: &[u8] = b"ignore\0";
1446pub const NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL: &[u8] = b"link-local\0";
1447pub const NM_SETTING_IP6_CONFIG_METHOD_MANUAL: &[u8] = b"manual\0";
1448pub const NM_SETTING_IP6_CONFIG_METHOD_SHARED: &[u8] = b"shared\0";
1449pub const NM_SETTING_IP6_CONFIG_MTU: &[u8] = b"mtu\0";
1450pub const NM_SETTING_IP6_CONFIG_RA_TIMEOUT: &[u8] = b"ra-timeout\0";
1451pub const NM_SETTING_IP6_CONFIG_SETTING_NAME: &[u8] = b"ipv6\0";
1452pub const NM_SETTING_IP6_CONFIG_TEMP_PREFERRED_LIFETIME: &[u8] = b"temp-preferred-lifetime\0";
1453pub const NM_SETTING_IP6_CONFIG_TEMP_VALID_LIFETIME: &[u8] = b"temp-valid-lifetime\0";
1454pub const NM_SETTING_IP6_CONFIG_TOKEN: &[u8] = b"token\0";
1455pub const NM_SETTING_IPVLAN_MODE: &[u8] = b"mode\0";
1456pub const NM_SETTING_IPVLAN_PARENT: &[u8] = b"parent\0";
1457pub const NM_SETTING_IPVLAN_PRIVATE: &[u8] = b"private\0";
1458pub const NM_SETTING_IPVLAN_SETTING_NAME: &[u8] = b"ipvlan\0";
1459pub const NM_SETTING_IPVLAN_VEPA: &[u8] = b"vepa\0";
1460pub const NM_SETTING_IP_CONFIG_ADDRESSES: &[u8] = b"addresses\0";
1461pub const NM_SETTING_IP_CONFIG_AUTO_ROUTE_EXT_GW: &[u8] = b"auto-route-ext-gw\0";
1462pub const NM_SETTING_IP_CONFIG_DAD_TIMEOUT: &[u8] = b"dad-timeout\0";
1463pub const NM_SETTING_IP_CONFIG_DAD_TIMEOUT_MAX: c_int = 30000;
1464pub const NM_SETTING_IP_CONFIG_DHCP_DSCP: &[u8] = b"dhcp-dscp\0";
1465pub const NM_SETTING_IP_CONFIG_DHCP_HOSTNAME: &[u8] = b"dhcp-hostname\0";
1466pub const NM_SETTING_IP_CONFIG_DHCP_HOSTNAME_FLAGS: &[u8] = b"dhcp-hostname-flags\0";
1467pub const NM_SETTING_IP_CONFIG_DHCP_IAID: &[u8] = b"dhcp-iaid\0";
1468pub const NM_SETTING_IP_CONFIG_DHCP_REJECT_SERVERS: &[u8] = b"dhcp-reject-servers\0";
1469pub const NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME: &[u8] = b"dhcp-send-hostname\0";
1470pub const NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME_V2: &[u8] = b"dhcp-send-hostname-v2\0";
1471pub const NM_SETTING_IP_CONFIG_DHCP_SEND_RELEASE: &[u8] = b"dhcp-send-release\0";
1472pub const NM_SETTING_IP_CONFIG_DHCP_TIMEOUT: &[u8] = b"dhcp-timeout\0";
1473pub const NM_SETTING_IP_CONFIG_DNS: &[u8] = b"dns\0";
1474pub const NM_SETTING_IP_CONFIG_DNS_OPTIONS: &[u8] = b"dns-options\0";
1475pub const NM_SETTING_IP_CONFIG_DNS_PRIORITY: &[u8] = b"dns-priority\0";
1476pub const NM_SETTING_IP_CONFIG_DNS_SEARCH: &[u8] = b"dns-search\0";
1477pub const NM_SETTING_IP_CONFIG_FORWARDING: &[u8] = b"forwarding\0";
1478pub const NM_SETTING_IP_CONFIG_GATEWAY: &[u8] = b"gateway\0";
1479pub const NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS: &[u8] = b"ignore-auto-dns\0";
1480pub const NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES: &[u8] = b"ignore-auto-routes\0";
1481pub const NM_SETTING_IP_CONFIG_MAY_FAIL: &[u8] = b"may-fail\0";
1482pub const NM_SETTING_IP_CONFIG_METHOD: &[u8] = b"method\0";
1483pub const NM_SETTING_IP_CONFIG_NEVER_DEFAULT: &[u8] = b"never-default\0";
1484pub const NM_SETTING_IP_CONFIG_REPLACE_LOCAL_RULE: &[u8] = b"replace-local-rule\0";
1485pub const NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT: &[u8] = b"required-timeout\0";
1486pub const NM_SETTING_IP_CONFIG_ROUTED_DNS: &[u8] = b"routed-dns\0";
1487pub const NM_SETTING_IP_CONFIG_ROUTES: &[u8] = b"routes\0";
1488pub const NM_SETTING_IP_CONFIG_ROUTE_METRIC: &[u8] = b"route-metric\0";
1489pub const NM_SETTING_IP_CONFIG_ROUTE_TABLE: &[u8] = b"route-table\0";
1490pub const NM_SETTING_IP_CONFIG_ROUTING_RULES: &[u8] = b"routing-rules\0";
1491pub const NM_SETTING_IP_CONFIG_SHARED_DHCP_LEASE_TIME: &[u8] = b"shared-dhcp-lease-time\0";
1492pub const NM_SETTING_IP_CONFIG_SHARED_DHCP_RANGE: &[u8] = b"shared-dhcp-range\0";
1493pub const NM_SETTING_IP_TUNNEL_ENCAPSULATION_LIMIT: &[u8] = b"encapsulation-limit\0";
1494pub const NM_SETTING_IP_TUNNEL_FLAGS: &[u8] = b"flags\0";
1495pub const NM_SETTING_IP_TUNNEL_FLOW_LABEL: &[u8] = b"flow-label\0";
1496pub const NM_SETTING_IP_TUNNEL_FWMARK: &[u8] = b"fwmark\0";
1497pub const NM_SETTING_IP_TUNNEL_INPUT_KEY: &[u8] = b"input-key\0";
1498pub const NM_SETTING_IP_TUNNEL_LOCAL: &[u8] = b"local\0";
1499pub const NM_SETTING_IP_TUNNEL_MODE: &[u8] = b"mode\0";
1500pub const NM_SETTING_IP_TUNNEL_MTU: &[u8] = b"mtu\0";
1501pub const NM_SETTING_IP_TUNNEL_OUTPUT_KEY: &[u8] = b"output-key\0";
1502pub const NM_SETTING_IP_TUNNEL_PARENT: &[u8] = b"parent\0";
1503pub const NM_SETTING_IP_TUNNEL_PATH_MTU_DISCOVERY: &[u8] = b"path-mtu-discovery\0";
1504pub const NM_SETTING_IP_TUNNEL_REMOTE: &[u8] = b"remote\0";
1505pub const NM_SETTING_IP_TUNNEL_SETTING_NAME: &[u8] = b"ip-tunnel\0";
1506pub const NM_SETTING_IP_TUNNEL_TOS: &[u8] = b"tos\0";
1507pub const NM_SETTING_IP_TUNNEL_TTL: &[u8] = b"ttl\0";
1508pub const NM_SETTING_LINK_GRO_MAX_SIZE: &[u8] = b"gro-max-size\0";
1509pub const NM_SETTING_LINK_GSO_MAX_SEGMENTS: &[u8] = b"gso-max-segments\0";
1510pub const NM_SETTING_LINK_GSO_MAX_SIZE: &[u8] = b"gso-max-size\0";
1511pub const NM_SETTING_LINK_SETTING_NAME: &[u8] = b"link\0";
1512pub const NM_SETTING_LINK_TX_QUEUE_LENGTH: &[u8] = b"tx-queue-length\0";
1513pub const NM_SETTING_LOOPBACK_MTU: &[u8] = b"mtu\0";
1514pub const NM_SETTING_LOOPBACK_SETTING_NAME: &[u8] = b"loopback\0";
1515pub const NM_SETTING_MACSEC_ENCRYPT: &[u8] = b"encrypt\0";
1516pub const NM_SETTING_MACSEC_MKA_CAK: &[u8] = b"mka-cak\0";
1517pub const NM_SETTING_MACSEC_MKA_CAK_FLAGS: &[u8] = b"mka-cak-flags\0";
1518pub const NM_SETTING_MACSEC_MKA_CAK_LENGTH: c_int = 32;
1519pub const NM_SETTING_MACSEC_MKA_CKN: &[u8] = b"mka-ckn\0";
1520pub const NM_SETTING_MACSEC_MKA_CKN_LENGTH: c_int = 64;
1521pub const NM_SETTING_MACSEC_MODE: &[u8] = b"mode\0";
1522pub const NM_SETTING_MACSEC_OFFLOAD: &[u8] = b"offload\0";
1523pub const NM_SETTING_MACSEC_PARENT: &[u8] = b"parent\0";
1524pub const NM_SETTING_MACSEC_PORT: &[u8] = b"port\0";
1525pub const NM_SETTING_MACSEC_SEND_SCI: &[u8] = b"send-sci\0";
1526pub const NM_SETTING_MACSEC_SETTING_NAME: &[u8] = b"macsec\0";
1527pub const NM_SETTING_MACSEC_VALIDATION: &[u8] = b"validation\0";
1528pub const NM_SETTING_MACVLAN_MODE: &[u8] = b"mode\0";
1529pub const NM_SETTING_MACVLAN_PARENT: &[u8] = b"parent\0";
1530pub const NM_SETTING_MACVLAN_PROMISCUOUS: &[u8] = b"promiscuous\0";
1531pub const NM_SETTING_MACVLAN_SETTING_NAME: &[u8] = b"macvlan\0";
1532pub const NM_SETTING_MACVLAN_TAP: &[u8] = b"tap\0";
1533pub const NM_SETTING_MATCH_DRIVER: &[u8] = b"driver\0";
1534pub const NM_SETTING_MATCH_INTERFACE_NAME: &[u8] = b"interface-name\0";
1535pub const NM_SETTING_MATCH_KERNEL_COMMAND_LINE: &[u8] = b"kernel-command-line\0";
1536pub const NM_SETTING_MATCH_PATH: &[u8] = b"path\0";
1537pub const NM_SETTING_MATCH_SETTING_NAME: &[u8] = b"match\0";
1538pub const NM_SETTING_NAME: &[u8] = b"name\0";
1539pub const NM_SETTING_OLPC_MESH_CHANNEL: &[u8] = b"channel\0";
1540pub const NM_SETTING_OLPC_MESH_DHCP_ANYCAST_ADDRESS: &[u8] = b"dhcp-anycast-address\0";
1541pub const NM_SETTING_OLPC_MESH_SETTING_NAME: &[u8] = b"802-11-olpc-mesh\0";
1542pub const NM_SETTING_OLPC_MESH_SSID: &[u8] = b"ssid\0";
1543pub const NM_SETTING_OVS_BRIDGE_DATAPATH_TYPE: &[u8] = b"datapath-type\0";
1544pub const NM_SETTING_OVS_BRIDGE_FAIL_MODE: &[u8] = b"fail-mode\0";
1545pub const NM_SETTING_OVS_BRIDGE_MCAST_SNOOPING_ENABLE: &[u8] = b"mcast-snooping-enable\0";
1546pub const NM_SETTING_OVS_BRIDGE_RSTP_ENABLE: &[u8] = b"rstp-enable\0";
1547pub const NM_SETTING_OVS_BRIDGE_SETTING_NAME: &[u8] = b"ovs-bridge\0";
1548pub const NM_SETTING_OVS_BRIDGE_STP_ENABLE: &[u8] = b"stp-enable\0";
1549pub const NM_SETTING_OVS_DPDK_DEVARGS: &[u8] = b"devargs\0";
1550pub const NM_SETTING_OVS_DPDK_LSC_INTERRUPT: &[u8] = b"lsc-interrupt\0";
1551pub const NM_SETTING_OVS_DPDK_N_RXQ: &[u8] = b"n-rxq\0";
1552pub const NM_SETTING_OVS_DPDK_N_RXQ_DESC: &[u8] = b"n-rxq-desc\0";
1553pub const NM_SETTING_OVS_DPDK_N_TXQ_DESC: &[u8] = b"n-txq-desc\0";
1554pub const NM_SETTING_OVS_DPDK_SETTING_NAME: &[u8] = b"ovs-dpdk\0";
1555pub const NM_SETTING_OVS_EXTERNAL_IDS_DATA: &[u8] = b"data\0";
1556pub const NM_SETTING_OVS_EXTERNAL_IDS_SETTING_NAME: &[u8] = b"ovs-external-ids\0";
1557pub const NM_SETTING_OVS_INTERFACE_OFPORT_REQUEST: &[u8] = b"ofport-request\0";
1558pub const NM_SETTING_OVS_INTERFACE_SETTING_NAME: &[u8] = b"ovs-interface\0";
1559pub const NM_SETTING_OVS_INTERFACE_TYPE: &[u8] = b"type\0";
1560pub const NM_SETTING_OVS_OTHER_CONFIG_DATA: &[u8] = b"data\0";
1561pub const NM_SETTING_OVS_OTHER_CONFIG_SETTING_NAME: &[u8] = b"ovs-other-config\0";
1562pub const NM_SETTING_OVS_PATCH_PEER: &[u8] = b"peer\0";
1563pub const NM_SETTING_OVS_PATCH_SETTING_NAME: &[u8] = b"ovs-patch\0";
1564pub const NM_SETTING_OVS_PORT_BOND_DOWNDELAY: &[u8] = b"bond-downdelay\0";
1565pub const NM_SETTING_OVS_PORT_BOND_MODE: &[u8] = b"bond-mode\0";
1566pub const NM_SETTING_OVS_PORT_BOND_UPDELAY: &[u8] = b"bond-updelay\0";
1567pub const NM_SETTING_OVS_PORT_LACP: &[u8] = b"lacp\0";
1568pub const NM_SETTING_OVS_PORT_SETTING_NAME: &[u8] = b"ovs-port\0";
1569pub const NM_SETTING_OVS_PORT_TAG: &[u8] = b"tag\0";
1570pub const NM_SETTING_OVS_PORT_TRUNKS: &[u8] = b"trunks\0";
1571pub const NM_SETTING_OVS_PORT_VLAN_MODE: &[u8] = b"vlan-mode\0";
1572pub const NM_SETTING_PARAM_FUZZY_IGNORE: c_int = 2048;
1573pub const NM_SETTING_PARAM_REQUIRED: c_int = 512;
1574pub const NM_SETTING_PARAM_SECRET: c_int = 1024;
1575pub const NM_SETTING_PPPOE_PARENT: &[u8] = b"parent\0";
1576pub const NM_SETTING_PPPOE_PASSWORD: &[u8] = b"password\0";
1577pub const NM_SETTING_PPPOE_PASSWORD_FLAGS: &[u8] = b"password-flags\0";
1578pub const NM_SETTING_PPPOE_SERVICE: &[u8] = b"service\0";
1579pub const NM_SETTING_PPPOE_SETTING_NAME: &[u8] = b"pppoe\0";
1580pub const NM_SETTING_PPPOE_USERNAME: &[u8] = b"username\0";
1581pub const NM_SETTING_PPP_BAUD: &[u8] = b"baud\0";
1582pub const NM_SETTING_PPP_CRTSCTS: &[u8] = b"crtscts\0";
1583pub const NM_SETTING_PPP_LCP_ECHO_FAILURE: &[u8] = b"lcp-echo-failure\0";
1584pub const NM_SETTING_PPP_LCP_ECHO_INTERVAL: &[u8] = b"lcp-echo-interval\0";
1585pub const NM_SETTING_PPP_MPPE_STATEFUL: &[u8] = b"mppe-stateful\0";
1586pub const NM_SETTING_PPP_MRU: &[u8] = b"mru\0";
1587pub const NM_SETTING_PPP_MTU: &[u8] = b"mtu\0";
1588pub const NM_SETTING_PPP_NOAUTH: &[u8] = b"noauth\0";
1589pub const NM_SETTING_PPP_NOBSDCOMP: &[u8] = b"nobsdcomp\0";
1590pub const NM_SETTING_PPP_NODEFLATE: &[u8] = b"nodeflate\0";
1591pub const NM_SETTING_PPP_NO_VJ_COMP: &[u8] = b"no-vj-comp\0";
1592pub const NM_SETTING_PPP_REFUSE_CHAP: &[u8] = b"refuse-chap\0";
1593pub const NM_SETTING_PPP_REFUSE_EAP: &[u8] = b"refuse-eap\0";
1594pub const NM_SETTING_PPP_REFUSE_MSCHAP: &[u8] = b"refuse-mschap\0";
1595pub const NM_SETTING_PPP_REFUSE_MSCHAPV2: &[u8] = b"refuse-mschapv2\0";
1596pub const NM_SETTING_PPP_REFUSE_PAP: &[u8] = b"refuse-pap\0";
1597pub const NM_SETTING_PPP_REQUIRE_MPPE: &[u8] = b"require-mppe\0";
1598pub const NM_SETTING_PPP_REQUIRE_MPPE_128: &[u8] = b"require-mppe-128\0";
1599pub const NM_SETTING_PPP_SETTING_NAME: &[u8] = b"ppp\0";
1600pub const NM_SETTING_PREFIX_DELEGATION_SETTING_NAME: &[u8] = b"prefix-delegation\0";
1601pub const NM_SETTING_PREFIX_DELEGATION_SUBNET_ID: &[u8] = b"subnet-id\0";
1602pub const NM_SETTING_PROXY_BROWSER_ONLY: &[u8] = b"browser-only\0";
1603pub const NM_SETTING_PROXY_METHOD: &[u8] = b"method\0";
1604pub const NM_SETTING_PROXY_PAC_SCRIPT: &[u8] = b"pac-script\0";
1605pub const NM_SETTING_PROXY_PAC_URL: &[u8] = b"pac-url\0";
1606pub const NM_SETTING_PROXY_SETTING_NAME: &[u8] = b"proxy\0";
1607pub const NM_SETTING_SERIAL_BAUD: &[u8] = b"baud\0";
1608pub const NM_SETTING_SERIAL_BITS: &[u8] = b"bits\0";
1609pub const NM_SETTING_SERIAL_PARITY: &[u8] = b"parity\0";
1610pub const NM_SETTING_SERIAL_SEND_DELAY: &[u8] = b"send-delay\0";
1611pub const NM_SETTING_SERIAL_SETTING_NAME: &[u8] = b"serial\0";
1612pub const NM_SETTING_SERIAL_STOPBITS: &[u8] = b"stopbits\0";
1613pub const NM_SETTING_SRIOV_AUTOPROBE_DRIVERS: &[u8] = b"autoprobe-drivers\0";
1614pub const NM_SETTING_SRIOV_ESWITCH_ENCAP_MODE: &[u8] = b"eswitch-encap-mode\0";
1615pub const NM_SETTING_SRIOV_ESWITCH_INLINE_MODE: &[u8] = b"eswitch-inline-mode\0";
1616pub const NM_SETTING_SRIOV_ESWITCH_MODE: &[u8] = b"eswitch-mode\0";
1617pub const NM_SETTING_SRIOV_PRESERVE_ON_DOWN: &[u8] = b"preserve-on-down\0";
1618pub const NM_SETTING_SRIOV_SETTING_NAME: &[u8] = b"sriov\0";
1619pub const NM_SETTING_SRIOV_TOTAL_VFS: &[u8] = b"total-vfs\0";
1620pub const NM_SETTING_SRIOV_VFS: &[u8] = b"vfs\0";
1621pub const NM_SETTING_TC_CONFIG_QDISCS: &[u8] = b"qdiscs\0";
1622pub const NM_SETTING_TC_CONFIG_SETTING_NAME: &[u8] = b"tc\0";
1623pub const NM_SETTING_TC_CONFIG_TFILTERS: &[u8] = b"tfilters\0";
1624pub const NM_SETTING_TEAM_CONFIG: &[u8] = b"config\0";
1625pub const NM_SETTING_TEAM_LINK_WATCHERS: &[u8] = b"link-watchers\0";
1626pub const NM_SETTING_TEAM_MCAST_REJOIN_COUNT: &[u8] = b"mcast-rejoin-count\0";
1627pub const NM_SETTING_TEAM_MCAST_REJOIN_INTERVAL: &[u8] = b"mcast-rejoin-interval\0";
1628pub const NM_SETTING_TEAM_NOTIFY_MCAST_COUNT_ACTIVEBACKUP_DEFAULT: c_int = 1;
1629pub const NM_SETTING_TEAM_NOTIFY_PEERS_COUNT: &[u8] = b"notify-peers-count\0";
1630pub const NM_SETTING_TEAM_NOTIFY_PEERS_COUNT_ACTIVEBACKUP_DEFAULT: c_int = 1;
1631pub const NM_SETTING_TEAM_NOTIFY_PEERS_INTERVAL: &[u8] = b"notify-peers-interval\0";
1632pub const NM_SETTING_TEAM_PORT_CONFIG: &[u8] = b"config\0";
1633pub const NM_SETTING_TEAM_PORT_LACP_KEY: &[u8] = b"lacp-key\0";
1634pub const NM_SETTING_TEAM_PORT_LACP_PRIO: &[u8] = b"lacp-prio\0";
1635pub const NM_SETTING_TEAM_PORT_LACP_PRIO_DEFAULT: c_int = 255;
1636pub const NM_SETTING_TEAM_PORT_LINK_WATCHERS: &[u8] = b"link-watchers\0";
1637pub const NM_SETTING_TEAM_PORT_PRIO: &[u8] = b"prio\0";
1638pub const NM_SETTING_TEAM_PORT_QUEUE_ID: &[u8] = b"queue-id\0";
1639pub const NM_SETTING_TEAM_PORT_QUEUE_ID_DEFAULT: c_int = -1;
1640pub const NM_SETTING_TEAM_PORT_SETTING_NAME: &[u8] = b"team-port\0";
1641pub const NM_SETTING_TEAM_PORT_STICKY: &[u8] = b"sticky\0";
1642pub const NM_SETTING_TEAM_RUNNER: &[u8] = b"runner\0";
1643pub const NM_SETTING_TEAM_RUNNER_ACTIVE: &[u8] = b"runner-active\0";
1644pub const NM_SETTING_TEAM_RUNNER_ACTIVEBACKUP: &[u8] = b"activebackup\0";
1645pub const NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY: &[u8] = b"runner-agg-select-policy\0";
1646pub const NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_BANDWIDTH: &[u8] = b"bandwidth\0";
1647pub const NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_COUNT: &[u8] = b"count\0";
1648pub const NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_LACP_PRIO: &[u8] = b"lacp_prio\0";
1649pub const NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_LACP_PRIO_STABLE: &[u8] = b"lacp_prio_stable\0";
1650pub const NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_PORT_CONFIG: &[u8] = b"port_config\0";
1651pub const NM_SETTING_TEAM_RUNNER_BROADCAST: &[u8] = b"broadcast\0";
1652pub const NM_SETTING_TEAM_RUNNER_FAST_RATE: &[u8] = b"runner-fast-rate\0";
1653pub const NM_SETTING_TEAM_RUNNER_HWADDR_POLICY: &[u8] = b"runner-hwaddr-policy\0";
1654pub const NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_BY_ACTIVE: &[u8] = b"by_active\0";
1655pub const NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_ONLY_ACTIVE: &[u8] = b"only_active\0";
1656pub const NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_SAME_ALL: &[u8] = b"same_all\0";
1657pub const NM_SETTING_TEAM_RUNNER_LACP: &[u8] = b"lacp\0";
1658pub const NM_SETTING_TEAM_RUNNER_LOADBALANCE: &[u8] = b"loadbalance\0";
1659pub const NM_SETTING_TEAM_RUNNER_MIN_PORTS: &[u8] = b"runner-min-ports\0";
1660pub const NM_SETTING_TEAM_RUNNER_RANDOM: &[u8] = b"random\0";
1661pub const NM_SETTING_TEAM_RUNNER_ROUNDROBIN: &[u8] = b"roundrobin\0";
1662pub const NM_SETTING_TEAM_RUNNER_SYS_PRIO: &[u8] = b"runner-sys-prio\0";
1663pub const NM_SETTING_TEAM_RUNNER_SYS_PRIO_DEFAULT: c_int = 65535;
1664pub const NM_SETTING_TEAM_RUNNER_TX_BALANCER: &[u8] = b"runner-tx-balancer\0";
1665pub const NM_SETTING_TEAM_RUNNER_TX_BALANCER_INTERVAL: &[u8] = b"runner-tx-balancer-interval\0";
1666pub const NM_SETTING_TEAM_RUNNER_TX_BALANCER_INTERVAL_DEFAULT: c_int = 50;
1667pub const NM_SETTING_TEAM_RUNNER_TX_HASH: &[u8] = b"runner-tx-hash\0";
1668pub const NM_SETTING_TEAM_SETTING_NAME: &[u8] = b"team\0";
1669pub const NM_SETTING_TUN_GROUP: &[u8] = b"group\0";
1670pub const NM_SETTING_TUN_MODE: &[u8] = b"mode\0";
1671pub const NM_SETTING_TUN_MULTI_QUEUE: &[u8] = b"multi-queue\0";
1672pub const NM_SETTING_TUN_OWNER: &[u8] = b"owner\0";
1673pub const NM_SETTING_TUN_PI: &[u8] = b"pi\0";
1674pub const NM_SETTING_TUN_SETTING_NAME: &[u8] = b"tun\0";
1675pub const NM_SETTING_TUN_VNET_HDR: &[u8] = b"vnet-hdr\0";
1676pub const NM_SETTING_USER_DATA: &[u8] = b"data\0";
1677pub const NM_SETTING_USER_SETTING_NAME: &[u8] = b"user\0";
1678pub const NM_SETTING_VETH_PEER: &[u8] = b"peer\0";
1679pub const NM_SETTING_VETH_SETTING_NAME: &[u8] = b"veth\0";
1680pub const NM_SETTING_VLAN_EGRESS_PRIORITY_MAP: &[u8] = b"egress-priority-map\0";
1681pub const NM_SETTING_VLAN_FLAGS: &[u8] = b"flags\0";
1682pub const NM_SETTING_VLAN_ID: &[u8] = b"id\0";
1683pub const NM_SETTING_VLAN_INGRESS_PRIORITY_MAP: &[u8] = b"ingress-priority-map\0";
1684pub const NM_SETTING_VLAN_PARENT: &[u8] = b"parent\0";
1685pub const NM_SETTING_VLAN_PROTOCOL: &[u8] = b"protocol\0";
1686pub const NM_SETTING_VLAN_SETTING_NAME: &[u8] = b"vlan\0";
1687pub const NM_SETTING_VPN_DATA: &[u8] = b"data\0";
1688pub const NM_SETTING_VPN_PERSISTENT: &[u8] = b"persistent\0";
1689pub const NM_SETTING_VPN_SECRETS: &[u8] = b"secrets\0";
1690pub const NM_SETTING_VPN_SERVICE_TYPE: &[u8] = b"service-type\0";
1691pub const NM_SETTING_VPN_SETTING_NAME: &[u8] = b"vpn\0";
1692pub const NM_SETTING_VPN_TIMEOUT: &[u8] = b"timeout\0";
1693pub const NM_SETTING_VPN_USER_NAME: &[u8] = b"user-name\0";
1694pub const NM_SETTING_VRF_SETTING_NAME: &[u8] = b"vrf\0";
1695pub const NM_SETTING_VRF_TABLE: &[u8] = b"table\0";
1696pub const NM_SETTING_VXLAN_AGEING: &[u8] = b"ageing\0";
1697pub const NM_SETTING_VXLAN_DESTINATION_PORT: &[u8] = b"destination-port\0";
1698pub const NM_SETTING_VXLAN_ID: &[u8] = b"id\0";
1699pub const NM_SETTING_VXLAN_L2_MISS: &[u8] = b"l2-miss\0";
1700pub const NM_SETTING_VXLAN_L3_MISS: &[u8] = b"l3-miss\0";
1701pub const NM_SETTING_VXLAN_LEARNING: &[u8] = b"learning\0";
1702pub const NM_SETTING_VXLAN_LIMIT: &[u8] = b"limit\0";
1703pub const NM_SETTING_VXLAN_LOCAL: &[u8] = b"local\0";
1704pub const NM_SETTING_VXLAN_PARENT: &[u8] = b"parent\0";
1705pub const NM_SETTING_VXLAN_PROXY: &[u8] = b"proxy\0";
1706pub const NM_SETTING_VXLAN_REMOTE: &[u8] = b"remote\0";
1707pub const NM_SETTING_VXLAN_RSC: &[u8] = b"rsc\0";
1708pub const NM_SETTING_VXLAN_SETTING_NAME: &[u8] = b"vxlan\0";
1709pub const NM_SETTING_VXLAN_SOURCE_PORT_MAX: &[u8] = b"source-port-max\0";
1710pub const NM_SETTING_VXLAN_SOURCE_PORT_MIN: &[u8] = b"source-port-min\0";
1711pub const NM_SETTING_VXLAN_TOS: &[u8] = b"tos\0";
1712pub const NM_SETTING_VXLAN_TTL: &[u8] = b"ttl\0";
1713pub const NM_SETTING_WIFI_P2P_PEER: &[u8] = b"peer\0";
1714pub const NM_SETTING_WIFI_P2P_SETTING_NAME: &[u8] = b"wifi-p2p\0";
1715pub const NM_SETTING_WIFI_P2P_WFD_IES: &[u8] = b"wfd-ies\0";
1716pub const NM_SETTING_WIFI_P2P_WPS_METHOD: &[u8] = b"wps-method\0";
1717pub const NM_SETTING_WIMAX_MAC_ADDRESS: &[u8] = b"mac-address\0";
1718pub const NM_SETTING_WIMAX_NETWORK_NAME: &[u8] = b"network-name\0";
1719pub const NM_SETTING_WIMAX_SETTING_NAME: &[u8] = b"wimax\0";
1720pub const NM_SETTING_WIRED_ACCEPT_ALL_MAC_ADDRESSES: &[u8] = b"accept-all-mac-addresses\0";
1721pub const NM_SETTING_WIRED_AUTO_NEGOTIATE: &[u8] = b"auto-negotiate\0";
1722pub const NM_SETTING_WIRED_CLONED_MAC_ADDRESS: &[u8] = b"cloned-mac-address\0";
1723pub const NM_SETTING_WIRED_DUPLEX: &[u8] = b"duplex\0";
1724pub const NM_SETTING_WIRED_GENERATE_MAC_ADDRESS_MASK: &[u8] = b"generate-mac-address-mask\0";
1725pub const NM_SETTING_WIRED_MAC_ADDRESS: &[u8] = b"mac-address\0";
1726pub const NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST: &[u8] = b"mac-address-blacklist\0";
1727pub const NM_SETTING_WIRED_MAC_ADDRESS_DENYLIST: &[u8] = b"mac-address-denylist\0";
1728pub const NM_SETTING_WIRED_MTU: &[u8] = b"mtu\0";
1729pub const NM_SETTING_WIRED_PORT: &[u8] = b"port\0";
1730pub const NM_SETTING_WIRED_S390_NETTYPE: &[u8] = b"s390-nettype\0";
1731pub const NM_SETTING_WIRED_S390_OPTIONS: &[u8] = b"s390-options\0";
1732pub const NM_SETTING_WIRED_S390_SUBCHANNELS: &[u8] = b"s390-subchannels\0";
1733pub const NM_SETTING_WIRED_SETTING_NAME: &[u8] = b"802-3-ethernet\0";
1734pub const NM_SETTING_WIRED_SPEED: &[u8] = b"speed\0";
1735pub const NM_SETTING_WIRED_WAKE_ON_LAN: &[u8] = b"wake-on-lan\0";
1736pub const NM_SETTING_WIRED_WAKE_ON_LAN_PASSWORD: &[u8] = b"wake-on-lan-password\0";
1737pub const NM_SETTING_WIREGUARD_FWMARK: &[u8] = b"fwmark\0";
1738pub const NM_SETTING_WIREGUARD_IP4_AUTO_DEFAULT_ROUTE: &[u8] = b"ip4-auto-default-route\0";
1739pub const NM_SETTING_WIREGUARD_IP6_AUTO_DEFAULT_ROUTE: &[u8] = b"ip6-auto-default-route\0";
1740pub const NM_SETTING_WIREGUARD_LISTEN_PORT: &[u8] = b"listen-port\0";
1741pub const NM_SETTING_WIREGUARD_MTU: &[u8] = b"mtu\0";
1742pub const NM_SETTING_WIREGUARD_PEERS: &[u8] = b"peers\0";
1743pub const NM_SETTING_WIREGUARD_PEER_ROUTES: &[u8] = b"peer-routes\0";
1744pub const NM_SETTING_WIREGUARD_PRIVATE_KEY: &[u8] = b"private-key\0";
1745pub const NM_SETTING_WIREGUARD_PRIVATE_KEY_FLAGS: &[u8] = b"private-key-flags\0";
1746pub const NM_SETTING_WIREGUARD_SETTING_NAME: &[u8] = b"wireguard\0";
1747pub const NM_SETTING_WIRELESS_AP_ISOLATION: &[u8] = b"ap-isolation\0";
1748pub const NM_SETTING_WIRELESS_BAND: &[u8] = b"band\0";
1749pub const NM_SETTING_WIRELESS_BSSID: &[u8] = b"bssid\0";
1750pub const NM_SETTING_WIRELESS_CHANNEL: &[u8] = b"channel\0";
1751pub const NM_SETTING_WIRELESS_CHANNEL_WIDTH: &[u8] = b"channel-width\0";
1752pub const NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS: &[u8] = b"cloned-mac-address\0";
1753pub const NM_SETTING_WIRELESS_GENERATE_MAC_ADDRESS_MASK: &[u8] = b"generate-mac-address-mask\0";
1754pub const NM_SETTING_WIRELESS_HIDDEN: &[u8] = b"hidden\0";
1755pub const NM_SETTING_WIRELESS_MAC_ADDRESS: &[u8] = b"mac-address\0";
1756pub const NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST: &[u8] = b"mac-address-blacklist\0";
1757pub const NM_SETTING_WIRELESS_MAC_ADDRESS_DENYLIST: &[u8] = b"mac-address-denylist\0";
1758pub const NM_SETTING_WIRELESS_MAC_ADDRESS_RANDOMIZATION: &[u8] = b"mac-address-randomization\0";
1759pub const NM_SETTING_WIRELESS_MODE: &[u8] = b"mode\0";
1760pub const NM_SETTING_WIRELESS_MODE_ADHOC: &[u8] = b"adhoc\0";
1761pub const NM_SETTING_WIRELESS_MODE_AP: &[u8] = b"ap\0";
1762pub const NM_SETTING_WIRELESS_MODE_INFRA: &[u8] = b"infrastructure\0";
1763pub const NM_SETTING_WIRELESS_MODE_MESH: &[u8] = b"mesh\0";
1764pub const NM_SETTING_WIRELESS_MTU: &[u8] = b"mtu\0";
1765pub const NM_SETTING_WIRELESS_POWERSAVE: &[u8] = b"powersave\0";
1766pub const NM_SETTING_WIRELESS_RATE: &[u8] = b"rate\0";
1767pub const NM_SETTING_WIRELESS_SECURITY_AUTH_ALG: &[u8] = b"auth-alg\0";
1768pub const NM_SETTING_WIRELESS_SECURITY_FILS: &[u8] = b"fils\0";
1769pub const NM_SETTING_WIRELESS_SECURITY_GROUP: &[u8] = b"group\0";
1770pub const NM_SETTING_WIRELESS_SECURITY_KEY_MGMT: &[u8] = b"key-mgmt\0";
1771pub const NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD: &[u8] = b"leap-password\0";
1772pub const NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS: &[u8] = b"leap-password-flags\0";
1773pub const NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME: &[u8] = b"leap-username\0";
1774pub const NM_SETTING_WIRELESS_SECURITY_PAIRWISE: &[u8] = b"pairwise\0";
1775pub const NM_SETTING_WIRELESS_SECURITY_PMF: &[u8] = b"pmf\0";
1776pub const NM_SETTING_WIRELESS_SECURITY_PROTO: &[u8] = b"proto\0";
1777pub const NM_SETTING_WIRELESS_SECURITY_PSK: &[u8] = b"psk\0";
1778pub const NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS: &[u8] = b"psk-flags\0";
1779pub const NM_SETTING_WIRELESS_SECURITY_SETTING_NAME: &[u8] = b"802-11-wireless-security\0";
1780pub const NM_SETTING_WIRELESS_SECURITY_WEP_KEY0: &[u8] = b"wep-key0\0";
1781pub const NM_SETTING_WIRELESS_SECURITY_WEP_KEY1: &[u8] = b"wep-key1\0";
1782pub const NM_SETTING_WIRELESS_SECURITY_WEP_KEY2: &[u8] = b"wep-key2\0";
1783pub const NM_SETTING_WIRELESS_SECURITY_WEP_KEY3: &[u8] = b"wep-key3\0";
1784pub const NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS: &[u8] = b"wep-key-flags\0";
1785pub const NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE: &[u8] = b"wep-key-type\0";
1786pub const NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX: &[u8] = b"wep-tx-keyidx\0";
1787pub const NM_SETTING_WIRELESS_SECURITY_WPS_METHOD: &[u8] = b"wps-method\0";
1788pub const NM_SETTING_WIRELESS_SEEN_BSSIDS: &[u8] = b"seen-bssids\0";
1789pub const NM_SETTING_WIRELESS_SETTING_NAME: &[u8] = b"802-11-wireless\0";
1790pub const NM_SETTING_WIRELESS_SSID: &[u8] = b"ssid\0";
1791pub const NM_SETTING_WIRELESS_TX_POWER: &[u8] = b"tx-power\0";
1792pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN: &[u8] = b"wake-on-wlan\0";
1793pub const NM_SETTING_WPAN_CHANNEL: &[u8] = b"channel\0";
1794pub const NM_SETTING_WPAN_CHANNEL_DEFAULT: c_int = -1;
1795pub const NM_SETTING_WPAN_MAC_ADDRESS: &[u8] = b"mac-address\0";
1796pub const NM_SETTING_WPAN_PAGE: &[u8] = b"page\0";
1797pub const NM_SETTING_WPAN_PAGE_DEFAULT: c_int = -1;
1798pub const NM_SETTING_WPAN_PAN_ID: &[u8] = b"pan-id\0";
1799pub const NM_SETTING_WPAN_SETTING_NAME: &[u8] = b"wpan\0";
1800pub const NM_SETTING_WPAN_SHORT_ADDRESS: &[u8] = b"short-address\0";
1801pub const NM_SRIOV_VF_ATTRIBUTE_MAC: &[u8] = b"mac\0";
1802pub const NM_SRIOV_VF_ATTRIBUTE_MAX_TX_RATE: &[u8] = b"max-tx-rate\0";
1803pub const NM_SRIOV_VF_ATTRIBUTE_MIN_TX_RATE: &[u8] = b"min-tx-rate\0";
1804pub const NM_SRIOV_VF_ATTRIBUTE_SPOOF_CHECK: &[u8] = b"spoof-check\0";
1805pub const NM_SRIOV_VF_ATTRIBUTE_TRUST: &[u8] = b"trust\0";
1806pub const NM_TEAM_LINK_WATCHER_ARP_PING: &[u8] = b"arp_ping\0";
1807pub const NM_TEAM_LINK_WATCHER_ETHTOOL: &[u8] = b"ethtool\0";
1808pub const NM_TEAM_LINK_WATCHER_NSNA_PING: &[u8] = b"nsna_ping\0";
1809pub const NM_UTILS_HWADDR_LEN_MAX: c_int = 20;
1810pub const NM_VLAN_FLAGS_ALL: c_int = 15;
1811pub const NM_VPN_CONNECTION_BANNER: &[u8] = b"banner\0";
1812pub const NM_VPN_CONNECTION_VPN_STATE: &[u8] = b"vpn-state\0";
1813pub const NM_VPN_DBUS_PLUGIN_INTERFACE: &[u8] = b"org.freedesktop.NetworkManager.VPN.Plugin\0";
1814pub const NM_VPN_DBUS_PLUGIN_PATH: &[u8] = b"/org/freedesktop/NetworkManager/VPN/Plugin\0";
1815pub const NM_VPN_EDITOR_PLUGIN_DESCRIPTION: &[u8] = b"description\0";
1816pub const NM_VPN_EDITOR_PLUGIN_NAME: &[u8] = b"name\0";
1817pub const NM_VPN_EDITOR_PLUGIN_SERVICE: &[u8] = b"service\0";
1818pub const NM_VPN_PLUGIN_CAN_PERSIST: &[u8] = b"can-persist\0";
1819pub const NM_VPN_PLUGIN_CONFIG_BANNER: &[u8] = b"banner\0";
1820pub const NM_VPN_PLUGIN_CONFIG_EXT_GATEWAY: &[u8] = b"gateway\0";
1821pub const NM_VPN_PLUGIN_CONFIG_HAS_IP4: &[u8] = b"has-ip4\0";
1822pub const NM_VPN_PLUGIN_CONFIG_HAS_IP6: &[u8] = b"has-ip6\0";
1823pub const NM_VPN_PLUGIN_CONFIG_MTU: &[u8] = b"mtu\0";
1824pub const NM_VPN_PLUGIN_CONFIG_PROXY_PAC: &[u8] = b"pac\0";
1825pub const NM_VPN_PLUGIN_CONFIG_TUNDEV: &[u8] = b"tundev\0";
1826pub const NM_VPN_PLUGIN_INFO_FILENAME: &[u8] = b"filename\0";
1827pub const NM_VPN_PLUGIN_INFO_KEYFILE: &[u8] = b"keyfile\0";
1828pub const NM_VPN_PLUGIN_INFO_KF_GROUP_CONNECTION: &[u8] = b"VPN Connection\0";
1829pub const NM_VPN_PLUGIN_INFO_KF_GROUP_GNOME: &[u8] = b"GNOME\0";
1830pub const NM_VPN_PLUGIN_INFO_KF_GROUP_LIBNM: &[u8] = b"libnm\0";
1831pub const NM_VPN_PLUGIN_INFO_NAME: &[u8] = b"name\0";
1832pub const NM_VPN_PLUGIN_IP4_CONFIG_ADDRESS: &[u8] = b"address\0";
1833pub const NM_VPN_PLUGIN_IP4_CONFIG_DNS: &[u8] = b"dns\0";
1834pub const NM_VPN_PLUGIN_IP4_CONFIG_DOMAIN: &[u8] = b"domain\0";
1835pub const NM_VPN_PLUGIN_IP4_CONFIG_DOMAINS: &[u8] = b"domains\0";
1836pub const NM_VPN_PLUGIN_IP4_CONFIG_INT_GATEWAY: &[u8] = b"internal-gateway\0";
1837pub const NM_VPN_PLUGIN_IP4_CONFIG_MSS: &[u8] = b"mss\0";
1838pub const NM_VPN_PLUGIN_IP4_CONFIG_NBNS: &[u8] = b"nbns\0";
1839pub const NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT: &[u8] = b"never-default\0";
1840pub const NM_VPN_PLUGIN_IP4_CONFIG_PREFIX: &[u8] = b"prefix\0";
1841pub const NM_VPN_PLUGIN_IP4_CONFIG_PRESERVE_ROUTES: &[u8] = b"preserve-routes\0";
1842pub const NM_VPN_PLUGIN_IP4_CONFIG_PTP: &[u8] = b"ptp\0";
1843pub const NM_VPN_PLUGIN_IP4_CONFIG_ROUTES: &[u8] = b"routes\0";
1844pub const NM_VPN_PLUGIN_IP6_CONFIG_ADDRESS: &[u8] = b"address\0";
1845pub const NM_VPN_PLUGIN_IP6_CONFIG_DNS: &[u8] = b"dns\0";
1846pub const NM_VPN_PLUGIN_IP6_CONFIG_DOMAIN: &[u8] = b"domain\0";
1847pub const NM_VPN_PLUGIN_IP6_CONFIG_DOMAINS: &[u8] = b"domains\0";
1848pub const NM_VPN_PLUGIN_IP6_CONFIG_INT_GATEWAY: &[u8] = b"internal-gateway\0";
1849pub const NM_VPN_PLUGIN_IP6_CONFIG_MSS: &[u8] = b"mss\0";
1850pub const NM_VPN_PLUGIN_IP6_CONFIG_NEVER_DEFAULT: &[u8] = b"never-default\0";
1851pub const NM_VPN_PLUGIN_IP6_CONFIG_PREFIX: &[u8] = b"prefix\0";
1852pub const NM_VPN_PLUGIN_IP6_CONFIG_PRESERVE_ROUTES: &[u8] = b"preserve-routes\0";
1853pub const NM_VPN_PLUGIN_IP6_CONFIG_PTP: &[u8] = b"ptp\0";
1854pub const NM_VPN_PLUGIN_IP6_CONFIG_ROUTES: &[u8] = b"routes\0";
1855pub const NM_VPN_PLUGIN_OLD_DBUS_SERVICE_NAME: &[u8] = b"service-name\0";
1856pub const NM_VPN_PLUGIN_OLD_STATE: &[u8] = b"state\0";
1857pub const NM_VPN_SERVICE_PLUGIN_DBUS_SERVICE_NAME: &[u8] = b"service-name\0";
1858pub const NM_VPN_SERVICE_PLUGIN_DBUS_WATCH_PEER: &[u8] = b"watch-peer\0";
1859pub const NM_VPN_SERVICE_PLUGIN_STATE: &[u8] = b"state\0";
1860pub const NM_WIFI_P2P_PEER_FLAGS: &[u8] = b"flags\0";
1861pub const NM_WIFI_P2P_PEER_HW_ADDRESS: &[u8] = b"hw-address\0";
1862pub const NM_WIFI_P2P_PEER_LAST_SEEN: &[u8] = b"last-seen\0";
1863pub const NM_WIFI_P2P_PEER_MANUFACTURER: &[u8] = b"manufacturer\0";
1864pub const NM_WIFI_P2P_PEER_MODEL: &[u8] = b"model\0";
1865pub const NM_WIFI_P2P_PEER_MODEL_NUMBER: &[u8] = b"model-number\0";
1866pub const NM_WIFI_P2P_PEER_NAME: &[u8] = b"name\0";
1867pub const NM_WIFI_P2P_PEER_SERIAL: &[u8] = b"serial\0";
1868pub const NM_WIFI_P2P_PEER_STRENGTH: &[u8] = b"strength\0";
1869pub const NM_WIFI_P2P_PEER_WFD_IES: &[u8] = b"wfd-ies\0";
1870pub const NM_WIMAX_NSP_NAME: &[u8] = b"name\0";
1871pub const NM_WIMAX_NSP_NETWORK_TYPE: &[u8] = b"network-type\0";
1872pub const NM_WIMAX_NSP_SIGNAL_QUALITY: &[u8] = b"signal-quality\0";
1873pub const NM_WIREGUARD_PEER_ATTR_ALLOWED_IPS: &[u8] = b"allowed-ips\0";
1874pub const NM_WIREGUARD_PEER_ATTR_ENDPOINT: &[u8] = b"endpoint\0";
1875pub const NM_WIREGUARD_PEER_ATTR_PERSISTENT_KEEPALIVE: &[u8] = b"persistent-keepalive\0";
1876pub const NM_WIREGUARD_PEER_ATTR_PRESHARED_KEY: &[u8] = b"preshared-key\0";
1877pub const NM_WIREGUARD_PEER_ATTR_PRESHARED_KEY_FLAGS: &[u8] = b"preshared-key-flags\0";
1878pub const NM_WIREGUARD_PEER_ATTR_PUBLIC_KEY: &[u8] = b"public-key\0";
1879pub const NM_WIREGUARD_PUBLIC_KEY_LEN: c_int = 32;
1880pub const NM_WIREGUARD_SYMMETRIC_KEY_LEN: c_int = 32;
1881
1882// Flags
1883pub type NM80211ApFlags = c_uint;
1884pub const NM_802_11_AP_FLAGS_NONE: NM80211ApFlags = 0;
1885pub const NM_802_11_AP_FLAGS_PRIVACY: NM80211ApFlags = 1;
1886pub const NM_802_11_AP_FLAGS_WPS: NM80211ApFlags = 2;
1887pub const NM_802_11_AP_FLAGS_WPS_PBC: NM80211ApFlags = 4;
1888pub const NM_802_11_AP_FLAGS_WPS_PIN: NM80211ApFlags = 8;
1889
1890pub type NM80211ApSecurityFlags = c_uint;
1891pub const NM_802_11_AP_SEC_NONE: NM80211ApSecurityFlags = 0;
1892pub const NM_802_11_AP_SEC_PAIR_WEP40: NM80211ApSecurityFlags = 1;
1893pub const NM_802_11_AP_SEC_PAIR_WEP104: NM80211ApSecurityFlags = 2;
1894pub const NM_802_11_AP_SEC_PAIR_TKIP: NM80211ApSecurityFlags = 4;
1895pub const NM_802_11_AP_SEC_PAIR_CCMP: NM80211ApSecurityFlags = 8;
1896pub const NM_802_11_AP_SEC_GROUP_WEP40: NM80211ApSecurityFlags = 16;
1897pub const NM_802_11_AP_SEC_GROUP_WEP104: NM80211ApSecurityFlags = 32;
1898pub const NM_802_11_AP_SEC_GROUP_TKIP: NM80211ApSecurityFlags = 64;
1899pub const NM_802_11_AP_SEC_GROUP_CCMP: NM80211ApSecurityFlags = 128;
1900pub const NM_802_11_AP_SEC_KEY_MGMT_PSK: NM80211ApSecurityFlags = 256;
1901pub const NM_802_11_AP_SEC_KEY_MGMT_802_1X: NM80211ApSecurityFlags = 512;
1902pub const NM_802_11_AP_SEC_KEY_MGMT_SAE: NM80211ApSecurityFlags = 1024;
1903pub const NM_802_11_AP_SEC_KEY_MGMT_OWE: NM80211ApSecurityFlags = 2048;
1904pub const NM_802_11_AP_SEC_KEY_MGMT_OWE_TM: NM80211ApSecurityFlags = 4096;
1905pub const NM_802_11_AP_SEC_KEY_MGMT_EAP_SUITE_B_192: NM80211ApSecurityFlags = 8192;
1906
1907pub type NMActivationStateFlags = c_uint;
1908pub const NM_ACTIVATION_STATE_FLAG_NONE: NMActivationStateFlags = 0;
1909pub const NM_ACTIVATION_STATE_FLAG_IS_CONTROLLER: NMActivationStateFlags = 1;
1910pub const NM_ACTIVATION_STATE_FLAG_IS_PORT: NMActivationStateFlags = 2;
1911pub const NM_ACTIVATION_STATE_FLAG_LAYER2_READY: NMActivationStateFlags = 4;
1912pub const NM_ACTIVATION_STATE_FLAG_IP4_READY: NMActivationStateFlags = 8;
1913pub const NM_ACTIVATION_STATE_FLAG_IP6_READY: NMActivationStateFlags = 16;
1914pub const NM_ACTIVATION_STATE_FLAG_CONTROLLER_HAS_PORTS: NMActivationStateFlags = 32;
1915pub const NM_ACTIVATION_STATE_FLAG_LIFETIME_BOUND_TO_PROFILE_VISIBILITY: NMActivationStateFlags =
1916    64;
1917pub const NM_ACTIVATION_STATE_FLAG_EXTERNAL: NMActivationStateFlags = 128;
1918
1919pub type NMBluetoothCapabilities = c_uint;
1920pub const NM_BT_CAPABILITY_NONE: NMBluetoothCapabilities = 0;
1921pub const NM_BT_CAPABILITY_DUN: NMBluetoothCapabilities = 1;
1922pub const NM_BT_CAPABILITY_NAP: NMBluetoothCapabilities = 2;
1923
1924pub type NMCheckpointCreateFlags = c_uint;
1925pub const NM_CHECKPOINT_CREATE_FLAG_NONE: NMCheckpointCreateFlags = 0;
1926pub const NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL: NMCheckpointCreateFlags = 1;
1927pub const NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS: NMCheckpointCreateFlags = 2;
1928pub const NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES: NMCheckpointCreateFlags = 4;
1929pub const NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING: NMCheckpointCreateFlags = 8;
1930pub const NM_CHECKPOINT_CREATE_FLAG_NO_PRESERVE_EXTERNAL_PORTS: NMCheckpointCreateFlags = 16;
1931pub const NM_CHECKPOINT_CREATE_FLAG_TRACK_INTERNAL_GLOBAL_DNS: NMCheckpointCreateFlags = 32;
1932
1933pub type NMClientInstanceFlags = c_uint;
1934pub const NM_CLIENT_INSTANCE_FLAGS_NONE: NMClientInstanceFlags = 0;
1935pub const NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS: NMClientInstanceFlags = 1;
1936pub const NM_CLIENT_INSTANCE_FLAGS_INITIALIZED_GOOD: NMClientInstanceFlags = 2;
1937pub const NM_CLIENT_INSTANCE_FLAGS_INITIALIZED_BAD: NMClientInstanceFlags = 4;
1938
1939pub type NMConnectionSerializationFlags = c_uint;
1940pub const NM_CONNECTION_SERIALIZE_ALL: NMConnectionSerializationFlags = 0;
1941pub const NM_CONNECTION_SERIALIZE_WITH_NON_SECRET: NMConnectionSerializationFlags = 1;
1942pub const NM_CONNECTION_SERIALIZE_NO_SECRETS: NMConnectionSerializationFlags = 1;
1943pub const NM_CONNECTION_SERIALIZE_WITH_SECRETS: NMConnectionSerializationFlags = 2;
1944pub const NM_CONNECTION_SERIALIZE_ONLY_SECRETS: NMConnectionSerializationFlags = 2;
1945pub const NM_CONNECTION_SERIALIZE_WITH_SECRETS_AGENT_OWNED: NMConnectionSerializationFlags = 4;
1946pub const NM_CONNECTION_SERIALIZE_WITH_SECRETS_SYSTEM_OWNED: NMConnectionSerializationFlags = 8;
1947pub const NM_CONNECTION_SERIALIZE_WITH_SECRETS_NOT_SAVED: NMConnectionSerializationFlags = 16;
1948
1949pub type NMDeviceCapabilities = c_uint;
1950pub const NM_DEVICE_CAP_NONE: NMDeviceCapabilities = 0;
1951pub const NM_DEVICE_CAP_NM_SUPPORTED: NMDeviceCapabilities = 1;
1952pub const NM_DEVICE_CAP_CARRIER_DETECT: NMDeviceCapabilities = 2;
1953pub const NM_DEVICE_CAP_IS_SOFTWARE: NMDeviceCapabilities = 4;
1954pub const NM_DEVICE_CAP_SRIOV: NMDeviceCapabilities = 8;
1955
1956pub type NMDeviceInterfaceFlags = c_uint;
1957pub const NM_DEVICE_INTERFACE_FLAG_UP: NMDeviceInterfaceFlags = 1;
1958pub const NM_DEVICE_INTERFACE_FLAG_LOWER_UP: NMDeviceInterfaceFlags = 2;
1959pub const NM_DEVICE_INTERFACE_FLAG_PROMISC: NMDeviceInterfaceFlags = 4;
1960pub const NM_DEVICE_INTERFACE_FLAG_CARRIER: NMDeviceInterfaceFlags = 65536;
1961pub const NM_DEVICE_INTERFACE_FLAG_LLDP_CLIENT_ENABLED: NMDeviceInterfaceFlags = 131072;
1962
1963pub type NMDeviceModemCapabilities = c_uint;
1964pub const NM_DEVICE_MODEM_CAPABILITY_NONE: NMDeviceModemCapabilities = 0;
1965pub const NM_DEVICE_MODEM_CAPABILITY_POTS: NMDeviceModemCapabilities = 1;
1966pub const NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO: NMDeviceModemCapabilities = 2;
1967pub const NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS: NMDeviceModemCapabilities = 4;
1968pub const NM_DEVICE_MODEM_CAPABILITY_LTE: NMDeviceModemCapabilities = 8;
1969pub const NM_DEVICE_MODEM_CAPABILITY_5GNR: NMDeviceModemCapabilities = 64;
1970
1971pub type NMDeviceReapplyFlags = c_uint;
1972pub const NM_DEVICE_REAPPLY_FLAGS_NONE: NMDeviceReapplyFlags = 0;
1973pub const NM_DEVICE_REAPPLY_FLAGS_PRESERVE_EXTERNAL_IP: NMDeviceReapplyFlags = 1;
1974
1975pub type NMDeviceWifiCapabilities = c_uint;
1976pub const NM_WIFI_DEVICE_CAP_NONE: NMDeviceWifiCapabilities = 0;
1977pub const NM_WIFI_DEVICE_CAP_CIPHER_WEP40: NMDeviceWifiCapabilities = 1;
1978pub const NM_WIFI_DEVICE_CAP_CIPHER_WEP104: NMDeviceWifiCapabilities = 2;
1979pub const NM_WIFI_DEVICE_CAP_CIPHER_TKIP: NMDeviceWifiCapabilities = 4;
1980pub const NM_WIFI_DEVICE_CAP_CIPHER_CCMP: NMDeviceWifiCapabilities = 8;
1981pub const NM_WIFI_DEVICE_CAP_WPA: NMDeviceWifiCapabilities = 16;
1982pub const NM_WIFI_DEVICE_CAP_RSN: NMDeviceWifiCapabilities = 32;
1983pub const NM_WIFI_DEVICE_CAP_AP: NMDeviceWifiCapabilities = 64;
1984pub const NM_WIFI_DEVICE_CAP_ADHOC: NMDeviceWifiCapabilities = 128;
1985pub const NM_WIFI_DEVICE_CAP_FREQ_VALID: NMDeviceWifiCapabilities = 256;
1986pub const NM_WIFI_DEVICE_CAP_FREQ_2GHZ: NMDeviceWifiCapabilities = 512;
1987pub const NM_WIFI_DEVICE_CAP_FREQ_5GHZ: NMDeviceWifiCapabilities = 1024;
1988pub const NM_WIFI_DEVICE_CAP_FREQ_6GHZ: NMDeviceWifiCapabilities = 2048;
1989pub const NM_WIFI_DEVICE_CAP_MESH: NMDeviceWifiCapabilities = 4096;
1990pub const NM_WIFI_DEVICE_CAP_IBSS_RSN: NMDeviceWifiCapabilities = 8192;
1991
1992pub type NMDhcpHostnameFlags = c_uint;
1993pub const NM_DHCP_HOSTNAME_FLAG_NONE: NMDhcpHostnameFlags = 0;
1994pub const NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE: NMDhcpHostnameFlags = 1;
1995pub const NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED: NMDhcpHostnameFlags = 2;
1996pub const NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE: NMDhcpHostnameFlags = 4;
1997pub const NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS: NMDhcpHostnameFlags = 8;
1998
1999pub type NMIPAddressCmpFlags = c_uint;
2000pub const NM_IP_ADDRESS_CMP_FLAGS_NONE: NMIPAddressCmpFlags = 0;
2001pub const NM_IP_ADDRESS_CMP_FLAGS_WITH_ATTRS: NMIPAddressCmpFlags = 1;
2002
2003pub type NMIPRoutingRuleAsStringFlags = c_uint;
2004pub const NM_IP_ROUTING_RULE_AS_STRING_FLAGS_NONE: NMIPRoutingRuleAsStringFlags = 0;
2005pub const NM_IP_ROUTING_RULE_AS_STRING_FLAGS_AF_INET: NMIPRoutingRuleAsStringFlags = 1;
2006pub const NM_IP_ROUTING_RULE_AS_STRING_FLAGS_AF_INET6: NMIPRoutingRuleAsStringFlags = 2;
2007pub const NM_IP_ROUTING_RULE_AS_STRING_FLAGS_VALIDATE: NMIPRoutingRuleAsStringFlags = 4;
2008
2009pub type NMIPTunnelFlags = c_uint;
2010pub const NM_IP_TUNNEL_FLAG_NONE: NMIPTunnelFlags = 0;
2011pub const NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT: NMIPTunnelFlags = 1;
2012pub const NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS: NMIPTunnelFlags = 2;
2013pub const NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL: NMIPTunnelFlags = 4;
2014pub const NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV: NMIPTunnelFlags = 8;
2015pub const NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY: NMIPTunnelFlags = 16;
2016pub const NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK: NMIPTunnelFlags = 32;
2017
2018pub type NMKeyfileHandlerFlags = c_uint;
2019pub const NM_KEYFILE_HANDLER_FLAGS_NONE: NMKeyfileHandlerFlags = 0;
2020
2021pub type NMManagerReloadFlags = c_uint;
2022pub const NM_MANAGER_RELOAD_FLAG_CONF: NMManagerReloadFlags = 1;
2023pub const NM_MANAGER_RELOAD_FLAG_DNS_RC: NMManagerReloadFlags = 2;
2024pub const NM_MANAGER_RELOAD_FLAG_DNS_FULL: NMManagerReloadFlags = 4;
2025
2026pub type NMMptcpFlags = c_uint;
2027pub const NM_MPTCP_FLAGS_NONE: NMMptcpFlags = 0;
2028pub const NM_MPTCP_FLAGS_DISABLED: NMMptcpFlags = 1;
2029pub const NM_MPTCP_FLAGS_ENABLED: NMMptcpFlags = 2;
2030pub const NM_MPTCP_FLAGS_ALSO_WITHOUT_SYSCTL: NMMptcpFlags = 4;
2031pub const NM_MPTCP_FLAGS_ALSO_WITHOUT_DEFAULT_ROUTE: NMMptcpFlags = 8;
2032pub const NM_MPTCP_FLAGS_SIGNAL: NMMptcpFlags = 16;
2033pub const NM_MPTCP_FLAGS_SUBFLOW: NMMptcpFlags = 32;
2034pub const NM_MPTCP_FLAGS_BACKUP: NMMptcpFlags = 64;
2035pub const NM_MPTCP_FLAGS_FULLMESH: NMMptcpFlags = 128;
2036
2037pub type NMRadioFlags = c_uint;
2038pub const NM_RADIO_FLAG_NONE: NMRadioFlags = 0;
2039pub const NM_RADIO_FLAG_WLAN_AVAILABLE: NMRadioFlags = 1;
2040pub const NM_RADIO_FLAG_WWAN_AVAILABLE: NMRadioFlags = 2;
2041
2042pub type NMSecretAgentCapabilities = c_uint;
2043pub const NM_SECRET_AGENT_CAPABILITY_NONE: NMSecretAgentCapabilities = 0;
2044pub const NM_SECRET_AGENT_CAPABILITY_VPN_HINTS: NMSecretAgentCapabilities = 1;
2045pub const NM_SECRET_AGENT_CAPABILITY_LAST: NMSecretAgentCapabilities = 1;
2046
2047pub type NMSecretAgentGetSecretsFlags = c_uint;
2048pub const NM_SECRET_AGENT_GET_SECRETS_FLAG_NONE: NMSecretAgentGetSecretsFlags = 0;
2049pub const NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION: NMSecretAgentGetSecretsFlags = 1;
2050pub const NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW: NMSecretAgentGetSecretsFlags = 2;
2051pub const NM_SECRET_AGENT_GET_SECRETS_FLAG_USER_REQUESTED: NMSecretAgentGetSecretsFlags = 4;
2052pub const NM_SECRET_AGENT_GET_SECRETS_FLAG_WPS_PBC_ACTIVE: NMSecretAgentGetSecretsFlags = 8;
2053pub const NM_SECRET_AGENT_GET_SECRETS_FLAG_ONLY_SYSTEM: NMSecretAgentGetSecretsFlags = 2147483648;
2054pub const NM_SECRET_AGENT_GET_SECRETS_FLAG_NO_ERRORS: NMSecretAgentGetSecretsFlags = 1073741824;
2055
2056pub type NMSetting8021xAuthFlags = c_uint;
2057pub const NM_SETTING_802_1X_AUTH_FLAGS_NONE: NMSetting8021xAuthFlags = 0;
2058pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_0_DISABLE: NMSetting8021xAuthFlags = 1;
2059pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_1_DISABLE: NMSetting8021xAuthFlags = 2;
2060pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_2_DISABLE: NMSetting8021xAuthFlags = 4;
2061pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_DISABLE_TIME_CHECKS: NMSetting8021xAuthFlags = 8;
2062pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_3_DISABLE: NMSetting8021xAuthFlags = 16;
2063pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_0_ENABLE: NMSetting8021xAuthFlags = 32;
2064pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_1_ENABLE: NMSetting8021xAuthFlags = 64;
2065pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_2_ENABLE: NMSetting8021xAuthFlags = 128;
2066pub const NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_3_ENABLE: NMSetting8021xAuthFlags = 256;
2067pub const NM_SETTING_802_1X_AUTH_FLAGS_ALL: NMSetting8021xAuthFlags = 511;
2068
2069pub type NMSettingDcbFlags = c_uint;
2070pub const NM_SETTING_DCB_FLAG_NONE: NMSettingDcbFlags = 0;
2071pub const NM_SETTING_DCB_FLAG_ENABLE: NMSettingDcbFlags = 1;
2072pub const NM_SETTING_DCB_FLAG_ADVERTISE: NMSettingDcbFlags = 2;
2073pub const NM_SETTING_DCB_FLAG_WILLING: NMSettingDcbFlags = 4;
2074
2075pub type NMSettingEthtoolFecMode = c_uint;
2076pub const NM_SETTING_ETHTOOL_FEC_MODE_AUTO: NMSettingEthtoolFecMode = 2;
2077pub const NM_SETTING_ETHTOOL_FEC_MODE_OFF: NMSettingEthtoolFecMode = 4;
2078pub const NM_SETTING_ETHTOOL_FEC_MODE_RS: NMSettingEthtoolFecMode = 8;
2079pub const NM_SETTING_ETHTOOL_FEC_MODE_BASER: NMSettingEthtoolFecMode = 16;
2080pub const NM_SETTING_ETHTOOL_FEC_MODE_LLRS: NMSettingEthtoolFecMode = 32;
2081
2082pub type NMSettingSecretFlags = c_uint;
2083pub const NM_SETTING_SECRET_FLAG_NONE: NMSettingSecretFlags = 0;
2084pub const NM_SETTING_SECRET_FLAG_AGENT_OWNED: NMSettingSecretFlags = 1;
2085pub const NM_SETTING_SECRET_FLAG_NOT_SAVED: NMSettingSecretFlags = 2;
2086pub const NM_SETTING_SECRET_FLAG_NOT_REQUIRED: NMSettingSecretFlags = 4;
2087
2088pub type NMSettingWiredWakeOnLan = c_uint;
2089pub const NM_SETTING_WIRED_WAKE_ON_LAN_PHY: NMSettingWiredWakeOnLan = 2;
2090pub const NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST: NMSettingWiredWakeOnLan = 4;
2091pub const NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST: NMSettingWiredWakeOnLan = 8;
2092pub const NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST: NMSettingWiredWakeOnLan = 16;
2093pub const NM_SETTING_WIRED_WAKE_ON_LAN_ARP: NMSettingWiredWakeOnLan = 32;
2094pub const NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC: NMSettingWiredWakeOnLan = 64;
2095pub const NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT: NMSettingWiredWakeOnLan = 1;
2096pub const NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE: NMSettingWiredWakeOnLan = 32768;
2097
2098pub type NMSettingWirelessSecurityWpsMethod = c_uint;
2099pub const NM_SETTING_WIRELESS_SECURITY_WPS_METHOD_DEFAULT: NMSettingWirelessSecurityWpsMethod = 0;
2100pub const NM_SETTING_WIRELESS_SECURITY_WPS_METHOD_DISABLED: NMSettingWirelessSecurityWpsMethod = 1;
2101pub const NM_SETTING_WIRELESS_SECURITY_WPS_METHOD_AUTO: NMSettingWirelessSecurityWpsMethod = 2;
2102pub const NM_SETTING_WIRELESS_SECURITY_WPS_METHOD_PBC: NMSettingWirelessSecurityWpsMethod = 4;
2103pub const NM_SETTING_WIRELESS_SECURITY_WPS_METHOD_PIN: NMSettingWirelessSecurityWpsMethod = 8;
2104
2105pub type NMSettingWirelessWakeOnWLan = c_uint;
2106pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY: NMSettingWirelessWakeOnWLan = 2;
2107pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT: NMSettingWirelessWakeOnWLan = 4;
2108pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC: NMSettingWirelessWakeOnWLan = 8;
2109pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE: NMSettingWirelessWakeOnWLan = 16;
2110pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST: NMSettingWirelessWakeOnWLan = 32;
2111pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE: NMSettingWirelessWakeOnWLan = 64;
2112pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE: NMSettingWirelessWakeOnWLan = 128;
2113pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP: NMSettingWirelessWakeOnWLan = 256;
2114pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_ALL: NMSettingWirelessWakeOnWLan = 510;
2115pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT: NMSettingWirelessWakeOnWLan = 1;
2116pub const NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE: NMSettingWirelessWakeOnWLan = 32768;
2117
2118pub type NMSettingsAddConnection2Flags = c_uint;
2119pub const NM_SETTINGS_ADD_CONNECTION2_FLAG_NONE: NMSettingsAddConnection2Flags = 0;
2120pub const NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK: NMSettingsAddConnection2Flags = 1;
2121pub const NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY: NMSettingsAddConnection2Flags = 2;
2122pub const NM_SETTINGS_ADD_CONNECTION2_FLAG_BLOCK_AUTOCONNECT: NMSettingsAddConnection2Flags = 32;
2123
2124pub type NMSettingsConnectionFlags = c_uint;
2125pub const NM_SETTINGS_CONNECTION_FLAG_NONE: NMSettingsConnectionFlags = 0;
2126pub const NM_SETTINGS_CONNECTION_FLAG_UNSAVED: NMSettingsConnectionFlags = 1;
2127pub const NM_SETTINGS_CONNECTION_FLAG_NM_GENERATED: NMSettingsConnectionFlags = 2;
2128pub const NM_SETTINGS_CONNECTION_FLAG_VOLATILE: NMSettingsConnectionFlags = 4;
2129pub const NM_SETTINGS_CONNECTION_FLAG_EXTERNAL: NMSettingsConnectionFlags = 8;
2130
2131pub type NMSettingsUpdate2Flags = c_uint;
2132pub const NM_SETTINGS_UPDATE2_FLAG_NONE: NMSettingsUpdate2Flags = 0;
2133pub const NM_SETTINGS_UPDATE2_FLAG_TO_DISK: NMSettingsUpdate2Flags = 1;
2134pub const NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY: NMSettingsUpdate2Flags = 2;
2135pub const NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_DETACHED: NMSettingsUpdate2Flags = 4;
2136pub const NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_ONLY: NMSettingsUpdate2Flags = 8;
2137pub const NM_SETTINGS_UPDATE2_FLAG_VOLATILE: NMSettingsUpdate2Flags = 16;
2138pub const NM_SETTINGS_UPDATE2_FLAG_BLOCK_AUTOCONNECT: NMSettingsUpdate2Flags = 32;
2139pub const NM_SETTINGS_UPDATE2_FLAG_NO_REAPPLY: NMSettingsUpdate2Flags = 64;
2140
2141pub type NMTeamLinkWatcherArpPingFlags = c_uint;
2142pub const NM_TEAM_LINK_WATCHER_ARP_PING_FLAG_VALIDATE_ACTIVE: NMTeamLinkWatcherArpPingFlags = 2;
2143pub const NM_TEAM_LINK_WATCHER_ARP_PING_FLAG_VALIDATE_INACTIVE: NMTeamLinkWatcherArpPingFlags = 4;
2144pub const NM_TEAM_LINK_WATCHER_ARP_PING_FLAG_SEND_ALWAYS: NMTeamLinkWatcherArpPingFlags = 8;
2145
2146pub type NMVlanFlags = c_uint;
2147pub const NM_VLAN_FLAG_REORDER_HEADERS: NMVlanFlags = 1;
2148pub const NM_VLAN_FLAG_GVRP: NMVlanFlags = 2;
2149pub const NM_VLAN_FLAG_LOOSE_BINDING: NMVlanFlags = 4;
2150pub const NM_VLAN_FLAG_MVRP: NMVlanFlags = 8;
2151
2152pub type NMVpnEditorPluginCapability = c_uint;
2153pub const NM_VPN_EDITOR_PLUGIN_CAPABILITY_NONE: NMVpnEditorPluginCapability = 0;
2154pub const NM_VPN_EDITOR_PLUGIN_CAPABILITY_IMPORT: NMVpnEditorPluginCapability = 1;
2155pub const NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT: NMVpnEditorPluginCapability = 2;
2156pub const NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6: NMVpnEditorPluginCapability = 4;
2157pub const NM_VPN_EDITOR_PLUGIN_CAPABILITY_NO_EDITOR: NMVpnEditorPluginCapability = 8;
2158
2159// Callbacks
2160pub type NMKeyfileReadHandler = Option<
2161    unsafe extern "C" fn(
2162        *mut glib::GKeyFile,
2163        *mut NMConnection,
2164        NMKeyfileHandlerType,
2165        *mut NMKeyfileHandlerData,
2166        *mut c_void,
2167    ) -> gboolean,
2168>;
2169pub type NMKeyfileWriteHandler = Option<
2170    unsafe extern "C" fn(
2171        *mut NMConnection,
2172        *mut glib::GKeyFile,
2173        NMKeyfileHandlerType,
2174        *mut NMKeyfileHandlerData,
2175        *mut c_void,
2176    ) -> gboolean,
2177>;
2178pub type NMSecretAgentOldDeleteSecretsFunc = Option<
2179    unsafe extern "C" fn(*mut NMSecretAgentOld, *mut NMConnection, *mut glib::GError, gpointer),
2180>;
2181pub type NMSecretAgentOldGetSecretsFunc = Option<
2182    unsafe extern "C" fn(
2183        *mut NMSecretAgentOld,
2184        *mut NMConnection,
2185        *mut glib::GVariant,
2186        *mut glib::GError,
2187        gpointer,
2188    ),
2189>;
2190pub type NMSecretAgentOldSaveSecretsFunc = Option<
2191    unsafe extern "C" fn(*mut NMSecretAgentOld, *mut NMConnection, *mut glib::GError, gpointer),
2192>;
2193pub type NMSettingClearSecretsWithFlagsFn = Option<
2194    unsafe extern "C" fn(*mut NMSetting, *const c_char, NMSettingSecretFlags, gpointer) -> gboolean,
2195>;
2196pub type NMSettingValueIterFn = Option<
2197    unsafe extern "C" fn(
2198        *mut NMSetting,
2199        *const c_char,
2200        *const gobject::GValue,
2201        gobject::GParamFlags,
2202        gpointer,
2203    ),
2204>;
2205pub type NMUtilsCheckFilePredicate = Option<
2206    unsafe extern "C" fn(*const c_char, *const stat, gpointer, *mut *mut glib::GError) -> gboolean,
2207>;
2208pub type NMUtilsFileSearchInPathsPredicate =
2209    Option<unsafe extern "C" fn(*const c_char, gpointer) -> gboolean>;
2210pub type NMUtilsPredicateStr = Option<unsafe extern "C" fn(*const c_char) -> gboolean>;
2211pub type NMVpnIterFunc = Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
2212
2213// Records
2214#[repr(C)]
2215#[allow(dead_code)]
2216pub struct _NMAccessPointClass {
2217    _data: [u8; 0],
2218    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2219}
2220
2221pub type NMAccessPointClass = _NMAccessPointClass;
2222
2223#[repr(C)]
2224#[allow(dead_code)]
2225pub struct _NMActiveConnectionClass {
2226    _data: [u8; 0],
2227    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2228}
2229
2230pub type NMActiveConnectionClass = _NMActiveConnectionClass;
2231
2232#[repr(C)]
2233#[allow(dead_code)]
2234pub struct NMBridgeVlan {
2235    _data: [u8; 0],
2236    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2237}
2238
2239impl ::std::fmt::Debug for NMBridgeVlan {
2240    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2241        f.debug_struct(&format!("NMBridgeVlan @ {self:p}")).finish()
2242    }
2243}
2244
2245#[repr(C)]
2246#[allow(dead_code)]
2247pub struct _NMCheckpointClass {
2248    _data: [u8; 0],
2249    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2250}
2251
2252pub type NMCheckpointClass = _NMCheckpointClass;
2253
2254#[repr(C)]
2255#[allow(dead_code)]
2256pub struct _NMClientClass {
2257    _data: [u8; 0],
2258    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2259}
2260
2261pub type NMClientClass = _NMClientClass;
2262
2263#[derive(Copy, Clone)]
2264#[repr(C)]
2265pub struct NMConnectionInterface {
2266    pub parent: gobject::GTypeInterface,
2267    pub secrets_updated: Option<unsafe extern "C" fn(*mut NMConnection, *const c_char)>,
2268    pub secrets_cleared: Option<unsafe extern "C" fn(*mut NMConnection)>,
2269    pub changed: Option<unsafe extern "C" fn(*mut NMConnection)>,
2270}
2271
2272impl ::std::fmt::Debug for NMConnectionInterface {
2273    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2274        f.debug_struct(&format!("NMConnectionInterface @ {self:p}"))
2275            .field("parent", &self.parent)
2276            .field("secrets_updated", &self.secrets_updated)
2277            .field("secrets_cleared", &self.secrets_cleared)
2278            .field("changed", &self.changed)
2279            .finish()
2280    }
2281}
2282
2283#[repr(C)]
2284#[allow(dead_code)]
2285pub struct _NMDevice6LowpanClass {
2286    _data: [u8; 0],
2287    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2288}
2289
2290pub type NMDevice6LowpanClass = _NMDevice6LowpanClass;
2291
2292#[repr(C)]
2293#[allow(dead_code)]
2294pub struct _NMDeviceAdslClass {
2295    _data: [u8; 0],
2296    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2297}
2298
2299pub type NMDeviceAdslClass = _NMDeviceAdslClass;
2300
2301#[repr(C)]
2302#[allow(dead_code)]
2303pub struct _NMDeviceBondClass {
2304    _data: [u8; 0],
2305    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2306}
2307
2308pub type NMDeviceBondClass = _NMDeviceBondClass;
2309
2310#[repr(C)]
2311#[allow(dead_code)]
2312pub struct _NMDeviceBridgeClass {
2313    _data: [u8; 0],
2314    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2315}
2316
2317pub type NMDeviceBridgeClass = _NMDeviceBridgeClass;
2318
2319#[repr(C)]
2320#[allow(dead_code)]
2321pub struct _NMDeviceBtClass {
2322    _data: [u8; 0],
2323    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2324}
2325
2326pub type NMDeviceBtClass = _NMDeviceBtClass;
2327
2328#[repr(C)]
2329#[allow(dead_code)]
2330pub struct _NMDeviceClass {
2331    _data: [u8; 0],
2332    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2333}
2334
2335pub type NMDeviceClass = _NMDeviceClass;
2336
2337#[repr(C)]
2338#[allow(dead_code)]
2339pub struct _NMDeviceDummyClass {
2340    _data: [u8; 0],
2341    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2342}
2343
2344pub type NMDeviceDummyClass = _NMDeviceDummyClass;
2345
2346#[repr(C)]
2347#[allow(dead_code)]
2348pub struct _NMDeviceEthernetClass {
2349    _data: [u8; 0],
2350    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2351}
2352
2353pub type NMDeviceEthernetClass = _NMDeviceEthernetClass;
2354
2355#[repr(C)]
2356#[allow(dead_code)]
2357pub struct _NMDeviceGenericClass {
2358    _data: [u8; 0],
2359    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2360}
2361
2362pub type NMDeviceGenericClass = _NMDeviceGenericClass;
2363
2364#[repr(C)]
2365#[allow(dead_code)]
2366pub struct _NMDeviceHsrClass {
2367    _data: [u8; 0],
2368    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2369}
2370
2371pub type NMDeviceHsrClass = _NMDeviceHsrClass;
2372
2373#[repr(C)]
2374#[allow(dead_code)]
2375pub struct _NMDeviceIPTunnelClass {
2376    _data: [u8; 0],
2377    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2378}
2379
2380pub type NMDeviceIPTunnelClass = _NMDeviceIPTunnelClass;
2381
2382#[repr(C)]
2383#[allow(dead_code)]
2384pub struct _NMDeviceInfinibandClass {
2385    _data: [u8; 0],
2386    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2387}
2388
2389pub type NMDeviceInfinibandClass = _NMDeviceInfinibandClass;
2390
2391#[repr(C)]
2392#[allow(dead_code)]
2393pub struct _NMDeviceIpvlanClass {
2394    _data: [u8; 0],
2395    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2396}
2397
2398pub type NMDeviceIpvlanClass = _NMDeviceIpvlanClass;
2399
2400#[repr(C)]
2401#[allow(dead_code)]
2402pub struct _NMDeviceLoopbackClass {
2403    _data: [u8; 0],
2404    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2405}
2406
2407pub type NMDeviceLoopbackClass = _NMDeviceLoopbackClass;
2408
2409#[repr(C)]
2410#[allow(dead_code)]
2411pub struct _NMDeviceMacsecClass {
2412    _data: [u8; 0],
2413    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2414}
2415
2416pub type NMDeviceMacsecClass = _NMDeviceMacsecClass;
2417
2418#[repr(C)]
2419#[allow(dead_code)]
2420pub struct _NMDeviceMacvlanClass {
2421    _data: [u8; 0],
2422    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2423}
2424
2425pub type NMDeviceMacvlanClass = _NMDeviceMacvlanClass;
2426
2427#[repr(C)]
2428#[allow(dead_code)]
2429pub struct _NMDeviceModemClass {
2430    _data: [u8; 0],
2431    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2432}
2433
2434pub type NMDeviceModemClass = _NMDeviceModemClass;
2435
2436#[repr(C)]
2437#[allow(dead_code)]
2438pub struct _NMDeviceOlpcMeshClass {
2439    _data: [u8; 0],
2440    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2441}
2442
2443pub type NMDeviceOlpcMeshClass = _NMDeviceOlpcMeshClass;
2444
2445#[repr(C)]
2446#[allow(dead_code)]
2447pub struct _NMDeviceOvsBridgeClass {
2448    _data: [u8; 0],
2449    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2450}
2451
2452pub type NMDeviceOvsBridgeClass = _NMDeviceOvsBridgeClass;
2453
2454#[repr(C)]
2455#[allow(dead_code)]
2456pub struct _NMDeviceOvsInterfaceClass {
2457    _data: [u8; 0],
2458    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2459}
2460
2461pub type NMDeviceOvsInterfaceClass = _NMDeviceOvsInterfaceClass;
2462
2463#[repr(C)]
2464#[allow(dead_code)]
2465pub struct _NMDeviceOvsPortClass {
2466    _data: [u8; 0],
2467    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2468}
2469
2470pub type NMDeviceOvsPortClass = _NMDeviceOvsPortClass;
2471
2472#[repr(C)]
2473#[allow(dead_code)]
2474pub struct _NMDevicePppClass {
2475    _data: [u8; 0],
2476    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2477}
2478
2479pub type NMDevicePppClass = _NMDevicePppClass;
2480
2481#[repr(C)]
2482#[allow(dead_code)]
2483pub struct _NMDeviceTeamClass {
2484    _data: [u8; 0],
2485    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2486}
2487
2488pub type NMDeviceTeamClass = _NMDeviceTeamClass;
2489
2490#[repr(C)]
2491#[allow(dead_code)]
2492pub struct _NMDeviceTunClass {
2493    _data: [u8; 0],
2494    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2495}
2496
2497pub type NMDeviceTunClass = _NMDeviceTunClass;
2498
2499#[repr(C)]
2500#[allow(dead_code)]
2501pub struct _NMDeviceVethClass {
2502    _data: [u8; 0],
2503    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2504}
2505
2506pub type NMDeviceVethClass = _NMDeviceVethClass;
2507
2508#[repr(C)]
2509#[allow(dead_code)]
2510pub struct _NMDeviceVlanClass {
2511    _data: [u8; 0],
2512    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2513}
2514
2515pub type NMDeviceVlanClass = _NMDeviceVlanClass;
2516
2517#[repr(C)]
2518#[allow(dead_code)]
2519pub struct _NMDeviceVrfClass {
2520    _data: [u8; 0],
2521    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2522}
2523
2524pub type NMDeviceVrfClass = _NMDeviceVrfClass;
2525
2526#[repr(C)]
2527#[allow(dead_code)]
2528pub struct _NMDeviceVxlanClass {
2529    _data: [u8; 0],
2530    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2531}
2532
2533pub type NMDeviceVxlanClass = _NMDeviceVxlanClass;
2534
2535#[repr(C)]
2536#[allow(dead_code)]
2537pub struct _NMDeviceWifiClass {
2538    _data: [u8; 0],
2539    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2540}
2541
2542pub type NMDeviceWifiClass = _NMDeviceWifiClass;
2543
2544#[repr(C)]
2545#[allow(dead_code)]
2546pub struct _NMDeviceWifiP2PClass {
2547    _data: [u8; 0],
2548    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2549}
2550
2551pub type NMDeviceWifiP2PClass = _NMDeviceWifiP2PClass;
2552
2553#[repr(C)]
2554#[allow(dead_code)]
2555pub struct _NMDeviceWimaxClass {
2556    _data: [u8; 0],
2557    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2558}
2559
2560pub type NMDeviceWimaxClass = _NMDeviceWimaxClass;
2561
2562#[repr(C)]
2563#[allow(dead_code)]
2564pub struct _NMDeviceWireGuardClass {
2565    _data: [u8; 0],
2566    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2567}
2568
2569pub type NMDeviceWireGuardClass = _NMDeviceWireGuardClass;
2570
2571#[repr(C)]
2572#[allow(dead_code)]
2573pub struct _NMDeviceWpanClass {
2574    _data: [u8; 0],
2575    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2576}
2577
2578pub type NMDeviceWpanClass = _NMDeviceWpanClass;
2579
2580#[repr(C)]
2581#[allow(dead_code)]
2582pub struct _NMDhcpConfigClass {
2583    _data: [u8; 0],
2584    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2585}
2586
2587pub type NMDhcpConfigClass = _NMDhcpConfigClass;
2588
2589#[repr(C)]
2590#[allow(dead_code)]
2591pub struct NMDnsEntry {
2592    _data: [u8; 0],
2593    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2594}
2595
2596impl ::std::fmt::Debug for NMDnsEntry {
2597    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2598        f.debug_struct(&format!("NMDnsEntry @ {self:p}")).finish()
2599    }
2600}
2601
2602#[repr(C)]
2603#[allow(dead_code)]
2604pub struct NMIPAddress {
2605    _data: [u8; 0],
2606    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2607}
2608
2609impl ::std::fmt::Debug for NMIPAddress {
2610    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2611        f.debug_struct(&format!("NMIPAddress @ {self:p}")).finish()
2612    }
2613}
2614
2615#[repr(C)]
2616#[allow(dead_code)]
2617pub struct _NMIPConfigClass {
2618    _data: [u8; 0],
2619    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2620}
2621
2622pub type NMIPConfigClass = _NMIPConfigClass;
2623
2624#[repr(C)]
2625#[allow(dead_code)]
2626pub struct NMIPRoute {
2627    _data: [u8; 0],
2628    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2629}
2630
2631impl ::std::fmt::Debug for NMIPRoute {
2632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2633        f.debug_struct(&format!("NMIPRoute @ {self:p}")).finish()
2634    }
2635}
2636
2637#[repr(C)]
2638#[allow(dead_code)]
2639pub struct NMIPRoutingRule {
2640    _data: [u8; 0],
2641    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2642}
2643
2644impl ::std::fmt::Debug for NMIPRoutingRule {
2645    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2646        f.debug_struct(&format!("NMIPRoutingRule @ {self:p}"))
2647            .finish()
2648    }
2649}
2650
2651#[repr(C)]
2652#[allow(dead_code)]
2653pub struct _NMKeyfileHandlerData {
2654    _data: [u8; 0],
2655    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2656}
2657
2658pub type NMKeyfileHandlerData = _NMKeyfileHandlerData;
2659
2660#[repr(C)]
2661#[allow(dead_code)]
2662pub struct NMLldpNeighbor {
2663    _data: [u8; 0],
2664    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2665}
2666
2667impl ::std::fmt::Debug for NMLldpNeighbor {
2668    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2669        f.debug_struct(&format!("NMLldpNeighbor @ {self:p}"))
2670            .finish()
2671    }
2672}
2673
2674#[repr(C)]
2675#[allow(dead_code)]
2676pub struct _NMObjectClass {
2677    _data: [u8; 0],
2678    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2679}
2680
2681pub type NMObjectClass = _NMObjectClass;
2682
2683#[repr(C)]
2684#[allow(dead_code)]
2685pub struct NMRange {
2686    _data: [u8; 0],
2687    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2688}
2689
2690impl ::std::fmt::Debug for NMRange {
2691    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2692        f.debug_struct(&format!("NMRange @ {self:p}")).finish()
2693    }
2694}
2695
2696#[repr(C)]
2697#[allow(dead_code)]
2698pub struct _NMRemoteConnectionClass {
2699    _data: [u8; 0],
2700    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2701}
2702
2703pub type NMRemoteConnectionClass = _NMRemoteConnectionClass;
2704
2705#[derive(Copy, Clone)]
2706#[repr(C)]
2707pub struct NMSecretAgentOldClass {
2708    pub parent: gobject::GObjectClass,
2709    pub get_secrets: Option<
2710        unsafe extern "C" fn(
2711            *mut NMSecretAgentOld,
2712            *mut NMConnection,
2713            *const c_char,
2714            *const c_char,
2715            *mut *const c_char,
2716            NMSecretAgentGetSecretsFlags,
2717            NMSecretAgentOldGetSecretsFunc,
2718            gpointer,
2719        ),
2720    >,
2721    pub cancel_get_secrets:
2722        Option<unsafe extern "C" fn(*mut NMSecretAgentOld, *const c_char, *const c_char)>,
2723    pub save_secrets: Option<
2724        unsafe extern "C" fn(
2725            *mut NMSecretAgentOld,
2726            *mut NMConnection,
2727            *const c_char,
2728            NMSecretAgentOldSaveSecretsFunc,
2729            gpointer,
2730        ),
2731    >,
2732    pub delete_secrets: Option<
2733        unsafe extern "C" fn(
2734            *mut NMSecretAgentOld,
2735            *mut NMConnection,
2736            *const c_char,
2737            NMSecretAgentOldDeleteSecretsFunc,
2738            gpointer,
2739        ),
2740    >,
2741    pub padding: [gpointer; 8],
2742}
2743
2744impl ::std::fmt::Debug for NMSecretAgentOldClass {
2745    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2746        f.debug_struct(&format!("NMSecretAgentOldClass @ {self:p}"))
2747            .field("parent", &self.parent)
2748            .field("get_secrets", &self.get_secrets)
2749            .field("cancel_get_secrets", &self.cancel_get_secrets)
2750            .field("save_secrets", &self.save_secrets)
2751            .field("delete_secrets", &self.delete_secrets)
2752            .finish()
2753    }
2754}
2755
2756#[repr(C)]
2757#[allow(dead_code)]
2758pub struct _NMSetting6LowpanClass {
2759    _data: [u8; 0],
2760    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2761}
2762
2763pub type NMSetting6LowpanClass = _NMSetting6LowpanClass;
2764
2765#[repr(C)]
2766#[allow(dead_code)]
2767pub struct _NMSetting8021xClass {
2768    _data: [u8; 0],
2769    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2770}
2771
2772pub type NMSetting8021xClass = _NMSetting8021xClass;
2773
2774#[repr(C)]
2775#[allow(dead_code)]
2776pub struct _NMSettingAdslClass {
2777    _data: [u8; 0],
2778    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2779}
2780
2781pub type NMSettingAdslClass = _NMSettingAdslClass;
2782
2783#[repr(C)]
2784#[allow(dead_code)]
2785pub struct _NMSettingBluetoothClass {
2786    _data: [u8; 0],
2787    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2788}
2789
2790pub type NMSettingBluetoothClass = _NMSettingBluetoothClass;
2791
2792#[repr(C)]
2793#[allow(dead_code)]
2794pub struct _NMSettingBondClass {
2795    _data: [u8; 0],
2796    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2797}
2798
2799pub type NMSettingBondClass = _NMSettingBondClass;
2800
2801#[repr(C)]
2802#[allow(dead_code)]
2803pub struct _NMSettingBondPortClass {
2804    _data: [u8; 0],
2805    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2806}
2807
2808pub type NMSettingBondPortClass = _NMSettingBondPortClass;
2809
2810#[repr(C)]
2811#[allow(dead_code)]
2812pub struct _NMSettingBridgeClass {
2813    _data: [u8; 0],
2814    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2815}
2816
2817pub type NMSettingBridgeClass = _NMSettingBridgeClass;
2818
2819#[repr(C)]
2820#[allow(dead_code)]
2821pub struct _NMSettingBridgePortClass {
2822    _data: [u8; 0],
2823    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2824}
2825
2826pub type NMSettingBridgePortClass = _NMSettingBridgePortClass;
2827
2828#[repr(C)]
2829#[allow(dead_code)]
2830pub struct _NMSettingCdmaClass {
2831    _data: [u8; 0],
2832    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2833}
2834
2835pub type NMSettingCdmaClass = _NMSettingCdmaClass;
2836
2837#[repr(C)]
2838#[allow(dead_code)]
2839pub struct _NMSettingClass {
2840    _data: [u8; 0],
2841    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2842}
2843
2844pub type NMSettingClass = _NMSettingClass;
2845
2846#[repr(C)]
2847#[allow(dead_code)]
2848pub struct _NMSettingConnectionClass {
2849    _data: [u8; 0],
2850    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2851}
2852
2853pub type NMSettingConnectionClass = _NMSettingConnectionClass;
2854
2855#[repr(C)]
2856#[allow(dead_code)]
2857pub struct _NMSettingDcbClass {
2858    _data: [u8; 0],
2859    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2860}
2861
2862pub type NMSettingDcbClass = _NMSettingDcbClass;
2863
2864#[repr(C)]
2865#[allow(dead_code)]
2866pub struct _NMSettingDummyClass {
2867    _data: [u8; 0],
2868    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2869}
2870
2871pub type NMSettingDummyClass = _NMSettingDummyClass;
2872
2873#[repr(C)]
2874#[allow(dead_code)]
2875pub struct _NMSettingEthtoolClass {
2876    _data: [u8; 0],
2877    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2878}
2879
2880pub type NMSettingEthtoolClass = _NMSettingEthtoolClass;
2881
2882#[repr(C)]
2883#[allow(dead_code)]
2884pub struct _NMSettingGenericClass {
2885    _data: [u8; 0],
2886    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2887}
2888
2889pub type NMSettingGenericClass = _NMSettingGenericClass;
2890
2891#[repr(C)]
2892#[allow(dead_code)]
2893pub struct _NMSettingGsmClass {
2894    _data: [u8; 0],
2895    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2896}
2897
2898pub type NMSettingGsmClass = _NMSettingGsmClass;
2899
2900#[repr(C)]
2901#[allow(dead_code)]
2902pub struct _NMSettingHostnameClass {
2903    _data: [u8; 0],
2904    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2905}
2906
2907pub type NMSettingHostnameClass = _NMSettingHostnameClass;
2908
2909#[repr(C)]
2910#[allow(dead_code)]
2911pub struct _NMSettingHsrClass {
2912    _data: [u8; 0],
2913    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2914}
2915
2916pub type NMSettingHsrClass = _NMSettingHsrClass;
2917
2918#[repr(C)]
2919#[allow(dead_code)]
2920pub struct _NMSettingIP4ConfigClass {
2921    _data: [u8; 0],
2922    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2923}
2924
2925pub type NMSettingIP4ConfigClass = _NMSettingIP4ConfigClass;
2926
2927#[repr(C)]
2928#[allow(dead_code)]
2929pub struct _NMSettingIP6ConfigClass {
2930    _data: [u8; 0],
2931    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2932}
2933
2934pub type NMSettingIP6ConfigClass = _NMSettingIP6ConfigClass;
2935
2936#[repr(C)]
2937#[allow(dead_code)]
2938pub struct _NMSettingIPConfigClass {
2939    _data: [u8; 0],
2940    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2941}
2942
2943pub type NMSettingIPConfigClass = _NMSettingIPConfigClass;
2944
2945#[repr(C)]
2946#[allow(dead_code)]
2947pub struct _NMSettingIPTunnelClass {
2948    _data: [u8; 0],
2949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2950}
2951
2952pub type NMSettingIPTunnelClass = _NMSettingIPTunnelClass;
2953
2954#[repr(C)]
2955#[allow(dead_code)]
2956pub struct _NMSettingInfinibandClass {
2957    _data: [u8; 0],
2958    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2959}
2960
2961pub type NMSettingInfinibandClass = _NMSettingInfinibandClass;
2962
2963#[repr(C)]
2964#[allow(dead_code)]
2965pub struct _NMSettingIpvlanClass {
2966    _data: [u8; 0],
2967    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2968}
2969
2970pub type NMSettingIpvlanClass = _NMSettingIpvlanClass;
2971
2972#[repr(C)]
2973#[allow(dead_code)]
2974pub struct _NMSettingLinkClass {
2975    _data: [u8; 0],
2976    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2977}
2978
2979pub type NMSettingLinkClass = _NMSettingLinkClass;
2980
2981#[repr(C)]
2982#[allow(dead_code)]
2983pub struct _NMSettingLoopbackClass {
2984    _data: [u8; 0],
2985    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2986}
2987
2988pub type NMSettingLoopbackClass = _NMSettingLoopbackClass;
2989
2990#[repr(C)]
2991#[allow(dead_code)]
2992pub struct _NMSettingMacsecClass {
2993    _data: [u8; 0],
2994    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2995}
2996
2997pub type NMSettingMacsecClass = _NMSettingMacsecClass;
2998
2999#[repr(C)]
3000#[allow(dead_code)]
3001pub struct _NMSettingMacvlanClass {
3002    _data: [u8; 0],
3003    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3004}
3005
3006pub type NMSettingMacvlanClass = _NMSettingMacvlanClass;
3007
3008#[repr(C)]
3009#[allow(dead_code)]
3010pub struct _NMSettingMatchClass {
3011    _data: [u8; 0],
3012    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3013}
3014
3015pub type NMSettingMatchClass = _NMSettingMatchClass;
3016
3017#[repr(C)]
3018#[allow(dead_code)]
3019pub struct _NMSettingOlpcMeshClass {
3020    _data: [u8; 0],
3021    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3022}
3023
3024pub type NMSettingOlpcMeshClass = _NMSettingOlpcMeshClass;
3025
3026#[repr(C)]
3027#[allow(dead_code)]
3028pub struct _NMSettingOvsBridgeClass {
3029    _data: [u8; 0],
3030    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3031}
3032
3033pub type NMSettingOvsBridgeClass = _NMSettingOvsBridgeClass;
3034
3035#[repr(C)]
3036#[allow(dead_code)]
3037pub struct _NMSettingOvsDpdkClass {
3038    _data: [u8; 0],
3039    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3040}
3041
3042pub type NMSettingOvsDpdkClass = _NMSettingOvsDpdkClass;
3043
3044#[repr(C)]
3045#[allow(dead_code)]
3046pub struct _NMSettingOvsExternalIDsClass {
3047    _data: [u8; 0],
3048    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3049}
3050
3051pub type NMSettingOvsExternalIDsClass = _NMSettingOvsExternalIDsClass;
3052
3053#[repr(C)]
3054#[allow(dead_code)]
3055pub struct _NMSettingOvsInterfaceClass {
3056    _data: [u8; 0],
3057    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3058}
3059
3060pub type NMSettingOvsInterfaceClass = _NMSettingOvsInterfaceClass;
3061
3062#[repr(C)]
3063#[allow(dead_code)]
3064pub struct _NMSettingOvsOtherConfigClass {
3065    _data: [u8; 0],
3066    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3067}
3068
3069pub type NMSettingOvsOtherConfigClass = _NMSettingOvsOtherConfigClass;
3070
3071#[repr(C)]
3072#[allow(dead_code)]
3073pub struct _NMSettingOvsPatchClass {
3074    _data: [u8; 0],
3075    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3076}
3077
3078pub type NMSettingOvsPatchClass = _NMSettingOvsPatchClass;
3079
3080#[repr(C)]
3081#[allow(dead_code)]
3082pub struct _NMSettingOvsPortClass {
3083    _data: [u8; 0],
3084    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3085}
3086
3087pub type NMSettingOvsPortClass = _NMSettingOvsPortClass;
3088
3089#[repr(C)]
3090#[allow(dead_code)]
3091pub struct _NMSettingPppClass {
3092    _data: [u8; 0],
3093    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3094}
3095
3096pub type NMSettingPppClass = _NMSettingPppClass;
3097
3098#[repr(C)]
3099#[allow(dead_code)]
3100pub struct _NMSettingPppoeClass {
3101    _data: [u8; 0],
3102    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3103}
3104
3105pub type NMSettingPppoeClass = _NMSettingPppoeClass;
3106
3107#[repr(C)]
3108#[allow(dead_code)]
3109pub struct _NMSettingPrefixDelegationClass {
3110    _data: [u8; 0],
3111    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3112}
3113
3114pub type NMSettingPrefixDelegationClass = _NMSettingPrefixDelegationClass;
3115
3116#[repr(C)]
3117#[allow(dead_code)]
3118pub struct _NMSettingProxyClass {
3119    _data: [u8; 0],
3120    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3121}
3122
3123pub type NMSettingProxyClass = _NMSettingProxyClass;
3124
3125#[repr(C)]
3126#[allow(dead_code)]
3127pub struct _NMSettingSerialClass {
3128    _data: [u8; 0],
3129    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3130}
3131
3132pub type NMSettingSerialClass = _NMSettingSerialClass;
3133
3134#[repr(C)]
3135#[allow(dead_code)]
3136pub struct _NMSettingSriovClass {
3137    _data: [u8; 0],
3138    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3139}
3140
3141pub type NMSettingSriovClass = _NMSettingSriovClass;
3142
3143#[repr(C)]
3144#[allow(dead_code)]
3145pub struct _NMSettingTCConfigClass {
3146    _data: [u8; 0],
3147    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3148}
3149
3150pub type NMSettingTCConfigClass = _NMSettingTCConfigClass;
3151
3152#[repr(C)]
3153#[allow(dead_code)]
3154pub struct _NMSettingTeamClass {
3155    _data: [u8; 0],
3156    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3157}
3158
3159pub type NMSettingTeamClass = _NMSettingTeamClass;
3160
3161#[repr(C)]
3162#[allow(dead_code)]
3163pub struct _NMSettingTeamPortClass {
3164    _data: [u8; 0],
3165    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3166}
3167
3168pub type NMSettingTeamPortClass = _NMSettingTeamPortClass;
3169
3170#[repr(C)]
3171#[allow(dead_code)]
3172pub struct _NMSettingTunClass {
3173    _data: [u8; 0],
3174    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3175}
3176
3177pub type NMSettingTunClass = _NMSettingTunClass;
3178
3179#[repr(C)]
3180#[allow(dead_code)]
3181pub struct _NMSettingUserClass {
3182    _data: [u8; 0],
3183    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3184}
3185
3186pub type NMSettingUserClass = _NMSettingUserClass;
3187
3188#[repr(C)]
3189#[allow(dead_code)]
3190pub struct _NMSettingVethClass {
3191    _data: [u8; 0],
3192    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3193}
3194
3195pub type NMSettingVethClass = _NMSettingVethClass;
3196
3197#[repr(C)]
3198#[allow(dead_code)]
3199pub struct _NMSettingVlanClass {
3200    _data: [u8; 0],
3201    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3202}
3203
3204pub type NMSettingVlanClass = _NMSettingVlanClass;
3205
3206#[repr(C)]
3207#[allow(dead_code)]
3208pub struct _NMSettingVpnClass {
3209    _data: [u8; 0],
3210    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3211}
3212
3213pub type NMSettingVpnClass = _NMSettingVpnClass;
3214
3215#[repr(C)]
3216#[allow(dead_code)]
3217pub struct _NMSettingVrfClass {
3218    _data: [u8; 0],
3219    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3220}
3221
3222pub type NMSettingVrfClass = _NMSettingVrfClass;
3223
3224#[repr(C)]
3225#[allow(dead_code)]
3226pub struct _NMSettingVxlanClass {
3227    _data: [u8; 0],
3228    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3229}
3230
3231pub type NMSettingVxlanClass = _NMSettingVxlanClass;
3232
3233#[repr(C)]
3234#[allow(dead_code)]
3235pub struct _NMSettingWifiP2PClass {
3236    _data: [u8; 0],
3237    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3238}
3239
3240pub type NMSettingWifiP2PClass = _NMSettingWifiP2PClass;
3241
3242#[repr(C)]
3243#[allow(dead_code)]
3244pub struct _NMSettingWimaxClass {
3245    _data: [u8; 0],
3246    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3247}
3248
3249pub type NMSettingWimaxClass = _NMSettingWimaxClass;
3250
3251#[repr(C)]
3252#[allow(dead_code)]
3253pub struct _NMSettingWireGuardClass {
3254    _data: [u8; 0],
3255    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3256}
3257
3258pub type NMSettingWireGuardClass = _NMSettingWireGuardClass;
3259
3260#[repr(C)]
3261#[allow(dead_code)]
3262pub struct _NMSettingWiredClass {
3263    _data: [u8; 0],
3264    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3265}
3266
3267pub type NMSettingWiredClass = _NMSettingWiredClass;
3268
3269#[repr(C)]
3270#[allow(dead_code)]
3271pub struct _NMSettingWirelessClass {
3272    _data: [u8; 0],
3273    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3274}
3275
3276pub type NMSettingWirelessClass = _NMSettingWirelessClass;
3277
3278#[repr(C)]
3279#[allow(dead_code)]
3280pub struct _NMSettingWirelessSecurityClass {
3281    _data: [u8; 0],
3282    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3283}
3284
3285pub type NMSettingWirelessSecurityClass = _NMSettingWirelessSecurityClass;
3286
3287#[repr(C)]
3288#[allow(dead_code)]
3289pub struct _NMSettingWpanClass {
3290    _data: [u8; 0],
3291    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3292}
3293
3294pub type NMSettingWpanClass = _NMSettingWpanClass;
3295
3296#[repr(C)]
3297#[allow(dead_code)]
3298pub struct _NMSimpleConnectionClass {
3299    _data: [u8; 0],
3300    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3301}
3302
3303pub type NMSimpleConnectionClass = _NMSimpleConnectionClass;
3304
3305#[repr(C)]
3306#[allow(dead_code)]
3307pub struct NMSriovVF {
3308    _data: [u8; 0],
3309    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3310}
3311
3312impl ::std::fmt::Debug for NMSriovVF {
3313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3314        f.debug_struct(&format!("NMSriovVF @ {self:p}")).finish()
3315    }
3316}
3317
3318#[repr(C)]
3319#[allow(dead_code)]
3320pub struct NMTCAction {
3321    _data: [u8; 0],
3322    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3323}
3324
3325impl ::std::fmt::Debug for NMTCAction {
3326    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3327        f.debug_struct(&format!("NMTCAction @ {self:p}")).finish()
3328    }
3329}
3330
3331#[repr(C)]
3332#[allow(dead_code)]
3333pub struct NMTCQdisc {
3334    _data: [u8; 0],
3335    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3336}
3337
3338impl ::std::fmt::Debug for NMTCQdisc {
3339    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3340        f.debug_struct(&format!("NMTCQdisc @ {self:p}")).finish()
3341    }
3342}
3343
3344#[repr(C)]
3345#[allow(dead_code)]
3346pub struct NMTCTfilter {
3347    _data: [u8; 0],
3348    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3349}
3350
3351impl ::std::fmt::Debug for NMTCTfilter {
3352    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3353        f.debug_struct(&format!("NMTCTfilter @ {self:p}")).finish()
3354    }
3355}
3356
3357#[repr(C)]
3358#[allow(dead_code)]
3359pub struct NMTeamLinkWatcher {
3360    _data: [u8; 0],
3361    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3362}
3363
3364impl ::std::fmt::Debug for NMTeamLinkWatcher {
3365    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3366        f.debug_struct(&format!("NMTeamLinkWatcher @ {self:p}"))
3367            .finish()
3368    }
3369}
3370
3371#[repr(C)]
3372#[allow(dead_code)]
3373pub struct _NMVariantAttributeSpec {
3374    _data: [u8; 0],
3375    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3376}
3377
3378pub type NMVariantAttributeSpec = _NMVariantAttributeSpec;
3379
3380#[repr(C)]
3381#[allow(dead_code)]
3382pub struct _NMVpnConnectionClass {
3383    _data: [u8; 0],
3384    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3385}
3386
3387pub type NMVpnConnectionClass = _NMVpnConnectionClass;
3388
3389#[derive(Copy, Clone)]
3390#[repr(C)]
3391pub struct NMVpnEditorInterface {
3392    pub g_iface: gobject::GTypeInterface,
3393    pub get_widget: Option<unsafe extern "C" fn(*mut NMVpnEditor) -> *mut gobject::GObject>,
3394    pub placeholder: Option<unsafe extern "C" fn()>,
3395    pub update_connection: Option<
3396        unsafe extern "C" fn(
3397            *mut NMVpnEditor,
3398            *mut NMConnection,
3399            *mut *mut glib::GError,
3400        ) -> gboolean,
3401    >,
3402    pub changed: Option<unsafe extern "C" fn(*mut NMVpnEditor)>,
3403}
3404
3405impl ::std::fmt::Debug for NMVpnEditorInterface {
3406    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3407        f.debug_struct(&format!("NMVpnEditorInterface @ {self:p}"))
3408            .field("g_iface", &self.g_iface)
3409            .field("get_widget", &self.get_widget)
3410            .field("placeholder", &self.placeholder)
3411            .field("update_connection", &self.update_connection)
3412            .field("changed", &self.changed)
3413            .finish()
3414    }
3415}
3416
3417#[derive(Copy, Clone)]
3418#[repr(C)]
3419pub struct NMVpnEditorPluginInterface {
3420    pub g_iface: gobject::GTypeInterface,
3421    pub get_editor: Option<
3422        unsafe extern "C" fn(
3423            *mut NMVpnEditorPlugin,
3424            *mut NMConnection,
3425            *mut *mut glib::GError,
3426        ) -> *mut NMVpnEditor,
3427    >,
3428    pub get_capabilities:
3429        Option<unsafe extern "C" fn(*mut NMVpnEditorPlugin) -> NMVpnEditorPluginCapability>,
3430    pub import_from_file: Option<
3431        unsafe extern "C" fn(
3432            *mut NMVpnEditorPlugin,
3433            *const c_char,
3434            *mut *mut glib::GError,
3435        ) -> *mut NMConnection,
3436    >,
3437    pub export_to_file: Option<
3438        unsafe extern "C" fn(
3439            *mut NMVpnEditorPlugin,
3440            *const c_char,
3441            *mut NMConnection,
3442            *mut *mut glib::GError,
3443        ) -> gboolean,
3444    >,
3445    pub get_suggested_filename:
3446        Option<unsafe extern "C" fn(*mut NMVpnEditorPlugin, *mut NMConnection) -> *mut c_char>,
3447    pub notify_plugin_info_set:
3448        Option<unsafe extern "C" fn(*mut NMVpnEditorPlugin, *mut NMVpnPluginInfo)>,
3449    pub get_vt: Option<
3450        unsafe extern "C" fn(*mut NMVpnEditorPlugin, *mut size_t) -> *const NMVpnEditorPluginVT,
3451    >,
3452}
3453
3454impl ::std::fmt::Debug for NMVpnEditorPluginInterface {
3455    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3456        f.debug_struct(&format!("NMVpnEditorPluginInterface @ {self:p}"))
3457            .field("g_iface", &self.g_iface)
3458            .field("get_editor", &self.get_editor)
3459            .field("get_capabilities", &self.get_capabilities)
3460            .field("import_from_file", &self.import_from_file)
3461            .field("export_to_file", &self.export_to_file)
3462            .field("get_suggested_filename", &self.get_suggested_filename)
3463            .field("notify_plugin_info_set", &self.notify_plugin_info_set)
3464            .field("get_vt", &self.get_vt)
3465            .finish()
3466    }
3467}
3468
3469#[repr(C)]
3470#[allow(dead_code)]
3471#[derive(Copy, Clone)]
3472pub struct _NMVpnEditorPluginVT {
3473    _data: [u8; 0],
3474    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3475}
3476
3477pub type NMVpnEditorPluginVT = _NMVpnEditorPluginVT;
3478
3479#[repr(C)]
3480#[allow(dead_code)]
3481pub struct _NMVpnPluginInfoClass {
3482    _data: [u8; 0],
3483    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3484}
3485
3486pub type NMVpnPluginInfoClass = _NMVpnPluginInfoClass;
3487
3488#[derive(Copy, Clone)]
3489#[repr(C)]
3490pub struct NMVpnPluginOldClass {
3491    pub parent: gobject::GObjectClass,
3492    pub state_changed: Option<unsafe extern "C" fn(*mut NMVpnPluginOld, NMVpnServiceState)>,
3493    pub ip4_config: Option<unsafe extern "C" fn(*mut NMVpnPluginOld, *mut glib::GVariant)>,
3494    pub login_banner: Option<unsafe extern "C" fn(*mut NMVpnPluginOld, *const c_char)>,
3495    pub failure: Option<unsafe extern "C" fn(*mut NMVpnPluginOld, NMVpnPluginFailure)>,
3496    pub quit: Option<unsafe extern "C" fn(*mut NMVpnPluginOld)>,
3497    pub config: Option<unsafe extern "C" fn(*mut NMVpnPluginOld, *mut glib::GVariant)>,
3498    pub ip6_config: Option<unsafe extern "C" fn(*mut NMVpnPluginOld, *mut glib::GVariant)>,
3499    pub connect: Option<
3500        unsafe extern "C" fn(
3501            *mut NMVpnPluginOld,
3502            *mut NMConnection,
3503            *mut *mut glib::GError,
3504        ) -> gboolean,
3505    >,
3506    pub need_secrets: Option<
3507        unsafe extern "C" fn(
3508            *mut NMVpnPluginOld,
3509            *mut NMConnection,
3510            *mut *const c_char,
3511            *mut *mut glib::GError,
3512        ) -> gboolean,
3513    >,
3514    pub disconnect:
3515        Option<unsafe extern "C" fn(*mut NMVpnPluginOld, *mut *mut glib::GError) -> gboolean>,
3516    pub new_secrets: Option<
3517        unsafe extern "C" fn(
3518            *mut NMVpnPluginOld,
3519            *mut NMConnection,
3520            *mut *mut glib::GError,
3521        ) -> gboolean,
3522    >,
3523    pub connect_interactive: Option<
3524        unsafe extern "C" fn(
3525            *mut NMVpnPluginOld,
3526            *mut NMConnection,
3527            *mut glib::GVariant,
3528            *mut *mut glib::GError,
3529        ) -> gboolean,
3530    >,
3531    pub padding: [gpointer; 8],
3532}
3533
3534impl ::std::fmt::Debug for NMVpnPluginOldClass {
3535    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3536        f.debug_struct(&format!("NMVpnPluginOldClass @ {self:p}"))
3537            .field("parent", &self.parent)
3538            .field("state_changed", &self.state_changed)
3539            .field("ip4_config", &self.ip4_config)
3540            .field("login_banner", &self.login_banner)
3541            .field("failure", &self.failure)
3542            .field("quit", &self.quit)
3543            .field("config", &self.config)
3544            .field("ip6_config", &self.ip6_config)
3545            .field("connect", &self.connect)
3546            .field("need_secrets", &self.need_secrets)
3547            .field("disconnect", &self.disconnect)
3548            .field("new_secrets", &self.new_secrets)
3549            .field("connect_interactive", &self.connect_interactive)
3550            .finish()
3551    }
3552}
3553
3554#[derive(Copy, Clone)]
3555#[repr(C)]
3556pub struct NMVpnServicePluginClass {
3557    pub parent: gobject::GObjectClass,
3558    pub state_changed: Option<unsafe extern "C" fn(*mut NMVpnServicePlugin, NMVpnServiceState)>,
3559    pub ip4_config: Option<unsafe extern "C" fn(*mut NMVpnServicePlugin, *mut glib::GVariant)>,
3560    pub login_banner: Option<unsafe extern "C" fn(*mut NMVpnServicePlugin, *const c_char)>,
3561    pub failure: Option<unsafe extern "C" fn(*mut NMVpnServicePlugin, NMVpnPluginFailure)>,
3562    pub quit: Option<unsafe extern "C" fn(*mut NMVpnServicePlugin)>,
3563    pub config: Option<unsafe extern "C" fn(*mut NMVpnServicePlugin, *mut glib::GVariant)>,
3564    pub ip6_config: Option<unsafe extern "C" fn(*mut NMVpnServicePlugin, *mut glib::GVariant)>,
3565    pub connect: Option<
3566        unsafe extern "C" fn(
3567            *mut NMVpnServicePlugin,
3568            *mut NMConnection,
3569            *mut *mut glib::GError,
3570        ) -> gboolean,
3571    >,
3572    pub need_secrets: Option<
3573        unsafe extern "C" fn(
3574            *mut NMVpnServicePlugin,
3575            *mut NMConnection,
3576            *mut *const c_char,
3577            *mut *mut glib::GError,
3578        ) -> gboolean,
3579    >,
3580    pub disconnect:
3581        Option<unsafe extern "C" fn(*mut NMVpnServicePlugin, *mut *mut glib::GError) -> gboolean>,
3582    pub new_secrets: Option<
3583        unsafe extern "C" fn(
3584            *mut NMVpnServicePlugin,
3585            *mut NMConnection,
3586            *mut *mut glib::GError,
3587        ) -> gboolean,
3588    >,
3589    pub connect_interactive: Option<
3590        unsafe extern "C" fn(
3591            *mut NMVpnServicePlugin,
3592            *mut NMConnection,
3593            *mut glib::GVariant,
3594            *mut *mut glib::GError,
3595        ) -> gboolean,
3596    >,
3597    pub padding: [gpointer; 8],
3598}
3599
3600impl ::std::fmt::Debug for NMVpnServicePluginClass {
3601    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3602        f.debug_struct(&format!("NMVpnServicePluginClass @ {self:p}"))
3603            .field("parent", &self.parent)
3604            .field("state_changed", &self.state_changed)
3605            .field("ip4_config", &self.ip4_config)
3606            .field("login_banner", &self.login_banner)
3607            .field("failure", &self.failure)
3608            .field("quit", &self.quit)
3609            .field("config", &self.config)
3610            .field("ip6_config", &self.ip6_config)
3611            .field("connect", &self.connect)
3612            .field("need_secrets", &self.need_secrets)
3613            .field("disconnect", &self.disconnect)
3614            .field("new_secrets", &self.new_secrets)
3615            .field("connect_interactive", &self.connect_interactive)
3616            .finish()
3617    }
3618}
3619
3620#[repr(C)]
3621#[allow(dead_code)]
3622pub struct _NMWifiP2PPeerClass {
3623    _data: [u8; 0],
3624    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3625}
3626
3627pub type NMWifiP2PPeerClass = _NMWifiP2PPeerClass;
3628
3629#[repr(C)]
3630#[allow(dead_code)]
3631pub struct _NMWimaxNspClass {
3632    _data: [u8; 0],
3633    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3634}
3635
3636pub type NMWimaxNspClass = _NMWimaxNspClass;
3637
3638#[repr(C)]
3639#[allow(dead_code)]
3640pub struct NMWireGuardPeer {
3641    _data: [u8; 0],
3642    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3643}
3644
3645impl ::std::fmt::Debug for NMWireGuardPeer {
3646    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3647        f.debug_struct(&format!("NMWireGuardPeer @ {self:p}"))
3648            .finish()
3649    }
3650}
3651
3652// Classes
3653#[repr(C)]
3654#[allow(dead_code)]
3655pub struct NMAccessPoint {
3656    _data: [u8; 0],
3657    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3658}
3659
3660impl ::std::fmt::Debug for NMAccessPoint {
3661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3662        f.debug_struct(&format!("NMAccessPoint @ {self:p}"))
3663            .finish()
3664    }
3665}
3666
3667#[repr(C)]
3668#[allow(dead_code)]
3669pub struct NMActiveConnection {
3670    _data: [u8; 0],
3671    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3672}
3673
3674impl ::std::fmt::Debug for NMActiveConnection {
3675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3676        f.debug_struct(&format!("NMActiveConnection @ {self:p}"))
3677            .finish()
3678    }
3679}
3680
3681#[repr(C)]
3682#[allow(dead_code)]
3683pub struct NMCheckpoint {
3684    _data: [u8; 0],
3685    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3686}
3687
3688impl ::std::fmt::Debug for NMCheckpoint {
3689    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3690        f.debug_struct(&format!("NMCheckpoint @ {self:p}")).finish()
3691    }
3692}
3693
3694#[repr(C)]
3695#[allow(dead_code)]
3696pub struct NMClient {
3697    _data: [u8; 0],
3698    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3699}
3700
3701impl ::std::fmt::Debug for NMClient {
3702    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3703        f.debug_struct(&format!("NMClient @ {self:p}")).finish()
3704    }
3705}
3706
3707#[repr(C)]
3708#[allow(dead_code)]
3709pub struct NMDevice {
3710    _data: [u8; 0],
3711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3712}
3713
3714impl ::std::fmt::Debug for NMDevice {
3715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3716        f.debug_struct(&format!("NMDevice @ {self:p}")).finish()
3717    }
3718}
3719
3720#[repr(C)]
3721#[allow(dead_code)]
3722pub struct NMDevice6Lowpan {
3723    _data: [u8; 0],
3724    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3725}
3726
3727impl ::std::fmt::Debug for NMDevice6Lowpan {
3728    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3729        f.debug_struct(&format!("NMDevice6Lowpan @ {self:p}"))
3730            .finish()
3731    }
3732}
3733
3734#[repr(C)]
3735#[allow(dead_code)]
3736pub struct NMDeviceAdsl {
3737    _data: [u8; 0],
3738    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3739}
3740
3741impl ::std::fmt::Debug for NMDeviceAdsl {
3742    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3743        f.debug_struct(&format!("NMDeviceAdsl @ {self:p}")).finish()
3744    }
3745}
3746
3747#[repr(C)]
3748#[allow(dead_code)]
3749pub struct NMDeviceBond {
3750    _data: [u8; 0],
3751    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3752}
3753
3754impl ::std::fmt::Debug for NMDeviceBond {
3755    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3756        f.debug_struct(&format!("NMDeviceBond @ {self:p}")).finish()
3757    }
3758}
3759
3760#[repr(C)]
3761#[allow(dead_code)]
3762pub struct NMDeviceBridge {
3763    _data: [u8; 0],
3764    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3765}
3766
3767impl ::std::fmt::Debug for NMDeviceBridge {
3768    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3769        f.debug_struct(&format!("NMDeviceBridge @ {self:p}"))
3770            .finish()
3771    }
3772}
3773
3774#[repr(C)]
3775#[allow(dead_code)]
3776pub struct NMDeviceBt {
3777    _data: [u8; 0],
3778    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3779}
3780
3781impl ::std::fmt::Debug for NMDeviceBt {
3782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3783        f.debug_struct(&format!("NMDeviceBt @ {self:p}")).finish()
3784    }
3785}
3786
3787#[repr(C)]
3788#[allow(dead_code)]
3789pub struct NMDeviceDummy {
3790    _data: [u8; 0],
3791    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3792}
3793
3794impl ::std::fmt::Debug for NMDeviceDummy {
3795    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3796        f.debug_struct(&format!("NMDeviceDummy @ {self:p}"))
3797            .finish()
3798    }
3799}
3800
3801#[repr(C)]
3802#[allow(dead_code)]
3803pub struct NMDeviceEthernet {
3804    _data: [u8; 0],
3805    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3806}
3807
3808impl ::std::fmt::Debug for NMDeviceEthernet {
3809    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3810        f.debug_struct(&format!("NMDeviceEthernet @ {self:p}"))
3811            .finish()
3812    }
3813}
3814
3815#[repr(C)]
3816#[allow(dead_code)]
3817pub struct NMDeviceGeneric {
3818    _data: [u8; 0],
3819    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3820}
3821
3822impl ::std::fmt::Debug for NMDeviceGeneric {
3823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3824        f.debug_struct(&format!("NMDeviceGeneric @ {self:p}"))
3825            .finish()
3826    }
3827}
3828
3829#[repr(C)]
3830#[allow(dead_code)]
3831pub struct NMDeviceHsr {
3832    _data: [u8; 0],
3833    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3834}
3835
3836impl ::std::fmt::Debug for NMDeviceHsr {
3837    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3838        f.debug_struct(&format!("NMDeviceHsr @ {self:p}")).finish()
3839    }
3840}
3841
3842#[repr(C)]
3843#[allow(dead_code)]
3844pub struct NMDeviceIPTunnel {
3845    _data: [u8; 0],
3846    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3847}
3848
3849impl ::std::fmt::Debug for NMDeviceIPTunnel {
3850    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3851        f.debug_struct(&format!("NMDeviceIPTunnel @ {self:p}"))
3852            .finish()
3853    }
3854}
3855
3856#[repr(C)]
3857#[allow(dead_code)]
3858pub struct NMDeviceInfiniband {
3859    _data: [u8; 0],
3860    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3861}
3862
3863impl ::std::fmt::Debug for NMDeviceInfiniband {
3864    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3865        f.debug_struct(&format!("NMDeviceInfiniband @ {self:p}"))
3866            .finish()
3867    }
3868}
3869
3870#[repr(C)]
3871#[allow(dead_code)]
3872pub struct NMDeviceIpvlan {
3873    _data: [u8; 0],
3874    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3875}
3876
3877impl ::std::fmt::Debug for NMDeviceIpvlan {
3878    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3879        f.debug_struct(&format!("NMDeviceIpvlan @ {self:p}"))
3880            .finish()
3881    }
3882}
3883
3884#[repr(C)]
3885#[allow(dead_code)]
3886pub struct NMDeviceLoopback {
3887    _data: [u8; 0],
3888    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3889}
3890
3891impl ::std::fmt::Debug for NMDeviceLoopback {
3892    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3893        f.debug_struct(&format!("NMDeviceLoopback @ {self:p}"))
3894            .finish()
3895    }
3896}
3897
3898#[repr(C)]
3899#[allow(dead_code)]
3900pub struct NMDeviceMacsec {
3901    _data: [u8; 0],
3902    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3903}
3904
3905impl ::std::fmt::Debug for NMDeviceMacsec {
3906    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3907        f.debug_struct(&format!("NMDeviceMacsec @ {self:p}"))
3908            .finish()
3909    }
3910}
3911
3912#[repr(C)]
3913#[allow(dead_code)]
3914pub struct NMDeviceMacvlan {
3915    _data: [u8; 0],
3916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3917}
3918
3919impl ::std::fmt::Debug for NMDeviceMacvlan {
3920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3921        f.debug_struct(&format!("NMDeviceMacvlan @ {self:p}"))
3922            .finish()
3923    }
3924}
3925
3926#[repr(C)]
3927#[allow(dead_code)]
3928pub struct NMDeviceModem {
3929    _data: [u8; 0],
3930    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3931}
3932
3933impl ::std::fmt::Debug for NMDeviceModem {
3934    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3935        f.debug_struct(&format!("NMDeviceModem @ {self:p}"))
3936            .finish()
3937    }
3938}
3939
3940#[repr(C)]
3941#[allow(dead_code)]
3942pub struct NMDeviceOlpcMesh {
3943    _data: [u8; 0],
3944    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3945}
3946
3947impl ::std::fmt::Debug for NMDeviceOlpcMesh {
3948    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3949        f.debug_struct(&format!("NMDeviceOlpcMesh @ {self:p}"))
3950            .finish()
3951    }
3952}
3953
3954#[repr(C)]
3955#[allow(dead_code)]
3956pub struct NMDeviceOvsBridge {
3957    _data: [u8; 0],
3958    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3959}
3960
3961impl ::std::fmt::Debug for NMDeviceOvsBridge {
3962    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3963        f.debug_struct(&format!("NMDeviceOvsBridge @ {self:p}"))
3964            .finish()
3965    }
3966}
3967
3968#[repr(C)]
3969#[allow(dead_code)]
3970pub struct NMDeviceOvsInterface {
3971    _data: [u8; 0],
3972    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3973}
3974
3975impl ::std::fmt::Debug for NMDeviceOvsInterface {
3976    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3977        f.debug_struct(&format!("NMDeviceOvsInterface @ {self:p}"))
3978            .finish()
3979    }
3980}
3981
3982#[repr(C)]
3983#[allow(dead_code)]
3984pub struct NMDeviceOvsPort {
3985    _data: [u8; 0],
3986    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3987}
3988
3989impl ::std::fmt::Debug for NMDeviceOvsPort {
3990    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3991        f.debug_struct(&format!("NMDeviceOvsPort @ {self:p}"))
3992            .finish()
3993    }
3994}
3995
3996#[repr(C)]
3997#[allow(dead_code)]
3998pub struct NMDevicePpp {
3999    _data: [u8; 0],
4000    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4001}
4002
4003impl ::std::fmt::Debug for NMDevicePpp {
4004    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4005        f.debug_struct(&format!("NMDevicePpp @ {self:p}")).finish()
4006    }
4007}
4008
4009#[repr(C)]
4010#[allow(dead_code)]
4011pub struct NMDeviceTeam {
4012    _data: [u8; 0],
4013    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4014}
4015
4016impl ::std::fmt::Debug for NMDeviceTeam {
4017    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4018        f.debug_struct(&format!("NMDeviceTeam @ {self:p}")).finish()
4019    }
4020}
4021
4022#[repr(C)]
4023#[allow(dead_code)]
4024pub struct NMDeviceTun {
4025    _data: [u8; 0],
4026    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4027}
4028
4029impl ::std::fmt::Debug for NMDeviceTun {
4030    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4031        f.debug_struct(&format!("NMDeviceTun @ {self:p}")).finish()
4032    }
4033}
4034
4035#[repr(C)]
4036#[allow(dead_code)]
4037pub struct NMDeviceVeth {
4038    _data: [u8; 0],
4039    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4040}
4041
4042impl ::std::fmt::Debug for NMDeviceVeth {
4043    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4044        f.debug_struct(&format!("NMDeviceVeth @ {self:p}")).finish()
4045    }
4046}
4047
4048#[repr(C)]
4049#[allow(dead_code)]
4050pub struct NMDeviceVlan {
4051    _data: [u8; 0],
4052    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4053}
4054
4055impl ::std::fmt::Debug for NMDeviceVlan {
4056    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4057        f.debug_struct(&format!("NMDeviceVlan @ {self:p}")).finish()
4058    }
4059}
4060
4061#[repr(C)]
4062#[allow(dead_code)]
4063pub struct NMDeviceVrf {
4064    _data: [u8; 0],
4065    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4066}
4067
4068impl ::std::fmt::Debug for NMDeviceVrf {
4069    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4070        f.debug_struct(&format!("NMDeviceVrf @ {self:p}")).finish()
4071    }
4072}
4073
4074#[repr(C)]
4075#[allow(dead_code)]
4076pub struct NMDeviceVxlan {
4077    _data: [u8; 0],
4078    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4079}
4080
4081impl ::std::fmt::Debug for NMDeviceVxlan {
4082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4083        f.debug_struct(&format!("NMDeviceVxlan @ {self:p}"))
4084            .finish()
4085    }
4086}
4087
4088#[repr(C)]
4089#[allow(dead_code)]
4090pub struct NMDeviceWifi {
4091    _data: [u8; 0],
4092    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4093}
4094
4095impl ::std::fmt::Debug for NMDeviceWifi {
4096    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4097        f.debug_struct(&format!("NMDeviceWifi @ {self:p}")).finish()
4098    }
4099}
4100
4101#[repr(C)]
4102#[allow(dead_code)]
4103pub struct NMDeviceWifiP2P {
4104    _data: [u8; 0],
4105    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4106}
4107
4108impl ::std::fmt::Debug for NMDeviceWifiP2P {
4109    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4110        f.debug_struct(&format!("NMDeviceWifiP2P @ {self:p}"))
4111            .finish()
4112    }
4113}
4114
4115#[repr(C)]
4116#[allow(dead_code)]
4117pub struct NMDeviceWimax {
4118    _data: [u8; 0],
4119    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4120}
4121
4122impl ::std::fmt::Debug for NMDeviceWimax {
4123    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4124        f.debug_struct(&format!("NMDeviceWimax @ {self:p}"))
4125            .finish()
4126    }
4127}
4128
4129#[repr(C)]
4130#[allow(dead_code)]
4131pub struct NMDeviceWireGuard {
4132    _data: [u8; 0],
4133    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4134}
4135
4136impl ::std::fmt::Debug for NMDeviceWireGuard {
4137    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4138        f.debug_struct(&format!("NMDeviceWireGuard @ {self:p}"))
4139            .finish()
4140    }
4141}
4142
4143#[repr(C)]
4144#[allow(dead_code)]
4145pub struct NMDeviceWpan {
4146    _data: [u8; 0],
4147    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4148}
4149
4150impl ::std::fmt::Debug for NMDeviceWpan {
4151    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4152        f.debug_struct(&format!("NMDeviceWpan @ {self:p}")).finish()
4153    }
4154}
4155
4156#[repr(C)]
4157#[allow(dead_code)]
4158pub struct NMDhcpConfig {
4159    _data: [u8; 0],
4160    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4161}
4162
4163impl ::std::fmt::Debug for NMDhcpConfig {
4164    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4165        f.debug_struct(&format!("NMDhcpConfig @ {self:p}")).finish()
4166    }
4167}
4168
4169#[repr(C)]
4170#[allow(dead_code)]
4171pub struct NMIPConfig {
4172    _data: [u8; 0],
4173    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4174}
4175
4176impl ::std::fmt::Debug for NMIPConfig {
4177    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4178        f.debug_struct(&format!("NMIPConfig @ {self:p}")).finish()
4179    }
4180}
4181
4182#[repr(C)]
4183#[allow(dead_code)]
4184pub struct NMObject {
4185    _data: [u8; 0],
4186    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4187}
4188
4189impl ::std::fmt::Debug for NMObject {
4190    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4191        f.debug_struct(&format!("NMObject @ {self:p}")).finish()
4192    }
4193}
4194
4195#[repr(C)]
4196#[allow(dead_code)]
4197pub struct NMRemoteConnection {
4198    _data: [u8; 0],
4199    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4200}
4201
4202impl ::std::fmt::Debug for NMRemoteConnection {
4203    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4204        f.debug_struct(&format!("NMRemoteConnection @ {self:p}"))
4205            .finish()
4206    }
4207}
4208
4209#[derive(Copy, Clone)]
4210#[repr(C)]
4211pub struct NMSecretAgentOld {
4212    pub parent: gobject::GObject,
4213}
4214
4215impl ::std::fmt::Debug for NMSecretAgentOld {
4216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4217        f.debug_struct(&format!("NMSecretAgentOld @ {self:p}"))
4218            .field("parent", &self.parent)
4219            .finish()
4220    }
4221}
4222
4223#[repr(C)]
4224#[allow(dead_code)]
4225pub struct NMSetting {
4226    _data: [u8; 0],
4227    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4228}
4229
4230impl ::std::fmt::Debug for NMSetting {
4231    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4232        f.debug_struct(&format!("NMSetting @ {self:p}")).finish()
4233    }
4234}
4235
4236#[repr(C)]
4237#[allow(dead_code)]
4238pub struct NMSetting6Lowpan {
4239    _data: [u8; 0],
4240    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4241}
4242
4243impl ::std::fmt::Debug for NMSetting6Lowpan {
4244    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4245        f.debug_struct(&format!("NMSetting6Lowpan @ {self:p}"))
4246            .finish()
4247    }
4248}
4249
4250#[repr(C)]
4251#[allow(dead_code)]
4252pub struct NMSetting8021x {
4253    _data: [u8; 0],
4254    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4255}
4256
4257impl ::std::fmt::Debug for NMSetting8021x {
4258    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4259        f.debug_struct(&format!("NMSetting8021x @ {self:p}"))
4260            .finish()
4261    }
4262}
4263
4264#[repr(C)]
4265#[allow(dead_code)]
4266pub struct NMSettingAdsl {
4267    _data: [u8; 0],
4268    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4269}
4270
4271impl ::std::fmt::Debug for NMSettingAdsl {
4272    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4273        f.debug_struct(&format!("NMSettingAdsl @ {self:p}"))
4274            .finish()
4275    }
4276}
4277
4278#[repr(C)]
4279#[allow(dead_code)]
4280pub struct NMSettingBluetooth {
4281    _data: [u8; 0],
4282    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4283}
4284
4285impl ::std::fmt::Debug for NMSettingBluetooth {
4286    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4287        f.debug_struct(&format!("NMSettingBluetooth @ {self:p}"))
4288            .finish()
4289    }
4290}
4291
4292#[repr(C)]
4293#[allow(dead_code)]
4294pub struct NMSettingBond {
4295    _data: [u8; 0],
4296    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4297}
4298
4299impl ::std::fmt::Debug for NMSettingBond {
4300    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4301        f.debug_struct(&format!("NMSettingBond @ {self:p}"))
4302            .finish()
4303    }
4304}
4305
4306#[repr(C)]
4307#[allow(dead_code)]
4308pub struct NMSettingBondPort {
4309    _data: [u8; 0],
4310    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4311}
4312
4313impl ::std::fmt::Debug for NMSettingBondPort {
4314    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4315        f.debug_struct(&format!("NMSettingBondPort @ {self:p}"))
4316            .finish()
4317    }
4318}
4319
4320#[repr(C)]
4321#[allow(dead_code)]
4322pub struct NMSettingBridge {
4323    _data: [u8; 0],
4324    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4325}
4326
4327impl ::std::fmt::Debug for NMSettingBridge {
4328    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4329        f.debug_struct(&format!("NMSettingBridge @ {self:p}"))
4330            .finish()
4331    }
4332}
4333
4334#[repr(C)]
4335#[allow(dead_code)]
4336pub struct NMSettingBridgePort {
4337    _data: [u8; 0],
4338    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4339}
4340
4341impl ::std::fmt::Debug for NMSettingBridgePort {
4342    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4343        f.debug_struct(&format!("NMSettingBridgePort @ {self:p}"))
4344            .finish()
4345    }
4346}
4347
4348#[repr(C)]
4349#[allow(dead_code)]
4350pub struct NMSettingCdma {
4351    _data: [u8; 0],
4352    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4353}
4354
4355impl ::std::fmt::Debug for NMSettingCdma {
4356    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4357        f.debug_struct(&format!("NMSettingCdma @ {self:p}"))
4358            .finish()
4359    }
4360}
4361
4362#[repr(C)]
4363#[allow(dead_code)]
4364pub struct NMSettingConnection {
4365    _data: [u8; 0],
4366    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4367}
4368
4369impl ::std::fmt::Debug for NMSettingConnection {
4370    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4371        f.debug_struct(&format!("NMSettingConnection @ {self:p}"))
4372            .finish()
4373    }
4374}
4375
4376#[repr(C)]
4377#[allow(dead_code)]
4378pub struct NMSettingDcb {
4379    _data: [u8; 0],
4380    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4381}
4382
4383impl ::std::fmt::Debug for NMSettingDcb {
4384    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4385        f.debug_struct(&format!("NMSettingDcb @ {self:p}")).finish()
4386    }
4387}
4388
4389#[repr(C)]
4390#[allow(dead_code)]
4391pub struct NMSettingDummy {
4392    _data: [u8; 0],
4393    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4394}
4395
4396impl ::std::fmt::Debug for NMSettingDummy {
4397    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4398        f.debug_struct(&format!("NMSettingDummy @ {self:p}"))
4399            .finish()
4400    }
4401}
4402
4403#[repr(C)]
4404#[allow(dead_code)]
4405pub struct NMSettingEthtool {
4406    _data: [u8; 0],
4407    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4408}
4409
4410impl ::std::fmt::Debug for NMSettingEthtool {
4411    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4412        f.debug_struct(&format!("NMSettingEthtool @ {self:p}"))
4413            .finish()
4414    }
4415}
4416
4417#[repr(C)]
4418#[allow(dead_code)]
4419pub struct NMSettingGeneric {
4420    _data: [u8; 0],
4421    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4422}
4423
4424impl ::std::fmt::Debug for NMSettingGeneric {
4425    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4426        f.debug_struct(&format!("NMSettingGeneric @ {self:p}"))
4427            .finish()
4428    }
4429}
4430
4431#[repr(C)]
4432#[allow(dead_code)]
4433pub struct NMSettingGsm {
4434    _data: [u8; 0],
4435    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4436}
4437
4438impl ::std::fmt::Debug for NMSettingGsm {
4439    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4440        f.debug_struct(&format!("NMSettingGsm @ {self:p}")).finish()
4441    }
4442}
4443
4444#[repr(C)]
4445#[allow(dead_code)]
4446pub struct NMSettingHostname {
4447    _data: [u8; 0],
4448    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4449}
4450
4451impl ::std::fmt::Debug for NMSettingHostname {
4452    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4453        f.debug_struct(&format!("NMSettingHostname @ {self:p}"))
4454            .finish()
4455    }
4456}
4457
4458#[repr(C)]
4459#[allow(dead_code)]
4460pub struct NMSettingHsr {
4461    _data: [u8; 0],
4462    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4463}
4464
4465impl ::std::fmt::Debug for NMSettingHsr {
4466    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4467        f.debug_struct(&format!("NMSettingHsr @ {self:p}")).finish()
4468    }
4469}
4470
4471#[repr(C)]
4472#[allow(dead_code)]
4473pub struct NMSettingIP4Config {
4474    _data: [u8; 0],
4475    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4476}
4477
4478impl ::std::fmt::Debug for NMSettingIP4Config {
4479    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4480        f.debug_struct(&format!("NMSettingIP4Config @ {self:p}"))
4481            .finish()
4482    }
4483}
4484
4485#[repr(C)]
4486#[allow(dead_code)]
4487pub struct NMSettingIP6Config {
4488    _data: [u8; 0],
4489    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4490}
4491
4492impl ::std::fmt::Debug for NMSettingIP6Config {
4493    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4494        f.debug_struct(&format!("NMSettingIP6Config @ {self:p}"))
4495            .finish()
4496    }
4497}
4498
4499#[repr(C)]
4500#[allow(dead_code)]
4501pub struct NMSettingIPConfig {
4502    _data: [u8; 0],
4503    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4504}
4505
4506impl ::std::fmt::Debug for NMSettingIPConfig {
4507    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4508        f.debug_struct(&format!("NMSettingIPConfig @ {self:p}"))
4509            .finish()
4510    }
4511}
4512
4513#[repr(C)]
4514#[allow(dead_code)]
4515pub struct NMSettingIPTunnel {
4516    _data: [u8; 0],
4517    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4518}
4519
4520impl ::std::fmt::Debug for NMSettingIPTunnel {
4521    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4522        f.debug_struct(&format!("NMSettingIPTunnel @ {self:p}"))
4523            .finish()
4524    }
4525}
4526
4527#[repr(C)]
4528#[allow(dead_code)]
4529pub struct NMSettingInfiniband {
4530    _data: [u8; 0],
4531    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4532}
4533
4534impl ::std::fmt::Debug for NMSettingInfiniband {
4535    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4536        f.debug_struct(&format!("NMSettingInfiniband @ {self:p}"))
4537            .finish()
4538    }
4539}
4540
4541#[repr(C)]
4542#[allow(dead_code)]
4543pub struct NMSettingIpvlan {
4544    _data: [u8; 0],
4545    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4546}
4547
4548impl ::std::fmt::Debug for NMSettingIpvlan {
4549    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4550        f.debug_struct(&format!("NMSettingIpvlan @ {self:p}"))
4551            .finish()
4552    }
4553}
4554
4555#[repr(C)]
4556#[allow(dead_code)]
4557pub struct NMSettingLink {
4558    _data: [u8; 0],
4559    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4560}
4561
4562impl ::std::fmt::Debug for NMSettingLink {
4563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4564        f.debug_struct(&format!("NMSettingLink @ {self:p}"))
4565            .finish()
4566    }
4567}
4568
4569#[repr(C)]
4570#[allow(dead_code)]
4571pub struct NMSettingLoopback {
4572    _data: [u8; 0],
4573    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4574}
4575
4576impl ::std::fmt::Debug for NMSettingLoopback {
4577    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4578        f.debug_struct(&format!("NMSettingLoopback @ {self:p}"))
4579            .finish()
4580    }
4581}
4582
4583#[repr(C)]
4584#[allow(dead_code)]
4585pub struct NMSettingMacsec {
4586    _data: [u8; 0],
4587    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4588}
4589
4590impl ::std::fmt::Debug for NMSettingMacsec {
4591    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4592        f.debug_struct(&format!("NMSettingMacsec @ {self:p}"))
4593            .finish()
4594    }
4595}
4596
4597#[repr(C)]
4598#[allow(dead_code)]
4599pub struct NMSettingMacvlan {
4600    _data: [u8; 0],
4601    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4602}
4603
4604impl ::std::fmt::Debug for NMSettingMacvlan {
4605    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4606        f.debug_struct(&format!("NMSettingMacvlan @ {self:p}"))
4607            .finish()
4608    }
4609}
4610
4611#[repr(C)]
4612#[allow(dead_code)]
4613pub struct NMSettingMatch {
4614    _data: [u8; 0],
4615    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4616}
4617
4618impl ::std::fmt::Debug for NMSettingMatch {
4619    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4620        f.debug_struct(&format!("NMSettingMatch @ {self:p}"))
4621            .finish()
4622    }
4623}
4624
4625#[repr(C)]
4626#[allow(dead_code)]
4627pub struct NMSettingOlpcMesh {
4628    _data: [u8; 0],
4629    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4630}
4631
4632impl ::std::fmt::Debug for NMSettingOlpcMesh {
4633    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4634        f.debug_struct(&format!("NMSettingOlpcMesh @ {self:p}"))
4635            .finish()
4636    }
4637}
4638
4639#[repr(C)]
4640#[allow(dead_code)]
4641pub struct NMSettingOvsBridge {
4642    _data: [u8; 0],
4643    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4644}
4645
4646impl ::std::fmt::Debug for NMSettingOvsBridge {
4647    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4648        f.debug_struct(&format!("NMSettingOvsBridge @ {self:p}"))
4649            .finish()
4650    }
4651}
4652
4653#[repr(C)]
4654#[allow(dead_code)]
4655pub struct NMSettingOvsDpdk {
4656    _data: [u8; 0],
4657    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4658}
4659
4660impl ::std::fmt::Debug for NMSettingOvsDpdk {
4661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4662        f.debug_struct(&format!("NMSettingOvsDpdk @ {self:p}"))
4663            .finish()
4664    }
4665}
4666
4667#[repr(C)]
4668#[allow(dead_code)]
4669pub struct NMSettingOvsExternalIDs {
4670    _data: [u8; 0],
4671    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4672}
4673
4674impl ::std::fmt::Debug for NMSettingOvsExternalIDs {
4675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4676        f.debug_struct(&format!("NMSettingOvsExternalIDs @ {self:p}"))
4677            .finish()
4678    }
4679}
4680
4681#[repr(C)]
4682#[allow(dead_code)]
4683pub struct NMSettingOvsInterface {
4684    _data: [u8; 0],
4685    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4686}
4687
4688impl ::std::fmt::Debug for NMSettingOvsInterface {
4689    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4690        f.debug_struct(&format!("NMSettingOvsInterface @ {self:p}"))
4691            .finish()
4692    }
4693}
4694
4695#[repr(C)]
4696#[allow(dead_code)]
4697pub struct NMSettingOvsOtherConfig {
4698    _data: [u8; 0],
4699    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4700}
4701
4702impl ::std::fmt::Debug for NMSettingOvsOtherConfig {
4703    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4704        f.debug_struct(&format!("NMSettingOvsOtherConfig @ {self:p}"))
4705            .finish()
4706    }
4707}
4708
4709#[repr(C)]
4710#[allow(dead_code)]
4711pub struct NMSettingOvsPatch {
4712    _data: [u8; 0],
4713    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4714}
4715
4716impl ::std::fmt::Debug for NMSettingOvsPatch {
4717    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4718        f.debug_struct(&format!("NMSettingOvsPatch @ {self:p}"))
4719            .finish()
4720    }
4721}
4722
4723#[repr(C)]
4724#[allow(dead_code)]
4725pub struct NMSettingOvsPort {
4726    _data: [u8; 0],
4727    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4728}
4729
4730impl ::std::fmt::Debug for NMSettingOvsPort {
4731    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4732        f.debug_struct(&format!("NMSettingOvsPort @ {self:p}"))
4733            .finish()
4734    }
4735}
4736
4737#[repr(C)]
4738#[allow(dead_code)]
4739pub struct NMSettingPpp {
4740    _data: [u8; 0],
4741    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4742}
4743
4744impl ::std::fmt::Debug for NMSettingPpp {
4745    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4746        f.debug_struct(&format!("NMSettingPpp @ {self:p}")).finish()
4747    }
4748}
4749
4750#[repr(C)]
4751#[allow(dead_code)]
4752pub struct NMSettingPppoe {
4753    _data: [u8; 0],
4754    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4755}
4756
4757impl ::std::fmt::Debug for NMSettingPppoe {
4758    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4759        f.debug_struct(&format!("NMSettingPppoe @ {self:p}"))
4760            .finish()
4761    }
4762}
4763
4764#[repr(C)]
4765#[allow(dead_code)]
4766pub struct NMSettingPrefixDelegation {
4767    _data: [u8; 0],
4768    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4769}
4770
4771impl ::std::fmt::Debug for NMSettingPrefixDelegation {
4772    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4773        f.debug_struct(&format!("NMSettingPrefixDelegation @ {self:p}"))
4774            .finish()
4775    }
4776}
4777
4778#[repr(C)]
4779#[allow(dead_code)]
4780pub struct NMSettingProxy {
4781    _data: [u8; 0],
4782    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4783}
4784
4785impl ::std::fmt::Debug for NMSettingProxy {
4786    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4787        f.debug_struct(&format!("NMSettingProxy @ {self:p}"))
4788            .finish()
4789    }
4790}
4791
4792#[repr(C)]
4793#[allow(dead_code)]
4794pub struct NMSettingSerial {
4795    _data: [u8; 0],
4796    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4797}
4798
4799impl ::std::fmt::Debug for NMSettingSerial {
4800    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4801        f.debug_struct(&format!("NMSettingSerial @ {self:p}"))
4802            .finish()
4803    }
4804}
4805
4806#[repr(C)]
4807#[allow(dead_code)]
4808pub struct NMSettingSriov {
4809    _data: [u8; 0],
4810    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4811}
4812
4813impl ::std::fmt::Debug for NMSettingSriov {
4814    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4815        f.debug_struct(&format!("NMSettingSriov @ {self:p}"))
4816            .finish()
4817    }
4818}
4819
4820#[repr(C)]
4821#[allow(dead_code)]
4822pub struct NMSettingTCConfig {
4823    _data: [u8; 0],
4824    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4825}
4826
4827impl ::std::fmt::Debug for NMSettingTCConfig {
4828    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4829        f.debug_struct(&format!("NMSettingTCConfig @ {self:p}"))
4830            .finish()
4831    }
4832}
4833
4834#[repr(C)]
4835#[allow(dead_code)]
4836pub struct NMSettingTeam {
4837    _data: [u8; 0],
4838    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4839}
4840
4841impl ::std::fmt::Debug for NMSettingTeam {
4842    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4843        f.debug_struct(&format!("NMSettingTeam @ {self:p}"))
4844            .finish()
4845    }
4846}
4847
4848#[repr(C)]
4849#[allow(dead_code)]
4850pub struct NMSettingTeamPort {
4851    _data: [u8; 0],
4852    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4853}
4854
4855impl ::std::fmt::Debug for NMSettingTeamPort {
4856    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4857        f.debug_struct(&format!("NMSettingTeamPort @ {self:p}"))
4858            .finish()
4859    }
4860}
4861
4862#[repr(C)]
4863#[allow(dead_code)]
4864pub struct NMSettingTun {
4865    _data: [u8; 0],
4866    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4867}
4868
4869impl ::std::fmt::Debug for NMSettingTun {
4870    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4871        f.debug_struct(&format!("NMSettingTun @ {self:p}")).finish()
4872    }
4873}
4874
4875#[repr(C)]
4876#[allow(dead_code)]
4877pub struct NMSettingUser {
4878    _data: [u8; 0],
4879    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4880}
4881
4882impl ::std::fmt::Debug for NMSettingUser {
4883    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4884        f.debug_struct(&format!("NMSettingUser @ {self:p}"))
4885            .finish()
4886    }
4887}
4888
4889#[repr(C)]
4890#[allow(dead_code)]
4891pub struct NMSettingVeth {
4892    _data: [u8; 0],
4893    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4894}
4895
4896impl ::std::fmt::Debug for NMSettingVeth {
4897    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4898        f.debug_struct(&format!("NMSettingVeth @ {self:p}"))
4899            .finish()
4900    }
4901}
4902
4903#[repr(C)]
4904#[allow(dead_code)]
4905pub struct NMSettingVlan {
4906    _data: [u8; 0],
4907    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4908}
4909
4910impl ::std::fmt::Debug for NMSettingVlan {
4911    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4912        f.debug_struct(&format!("NMSettingVlan @ {self:p}"))
4913            .finish()
4914    }
4915}
4916
4917#[repr(C)]
4918#[allow(dead_code)]
4919pub struct NMSettingVpn {
4920    _data: [u8; 0],
4921    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4922}
4923
4924impl ::std::fmt::Debug for NMSettingVpn {
4925    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4926        f.debug_struct(&format!("NMSettingVpn @ {self:p}")).finish()
4927    }
4928}
4929
4930#[repr(C)]
4931#[allow(dead_code)]
4932pub struct NMSettingVrf {
4933    _data: [u8; 0],
4934    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4935}
4936
4937impl ::std::fmt::Debug for NMSettingVrf {
4938    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4939        f.debug_struct(&format!("NMSettingVrf @ {self:p}")).finish()
4940    }
4941}
4942
4943#[repr(C)]
4944#[allow(dead_code)]
4945pub struct NMSettingVxlan {
4946    _data: [u8; 0],
4947    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4948}
4949
4950impl ::std::fmt::Debug for NMSettingVxlan {
4951    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4952        f.debug_struct(&format!("NMSettingVxlan @ {self:p}"))
4953            .finish()
4954    }
4955}
4956
4957#[repr(C)]
4958#[allow(dead_code)]
4959pub struct NMSettingWifiP2P {
4960    _data: [u8; 0],
4961    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4962}
4963
4964impl ::std::fmt::Debug for NMSettingWifiP2P {
4965    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4966        f.debug_struct(&format!("NMSettingWifiP2P @ {self:p}"))
4967            .finish()
4968    }
4969}
4970
4971#[repr(C)]
4972#[allow(dead_code)]
4973pub struct NMSettingWimax {
4974    _data: [u8; 0],
4975    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4976}
4977
4978impl ::std::fmt::Debug for NMSettingWimax {
4979    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4980        f.debug_struct(&format!("NMSettingWimax @ {self:p}"))
4981            .finish()
4982    }
4983}
4984
4985#[repr(C)]
4986#[allow(dead_code)]
4987pub struct NMSettingWireGuard {
4988    _data: [u8; 0],
4989    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4990}
4991
4992impl ::std::fmt::Debug for NMSettingWireGuard {
4993    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4994        f.debug_struct(&format!("NMSettingWireGuard @ {self:p}"))
4995            .finish()
4996    }
4997}
4998
4999#[repr(C)]
5000#[allow(dead_code)]
5001pub struct NMSettingWired {
5002    _data: [u8; 0],
5003    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5004}
5005
5006impl ::std::fmt::Debug for NMSettingWired {
5007    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5008        f.debug_struct(&format!("NMSettingWired @ {self:p}"))
5009            .finish()
5010    }
5011}
5012
5013#[repr(C)]
5014#[allow(dead_code)]
5015pub struct NMSettingWireless {
5016    _data: [u8; 0],
5017    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5018}
5019
5020impl ::std::fmt::Debug for NMSettingWireless {
5021    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5022        f.debug_struct(&format!("NMSettingWireless @ {self:p}"))
5023            .finish()
5024    }
5025}
5026
5027#[repr(C)]
5028#[allow(dead_code)]
5029pub struct NMSettingWirelessSecurity {
5030    _data: [u8; 0],
5031    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5032}
5033
5034impl ::std::fmt::Debug for NMSettingWirelessSecurity {
5035    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5036        f.debug_struct(&format!("NMSettingWirelessSecurity @ {self:p}"))
5037            .finish()
5038    }
5039}
5040
5041#[repr(C)]
5042#[allow(dead_code)]
5043pub struct NMSettingWpan {
5044    _data: [u8; 0],
5045    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5046}
5047
5048impl ::std::fmt::Debug for NMSettingWpan {
5049    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5050        f.debug_struct(&format!("NMSettingWpan @ {self:p}"))
5051            .finish()
5052    }
5053}
5054
5055#[repr(C)]
5056#[allow(dead_code)]
5057pub struct NMSimpleConnection {
5058    _data: [u8; 0],
5059    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5060}
5061
5062impl ::std::fmt::Debug for NMSimpleConnection {
5063    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5064        f.debug_struct(&format!("NMSimpleConnection @ {self:p}"))
5065            .finish()
5066    }
5067}
5068
5069#[repr(C)]
5070#[allow(dead_code)]
5071pub struct NMVpnConnection {
5072    _data: [u8; 0],
5073    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5074}
5075
5076impl ::std::fmt::Debug for NMVpnConnection {
5077    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5078        f.debug_struct(&format!("NMVpnConnection @ {self:p}"))
5079            .finish()
5080    }
5081}
5082
5083#[repr(C)]
5084#[allow(dead_code)]
5085pub struct NMVpnPluginInfo {
5086    _data: [u8; 0],
5087    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5088}
5089
5090impl ::std::fmt::Debug for NMVpnPluginInfo {
5091    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5092        f.debug_struct(&format!("NMVpnPluginInfo @ {self:p}"))
5093            .finish()
5094    }
5095}
5096
5097#[derive(Copy, Clone)]
5098#[repr(C)]
5099pub struct NMVpnPluginOld {
5100    pub parent: gobject::GObject,
5101}
5102
5103impl ::std::fmt::Debug for NMVpnPluginOld {
5104    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5105        f.debug_struct(&format!("NMVpnPluginOld @ {self:p}"))
5106            .field("parent", &self.parent)
5107            .finish()
5108    }
5109}
5110
5111#[derive(Copy, Clone)]
5112#[repr(C)]
5113pub struct NMVpnServicePlugin {
5114    pub parent: gobject::GObject,
5115}
5116
5117impl ::std::fmt::Debug for NMVpnServicePlugin {
5118    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5119        f.debug_struct(&format!("NMVpnServicePlugin @ {self:p}"))
5120            .field("parent", &self.parent)
5121            .finish()
5122    }
5123}
5124
5125#[repr(C)]
5126#[allow(dead_code)]
5127pub struct NMWifiP2PPeer {
5128    _data: [u8; 0],
5129    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5130}
5131
5132impl ::std::fmt::Debug for NMWifiP2PPeer {
5133    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5134        f.debug_struct(&format!("NMWifiP2PPeer @ {self:p}"))
5135            .finish()
5136    }
5137}
5138
5139#[repr(C)]
5140#[allow(dead_code)]
5141pub struct NMWimaxNsp {
5142    _data: [u8; 0],
5143    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5144}
5145
5146impl ::std::fmt::Debug for NMWimaxNsp {
5147    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5148        f.debug_struct(&format!("NMWimaxNsp @ {self:p}")).finish()
5149    }
5150}
5151
5152// Interfaces
5153#[repr(C)]
5154#[allow(dead_code)]
5155pub struct NMConnection {
5156    _data: [u8; 0],
5157    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5158}
5159
5160impl ::std::fmt::Debug for NMConnection {
5161    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5162        write!(f, "NMConnection @ {self:p}")
5163    }
5164}
5165
5166#[repr(C)]
5167#[allow(dead_code)]
5168pub struct NMVpnEditor {
5169    _data: [u8; 0],
5170    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5171}
5172
5173impl ::std::fmt::Debug for NMVpnEditor {
5174    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5175        write!(f, "NMVpnEditor @ {self:p}")
5176    }
5177}
5178
5179#[repr(C)]
5180#[allow(dead_code)]
5181pub struct NMVpnEditorPlugin {
5182    _data: [u8; 0],
5183    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5184}
5185
5186impl ::std::fmt::Debug for NMVpnEditorPlugin {
5187    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5188        write!(f, "NMVpnEditorPlugin @ {self:p}")
5189    }
5190}
5191
5192extern "C" {
5193
5194    //=========================================================================
5195    // NM80211Mode
5196    //=========================================================================
5197    pub fn nm_802_11_mode_get_type() -> GType;
5198
5199    //=========================================================================
5200    // NMActiveConnectionState
5201    //=========================================================================
5202    pub fn nm_active_connection_state_get_type() -> GType;
5203
5204    //=========================================================================
5205    // NMActiveConnectionStateReason
5206    //=========================================================================
5207    #[cfg(feature = "v1_8")]
5208    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
5209    pub fn nm_active_connection_state_reason_get_type() -> GType;
5210
5211    //=========================================================================
5212    // NMAgentManagerError
5213    //=========================================================================
5214    pub fn nm_agent_manager_error_get_type() -> GType;
5215    pub fn nm_agent_manager_error_quark() -> glib::GQuark;
5216
5217    //=========================================================================
5218    // NMCapability
5219    //=========================================================================
5220    #[cfg(feature = "v1_6")]
5221    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5222    pub fn nm_capability_get_type() -> GType;
5223
5224    //=========================================================================
5225    // NMClientError
5226    //=========================================================================
5227    pub fn nm_client_error_get_type() -> GType;
5228    pub fn nm_client_error_quark() -> glib::GQuark;
5229
5230    //=========================================================================
5231    // NMClientPermission
5232    //=========================================================================
5233    pub fn nm_client_permission_get_type() -> GType;
5234
5235    //=========================================================================
5236    // NMClientPermissionResult
5237    //=========================================================================
5238    pub fn nm_client_permission_result_get_type() -> GType;
5239
5240    //=========================================================================
5241    // NMConnectionError
5242    //=========================================================================
5243    pub fn nm_connection_error_get_type() -> GType;
5244    pub fn nm_connection_error_quark() -> glib::GQuark;
5245
5246    //=========================================================================
5247    // NMConnectionMultiConnect
5248    //=========================================================================
5249    #[cfg(feature = "v1_14")]
5250    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
5251    pub fn nm_connection_multi_connect_get_type() -> GType;
5252
5253    //=========================================================================
5254    // NMConnectivityState
5255    //=========================================================================
5256    pub fn nm_connectivity_state_get_type() -> GType;
5257
5258    //=========================================================================
5259    // NMCryptoError
5260    //=========================================================================
5261    pub fn nm_crypto_error_get_type() -> GType;
5262    pub fn nm_crypto_error_quark() -> glib::GQuark;
5263
5264    //=========================================================================
5265    // NMDeviceError
5266    //=========================================================================
5267    pub fn nm_device_error_get_type() -> GType;
5268    pub fn nm_device_error_quark() -> glib::GQuark;
5269
5270    //=========================================================================
5271    // NMDeviceState
5272    //=========================================================================
5273    pub fn nm_device_state_get_type() -> GType;
5274
5275    //=========================================================================
5276    // NMDeviceStateReason
5277    //=========================================================================
5278    pub fn nm_device_state_reason_get_type() -> GType;
5279
5280    //=========================================================================
5281    // NMDeviceType
5282    //=========================================================================
5283    pub fn nm_device_type_get_type() -> GType;
5284
5285    //=========================================================================
5286    // NMIPTunnelMode
5287    //=========================================================================
5288    #[cfg(feature = "v1_2")]
5289    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5290    pub fn nm_ip_tunnel_mode_get_type() -> GType;
5291
5292    //=========================================================================
5293    // NMKeyfileHandlerType
5294    //=========================================================================
5295    #[cfg(feature = "v1_30")]
5296    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5297    pub fn nm_keyfile_handler_type_get_type() -> GType;
5298
5299    //=========================================================================
5300    // NMKeyfileWarnSeverity
5301    //=========================================================================
5302    #[cfg(feature = "v1_30")]
5303    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5304    pub fn nm_keyfile_warn_severity_get_type() -> GType;
5305
5306    //=========================================================================
5307    // NMManagerError
5308    //=========================================================================
5309    pub fn nm_manager_error_get_type() -> GType;
5310    pub fn nm_manager_error_quark() -> glib::GQuark;
5311
5312    //=========================================================================
5313    // NMMetered
5314    //=========================================================================
5315    #[cfg(feature = "v1_2")]
5316    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5317    pub fn nm_metered_get_type() -> GType;
5318
5319    //=========================================================================
5320    // NMSecretAgentError
5321    //=========================================================================
5322    pub fn nm_secret_agent_error_get_type() -> GType;
5323    pub fn nm_secret_agent_error_quark() -> glib::GQuark;
5324
5325    //=========================================================================
5326    // NMSetting8021xCKFormat
5327    //=========================================================================
5328    pub fn nm_setting_802_1x_ck_format_get_type() -> GType;
5329
5330    //=========================================================================
5331    // NMSetting8021xCKScheme
5332    //=========================================================================
5333    pub fn nm_setting_802_1x_ck_scheme_get_type() -> GType;
5334
5335    //=========================================================================
5336    // NMSettingCompareFlags
5337    //=========================================================================
5338    pub fn nm_setting_compare_flags_get_type() -> GType;
5339
5340    //=========================================================================
5341    // NMSettingConnectionAutoconnectSlaves
5342    //=========================================================================
5343    #[cfg(feature = "v1_2")]
5344    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5345    pub fn nm_setting_connection_autoconnect_slaves_get_type() -> GType;
5346
5347    //=========================================================================
5348    // NMSettingConnectionDnsOverTls
5349    //=========================================================================
5350    #[cfg(feature = "v1_34")]
5351    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
5352    pub fn nm_setting_connection_dns_over_tls_get_type() -> GType;
5353
5354    //=========================================================================
5355    // NMSettingConnectionDownOnPoweroff
5356    //=========================================================================
5357    #[cfg(feature = "v1_48")]
5358    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
5359    pub fn nm_setting_connection_down_on_poweroff_get_type() -> GType;
5360
5361    //=========================================================================
5362    // NMSettingConnectionLldp
5363    //=========================================================================
5364    #[cfg(feature = "v1_2")]
5365    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5366    pub fn nm_setting_connection_lldp_get_type() -> GType;
5367
5368    //=========================================================================
5369    // NMSettingConnectionLlmnr
5370    //=========================================================================
5371    #[cfg(feature = "v1_14")]
5372    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
5373    pub fn nm_setting_connection_llmnr_get_type() -> GType;
5374
5375    //=========================================================================
5376    // NMSettingConnectionMdns
5377    //=========================================================================
5378    #[cfg(feature = "v1_12")]
5379    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5380    pub fn nm_setting_connection_mdns_get_type() -> GType;
5381
5382    //=========================================================================
5383    // NMSettingDiffResult
5384    //=========================================================================
5385    pub fn nm_setting_diff_result_get_type() -> GType;
5386
5387    //=========================================================================
5388    // NMSettingIP4DhcpIpv6OnlyPreferred
5389    //=========================================================================
5390    #[cfg(feature = "v1_52")]
5391    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
5392    pub fn nm_setting_ip4_dhcp_ipv6_only_preferred_get_type() -> GType;
5393
5394    //=========================================================================
5395    // NMSettingIP4LinkLocal
5396    //=========================================================================
5397    #[cfg(feature = "v1_40")]
5398    #[cfg_attr(docsrs, doc(cfg(feature = "v1_40")))]
5399    pub fn nm_setting_ip4_link_local_get_type() -> GType;
5400
5401    //=========================================================================
5402    // NMSettingIP6ConfigAddrGenMode
5403    //=========================================================================
5404    #[cfg(feature = "v1_2")]
5405    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5406    pub fn nm_setting_ip6_config_addr_gen_mode_get_type() -> GType;
5407
5408    //=========================================================================
5409    // NMSettingIP6ConfigPrivacy
5410    //=========================================================================
5411    pub fn nm_setting_ip6_config_privacy_get_type() -> GType;
5412
5413    //=========================================================================
5414    // NMSettingIPConfigForwarding
5415    //=========================================================================
5416    #[cfg(feature = "v1_54")]
5417    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
5418    pub fn nm_setting_ip_config_forwarding_get_type() -> GType;
5419
5420    //=========================================================================
5421    // NMSettingIPConfigRoutedDns
5422    //=========================================================================
5423    #[cfg(feature = "v1_52")]
5424    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
5425    pub fn nm_setting_ip_config_routed_dns_get_type() -> GType;
5426
5427    //=========================================================================
5428    // NMSettingIpvlanMode
5429    //=========================================================================
5430    #[cfg(feature = "v1_52")]
5431    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
5432    pub fn nm_setting_ipvlan_mode_get_type() -> GType;
5433
5434    //=========================================================================
5435    // NMSettingMacRandomization
5436    //=========================================================================
5437    #[cfg(feature = "v1_2")]
5438    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5439    pub fn nm_setting_mac_randomization_get_type() -> GType;
5440
5441    //=========================================================================
5442    // NMSettingMacsecMode
5443    //=========================================================================
5444    #[cfg(feature = "v1_6")]
5445    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5446    pub fn nm_setting_macsec_mode_get_type() -> GType;
5447
5448    //=========================================================================
5449    // NMSettingMacsecOffload
5450    //=========================================================================
5451    #[cfg(feature = "v1_46")]
5452    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
5453    pub fn nm_setting_macsec_offload_get_type() -> GType;
5454
5455    //=========================================================================
5456    // NMSettingMacsecValidation
5457    //=========================================================================
5458    #[cfg(feature = "v1_6")]
5459    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5460    pub fn nm_setting_macsec_validation_get_type() -> GType;
5461
5462    //=========================================================================
5463    // NMSettingMacvlanMode
5464    //=========================================================================
5465    #[cfg(feature = "v1_2")]
5466    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5467    pub fn nm_setting_macvlan_mode_get_type() -> GType;
5468
5469    //=========================================================================
5470    // NMSettingOvsDpdkLscInterrupt
5471    //=========================================================================
5472    #[cfg(feature = "v1_54")]
5473    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
5474    pub fn nm_setting_ovs_dpdk_lsc_interrupt_get_type() -> GType;
5475
5476    //=========================================================================
5477    // NMSettingProxyMethod
5478    //=========================================================================
5479    #[cfg(feature = "v1_6")]
5480    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5481    pub fn nm_setting_proxy_method_get_type() -> GType;
5482
5483    //=========================================================================
5484    // NMSettingSerialParity
5485    //=========================================================================
5486    pub fn nm_setting_serial_parity_get_type() -> GType;
5487
5488    //=========================================================================
5489    // NMSettingTunMode
5490    //=========================================================================
5491    #[cfg(feature = "v1_2")]
5492    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5493    pub fn nm_setting_tun_mode_get_type() -> GType;
5494
5495    //=========================================================================
5496    // NMSettingWirelessChannelWidth
5497    //=========================================================================
5498    #[cfg(feature = "v1_50")]
5499    #[cfg_attr(docsrs, doc(cfg(feature = "v1_50")))]
5500    pub fn nm_setting_wireless_channel_width_get_type() -> GType;
5501
5502    //=========================================================================
5503    // NMSettingWirelessPowersave
5504    //=========================================================================
5505    #[cfg(feature = "v1_2")]
5506    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5507    pub fn nm_setting_wireless_powersave_get_type() -> GType;
5508
5509    //=========================================================================
5510    // NMSettingWirelessSecurityFils
5511    //=========================================================================
5512    #[cfg(feature = "v1_12")]
5513    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5514    pub fn nm_setting_wireless_security_fils_get_type() -> GType;
5515
5516    //=========================================================================
5517    // NMSettingWirelessSecurityPmf
5518    //=========================================================================
5519    #[cfg(feature = "v1_10")]
5520    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
5521    pub fn nm_setting_wireless_security_pmf_get_type() -> GType;
5522
5523    //=========================================================================
5524    // NMSettingsError
5525    //=========================================================================
5526    pub fn nm_settings_error_get_type() -> GType;
5527    pub fn nm_settings_error_quark() -> glib::GQuark;
5528
5529    //=========================================================================
5530    // NMSriovEswitchEncapMode
5531    //=========================================================================
5532    #[cfg(feature = "v1_46")]
5533    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
5534    pub fn nm_sriov_eswitch_encap_mode_get_type() -> GType;
5535
5536    //=========================================================================
5537    // NMSriovEswitchInlineMode
5538    //=========================================================================
5539    #[cfg(feature = "v1_46")]
5540    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
5541    pub fn nm_sriov_eswitch_inline_mode_get_type() -> GType;
5542
5543    //=========================================================================
5544    // NMSriovEswitchMode
5545    //=========================================================================
5546    #[cfg(feature = "v1_46")]
5547    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
5548    pub fn nm_sriov_eswitch_mode_get_type() -> GType;
5549
5550    //=========================================================================
5551    // NMSriovPreserveOnDown
5552    //=========================================================================
5553    #[cfg(feature = "v1_54")]
5554    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
5555    pub fn nm_sriov_preserve_on_down_get_type() -> GType;
5556
5557    //=========================================================================
5558    // NMSriovVFVlanProtocol
5559    //=========================================================================
5560    #[cfg(feature = "v1_14")]
5561    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
5562    pub fn nm_sriov_vf_vlan_protocol_get_type() -> GType;
5563
5564    //=========================================================================
5565    // NMState
5566    //=========================================================================
5567    pub fn nm_state_get_type() -> GType;
5568
5569    //=========================================================================
5570    // NMTernary
5571    //=========================================================================
5572    #[cfg(feature = "v1_14")]
5573    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
5574    pub fn nm_ternary_get_type() -> GType;
5575
5576    //=========================================================================
5577    // NMUtilsSecurityType
5578    //=========================================================================
5579    pub fn nm_utils_security_type_get_type() -> GType;
5580
5581    //=========================================================================
5582    // NMVersionInfoCapability
5583    //=========================================================================
5584    #[cfg(feature = "v1_42")]
5585    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
5586    pub fn nm_version_info_capability_get_type() -> GType;
5587
5588    //=========================================================================
5589    // NMVlanPriorityMap
5590    //=========================================================================
5591    pub fn nm_vlan_priority_map_get_type() -> GType;
5592
5593    //=========================================================================
5594    // NMVpnConnectionState
5595    //=========================================================================
5596    pub fn nm_vpn_connection_state_get_type() -> GType;
5597
5598    //=========================================================================
5599    // NMVpnConnectionStateReason
5600    //=========================================================================
5601    pub fn nm_vpn_connection_state_reason_get_type() -> GType;
5602
5603    //=========================================================================
5604    // NMVpnPluginError
5605    //=========================================================================
5606    pub fn nm_vpn_plugin_error_get_type() -> GType;
5607    pub fn nm_vpn_plugin_error_quark() -> glib::GQuark;
5608
5609    //=========================================================================
5610    // NMVpnPluginFailure
5611    //=========================================================================
5612    pub fn nm_vpn_plugin_failure_get_type() -> GType;
5613
5614    //=========================================================================
5615    // NMVpnServiceState
5616    //=========================================================================
5617    pub fn nm_vpn_service_state_get_type() -> GType;
5618
5619    //=========================================================================
5620    // NMWepKeyType
5621    //=========================================================================
5622    pub fn nm_wep_key_type_get_type() -> GType;
5623
5624    //=========================================================================
5625    // NMWimaxNspNetworkType
5626    //=========================================================================
5627    pub fn nm_wimax_nsp_network_type_get_type() -> GType;
5628
5629    //=========================================================================
5630    // NM80211ApFlags
5631    //=========================================================================
5632    pub fn nm_802_11_ap_flags_get_type() -> GType;
5633
5634    //=========================================================================
5635    // NM80211ApSecurityFlags
5636    //=========================================================================
5637    pub fn nm_802_11_ap_security_flags_get_type() -> GType;
5638
5639    //=========================================================================
5640    // NMActivationStateFlags
5641    //=========================================================================
5642    #[cfg(feature = "v1_10")]
5643    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
5644    pub fn nm_activation_state_flags_get_type() -> GType;
5645
5646    //=========================================================================
5647    // NMBluetoothCapabilities
5648    //=========================================================================
5649    pub fn nm_bluetooth_capabilities_get_type() -> GType;
5650
5651    //=========================================================================
5652    // NMCheckpointCreateFlags
5653    //=========================================================================
5654    #[cfg(feature = "v1_12")]
5655    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5656    pub fn nm_checkpoint_create_flags_get_type() -> GType;
5657
5658    //=========================================================================
5659    // NMClientInstanceFlags
5660    //=========================================================================
5661    #[cfg(feature = "v1_24")]
5662    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5663    pub fn nm_client_instance_flags_get_type() -> GType;
5664
5665    //=========================================================================
5666    // NMConnectionSerializationFlags
5667    //=========================================================================
5668    pub fn nm_connection_serialization_flags_get_type() -> GType;
5669
5670    //=========================================================================
5671    // NMDeviceCapabilities
5672    //=========================================================================
5673    pub fn nm_device_capabilities_get_type() -> GType;
5674
5675    //=========================================================================
5676    // NMDeviceInterfaceFlags
5677    //=========================================================================
5678    #[cfg(feature = "v1_22")]
5679    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5680    pub fn nm_device_interface_flags_get_type() -> GType;
5681
5682    //=========================================================================
5683    // NMDeviceModemCapabilities
5684    //=========================================================================
5685    pub fn nm_device_modem_capabilities_get_type() -> GType;
5686
5687    //=========================================================================
5688    // NMDeviceReapplyFlags
5689    //=========================================================================
5690    #[cfg(feature = "v1_42")]
5691    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
5692    pub fn nm_device_reapply_flags_get_type() -> GType;
5693
5694    //=========================================================================
5695    // NMDeviceWifiCapabilities
5696    //=========================================================================
5697    pub fn nm_device_wifi_capabilities_get_type() -> GType;
5698
5699    //=========================================================================
5700    // NMDhcpHostnameFlags
5701    //=========================================================================
5702    #[cfg(feature = "v1_22")]
5703    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5704    pub fn nm_dhcp_hostname_flags_get_type() -> GType;
5705
5706    //=========================================================================
5707    // NMIPAddressCmpFlags
5708    //=========================================================================
5709    #[cfg(feature = "v1_22")]
5710    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5711    pub fn nm_ip_address_cmp_flags_get_type() -> GType;
5712
5713    //=========================================================================
5714    // NMIPRoutingRuleAsStringFlags
5715    //=========================================================================
5716    #[cfg(feature = "v1_18")]
5717    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5718    pub fn nm_ip_routing_rule_as_string_flags_get_type() -> GType;
5719
5720    //=========================================================================
5721    // NMIPTunnelFlags
5722    //=========================================================================
5723    #[cfg(feature = "v1_12")]
5724    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5725    pub fn nm_ip_tunnel_flags_get_type() -> GType;
5726
5727    //=========================================================================
5728    // NMKeyfileHandlerFlags
5729    //=========================================================================
5730    #[cfg(feature = "v1_30")]
5731    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
5732    pub fn nm_keyfile_handler_flags_get_type() -> GType;
5733
5734    //=========================================================================
5735    // NMManagerReloadFlags
5736    //=========================================================================
5737    #[cfg(feature = "v1_22")]
5738    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5739    pub fn nm_manager_reload_flags_get_type() -> GType;
5740
5741    //=========================================================================
5742    // NMMptcpFlags
5743    //=========================================================================
5744    #[cfg(feature = "v1_40")]
5745    #[cfg_attr(docsrs, doc(cfg(feature = "v1_40")))]
5746    pub fn nm_mptcp_flags_get_type() -> GType;
5747
5748    //=========================================================================
5749    // NMRadioFlags
5750    //=========================================================================
5751    #[cfg(feature = "v1_38")]
5752    #[cfg_attr(docsrs, doc(cfg(feature = "v1_38")))]
5753    pub fn nm_radio_flags_get_type() -> GType;
5754
5755    //=========================================================================
5756    // NMSecretAgentCapabilities
5757    //=========================================================================
5758    pub fn nm_secret_agent_capabilities_get_type() -> GType;
5759
5760    //=========================================================================
5761    // NMSecretAgentGetSecretsFlags
5762    //=========================================================================
5763    pub fn nm_secret_agent_get_secrets_flags_get_type() -> GType;
5764
5765    //=========================================================================
5766    // NMSetting8021xAuthFlags
5767    //=========================================================================
5768    #[cfg(feature = "v1_8")]
5769    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
5770    pub fn nm_setting_802_1x_auth_flags_get_type() -> GType;
5771
5772    //=========================================================================
5773    // NMSettingDcbFlags
5774    //=========================================================================
5775    pub fn nm_setting_dcb_flags_get_type() -> GType;
5776
5777    //=========================================================================
5778    // NMSettingEthtoolFecMode
5779    //=========================================================================
5780    #[cfg(feature = "v1_52")]
5781    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
5782    pub fn nm_setting_ethtool_fec_mode_get_type() -> GType;
5783
5784    //=========================================================================
5785    // NMSettingSecretFlags
5786    //=========================================================================
5787    pub fn nm_setting_secret_flags_get_type() -> GType;
5788
5789    //=========================================================================
5790    // NMSettingWiredWakeOnLan
5791    //=========================================================================
5792    #[cfg(feature = "v1_2")]
5793    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
5794    pub fn nm_setting_wired_wake_on_lan_get_type() -> GType;
5795
5796    //=========================================================================
5797    // NMSettingWirelessSecurityWpsMethod
5798    //=========================================================================
5799    #[cfg(feature = "v1_10")]
5800    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
5801    pub fn nm_setting_wireless_security_wps_method_get_type() -> GType;
5802
5803    //=========================================================================
5804    // NMSettingWirelessWakeOnWLan
5805    //=========================================================================
5806    #[cfg(feature = "v1_12")]
5807    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5808    pub fn nm_setting_wireless_wake_on_wlan_get_type() -> GType;
5809
5810    //=========================================================================
5811    // NMSettingsAddConnection2Flags
5812    //=========================================================================
5813    #[cfg(feature = "v1_20")]
5814    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5815    pub fn nm_settings_add_connection2_flags_get_type() -> GType;
5816
5817    //=========================================================================
5818    // NMSettingsConnectionFlags
5819    //=========================================================================
5820    #[cfg(feature = "v1_12")]
5821    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5822    pub fn nm_settings_connection_flags_get_type() -> GType;
5823
5824    //=========================================================================
5825    // NMSettingsUpdate2Flags
5826    //=========================================================================
5827    #[cfg(feature = "v1_12")]
5828    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5829    pub fn nm_settings_update2_flags_get_type() -> GType;
5830
5831    //=========================================================================
5832    // NMTeamLinkWatcherArpPingFlags
5833    //=========================================================================
5834    #[cfg(feature = "v1_12")]
5835    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
5836    pub fn nm_team_link_watcher_arp_ping_flags_get_type() -> GType;
5837
5838    //=========================================================================
5839    // NMVlanFlags
5840    //=========================================================================
5841    pub fn nm_vlan_flags_get_type() -> GType;
5842
5843    //=========================================================================
5844    // NMVpnEditorPluginCapability
5845    //=========================================================================
5846    pub fn nm_vpn_editor_plugin_capability_get_type() -> GType;
5847
5848    //=========================================================================
5849    // NMBridgeVlan
5850    //=========================================================================
5851    pub fn nm_bridge_vlan_get_type() -> GType;
5852    #[cfg(feature = "v1_18")]
5853    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5854    pub fn nm_bridge_vlan_new(vid_start: u16, vid_end: u16) -> *mut NMBridgeVlan;
5855    #[cfg(feature = "v1_18")]
5856    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5857    pub fn nm_bridge_vlan_cmp(a: *const NMBridgeVlan, b: *const NMBridgeVlan) -> c_int;
5858    #[cfg(feature = "v1_18")]
5859    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5860    pub fn nm_bridge_vlan_get_vid_range(
5861        vlan: *const NMBridgeVlan,
5862        vid_start: *mut u16,
5863        vid_end: *mut u16,
5864    ) -> gboolean;
5865    #[cfg(feature = "v1_18")]
5866    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5867    pub fn nm_bridge_vlan_is_pvid(vlan: *const NMBridgeVlan) -> gboolean;
5868    #[cfg(feature = "v1_18")]
5869    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5870    pub fn nm_bridge_vlan_is_sealed(vlan: *const NMBridgeVlan) -> gboolean;
5871    #[cfg(feature = "v1_18")]
5872    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5873    pub fn nm_bridge_vlan_is_untagged(vlan: *const NMBridgeVlan) -> gboolean;
5874    #[cfg(feature = "v1_18")]
5875    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5876    pub fn nm_bridge_vlan_new_clone(vlan: *const NMBridgeVlan) -> *mut NMBridgeVlan;
5877    #[cfg(feature = "v1_18")]
5878    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5879    pub fn nm_bridge_vlan_ref(vlan: *mut NMBridgeVlan) -> *mut NMBridgeVlan;
5880    #[cfg(feature = "v1_18")]
5881    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5882    pub fn nm_bridge_vlan_seal(vlan: *mut NMBridgeVlan);
5883    #[cfg(feature = "v1_18")]
5884    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5885    pub fn nm_bridge_vlan_set_pvid(vlan: *mut NMBridgeVlan, value: gboolean);
5886    #[cfg(feature = "v1_18")]
5887    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5888    pub fn nm_bridge_vlan_set_untagged(vlan: *mut NMBridgeVlan, value: gboolean);
5889    #[cfg(feature = "v1_18")]
5890    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5891    pub fn nm_bridge_vlan_to_str(
5892        vlan: *const NMBridgeVlan,
5893        error: *mut *mut glib::GError,
5894    ) -> *mut c_char;
5895    #[cfg(feature = "v1_18")]
5896    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5897    pub fn nm_bridge_vlan_unref(vlan: *mut NMBridgeVlan);
5898    #[cfg(feature = "v1_18")]
5899    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5900    pub fn nm_bridge_vlan_from_str(
5901        str: *const c_char,
5902        error: *mut *mut glib::GError,
5903    ) -> *mut NMBridgeVlan;
5904
5905    //=========================================================================
5906    // NMDnsEntry
5907    //=========================================================================
5908    #[cfg(feature = "v1_6")]
5909    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5910    pub fn nm_dns_entry_get_type() -> GType;
5911    #[cfg(feature = "v1_6")]
5912    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5913    pub fn nm_dns_entry_get_domains(entry: *mut NMDnsEntry) -> *const *const c_char;
5914    #[cfg(feature = "v1_6")]
5915    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5916    pub fn nm_dns_entry_get_interface(entry: *mut NMDnsEntry) -> *const c_char;
5917    #[cfg(feature = "v1_6")]
5918    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5919    pub fn nm_dns_entry_get_nameservers(entry: *mut NMDnsEntry) -> *const *const c_char;
5920    #[cfg(feature = "v1_6")]
5921    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5922    pub fn nm_dns_entry_get_priority(entry: *mut NMDnsEntry) -> c_int;
5923    #[cfg(feature = "v1_6")]
5924    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5925    pub fn nm_dns_entry_get_vpn(entry: *mut NMDnsEntry) -> gboolean;
5926    #[cfg(feature = "v1_6")]
5927    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
5928    pub fn nm_dns_entry_unref(entry: *mut NMDnsEntry);
5929
5930    //=========================================================================
5931    // NMIPAddress
5932    //=========================================================================
5933    pub fn nm_ip_address_get_type() -> GType;
5934    pub fn nm_ip_address_new(
5935        family: c_int,
5936        addr: *const c_char,
5937        prefix: c_uint,
5938        error: *mut *mut glib::GError,
5939    ) -> *mut NMIPAddress;
5940    pub fn nm_ip_address_new_binary(
5941        family: c_int,
5942        addr: gconstpointer,
5943        prefix: c_uint,
5944        error: *mut *mut glib::GError,
5945    ) -> *mut NMIPAddress;
5946    #[cfg(feature = "v1_22")]
5947    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5948    pub fn nm_ip_address_cmp_full(
5949        a: *const NMIPAddress,
5950        b: *const NMIPAddress,
5951        cmp_flags: NMIPAddressCmpFlags,
5952    ) -> c_int;
5953    #[cfg(feature = "v1_32")]
5954    #[cfg_attr(docsrs, doc(cfg(feature = "v1_32")))]
5955    pub fn nm_ip_address_dup(address: *mut NMIPAddress) -> *mut NMIPAddress;
5956    pub fn nm_ip_address_equal(address: *mut NMIPAddress, other: *mut NMIPAddress) -> gboolean;
5957    pub fn nm_ip_address_get_address(address: *mut NMIPAddress) -> *const c_char;
5958    pub fn nm_ip_address_get_address_binary(address: *mut NMIPAddress, addr: gpointer);
5959    pub fn nm_ip_address_get_attribute(
5960        address: *mut NMIPAddress,
5961        name: *const c_char,
5962    ) -> *mut glib::GVariant;
5963    pub fn nm_ip_address_get_attribute_names(address: *mut NMIPAddress) -> *mut *mut c_char;
5964    pub fn nm_ip_address_get_family(address: *mut NMIPAddress) -> c_int;
5965    pub fn nm_ip_address_get_prefix(address: *mut NMIPAddress) -> c_uint;
5966    pub fn nm_ip_address_ref(address: *mut NMIPAddress);
5967    pub fn nm_ip_address_set_address(address: *mut NMIPAddress, addr: *const c_char);
5968    pub fn nm_ip_address_set_address_binary(address: *mut NMIPAddress, addr: gconstpointer);
5969    pub fn nm_ip_address_set_attribute(
5970        address: *mut NMIPAddress,
5971        name: *const c_char,
5972        value: *mut glib::GVariant,
5973    );
5974    pub fn nm_ip_address_set_prefix(address: *mut NMIPAddress, prefix: c_uint);
5975    pub fn nm_ip_address_unref(address: *mut NMIPAddress);
5976
5977    //=========================================================================
5978    // NMIPRoute
5979    //=========================================================================
5980    pub fn nm_ip_route_get_type() -> GType;
5981    pub fn nm_ip_route_new(
5982        family: c_int,
5983        dest: *const c_char,
5984        prefix: c_uint,
5985        next_hop: *const c_char,
5986        metric: i64,
5987        error: *mut *mut glib::GError,
5988    ) -> *mut NMIPRoute;
5989    pub fn nm_ip_route_new_binary(
5990        family: c_int,
5991        dest: gconstpointer,
5992        prefix: c_uint,
5993        next_hop: gconstpointer,
5994        metric: i64,
5995        error: *mut *mut glib::GError,
5996    ) -> *mut NMIPRoute;
5997    #[cfg(feature = "v1_32")]
5998    #[cfg_attr(docsrs, doc(cfg(feature = "v1_32")))]
5999    pub fn nm_ip_route_dup(route: *mut NMIPRoute) -> *mut NMIPRoute;
6000    pub fn nm_ip_route_equal(route: *mut NMIPRoute, other: *mut NMIPRoute) -> gboolean;
6001    #[cfg(feature = "v1_10")]
6002    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
6003    pub fn nm_ip_route_equal_full(
6004        route: *mut NMIPRoute,
6005        other: *mut NMIPRoute,
6006        cmp_flags: c_uint,
6007    ) -> gboolean;
6008    pub fn nm_ip_route_get_attribute(
6009        route: *mut NMIPRoute,
6010        name: *const c_char,
6011    ) -> *mut glib::GVariant;
6012    pub fn nm_ip_route_get_attribute_names(route: *mut NMIPRoute) -> *mut *mut c_char;
6013    pub fn nm_ip_route_get_dest(route: *mut NMIPRoute) -> *const c_char;
6014    pub fn nm_ip_route_get_dest_binary(route: *mut NMIPRoute, dest: gpointer);
6015    pub fn nm_ip_route_get_family(route: *mut NMIPRoute) -> c_int;
6016    pub fn nm_ip_route_get_metric(route: *mut NMIPRoute) -> i64;
6017    pub fn nm_ip_route_get_next_hop(route: *mut NMIPRoute) -> *const c_char;
6018    pub fn nm_ip_route_get_next_hop_binary(route: *mut NMIPRoute, next_hop: gpointer) -> gboolean;
6019    pub fn nm_ip_route_get_prefix(route: *mut NMIPRoute) -> c_uint;
6020    pub fn nm_ip_route_ref(route: *mut NMIPRoute);
6021    pub fn nm_ip_route_set_attribute(
6022        route: *mut NMIPRoute,
6023        name: *const c_char,
6024        value: *mut glib::GVariant,
6025    );
6026    pub fn nm_ip_route_set_dest(route: *mut NMIPRoute, dest: *const c_char);
6027    pub fn nm_ip_route_set_dest_binary(route: *mut NMIPRoute, dest: gconstpointer);
6028    pub fn nm_ip_route_set_metric(route: *mut NMIPRoute, metric: i64);
6029    pub fn nm_ip_route_set_next_hop(route: *mut NMIPRoute, next_hop: *const c_char);
6030    pub fn nm_ip_route_set_next_hop_binary(route: *mut NMIPRoute, next_hop: gconstpointer);
6031    pub fn nm_ip_route_set_prefix(route: *mut NMIPRoute, prefix: c_uint);
6032    pub fn nm_ip_route_unref(route: *mut NMIPRoute);
6033    #[cfg(feature = "v1_8")]
6034    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
6035    pub fn nm_ip_route_attribute_validate(
6036        name: *const c_char,
6037        value: *mut glib::GVariant,
6038        family: c_int,
6039        known: *mut gboolean,
6040        error: *mut *mut glib::GError,
6041    ) -> gboolean;
6042    #[cfg(feature = "v1_8")]
6043    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
6044    pub fn nm_ip_route_get_variant_attribute_spec() -> *const *const NMVariantAttributeSpec;
6045
6046    //=========================================================================
6047    // NMIPRoutingRule
6048    //=========================================================================
6049    pub fn nm_ip_routing_rule_get_type() -> GType;
6050    #[cfg(feature = "v1_18")]
6051    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6052    pub fn nm_ip_routing_rule_new(addr_family: c_int) -> *mut NMIPRoutingRule;
6053    #[cfg(feature = "v1_18")]
6054    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6055    pub fn nm_ip_routing_rule_cmp(
6056        rule: *const NMIPRoutingRule,
6057        other: *const NMIPRoutingRule,
6058    ) -> c_int;
6059    #[cfg(feature = "v1_18")]
6060    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6061    pub fn nm_ip_routing_rule_get_action(self_: *const NMIPRoutingRule) -> u8;
6062    #[cfg(feature = "v1_18")]
6063    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6064    pub fn nm_ip_routing_rule_get_addr_family(self_: *const NMIPRoutingRule) -> c_int;
6065    #[cfg(feature = "v1_18")]
6066    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6067    pub fn nm_ip_routing_rule_get_destination_port_end(self_: *const NMIPRoutingRule) -> u16;
6068    #[cfg(feature = "v1_18")]
6069    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6070    pub fn nm_ip_routing_rule_get_destination_port_start(self_: *const NMIPRoutingRule) -> u16;
6071    #[cfg(feature = "v1_18")]
6072    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6073    pub fn nm_ip_routing_rule_get_from(self_: *const NMIPRoutingRule) -> *const c_char;
6074    #[cfg(feature = "v1_18")]
6075    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6076    pub fn nm_ip_routing_rule_get_from_len(self_: *const NMIPRoutingRule) -> u8;
6077    #[cfg(feature = "v1_18")]
6078    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6079    pub fn nm_ip_routing_rule_get_fwmark(self_: *const NMIPRoutingRule) -> u32;
6080    #[cfg(feature = "v1_18")]
6081    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6082    pub fn nm_ip_routing_rule_get_fwmask(self_: *const NMIPRoutingRule) -> u32;
6083    #[cfg(feature = "v1_18")]
6084    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6085    pub fn nm_ip_routing_rule_get_iifname(self_: *const NMIPRoutingRule) -> *const c_char;
6086    #[cfg(feature = "v1_18")]
6087    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6088    pub fn nm_ip_routing_rule_get_invert(self_: *const NMIPRoutingRule) -> gboolean;
6089    #[cfg(feature = "v1_18")]
6090    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6091    pub fn nm_ip_routing_rule_get_ipproto(self_: *const NMIPRoutingRule) -> u8;
6092    #[cfg(feature = "v1_18")]
6093    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6094    pub fn nm_ip_routing_rule_get_oifname(self_: *const NMIPRoutingRule) -> *const c_char;
6095    #[cfg(feature = "v1_18")]
6096    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6097    pub fn nm_ip_routing_rule_get_priority(self_: *const NMIPRoutingRule) -> i64;
6098    #[cfg(feature = "v1_18")]
6099    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6100    pub fn nm_ip_routing_rule_get_source_port_end(self_: *const NMIPRoutingRule) -> u16;
6101    #[cfg(feature = "v1_18")]
6102    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6103    pub fn nm_ip_routing_rule_get_source_port_start(self_: *const NMIPRoutingRule) -> u16;
6104    #[cfg(feature = "v1_20")]
6105    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6106    pub fn nm_ip_routing_rule_get_suppress_prefixlength(self_: *const NMIPRoutingRule) -> i32;
6107    #[cfg(feature = "v1_18")]
6108    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6109    pub fn nm_ip_routing_rule_get_table(self_: *const NMIPRoutingRule) -> u32;
6110    #[cfg(feature = "v1_18")]
6111    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6112    pub fn nm_ip_routing_rule_get_to(self_: *const NMIPRoutingRule) -> *const c_char;
6113    #[cfg(feature = "v1_18")]
6114    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6115    pub fn nm_ip_routing_rule_get_to_len(self_: *const NMIPRoutingRule) -> u8;
6116    #[cfg(feature = "v1_18")]
6117    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6118    pub fn nm_ip_routing_rule_get_tos(self_: *const NMIPRoutingRule) -> u8;
6119    #[cfg(feature = "v1_34")]
6120    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
6121    pub fn nm_ip_routing_rule_get_uid_range(
6122        self_: *const NMIPRoutingRule,
6123        out_range_start: *mut u32,
6124        out_range_end: *mut u32,
6125    ) -> gboolean;
6126    #[cfg(feature = "v1_18")]
6127    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6128    pub fn nm_ip_routing_rule_is_sealed(self_: *const NMIPRoutingRule) -> gboolean;
6129    #[cfg(feature = "v1_18")]
6130    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6131    pub fn nm_ip_routing_rule_new_clone(rule: *const NMIPRoutingRule) -> *mut NMIPRoutingRule;
6132    #[cfg(feature = "v1_18")]
6133    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6134    pub fn nm_ip_routing_rule_ref(self_: *mut NMIPRoutingRule) -> *mut NMIPRoutingRule;
6135    #[cfg(feature = "v1_18")]
6136    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6137    pub fn nm_ip_routing_rule_seal(self_: *mut NMIPRoutingRule);
6138    #[cfg(feature = "v1_18")]
6139    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6140    pub fn nm_ip_routing_rule_set_action(self_: *mut NMIPRoutingRule, action: u8);
6141    #[cfg(feature = "v1_18")]
6142    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6143    pub fn nm_ip_routing_rule_set_destination_port(
6144        self_: *mut NMIPRoutingRule,
6145        start: u16,
6146        end: u16,
6147    );
6148    #[cfg(feature = "v1_18")]
6149    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6150    pub fn nm_ip_routing_rule_set_from(self_: *mut NMIPRoutingRule, from: *const c_char, len: u8);
6151    #[cfg(feature = "v1_18")]
6152    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6153    pub fn nm_ip_routing_rule_set_fwmark(self_: *mut NMIPRoutingRule, fwmark: u32, fwmask: u32);
6154    #[cfg(feature = "v1_18")]
6155    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6156    pub fn nm_ip_routing_rule_set_iifname(self_: *mut NMIPRoutingRule, iifname: *const c_char);
6157    #[cfg(feature = "v1_18")]
6158    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6159    pub fn nm_ip_routing_rule_set_invert(self_: *mut NMIPRoutingRule, invert: gboolean);
6160    #[cfg(feature = "v1_18")]
6161    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6162    pub fn nm_ip_routing_rule_set_ipproto(self_: *mut NMIPRoutingRule, ipproto: u8);
6163    #[cfg(feature = "v1_18")]
6164    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6165    pub fn nm_ip_routing_rule_set_oifname(self_: *mut NMIPRoutingRule, oifname: *const c_char);
6166    #[cfg(feature = "v1_18")]
6167    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6168    pub fn nm_ip_routing_rule_set_priority(self_: *mut NMIPRoutingRule, priority: i64);
6169    #[cfg(feature = "v1_18")]
6170    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6171    pub fn nm_ip_routing_rule_set_source_port(self_: *mut NMIPRoutingRule, start: u16, end: u16);
6172    #[cfg(feature = "v1_20")]
6173    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6174    pub fn nm_ip_routing_rule_set_suppress_prefixlength(
6175        self_: *mut NMIPRoutingRule,
6176        suppress_prefixlength: i32,
6177    );
6178    #[cfg(feature = "v1_18")]
6179    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6180    pub fn nm_ip_routing_rule_set_table(self_: *mut NMIPRoutingRule, table: u32);
6181    #[cfg(feature = "v1_18")]
6182    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6183    pub fn nm_ip_routing_rule_set_to(self_: *mut NMIPRoutingRule, to: *const c_char, len: u8);
6184    #[cfg(feature = "v1_18")]
6185    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6186    pub fn nm_ip_routing_rule_set_tos(self_: *mut NMIPRoutingRule, tos: u8);
6187    #[cfg(feature = "v1_34")]
6188    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
6189    pub fn nm_ip_routing_rule_set_uid_range(
6190        self_: *mut NMIPRoutingRule,
6191        uid_range_start: u32,
6192        uid_range_end: u32,
6193    );
6194    #[cfg(feature = "v1_18")]
6195    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6196    pub fn nm_ip_routing_rule_to_string(
6197        self_: *const NMIPRoutingRule,
6198        to_string_flags: NMIPRoutingRuleAsStringFlags,
6199        extra_args: *mut glib::GHashTable,
6200        error: *mut *mut glib::GError,
6201    ) -> *mut c_char;
6202    #[cfg(feature = "v1_18")]
6203    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6204    pub fn nm_ip_routing_rule_unref(self_: *mut NMIPRoutingRule);
6205    #[cfg(feature = "v1_18")]
6206    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6207    pub fn nm_ip_routing_rule_validate(
6208        self_: *const NMIPRoutingRule,
6209        error: *mut *mut glib::GError,
6210    ) -> gboolean;
6211    #[cfg(feature = "v1_18")]
6212    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6213    pub fn nm_ip_routing_rule_from_string(
6214        str: *const c_char,
6215        to_string_flags: NMIPRoutingRuleAsStringFlags,
6216        extra_args: *mut glib::GHashTable,
6217        error: *mut *mut glib::GError,
6218    ) -> *mut NMIPRoutingRule;
6219
6220    //=========================================================================
6221    // NMKeyfileHandlerData
6222    //=========================================================================
6223    #[cfg(feature = "v1_30")]
6224    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
6225    pub fn nm_keyfile_handler_data_fail_with_error(
6226        handler_data: *mut NMKeyfileHandlerData,
6227        src: *mut glib::GError,
6228    );
6229    #[cfg(feature = "v1_30")]
6230    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
6231    pub fn nm_keyfile_handler_data_get_context(
6232        handler_data: *const NMKeyfileHandlerData,
6233        out_kf_group_name: *mut *const c_char,
6234        out_kf_key_name: *mut *const c_char,
6235        out_cur_setting: *mut *mut NMSetting,
6236        out_cur_property_name: *mut *const c_char,
6237    );
6238    #[cfg(feature = "v1_30")]
6239    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
6240    pub fn nm_keyfile_handler_data_warn_get(
6241        handler_data: *const NMKeyfileHandlerData,
6242        out_message: *mut *const c_char,
6243        out_severity: *mut NMKeyfileWarnSeverity,
6244    );
6245
6246    //=========================================================================
6247    // NMLldpNeighbor
6248    //=========================================================================
6249    pub fn nm_lldp_neighbor_get_type() -> GType;
6250    #[cfg(feature = "v1_2")]
6251    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6252    pub fn nm_lldp_neighbor_new() -> *mut NMLldpNeighbor;
6253    #[cfg(feature = "v1_2")]
6254    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6255    pub fn nm_lldp_neighbor_get_attr_names(neighbor: *mut NMLldpNeighbor) -> *mut *mut c_char;
6256    #[cfg(feature = "v1_2")]
6257    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6258    pub fn nm_lldp_neighbor_get_attr_string_value(
6259        neighbor: *mut NMLldpNeighbor,
6260        name: *const c_char,
6261        out_value: *mut *const c_char,
6262    ) -> gboolean;
6263    #[cfg(feature = "v1_2")]
6264    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6265    pub fn nm_lldp_neighbor_get_attr_type(
6266        neighbor: *mut NMLldpNeighbor,
6267        name: *const c_char,
6268    ) -> *const glib::GVariantType;
6269    #[cfg(feature = "v1_2")]
6270    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6271    pub fn nm_lldp_neighbor_get_attr_uint_value(
6272        neighbor: *mut NMLldpNeighbor,
6273        name: *const c_char,
6274        out_value: *mut c_uint,
6275    ) -> gboolean;
6276    #[cfg(feature = "v1_18")]
6277    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6278    pub fn nm_lldp_neighbor_get_attr_value(
6279        neighbor: *mut NMLldpNeighbor,
6280        name: *const c_char,
6281    ) -> *mut glib::GVariant;
6282    #[cfg(feature = "v1_2")]
6283    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6284    pub fn nm_lldp_neighbor_ref(neighbor: *mut NMLldpNeighbor);
6285    #[cfg(feature = "v1_2")]
6286    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6287    pub fn nm_lldp_neighbor_unref(neighbor: *mut NMLldpNeighbor);
6288
6289    //=========================================================================
6290    // NMRange
6291    //=========================================================================
6292    pub fn nm_range_get_type() -> GType;
6293    #[cfg(feature = "v1_42")]
6294    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6295    pub fn nm_range_new(start: u64, end: u64) -> *mut NMRange;
6296    #[cfg(feature = "v1_42")]
6297    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6298    pub fn nm_range_cmp(a: *const NMRange, b: *const NMRange) -> c_int;
6299    #[cfg(feature = "v1_42")]
6300    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6301    pub fn nm_range_get_range(range: *const NMRange, start: *mut u64, end: *mut u64) -> gboolean;
6302    #[cfg(feature = "v1_42")]
6303    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6304    pub fn nm_range_ref(range: *const NMRange) -> *mut NMRange;
6305    #[cfg(feature = "v1_42")]
6306    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6307    pub fn nm_range_to_str(range: *const NMRange) -> *mut c_char;
6308    #[cfg(feature = "v1_42")]
6309    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6310    pub fn nm_range_unref(range: *const NMRange);
6311    #[cfg(feature = "v1_42")]
6312    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6313    pub fn nm_range_from_str(str: *const c_char, error: *mut *mut glib::GError) -> *mut NMRange;
6314
6315    //=========================================================================
6316    // NMSriovVF
6317    //=========================================================================
6318    pub fn nm_sriov_vf_get_type() -> GType;
6319    #[cfg(feature = "v1_14")]
6320    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6321    pub fn nm_sriov_vf_new(index: c_uint) -> *mut NMSriovVF;
6322    #[cfg(feature = "v1_14")]
6323    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6324    pub fn nm_sriov_vf_add_vlan(vf: *mut NMSriovVF, vlan_id: c_uint) -> gboolean;
6325    #[cfg(feature = "v1_14")]
6326    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6327    pub fn nm_sriov_vf_dup(vf: *const NMSriovVF) -> *mut NMSriovVF;
6328    #[cfg(feature = "v1_14")]
6329    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6330    pub fn nm_sriov_vf_equal(vf: *const NMSriovVF, other: *const NMSriovVF) -> gboolean;
6331    #[cfg(feature = "v1_14")]
6332    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6333    pub fn nm_sriov_vf_get_attribute(
6334        vf: *const NMSriovVF,
6335        name: *const c_char,
6336    ) -> *mut glib::GVariant;
6337    #[cfg(feature = "v1_14")]
6338    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6339    pub fn nm_sriov_vf_get_attribute_names(vf: *const NMSriovVF) -> *mut *const c_char;
6340    #[cfg(feature = "v1_14")]
6341    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6342    pub fn nm_sriov_vf_get_index(vf: *const NMSriovVF) -> c_uint;
6343    #[cfg(feature = "v1_14")]
6344    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6345    pub fn nm_sriov_vf_get_vlan_ids(vf: *const NMSriovVF, length: *mut c_uint) -> *const c_uint;
6346    #[cfg(feature = "v1_14")]
6347    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6348    pub fn nm_sriov_vf_get_vlan_protocol(
6349        vf: *const NMSriovVF,
6350        vlan_id: c_uint,
6351    ) -> NMSriovVFVlanProtocol;
6352    #[cfg(feature = "v1_14")]
6353    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6354    pub fn nm_sriov_vf_get_vlan_qos(vf: *const NMSriovVF, vlan_id: c_uint) -> u32;
6355    #[cfg(feature = "v1_14")]
6356    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6357    pub fn nm_sriov_vf_ref(vf: *mut NMSriovVF);
6358    #[cfg(feature = "v1_14")]
6359    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6360    pub fn nm_sriov_vf_remove_vlan(vf: *mut NMSriovVF, vlan_id: c_uint) -> gboolean;
6361    #[cfg(feature = "v1_14")]
6362    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6363    pub fn nm_sriov_vf_set_attribute(
6364        vf: *mut NMSriovVF,
6365        name: *const c_char,
6366        value: *mut glib::GVariant,
6367    );
6368    #[cfg(feature = "v1_14")]
6369    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6370    pub fn nm_sriov_vf_set_vlan_protocol(
6371        vf: *mut NMSriovVF,
6372        vlan_id: c_uint,
6373        protocol: NMSriovVFVlanProtocol,
6374    );
6375    #[cfg(feature = "v1_14")]
6376    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6377    pub fn nm_sriov_vf_set_vlan_qos(vf: *mut NMSriovVF, vlan_id: c_uint, qos: u32);
6378    #[cfg(feature = "v1_14")]
6379    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
6380    pub fn nm_sriov_vf_unref(vf: *mut NMSriovVF);
6381    #[cfg(feature = "v1_42")]
6382    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6383    pub fn nm_sriov_vf_attribute_validate(
6384        name: *const c_char,
6385        value: *mut glib::GVariant,
6386        known: *mut gboolean,
6387        error: *mut *mut glib::GError,
6388    ) -> gboolean;
6389
6390    //=========================================================================
6391    // NMTCAction
6392    //=========================================================================
6393    pub fn nm_tc_action_get_type() -> GType;
6394    #[cfg(feature = "v1_12")]
6395    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6396    pub fn nm_tc_action_new(kind: *const c_char, error: *mut *mut glib::GError) -> *mut NMTCAction;
6397    #[cfg(feature = "v1_12")]
6398    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6399    pub fn nm_tc_action_dup(action: *mut NMTCAction) -> *mut NMTCAction;
6400    #[cfg(feature = "v1_12")]
6401    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6402    pub fn nm_tc_action_equal(action: *mut NMTCAction, other: *mut NMTCAction) -> gboolean;
6403    #[cfg(feature = "v1_12")]
6404    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6405    pub fn nm_tc_action_get_attribute(
6406        action: *mut NMTCAction,
6407        name: *const c_char,
6408    ) -> *mut glib::GVariant;
6409    #[cfg(feature = "v1_12")]
6410    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6411    pub fn nm_tc_action_get_attribute_names(action: *mut NMTCAction) -> *mut *mut c_char;
6412    #[cfg(feature = "v1_12")]
6413    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6414    pub fn nm_tc_action_get_kind(action: *mut NMTCAction) -> *const c_char;
6415    #[cfg(feature = "v1_12")]
6416    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6417    pub fn nm_tc_action_ref(action: *mut NMTCAction);
6418    #[cfg(feature = "v1_12")]
6419    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6420    pub fn nm_tc_action_set_attribute(
6421        action: *mut NMTCAction,
6422        name: *const c_char,
6423        value: *mut glib::GVariant,
6424    );
6425    #[cfg(feature = "v1_12")]
6426    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6427    pub fn nm_tc_action_unref(action: *mut NMTCAction);
6428
6429    //=========================================================================
6430    // NMTCQdisc
6431    //=========================================================================
6432    pub fn nm_tc_qdisc_get_type() -> GType;
6433    #[cfg(feature = "v1_12")]
6434    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6435    pub fn nm_tc_qdisc_new(
6436        kind: *const c_char,
6437        parent: u32,
6438        error: *mut *mut glib::GError,
6439    ) -> *mut NMTCQdisc;
6440    #[cfg(feature = "v1_12")]
6441    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6442    pub fn nm_tc_qdisc_dup(qdisc: *mut NMTCQdisc) -> *mut NMTCQdisc;
6443    #[cfg(feature = "v1_12")]
6444    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6445    pub fn nm_tc_qdisc_equal(qdisc: *mut NMTCQdisc, other: *mut NMTCQdisc) -> gboolean;
6446    #[cfg(feature = "v1_18")]
6447    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6448    pub fn nm_tc_qdisc_get_attribute(
6449        qdisc: *mut NMTCQdisc,
6450        name: *const c_char,
6451    ) -> *mut glib::GVariant;
6452    #[cfg(feature = "v1_18")]
6453    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6454    pub fn nm_tc_qdisc_get_attribute_names(qdisc: *mut NMTCQdisc) -> *mut *const c_char;
6455    #[cfg(feature = "v1_12")]
6456    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6457    pub fn nm_tc_qdisc_get_handle(qdisc: *mut NMTCQdisc) -> u32;
6458    #[cfg(feature = "v1_12")]
6459    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6460    pub fn nm_tc_qdisc_get_kind(qdisc: *mut NMTCQdisc) -> *const c_char;
6461    #[cfg(feature = "v1_12")]
6462    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6463    pub fn nm_tc_qdisc_get_parent(qdisc: *mut NMTCQdisc) -> u32;
6464    #[cfg(feature = "v1_12")]
6465    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6466    pub fn nm_tc_qdisc_ref(qdisc: *mut NMTCQdisc);
6467    #[cfg(feature = "v1_18")]
6468    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6469    pub fn nm_tc_qdisc_set_attribute(
6470        qdisc: *mut NMTCQdisc,
6471        name: *const c_char,
6472        value: *mut glib::GVariant,
6473    );
6474    #[cfg(feature = "v1_12")]
6475    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6476    pub fn nm_tc_qdisc_set_handle(qdisc: *mut NMTCQdisc, handle: u32);
6477    #[cfg(feature = "v1_12")]
6478    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6479    pub fn nm_tc_qdisc_unref(qdisc: *mut NMTCQdisc);
6480
6481    //=========================================================================
6482    // NMTCTfilter
6483    //=========================================================================
6484    pub fn nm_tc_tfilter_get_type() -> GType;
6485    #[cfg(feature = "v1_12")]
6486    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6487    pub fn nm_tc_tfilter_new(
6488        kind: *const c_char,
6489        parent: u32,
6490        error: *mut *mut glib::GError,
6491    ) -> *mut NMTCTfilter;
6492    #[cfg(feature = "v1_12")]
6493    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6494    pub fn nm_tc_tfilter_dup(tfilter: *mut NMTCTfilter) -> *mut NMTCTfilter;
6495    #[cfg(feature = "v1_12")]
6496    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6497    pub fn nm_tc_tfilter_equal(tfilter: *mut NMTCTfilter, other: *mut NMTCTfilter) -> gboolean;
6498    #[cfg(feature = "v1_42")]
6499    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6500    pub fn nm_tc_tfilter_get_action(tfilter: *mut NMTCTfilter) -> *mut NMTCAction;
6501    #[cfg(feature = "v1_12")]
6502    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6503    pub fn nm_tc_tfilter_get_handle(tfilter: *mut NMTCTfilter) -> u32;
6504    #[cfg(feature = "v1_12")]
6505    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6506    pub fn nm_tc_tfilter_get_kind(tfilter: *mut NMTCTfilter) -> *const c_char;
6507    #[cfg(feature = "v1_12")]
6508    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6509    pub fn nm_tc_tfilter_get_parent(tfilter: *mut NMTCTfilter) -> u32;
6510    #[cfg(feature = "v1_12")]
6511    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6512    pub fn nm_tc_tfilter_ref(tfilter: *mut NMTCTfilter);
6513    #[cfg(feature = "v1_42")]
6514    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6515    pub fn nm_tc_tfilter_set_action(tfilter: *mut NMTCTfilter, action: *mut NMTCAction);
6516    #[cfg(feature = "v1_12")]
6517    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6518    pub fn nm_tc_tfilter_set_handle(tfilter: *mut NMTCTfilter, handle: u32);
6519    #[cfg(feature = "v1_12")]
6520    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6521    pub fn nm_tc_tfilter_unref(tfilter: *mut NMTCTfilter);
6522
6523    //=========================================================================
6524    // NMTeamLinkWatcher
6525    //=========================================================================
6526    pub fn nm_team_link_watcher_get_type() -> GType;
6527    #[cfg(feature = "v1_12")]
6528    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6529    pub fn nm_team_link_watcher_new_arp_ping(
6530        init_wait: c_int,
6531        interval: c_int,
6532        missed_max: c_int,
6533        target_host: *const c_char,
6534        source_host: *const c_char,
6535        flags: NMTeamLinkWatcherArpPingFlags,
6536        error: *mut *mut glib::GError,
6537    ) -> *mut NMTeamLinkWatcher;
6538    #[cfg(feature = "v1_16")]
6539    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6540    pub fn nm_team_link_watcher_new_arp_ping2(
6541        init_wait: c_int,
6542        interval: c_int,
6543        missed_max: c_int,
6544        vlanid: c_int,
6545        target_host: *const c_char,
6546        source_host: *const c_char,
6547        flags: NMTeamLinkWatcherArpPingFlags,
6548        error: *mut *mut glib::GError,
6549    ) -> *mut NMTeamLinkWatcher;
6550    #[cfg(feature = "v1_12")]
6551    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6552    pub fn nm_team_link_watcher_new_ethtool(
6553        delay_up: c_int,
6554        delay_down: c_int,
6555        error: *mut *mut glib::GError,
6556    ) -> *mut NMTeamLinkWatcher;
6557    #[cfg(feature = "v1_12")]
6558    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6559    pub fn nm_team_link_watcher_new_nsna_ping(
6560        init_wait: c_int,
6561        interval: c_int,
6562        missed_max: c_int,
6563        target_host: *const c_char,
6564        error: *mut *mut glib::GError,
6565    ) -> *mut NMTeamLinkWatcher;
6566    #[cfg(feature = "v1_12")]
6567    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6568    pub fn nm_team_link_watcher_dup(watcher: *const NMTeamLinkWatcher) -> *mut NMTeamLinkWatcher;
6569    #[cfg(feature = "v1_12")]
6570    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6571    pub fn nm_team_link_watcher_equal(
6572        watcher: *const NMTeamLinkWatcher,
6573        other: *const NMTeamLinkWatcher,
6574    ) -> gboolean;
6575    #[cfg(feature = "v1_12")]
6576    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6577    pub fn nm_team_link_watcher_get_delay_down(watcher: *const NMTeamLinkWatcher) -> c_int;
6578    #[cfg(feature = "v1_12")]
6579    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6580    pub fn nm_team_link_watcher_get_delay_up(watcher: *const NMTeamLinkWatcher) -> c_int;
6581    #[cfg(feature = "v1_12")]
6582    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6583    pub fn nm_team_link_watcher_get_flags(
6584        watcher: *const NMTeamLinkWatcher,
6585    ) -> NMTeamLinkWatcherArpPingFlags;
6586    #[cfg(feature = "v1_12")]
6587    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6588    pub fn nm_team_link_watcher_get_init_wait(watcher: *const NMTeamLinkWatcher) -> c_int;
6589    #[cfg(feature = "v1_12")]
6590    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6591    pub fn nm_team_link_watcher_get_interval(watcher: *const NMTeamLinkWatcher) -> c_int;
6592    #[cfg(feature = "v1_12")]
6593    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6594    pub fn nm_team_link_watcher_get_missed_max(watcher: *const NMTeamLinkWatcher) -> c_int;
6595    #[cfg(feature = "v1_12")]
6596    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6597    pub fn nm_team_link_watcher_get_name(watcher: *const NMTeamLinkWatcher) -> *const c_char;
6598    #[cfg(feature = "v1_12")]
6599    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6600    pub fn nm_team_link_watcher_get_source_host(watcher: *const NMTeamLinkWatcher)
6601        -> *const c_char;
6602    #[cfg(feature = "v1_12")]
6603    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6604    pub fn nm_team_link_watcher_get_target_host(watcher: *const NMTeamLinkWatcher)
6605        -> *const c_char;
6606    #[cfg(feature = "v1_16")]
6607    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6608    pub fn nm_team_link_watcher_get_vlanid(watcher: *const NMTeamLinkWatcher) -> c_int;
6609    #[cfg(feature = "v1_12")]
6610    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6611    pub fn nm_team_link_watcher_ref(watcher: *mut NMTeamLinkWatcher);
6612    #[cfg(feature = "v1_12")]
6613    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6614    pub fn nm_team_link_watcher_unref(watcher: *mut NMTeamLinkWatcher);
6615
6616    //=========================================================================
6617    // NMWireGuardPeer
6618    //=========================================================================
6619    #[cfg(feature = "v1_16")]
6620    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6621    pub fn nm_wireguard_peer_get_type() -> GType;
6622    #[cfg(feature = "v1_16")]
6623    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6624    pub fn nm_wireguard_peer_new() -> *mut NMWireGuardPeer;
6625    #[cfg(feature = "v1_16")]
6626    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6627    pub fn nm_wireguard_peer_append_allowed_ip(
6628        self_: *mut NMWireGuardPeer,
6629        allowed_ip: *const c_char,
6630        accept_invalid: gboolean,
6631    ) -> gboolean;
6632    #[cfg(feature = "v1_16")]
6633    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6634    pub fn nm_wireguard_peer_clear_allowed_ips(self_: *mut NMWireGuardPeer);
6635    #[cfg(feature = "v1_16")]
6636    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6637    pub fn nm_wireguard_peer_cmp(
6638        a: *const NMWireGuardPeer,
6639        b: *const NMWireGuardPeer,
6640        compare_flags: NMSettingCompareFlags,
6641    ) -> c_int;
6642    #[cfg(feature = "v1_16")]
6643    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6644    pub fn nm_wireguard_peer_get_allowed_ip(
6645        self_: *const NMWireGuardPeer,
6646        idx: c_uint,
6647        out_is_valid: *mut gboolean,
6648    ) -> *const c_char;
6649    #[cfg(feature = "v1_16")]
6650    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6651    pub fn nm_wireguard_peer_get_allowed_ips_len(self_: *const NMWireGuardPeer) -> c_uint;
6652    #[cfg(feature = "v1_16")]
6653    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6654    pub fn nm_wireguard_peer_get_endpoint(self_: *const NMWireGuardPeer) -> *const c_char;
6655    #[cfg(feature = "v1_16")]
6656    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6657    pub fn nm_wireguard_peer_get_persistent_keepalive(self_: *const NMWireGuardPeer) -> u16;
6658    #[cfg(feature = "v1_16")]
6659    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6660    pub fn nm_wireguard_peer_get_preshared_key(self_: *const NMWireGuardPeer) -> *const c_char;
6661    #[cfg(feature = "v1_16")]
6662    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6663    pub fn nm_wireguard_peer_get_preshared_key_flags(
6664        self_: *const NMWireGuardPeer,
6665    ) -> NMSettingSecretFlags;
6666    #[cfg(feature = "v1_16")]
6667    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6668    pub fn nm_wireguard_peer_get_public_key(self_: *const NMWireGuardPeer) -> *const c_char;
6669    #[cfg(feature = "v1_16")]
6670    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6671    pub fn nm_wireguard_peer_is_sealed(self_: *const NMWireGuardPeer) -> gboolean;
6672    #[cfg(feature = "v1_16")]
6673    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6674    pub fn nm_wireguard_peer_is_valid(
6675        self_: *const NMWireGuardPeer,
6676        check_non_secrets: gboolean,
6677        check_secrets: gboolean,
6678        error: *mut *mut glib::GError,
6679    ) -> gboolean;
6680    #[cfg(feature = "v1_16")]
6681    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6682    pub fn nm_wireguard_peer_new_clone(
6683        self_: *const NMWireGuardPeer,
6684        with_secrets: gboolean,
6685    ) -> *mut NMWireGuardPeer;
6686    #[cfg(feature = "v1_16")]
6687    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6688    pub fn nm_wireguard_peer_ref(self_: *mut NMWireGuardPeer) -> *mut NMWireGuardPeer;
6689    #[cfg(feature = "v1_16")]
6690    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6691    pub fn nm_wireguard_peer_remove_allowed_ip(
6692        self_: *mut NMWireGuardPeer,
6693        idx: c_uint,
6694    ) -> gboolean;
6695    #[cfg(feature = "v1_16")]
6696    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6697    pub fn nm_wireguard_peer_seal(self_: *mut NMWireGuardPeer);
6698    #[cfg(feature = "v1_16")]
6699    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6700    pub fn nm_wireguard_peer_set_endpoint(
6701        self_: *mut NMWireGuardPeer,
6702        endpoint: *const c_char,
6703        allow_invalid: gboolean,
6704    ) -> gboolean;
6705    #[cfg(feature = "v1_16")]
6706    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6707    pub fn nm_wireguard_peer_set_persistent_keepalive(
6708        self_: *mut NMWireGuardPeer,
6709        persistent_keepalive: u16,
6710    );
6711    #[cfg(feature = "v1_16")]
6712    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6713    pub fn nm_wireguard_peer_set_preshared_key(
6714        self_: *mut NMWireGuardPeer,
6715        preshared_key: *const c_char,
6716        accept_invalid: gboolean,
6717    ) -> gboolean;
6718    #[cfg(feature = "v1_16")]
6719    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6720    pub fn nm_wireguard_peer_set_preshared_key_flags(
6721        self_: *mut NMWireGuardPeer,
6722        preshared_key_flags: NMSettingSecretFlags,
6723    );
6724    #[cfg(feature = "v1_16")]
6725    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6726    pub fn nm_wireguard_peer_set_public_key(
6727        self_: *mut NMWireGuardPeer,
6728        public_key: *const c_char,
6729        accept_invalid: gboolean,
6730    ) -> gboolean;
6731    #[cfg(feature = "v1_16")]
6732    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6733    pub fn nm_wireguard_peer_unref(self_: *mut NMWireGuardPeer);
6734
6735    //=========================================================================
6736    // NMAccessPoint
6737    //=========================================================================
6738    pub fn nm_access_point_get_type() -> GType;
6739    pub fn nm_access_point_connection_valid(
6740        ap: *mut NMAccessPoint,
6741        connection: *mut NMConnection,
6742    ) -> gboolean;
6743    pub fn nm_access_point_filter_connections(
6744        ap: *mut NMAccessPoint,
6745        connections: *const glib::GPtrArray,
6746    ) -> *mut glib::GPtrArray;
6747    #[cfg(feature = "v1_46")]
6748    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
6749    pub fn nm_access_point_get_bandwidth(ap: *mut NMAccessPoint) -> u32;
6750    pub fn nm_access_point_get_bssid(ap: *mut NMAccessPoint) -> *const c_char;
6751    pub fn nm_access_point_get_flags(ap: *mut NMAccessPoint) -> NM80211ApFlags;
6752    pub fn nm_access_point_get_frequency(ap: *mut NMAccessPoint) -> u32;
6753    #[cfg(feature = "v1_2")]
6754    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
6755    pub fn nm_access_point_get_last_seen(ap: *mut NMAccessPoint) -> c_int;
6756    pub fn nm_access_point_get_max_bitrate(ap: *mut NMAccessPoint) -> u32;
6757    pub fn nm_access_point_get_mode(ap: *mut NMAccessPoint) -> NM80211Mode;
6758    pub fn nm_access_point_get_rsn_flags(ap: *mut NMAccessPoint) -> NM80211ApSecurityFlags;
6759    pub fn nm_access_point_get_ssid(ap: *mut NMAccessPoint) -> *mut glib::GBytes;
6760    pub fn nm_access_point_get_strength(ap: *mut NMAccessPoint) -> u8;
6761    pub fn nm_access_point_get_wpa_flags(ap: *mut NMAccessPoint) -> NM80211ApSecurityFlags;
6762
6763    //=========================================================================
6764    // NMActiveConnection
6765    //=========================================================================
6766    pub fn nm_active_connection_get_type() -> GType;
6767    pub fn nm_active_connection_get_connection(
6768        connection: *mut NMActiveConnection,
6769    ) -> *mut NMRemoteConnection;
6770    pub fn nm_active_connection_get_connection_type(
6771        connection: *mut NMActiveConnection,
6772    ) -> *const c_char;
6773    #[cfg(feature = "v1_44")]
6774    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
6775    pub fn nm_active_connection_get_controller(
6776        connection: *mut NMActiveConnection,
6777    ) -> *mut NMDevice;
6778    pub fn nm_active_connection_get_default(connection: *mut NMActiveConnection) -> gboolean;
6779    pub fn nm_active_connection_get_default6(connection: *mut NMActiveConnection) -> gboolean;
6780    pub fn nm_active_connection_get_devices(
6781        connection: *mut NMActiveConnection,
6782    ) -> *const glib::GPtrArray;
6783    pub fn nm_active_connection_get_dhcp4_config(
6784        connection: *mut NMActiveConnection,
6785    ) -> *mut NMDhcpConfig;
6786    pub fn nm_active_connection_get_dhcp6_config(
6787        connection: *mut NMActiveConnection,
6788    ) -> *mut NMDhcpConfig;
6789    pub fn nm_active_connection_get_id(connection: *mut NMActiveConnection) -> *const c_char;
6790    pub fn nm_active_connection_get_ip4_config(
6791        connection: *mut NMActiveConnection,
6792    ) -> *mut NMIPConfig;
6793    pub fn nm_active_connection_get_ip6_config(
6794        connection: *mut NMActiveConnection,
6795    ) -> *mut NMIPConfig;
6796    pub fn nm_active_connection_get_master(connection: *mut NMActiveConnection) -> *mut NMDevice;
6797    pub fn nm_active_connection_get_specific_object_path(
6798        connection: *mut NMActiveConnection,
6799    ) -> *const c_char;
6800    pub fn nm_active_connection_get_state(
6801        connection: *mut NMActiveConnection,
6802    ) -> NMActiveConnectionState;
6803    #[cfg(feature = "v1_10")]
6804    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
6805    pub fn nm_active_connection_get_state_flags(
6806        connection: *mut NMActiveConnection,
6807    ) -> NMActivationStateFlags;
6808    #[cfg(feature = "v1_8")]
6809    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
6810    pub fn nm_active_connection_get_state_reason(
6811        connection: *mut NMActiveConnection,
6812    ) -> NMActiveConnectionStateReason;
6813    pub fn nm_active_connection_get_uuid(connection: *mut NMActiveConnection) -> *const c_char;
6814    pub fn nm_active_connection_get_vpn(connection: *mut NMActiveConnection) -> gboolean;
6815
6816    //=========================================================================
6817    // NMCheckpoint
6818    //=========================================================================
6819    #[cfg(feature = "v1_12")]
6820    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6821    pub fn nm_checkpoint_get_type() -> GType;
6822    #[cfg(feature = "v1_12")]
6823    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6824    pub fn nm_checkpoint_get_created(checkpoint: *mut NMCheckpoint) -> i64;
6825    #[cfg(feature = "v1_12")]
6826    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6827    pub fn nm_checkpoint_get_devices(checkpoint: *mut NMCheckpoint) -> *const glib::GPtrArray;
6828    #[cfg(feature = "v1_12")]
6829    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6830    pub fn nm_checkpoint_get_rollback_timeout(checkpoint: *mut NMCheckpoint) -> u32;
6831
6832    //=========================================================================
6833    // NMClient
6834    //=========================================================================
6835    pub fn nm_client_get_type() -> GType;
6836    pub fn nm_client_new(
6837        cancellable: *mut gio::GCancellable,
6838        error: *mut *mut glib::GError,
6839    ) -> *mut NMClient;
6840    pub fn nm_client_new_finish(
6841        result: *mut gio::GAsyncResult,
6842        error: *mut *mut glib::GError,
6843    ) -> *mut NMClient;
6844    pub fn nm_client_new_async(
6845        cancellable: *mut gio::GCancellable,
6846        callback: gio::GAsyncReadyCallback,
6847        user_data: gpointer,
6848    );
6849    #[cfg(feature = "v1_42")]
6850    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
6851    pub fn nm_client_wait_shutdown_finish(
6852        result: *mut gio::GAsyncResult,
6853        error: *mut *mut glib::GError,
6854    ) -> gboolean;
6855    pub fn nm_client_activate_connection_async(
6856        client: *mut NMClient,
6857        connection: *mut NMConnection,
6858        device: *mut NMDevice,
6859        specific_object: *const c_char,
6860        cancellable: *mut gio::GCancellable,
6861        callback: gio::GAsyncReadyCallback,
6862        user_data: gpointer,
6863    );
6864    pub fn nm_client_activate_connection_finish(
6865        client: *mut NMClient,
6866        result: *mut gio::GAsyncResult,
6867        error: *mut *mut glib::GError,
6868    ) -> *mut NMActiveConnection;
6869    #[cfg(feature = "v1_16")]
6870    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6871    pub fn nm_client_add_and_activate_connection2(
6872        client: *mut NMClient,
6873        partial: *mut NMConnection,
6874        device: *mut NMDevice,
6875        specific_object: *const c_char,
6876        options: *mut glib::GVariant,
6877        cancellable: *mut gio::GCancellable,
6878        callback: gio::GAsyncReadyCallback,
6879        user_data: gpointer,
6880    );
6881    #[cfg(feature = "v1_16")]
6882    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6883    pub fn nm_client_add_and_activate_connection2_finish(
6884        client: *mut NMClient,
6885        result: *mut gio::GAsyncResult,
6886        out_result: *mut *mut glib::GVariant,
6887        error: *mut *mut glib::GError,
6888    ) -> *mut NMActiveConnection;
6889    pub fn nm_client_add_and_activate_connection_async(
6890        client: *mut NMClient,
6891        partial: *mut NMConnection,
6892        device: *mut NMDevice,
6893        specific_object: *const c_char,
6894        cancellable: *mut gio::GCancellable,
6895        callback: gio::GAsyncReadyCallback,
6896        user_data: gpointer,
6897    );
6898    pub fn nm_client_add_and_activate_connection_finish(
6899        client: *mut NMClient,
6900        result: *mut gio::GAsyncResult,
6901        error: *mut *mut glib::GError,
6902    ) -> *mut NMActiveConnection;
6903    #[cfg(feature = "v1_20")]
6904    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6905    pub fn nm_client_add_connection2(
6906        client: *mut NMClient,
6907        settings: *mut glib::GVariant,
6908        flags: NMSettingsAddConnection2Flags,
6909        args: *mut glib::GVariant,
6910        ignore_out_result: gboolean,
6911        cancellable: *mut gio::GCancellable,
6912        callback: gio::GAsyncReadyCallback,
6913        user_data: gpointer,
6914    );
6915    #[cfg(feature = "v1_20")]
6916    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6917    pub fn nm_client_add_connection2_finish(
6918        client: *mut NMClient,
6919        result: *mut gio::GAsyncResult,
6920        out_result: *mut *mut glib::GVariant,
6921        error: *mut *mut glib::GError,
6922    ) -> *mut NMRemoteConnection;
6923    pub fn nm_client_add_connection_async(
6924        client: *mut NMClient,
6925        connection: *mut NMConnection,
6926        save_to_disk: gboolean,
6927        cancellable: *mut gio::GCancellable,
6928        callback: gio::GAsyncReadyCallback,
6929        user_data: gpointer,
6930    );
6931    pub fn nm_client_add_connection_finish(
6932        client: *mut NMClient,
6933        result: *mut gio::GAsyncResult,
6934        error: *mut *mut glib::GError,
6935    ) -> *mut NMRemoteConnection;
6936    pub fn nm_client_check_connectivity(
6937        client: *mut NMClient,
6938        cancellable: *mut gio::GCancellable,
6939        error: *mut *mut glib::GError,
6940    ) -> NMConnectivityState;
6941    pub fn nm_client_check_connectivity_async(
6942        client: *mut NMClient,
6943        cancellable: *mut gio::GCancellable,
6944        callback: gio::GAsyncReadyCallback,
6945        user_data: gpointer,
6946    );
6947    pub fn nm_client_check_connectivity_finish(
6948        client: *mut NMClient,
6949        result: *mut gio::GAsyncResult,
6950        error: *mut *mut glib::GError,
6951    ) -> NMConnectivityState;
6952    #[cfg(feature = "v1_12")]
6953    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6954    pub fn nm_client_checkpoint_adjust_rollback_timeout(
6955        client: *mut NMClient,
6956        checkpoint_path: *const c_char,
6957        add_timeout: u32,
6958        cancellable: *mut gio::GCancellable,
6959        callback: gio::GAsyncReadyCallback,
6960        user_data: gpointer,
6961    );
6962    #[cfg(feature = "v1_12")]
6963    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6964    pub fn nm_client_checkpoint_adjust_rollback_timeout_finish(
6965        client: *mut NMClient,
6966        result: *mut gio::GAsyncResult,
6967        error: *mut *mut glib::GError,
6968    ) -> gboolean;
6969    #[cfg(feature = "v1_12")]
6970    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6971    pub fn nm_client_checkpoint_create(
6972        client: *mut NMClient,
6973        devices: *const glib::GPtrArray,
6974        rollback_timeout: u32,
6975        flags: NMCheckpointCreateFlags,
6976        cancellable: *mut gio::GCancellable,
6977        callback: gio::GAsyncReadyCallback,
6978        user_data: gpointer,
6979    );
6980    #[cfg(feature = "v1_12")]
6981    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6982    pub fn nm_client_checkpoint_create_finish(
6983        client: *mut NMClient,
6984        result: *mut gio::GAsyncResult,
6985        error: *mut *mut glib::GError,
6986    ) -> *mut NMCheckpoint;
6987    #[cfg(feature = "v1_12")]
6988    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6989    pub fn nm_client_checkpoint_destroy(
6990        client: *mut NMClient,
6991        checkpoint_path: *const c_char,
6992        cancellable: *mut gio::GCancellable,
6993        callback: gio::GAsyncReadyCallback,
6994        user_data: gpointer,
6995    );
6996    #[cfg(feature = "v1_12")]
6997    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
6998    pub fn nm_client_checkpoint_destroy_finish(
6999        client: *mut NMClient,
7000        result: *mut gio::GAsyncResult,
7001        error: *mut *mut glib::GError,
7002    ) -> gboolean;
7003    #[cfg(feature = "v1_12")]
7004    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
7005    pub fn nm_client_checkpoint_rollback(
7006        client: *mut NMClient,
7007        checkpoint_path: *const c_char,
7008        cancellable: *mut gio::GCancellable,
7009        callback: gio::GAsyncReadyCallback,
7010        user_data: gpointer,
7011    );
7012    #[cfg(feature = "v1_12")]
7013    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
7014    pub fn nm_client_checkpoint_rollback_finish(
7015        client: *mut NMClient,
7016        result: *mut gio::GAsyncResult,
7017        error: *mut *mut glib::GError,
7018    ) -> *mut glib::GHashTable;
7019    #[cfg(feature = "v1_10")]
7020    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7021    pub fn nm_client_connectivity_check_get_available(client: *mut NMClient) -> gboolean;
7022    #[cfg(feature = "v1_10")]
7023    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7024    pub fn nm_client_connectivity_check_get_enabled(client: *mut NMClient) -> gboolean;
7025    #[cfg(feature = "v1_20")]
7026    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7027    pub fn nm_client_connectivity_check_get_uri(client: *mut NMClient) -> *const c_char;
7028    #[cfg(feature = "v1_10")]
7029    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7030    pub fn nm_client_connectivity_check_set_enabled(client: *mut NMClient, enabled: gboolean);
7031    #[cfg(feature = "v1_24")]
7032    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7033    pub fn nm_client_dbus_call(
7034        client: *mut NMClient,
7035        object_path: *const c_char,
7036        interface_name: *const c_char,
7037        method_name: *const c_char,
7038        parameters: *mut glib::GVariant,
7039        reply_type: *const glib::GVariantType,
7040        timeout_msec: c_int,
7041        cancellable: *mut gio::GCancellable,
7042        callback: gio::GAsyncReadyCallback,
7043        user_data: gpointer,
7044    );
7045    #[cfg(feature = "v1_24")]
7046    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7047    pub fn nm_client_dbus_call_finish(
7048        client: *mut NMClient,
7049        result: *mut gio::GAsyncResult,
7050        error: *mut *mut glib::GError,
7051    ) -> *mut glib::GVariant;
7052    #[cfg(feature = "v1_24")]
7053    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7054    pub fn nm_client_dbus_set_property(
7055        client: *mut NMClient,
7056        object_path: *const c_char,
7057        interface_name: *const c_char,
7058        property_name: *const c_char,
7059        value: *mut glib::GVariant,
7060        timeout_msec: c_int,
7061        cancellable: *mut gio::GCancellable,
7062        callback: gio::GAsyncReadyCallback,
7063        user_data: gpointer,
7064    );
7065    #[cfg(feature = "v1_24")]
7066    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7067    pub fn nm_client_dbus_set_property_finish(
7068        client: *mut NMClient,
7069        result: *mut gio::GAsyncResult,
7070        error: *mut *mut glib::GError,
7071    ) -> gboolean;
7072    pub fn nm_client_deactivate_connection(
7073        client: *mut NMClient,
7074        active: *mut NMActiveConnection,
7075        cancellable: *mut gio::GCancellable,
7076        error: *mut *mut glib::GError,
7077    ) -> gboolean;
7078    pub fn nm_client_deactivate_connection_async(
7079        client: *mut NMClient,
7080        active: *mut NMActiveConnection,
7081        cancellable: *mut gio::GCancellable,
7082        callback: gio::GAsyncReadyCallback,
7083        user_data: gpointer,
7084    );
7085    pub fn nm_client_deactivate_connection_finish(
7086        client: *mut NMClient,
7087        result: *mut gio::GAsyncResult,
7088        error: *mut *mut glib::GError,
7089    ) -> gboolean;
7090    pub fn nm_client_get_activating_connection(client: *mut NMClient) -> *mut NMActiveConnection;
7091    pub fn nm_client_get_active_connections(client: *mut NMClient) -> *const glib::GPtrArray;
7092    #[cfg(feature = "v1_2")]
7093    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7094    pub fn nm_client_get_all_devices(client: *mut NMClient) -> *const glib::GPtrArray;
7095    #[cfg(feature = "v1_24")]
7096    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7097    pub fn nm_client_get_capabilities(client: *mut NMClient, length: *mut size_t) -> *const u32;
7098    #[cfg(feature = "v1_12")]
7099    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
7100    pub fn nm_client_get_checkpoints(client: *mut NMClient) -> *const glib::GPtrArray;
7101    pub fn nm_client_get_connection_by_id(
7102        client: *mut NMClient,
7103        id: *const c_char,
7104    ) -> *mut NMRemoteConnection;
7105    pub fn nm_client_get_connection_by_path(
7106        client: *mut NMClient,
7107        path: *const c_char,
7108    ) -> *mut NMRemoteConnection;
7109    pub fn nm_client_get_connection_by_uuid(
7110        client: *mut NMClient,
7111        uuid: *const c_char,
7112    ) -> *mut NMRemoteConnection;
7113    pub fn nm_client_get_connections(client: *mut NMClient) -> *const glib::GPtrArray;
7114    pub fn nm_client_get_connectivity(client: *mut NMClient) -> NMConnectivityState;
7115    #[cfg(feature = "v1_22")]
7116    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7117    pub fn nm_client_get_context_busy_watcher(self_: *mut NMClient) -> *mut gobject::GObject;
7118    #[cfg(feature = "v1_22")]
7119    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7120    pub fn nm_client_get_dbus_connection(client: *mut NMClient) -> *mut gio::GDBusConnection;
7121    #[cfg(feature = "v1_22")]
7122    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7123    pub fn nm_client_get_dbus_name_owner(client: *mut NMClient) -> *const c_char;
7124    pub fn nm_client_get_device_by_iface(
7125        client: *mut NMClient,
7126        iface: *const c_char,
7127    ) -> *mut NMDevice;
7128    pub fn nm_client_get_device_by_path(
7129        client: *mut NMClient,
7130        object_path: *const c_char,
7131    ) -> *mut NMDevice;
7132    pub fn nm_client_get_devices(client: *mut NMClient) -> *const glib::GPtrArray;
7133    #[cfg(feature = "v1_6")]
7134    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7135    pub fn nm_client_get_dns_configuration(client: *mut NMClient) -> *const glib::GPtrArray;
7136    #[cfg(feature = "v1_6")]
7137    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7138    pub fn nm_client_get_dns_mode(client: *mut NMClient) -> *const c_char;
7139    #[cfg(feature = "v1_6")]
7140    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7141    pub fn nm_client_get_dns_rc_manager(client: *mut NMClient) -> *const c_char;
7142    #[cfg(feature = "v1_24")]
7143    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7144    pub fn nm_client_get_instance_flags(self_: *mut NMClient) -> NMClientInstanceFlags;
7145    pub fn nm_client_get_logging(
7146        client: *mut NMClient,
7147        level: *mut *mut c_char,
7148        domains: *mut *mut c_char,
7149        error: *mut *mut glib::GError,
7150    ) -> gboolean;
7151    #[cfg(feature = "v1_22")]
7152    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7153    pub fn nm_client_get_main_context(self_: *mut NMClient) -> *mut glib::GMainContext;
7154    #[cfg(feature = "v1_22")]
7155    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7156    pub fn nm_client_get_metered(client: *mut NMClient) -> NMMetered;
7157    pub fn nm_client_get_nm_running(client: *mut NMClient) -> gboolean;
7158    #[cfg(feature = "v1_24")]
7159    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7160    pub fn nm_client_get_object_by_path(
7161        client: *mut NMClient,
7162        dbus_path: *const c_char,
7163    ) -> *mut NMObject;
7164    pub fn nm_client_get_permission_result(
7165        client: *mut NMClient,
7166        permission: NMClientPermission,
7167    ) -> NMClientPermissionResult;
7168    #[cfg(feature = "v1_24")]
7169    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7170    pub fn nm_client_get_permissions_state(self_: *mut NMClient) -> NMTernary;
7171    pub fn nm_client_get_primary_connection(client: *mut NMClient) -> *mut NMActiveConnection;
7172    #[cfg(feature = "v1_38")]
7173    #[cfg_attr(docsrs, doc(cfg(feature = "v1_38")))]
7174    pub fn nm_client_get_radio_flags(client: *mut NMClient) -> NMRadioFlags;
7175    pub fn nm_client_get_startup(client: *mut NMClient) -> gboolean;
7176    pub fn nm_client_get_state(client: *mut NMClient) -> NMState;
7177    pub fn nm_client_get_version(client: *mut NMClient) -> *const c_char;
7178    #[cfg(feature = "v1_42")]
7179    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7180    pub fn nm_client_get_version_info(client: *mut NMClient, length: *mut size_t) -> *const u32;
7181    pub fn nm_client_load_connections(
7182        client: *mut NMClient,
7183        filenames: *mut *mut c_char,
7184        failures: *mut *mut *mut c_char,
7185        cancellable: *mut gio::GCancellable,
7186        error: *mut *mut glib::GError,
7187    ) -> gboolean;
7188    pub fn nm_client_load_connections_async(
7189        client: *mut NMClient,
7190        filenames: *mut *mut c_char,
7191        cancellable: *mut gio::GCancellable,
7192        callback: gio::GAsyncReadyCallback,
7193        user_data: gpointer,
7194    );
7195    pub fn nm_client_load_connections_finish(
7196        client: *mut NMClient,
7197        failures: *mut *mut *mut c_char,
7198        result: *mut gio::GAsyncResult,
7199        error: *mut *mut glib::GError,
7200    ) -> gboolean;
7201    pub fn nm_client_networking_get_enabled(client: *mut NMClient) -> gboolean;
7202    pub fn nm_client_networking_set_enabled(
7203        client: *mut NMClient,
7204        enabled: gboolean,
7205        error: *mut *mut glib::GError,
7206    ) -> gboolean;
7207    #[cfg(feature = "v1_22")]
7208    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7209    pub fn nm_client_reload(
7210        client: *mut NMClient,
7211        flags: NMManagerReloadFlags,
7212        cancellable: *mut gio::GCancellable,
7213        callback: gio::GAsyncReadyCallback,
7214        user_data: gpointer,
7215    );
7216    pub fn nm_client_reload_connections(
7217        client: *mut NMClient,
7218        cancellable: *mut gio::GCancellable,
7219        error: *mut *mut glib::GError,
7220    ) -> gboolean;
7221    pub fn nm_client_reload_connections_async(
7222        client: *mut NMClient,
7223        cancellable: *mut gio::GCancellable,
7224        callback: gio::GAsyncReadyCallback,
7225        user_data: gpointer,
7226    );
7227    pub fn nm_client_reload_connections_finish(
7228        client: *mut NMClient,
7229        result: *mut gio::GAsyncResult,
7230        error: *mut *mut glib::GError,
7231    ) -> gboolean;
7232    #[cfg(feature = "v1_22")]
7233    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7234    pub fn nm_client_reload_finish(
7235        client: *mut NMClient,
7236        result: *mut gio::GAsyncResult,
7237        error: *mut *mut glib::GError,
7238    ) -> gboolean;
7239    pub fn nm_client_save_hostname(
7240        client: *mut NMClient,
7241        hostname: *const c_char,
7242        cancellable: *mut gio::GCancellable,
7243        error: *mut *mut glib::GError,
7244    ) -> gboolean;
7245    pub fn nm_client_save_hostname_async(
7246        client: *mut NMClient,
7247        hostname: *const c_char,
7248        cancellable: *mut gio::GCancellable,
7249        callback: gio::GAsyncReadyCallback,
7250        user_data: gpointer,
7251    );
7252    pub fn nm_client_save_hostname_finish(
7253        client: *mut NMClient,
7254        result: *mut gio::GAsyncResult,
7255        error: *mut *mut glib::GError,
7256    ) -> gboolean;
7257    pub fn nm_client_set_logging(
7258        client: *mut NMClient,
7259        level: *const c_char,
7260        domains: *const c_char,
7261        error: *mut *mut glib::GError,
7262    ) -> gboolean;
7263    #[cfg(feature = "v1_42")]
7264    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7265    pub fn nm_client_wait_shutdown(
7266        client: *mut NMClient,
7267        integrate_maincontext: gboolean,
7268        cancellable: *mut gio::GCancellable,
7269        callback: gio::GAsyncReadyCallback,
7270        user_data: gpointer,
7271    );
7272    pub fn nm_client_wimax_get_enabled(client: *mut NMClient) -> gboolean;
7273    pub fn nm_client_wimax_hardware_get_enabled(client: *mut NMClient) -> gboolean;
7274    pub fn nm_client_wimax_set_enabled(client: *mut NMClient, enabled: gboolean);
7275    pub fn nm_client_wireless_get_enabled(client: *mut NMClient) -> gboolean;
7276    pub fn nm_client_wireless_hardware_get_enabled(client: *mut NMClient) -> gboolean;
7277    pub fn nm_client_wireless_set_enabled(client: *mut NMClient, enabled: gboolean);
7278    pub fn nm_client_wwan_get_enabled(client: *mut NMClient) -> gboolean;
7279    pub fn nm_client_wwan_hardware_get_enabled(client: *mut NMClient) -> gboolean;
7280    pub fn nm_client_wwan_set_enabled(client: *mut NMClient, enabled: gboolean);
7281
7282    //=========================================================================
7283    // NMDevice
7284    //=========================================================================
7285    pub fn nm_device_get_type() -> GType;
7286    pub fn nm_device_disambiguate_names(
7287        devices: *mut *mut NMDevice,
7288        num_devices: c_int,
7289    ) -> *mut *mut c_char;
7290    pub fn nm_device_connection_compatible(
7291        device: *mut NMDevice,
7292        connection: *mut NMConnection,
7293        error: *mut *mut glib::GError,
7294    ) -> gboolean;
7295    pub fn nm_device_connection_valid(
7296        device: *mut NMDevice,
7297        connection: *mut NMConnection,
7298    ) -> gboolean;
7299    pub fn nm_device_delete(
7300        device: *mut NMDevice,
7301        cancellable: *mut gio::GCancellable,
7302        error: *mut *mut glib::GError,
7303    ) -> gboolean;
7304    pub fn nm_device_delete_async(
7305        device: *mut NMDevice,
7306        cancellable: *mut gio::GCancellable,
7307        callback: gio::GAsyncReadyCallback,
7308        user_data: gpointer,
7309    );
7310    pub fn nm_device_delete_finish(
7311        device: *mut NMDevice,
7312        result: *mut gio::GAsyncResult,
7313        error: *mut *mut glib::GError,
7314    ) -> gboolean;
7315    pub fn nm_device_disconnect(
7316        device: *mut NMDevice,
7317        cancellable: *mut gio::GCancellable,
7318        error: *mut *mut glib::GError,
7319    ) -> gboolean;
7320    pub fn nm_device_disconnect_async(
7321        device: *mut NMDevice,
7322        cancellable: *mut gio::GCancellable,
7323        callback: gio::GAsyncReadyCallback,
7324        user_data: gpointer,
7325    );
7326    pub fn nm_device_disconnect_finish(
7327        device: *mut NMDevice,
7328        result: *mut gio::GAsyncResult,
7329        error: *mut *mut glib::GError,
7330    ) -> gboolean;
7331    pub fn nm_device_filter_connections(
7332        device: *mut NMDevice,
7333        connections: *const glib::GPtrArray,
7334    ) -> *mut glib::GPtrArray;
7335    pub fn nm_device_get_active_connection(device: *mut NMDevice) -> *mut NMActiveConnection;
7336    #[cfg(feature = "v1_2")]
7337    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7338    pub fn nm_device_get_applied_connection(
7339        device: *mut NMDevice,
7340        flags: u32,
7341        version_id: *mut u64,
7342        cancellable: *mut gio::GCancellable,
7343        error: *mut *mut glib::GError,
7344    ) -> *mut NMConnection;
7345    #[cfg(feature = "v1_2")]
7346    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7347    pub fn nm_device_get_applied_connection_async(
7348        device: *mut NMDevice,
7349        flags: u32,
7350        cancellable: *mut gio::GCancellable,
7351        callback: gio::GAsyncReadyCallback,
7352        user_data: gpointer,
7353    );
7354    #[cfg(feature = "v1_2")]
7355    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7356    pub fn nm_device_get_applied_connection_finish(
7357        device: *mut NMDevice,
7358        result: *mut gio::GAsyncResult,
7359        version_id: *mut u64,
7360        error: *mut *mut glib::GError,
7361    ) -> *mut NMConnection;
7362    pub fn nm_device_get_autoconnect(device: *mut NMDevice) -> gboolean;
7363    pub fn nm_device_get_available_connections(device: *mut NMDevice) -> *const glib::GPtrArray;
7364    pub fn nm_device_get_capabilities(device: *mut NMDevice) -> NMDeviceCapabilities;
7365    #[cfg(feature = "v1_16")]
7366    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7367    pub fn nm_device_get_connectivity(
7368        device: *mut NMDevice,
7369        addr_family: c_int,
7370    ) -> NMConnectivityState;
7371    pub fn nm_device_get_description(device: *mut NMDevice) -> *const c_char;
7372    pub fn nm_device_get_device_type(device: *mut NMDevice) -> NMDeviceType;
7373    pub fn nm_device_get_dhcp4_config(device: *mut NMDevice) -> *mut NMDhcpConfig;
7374    pub fn nm_device_get_dhcp6_config(device: *mut NMDevice) -> *mut NMDhcpConfig;
7375    pub fn nm_device_get_driver(device: *mut NMDevice) -> *const c_char;
7376    pub fn nm_device_get_driver_version(device: *mut NMDevice) -> *const c_char;
7377    pub fn nm_device_get_firmware_missing(device: *mut NMDevice) -> gboolean;
7378    pub fn nm_device_get_firmware_version(device: *mut NMDevice) -> *const c_char;
7379    pub fn nm_device_get_hw_address(device: *mut NMDevice) -> *const c_char;
7380    pub fn nm_device_get_iface(device: *mut NMDevice) -> *const c_char;
7381    #[cfg(feature = "v1_22")]
7382    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
7383    pub fn nm_device_get_interface_flags(device: *mut NMDevice) -> NMDeviceInterfaceFlags;
7384    pub fn nm_device_get_ip4_config(device: *mut NMDevice) -> *mut NMIPConfig;
7385    pub fn nm_device_get_ip6_config(device: *mut NMDevice) -> *mut NMIPConfig;
7386    pub fn nm_device_get_ip_iface(device: *mut NMDevice) -> *const c_char;
7387    #[cfg(feature = "v1_2")]
7388    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7389    pub fn nm_device_get_lldp_neighbors(device: *mut NMDevice) -> *mut glib::GPtrArray;
7390    pub fn nm_device_get_managed(device: *mut NMDevice) -> gboolean;
7391    #[cfg(feature = "v1_2")]
7392    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7393    pub fn nm_device_get_metered(device: *mut NMDevice) -> NMMetered;
7394    pub fn nm_device_get_mtu(device: *mut NMDevice) -> u32;
7395    #[cfg(feature = "v1_2")]
7396    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7397    pub fn nm_device_get_nm_plugin_missing(device: *mut NMDevice) -> gboolean;
7398    #[cfg(feature = "v1_26")]
7399    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7400    pub fn nm_device_get_path(device: *mut NMDevice) -> *const c_char;
7401    pub fn nm_device_get_physical_port_id(device: *mut NMDevice) -> *const c_char;
7402    #[cfg(feature = "v1_34")]
7403    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
7404    pub fn nm_device_get_ports(device: *mut NMDevice) -> *const glib::GPtrArray;
7405    pub fn nm_device_get_product(device: *mut NMDevice) -> *const c_char;
7406    pub fn nm_device_get_setting_type(device: *mut NMDevice) -> GType;
7407    pub fn nm_device_get_state(device: *mut NMDevice) -> NMDeviceState;
7408    pub fn nm_device_get_state_reason(device: *mut NMDevice) -> NMDeviceStateReason;
7409    pub fn nm_device_get_type_description(device: *mut NMDevice) -> *const c_char;
7410    pub fn nm_device_get_udi(device: *mut NMDevice) -> *const c_char;
7411    pub fn nm_device_get_vendor(device: *mut NMDevice) -> *const c_char;
7412    #[cfg(feature = "v1_2")]
7413    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7414    pub fn nm_device_is_real(device: *mut NMDevice) -> gboolean;
7415    pub fn nm_device_is_software(device: *mut NMDevice) -> gboolean;
7416    #[cfg(feature = "v1_2")]
7417    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7418    pub fn nm_device_reapply(
7419        device: *mut NMDevice,
7420        connection: *mut NMConnection,
7421        version_id: u64,
7422        flags: u32,
7423        cancellable: *mut gio::GCancellable,
7424        error: *mut *mut glib::GError,
7425    ) -> gboolean;
7426    #[cfg(feature = "v1_2")]
7427    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7428    pub fn nm_device_reapply_async(
7429        device: *mut NMDevice,
7430        connection: *mut NMConnection,
7431        version_id: u64,
7432        flags: u32,
7433        cancellable: *mut gio::GCancellable,
7434        callback: gio::GAsyncReadyCallback,
7435        user_data: gpointer,
7436    );
7437    #[cfg(feature = "v1_2")]
7438    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7439    pub fn nm_device_reapply_finish(
7440        device: *mut NMDevice,
7441        result: *mut gio::GAsyncResult,
7442        error: *mut *mut glib::GError,
7443    ) -> gboolean;
7444    pub fn nm_device_set_autoconnect(device: *mut NMDevice, autoconnect: gboolean);
7445    #[cfg(feature = "v1_2")]
7446    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7447    pub fn nm_device_set_managed(device: *mut NMDevice, managed: gboolean);
7448
7449    //=========================================================================
7450    // NMDevice6Lowpan
7451    //=========================================================================
7452    #[cfg(feature = "v1_14")]
7453    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
7454    pub fn nm_device_6lowpan_get_type() -> GType;
7455    #[cfg(feature = "v1_42")]
7456    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7457    pub fn nm_device_6lowpan_get_parent(device: *mut NMDevice6Lowpan) -> *mut NMDevice;
7458
7459    //=========================================================================
7460    // NMDeviceAdsl
7461    //=========================================================================
7462    pub fn nm_device_adsl_get_type() -> GType;
7463    pub fn nm_device_adsl_get_carrier(device: *mut NMDeviceAdsl) -> gboolean;
7464
7465    //=========================================================================
7466    // NMDeviceBond
7467    //=========================================================================
7468    pub fn nm_device_bond_get_type() -> GType;
7469    pub fn nm_device_bond_get_carrier(device: *mut NMDeviceBond) -> gboolean;
7470    pub fn nm_device_bond_get_hw_address(device: *mut NMDeviceBond) -> *const c_char;
7471    pub fn nm_device_bond_get_slaves(device: *mut NMDeviceBond) -> *const glib::GPtrArray;
7472
7473    //=========================================================================
7474    // NMDeviceBridge
7475    //=========================================================================
7476    pub fn nm_device_bridge_get_type() -> GType;
7477    pub fn nm_device_bridge_get_carrier(device: *mut NMDeviceBridge) -> gboolean;
7478    pub fn nm_device_bridge_get_hw_address(device: *mut NMDeviceBridge) -> *const c_char;
7479    pub fn nm_device_bridge_get_slaves(device: *mut NMDeviceBridge) -> *const glib::GPtrArray;
7480
7481    //=========================================================================
7482    // NMDeviceBt
7483    //=========================================================================
7484    pub fn nm_device_bt_get_type() -> GType;
7485    pub fn nm_device_bt_get_capabilities(device: *mut NMDeviceBt) -> NMBluetoothCapabilities;
7486    pub fn nm_device_bt_get_hw_address(device: *mut NMDeviceBt) -> *const c_char;
7487    pub fn nm_device_bt_get_name(device: *mut NMDeviceBt) -> *const c_char;
7488
7489    //=========================================================================
7490    // NMDeviceDummy
7491    //=========================================================================
7492    #[cfg(feature = "v1_8")]
7493    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
7494    pub fn nm_device_dummy_get_type() -> GType;
7495    #[cfg(feature = "v1_10")]
7496    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7497    pub fn nm_device_dummy_get_hw_address(device: *mut NMDeviceDummy) -> *const c_char;
7498
7499    //=========================================================================
7500    // NMDeviceEthernet
7501    //=========================================================================
7502    pub fn nm_device_ethernet_get_type() -> GType;
7503    pub fn nm_device_ethernet_get_carrier(device: *mut NMDeviceEthernet) -> gboolean;
7504    pub fn nm_device_ethernet_get_hw_address(device: *mut NMDeviceEthernet) -> *const c_char;
7505    pub fn nm_device_ethernet_get_permanent_hw_address(
7506        device: *mut NMDeviceEthernet,
7507    ) -> *const c_char;
7508    #[cfg(feature = "v1_2")]
7509    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7510    pub fn nm_device_ethernet_get_s390_subchannels(
7511        device: *mut NMDeviceEthernet,
7512    ) -> *const *const c_char;
7513    pub fn nm_device_ethernet_get_speed(device: *mut NMDeviceEthernet) -> u32;
7514
7515    //=========================================================================
7516    // NMDeviceGeneric
7517    //=========================================================================
7518    pub fn nm_device_generic_get_type() -> GType;
7519    pub fn nm_device_generic_get_hw_address(device: *mut NMDeviceGeneric) -> *const c_char;
7520
7521    //=========================================================================
7522    // NMDeviceHsr
7523    //=========================================================================
7524    #[cfg(feature = "v1_46")]
7525    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
7526    pub fn nm_device_hsr_get_type() -> GType;
7527    #[cfg(feature = "v1_46")]
7528    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
7529    pub fn nm_device_hsr_get_multicast_spec(device: *mut NMDeviceHsr) -> u8;
7530    #[cfg(feature = "v1_46")]
7531    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
7532    pub fn nm_device_hsr_get_port1(device: *mut NMDeviceHsr) -> *mut NMDevice;
7533    #[cfg(feature = "v1_46")]
7534    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
7535    pub fn nm_device_hsr_get_port2(device: *mut NMDeviceHsr) -> *mut NMDevice;
7536    #[cfg(feature = "v1_46")]
7537    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
7538    pub fn nm_device_hsr_get_prp(device: *mut NMDeviceHsr) -> gboolean;
7539    #[cfg(feature = "v1_46")]
7540    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
7541    pub fn nm_device_hsr_get_supervision_address(device: *mut NMDeviceHsr) -> *const c_char;
7542
7543    //=========================================================================
7544    // NMDeviceIPTunnel
7545    //=========================================================================
7546    #[cfg(feature = "v1_2")]
7547    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7548    pub fn nm_device_ip_tunnel_get_type() -> GType;
7549    #[cfg(feature = "v1_2")]
7550    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7551    pub fn nm_device_ip_tunnel_get_encapsulation_limit(device: *mut NMDeviceIPTunnel) -> u8;
7552    #[cfg(feature = "v1_12")]
7553    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
7554    pub fn nm_device_ip_tunnel_get_flags(device: *mut NMDeviceIPTunnel) -> NMIPTunnelFlags;
7555    #[cfg(feature = "v1_2")]
7556    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7557    pub fn nm_device_ip_tunnel_get_flow_label(device: *mut NMDeviceIPTunnel) -> c_uint;
7558    #[cfg(feature = "v1_46")]
7559    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
7560    pub fn nm_device_ip_tunnel_get_fwmark(device: *mut NMDeviceIPTunnel) -> u32;
7561    #[cfg(feature = "v1_2")]
7562    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7563    pub fn nm_device_ip_tunnel_get_input_key(device: *mut NMDeviceIPTunnel) -> *const c_char;
7564    #[cfg(feature = "v1_2")]
7565    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7566    pub fn nm_device_ip_tunnel_get_local(device: *mut NMDeviceIPTunnel) -> *const c_char;
7567    #[cfg(feature = "v1_2")]
7568    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7569    pub fn nm_device_ip_tunnel_get_mode(device: *mut NMDeviceIPTunnel) -> NMIPTunnelMode;
7570    #[cfg(feature = "v1_2")]
7571    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7572    pub fn nm_device_ip_tunnel_get_output_key(device: *mut NMDeviceIPTunnel) -> *const c_char;
7573    #[cfg(feature = "v1_2")]
7574    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7575    pub fn nm_device_ip_tunnel_get_parent(device: *mut NMDeviceIPTunnel) -> *mut NMDevice;
7576    #[cfg(feature = "v1_2")]
7577    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7578    pub fn nm_device_ip_tunnel_get_path_mtu_discovery(device: *mut NMDeviceIPTunnel) -> gboolean;
7579    #[cfg(feature = "v1_2")]
7580    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7581    pub fn nm_device_ip_tunnel_get_remote(device: *mut NMDeviceIPTunnel) -> *const c_char;
7582    #[cfg(feature = "v1_2")]
7583    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7584    pub fn nm_device_ip_tunnel_get_tos(device: *mut NMDeviceIPTunnel) -> u8;
7585    #[cfg(feature = "v1_2")]
7586    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7587    pub fn nm_device_ip_tunnel_get_ttl(device: *mut NMDeviceIPTunnel) -> u8;
7588
7589    //=========================================================================
7590    // NMDeviceInfiniband
7591    //=========================================================================
7592    pub fn nm_device_infiniband_get_type() -> GType;
7593    pub fn nm_device_infiniband_get_carrier(device: *mut NMDeviceInfiniband) -> gboolean;
7594    pub fn nm_device_infiniband_get_hw_address(device: *mut NMDeviceInfiniband) -> *const c_char;
7595
7596    //=========================================================================
7597    // NMDeviceIpvlan
7598    //=========================================================================
7599    #[cfg(feature = "v1_52")]
7600    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
7601    pub fn nm_device_ipvlan_get_type() -> GType;
7602    #[cfg(feature = "v1_52")]
7603    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
7604    pub fn nm_device_ipvlan_get_mode(device: *mut NMDeviceIpvlan) -> *const c_char;
7605    #[cfg(feature = "v1_52")]
7606    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
7607    pub fn nm_device_ipvlan_get_parent(device: *mut NMDeviceIpvlan) -> *mut NMDevice;
7608    #[cfg(feature = "v1_52")]
7609    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
7610    pub fn nm_device_ipvlan_get_private(device: *mut NMDeviceIpvlan) -> gboolean;
7611    #[cfg(feature = "v1_52")]
7612    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
7613    pub fn nm_device_ipvlan_get_vepa(device: *mut NMDeviceIpvlan) -> gboolean;
7614
7615    //=========================================================================
7616    // NMDeviceLoopback
7617    //=========================================================================
7618    #[cfg(feature = "v1_42")]
7619    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7620    pub fn nm_device_loopback_get_type() -> GType;
7621
7622    //=========================================================================
7623    // NMDeviceMacsec
7624    //=========================================================================
7625    #[cfg(feature = "v1_6")]
7626    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7627    pub fn nm_device_macsec_get_type() -> GType;
7628    #[cfg(feature = "v1_6")]
7629    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7630    pub fn nm_device_macsec_get_cipher_suite(device: *mut NMDeviceMacsec) -> u64;
7631    #[cfg(feature = "v1_6")]
7632    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7633    pub fn nm_device_macsec_get_encoding_sa(device: *mut NMDeviceMacsec) -> u8;
7634    #[cfg(feature = "v1_6")]
7635    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7636    pub fn nm_device_macsec_get_encrypt(device: *mut NMDeviceMacsec) -> gboolean;
7637    #[cfg(feature = "v1_6")]
7638    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7639    pub fn nm_device_macsec_get_es(device: *mut NMDeviceMacsec) -> gboolean;
7640    #[cfg(feature = "v1_6")]
7641    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7642    pub fn nm_device_macsec_get_hw_address(device: *mut NMDeviceMacsec) -> *const c_char;
7643    #[cfg(feature = "v1_6")]
7644    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7645    pub fn nm_device_macsec_get_icv_length(device: *mut NMDeviceMacsec) -> u8;
7646    #[cfg(feature = "v1_6")]
7647    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7648    pub fn nm_device_macsec_get_include_sci(device: *mut NMDeviceMacsec) -> gboolean;
7649    #[cfg(feature = "v1_42")]
7650    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7651    pub fn nm_device_macsec_get_parent(device: *mut NMDeviceMacsec) -> *mut NMDevice;
7652    #[cfg(feature = "v1_6")]
7653    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7654    pub fn nm_device_macsec_get_protect(device: *mut NMDeviceMacsec) -> gboolean;
7655    #[cfg(feature = "v1_6")]
7656    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7657    pub fn nm_device_macsec_get_replay_protect(device: *mut NMDeviceMacsec) -> gboolean;
7658    #[cfg(feature = "v1_6")]
7659    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7660    pub fn nm_device_macsec_get_scb(device: *mut NMDeviceMacsec) -> gboolean;
7661    #[cfg(feature = "v1_6")]
7662    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7663    pub fn nm_device_macsec_get_sci(device: *mut NMDeviceMacsec) -> u64;
7664    #[cfg(feature = "v1_6")]
7665    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7666    pub fn nm_device_macsec_get_validation(device: *mut NMDeviceMacsec) -> *const c_char;
7667    #[cfg(feature = "v1_6")]
7668    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
7669    pub fn nm_device_macsec_get_window(device: *mut NMDeviceMacsec) -> c_uint;
7670
7671    //=========================================================================
7672    // NMDeviceMacvlan
7673    //=========================================================================
7674    #[cfg(feature = "v1_2")]
7675    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7676    pub fn nm_device_macvlan_get_type() -> GType;
7677    #[cfg(feature = "v1_2")]
7678    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7679    pub fn nm_device_macvlan_get_hw_address(device: *mut NMDeviceMacvlan) -> *const c_char;
7680    #[cfg(feature = "v1_2")]
7681    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7682    pub fn nm_device_macvlan_get_mode(device: *mut NMDeviceMacvlan) -> *const c_char;
7683    #[cfg(feature = "v1_2")]
7684    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7685    pub fn nm_device_macvlan_get_no_promisc(device: *mut NMDeviceMacvlan) -> gboolean;
7686    #[cfg(feature = "v1_2")]
7687    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7688    pub fn nm_device_macvlan_get_parent(device: *mut NMDeviceMacvlan) -> *mut NMDevice;
7689    #[cfg(feature = "v1_2")]
7690    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7691    pub fn nm_device_macvlan_get_tap(device: *mut NMDeviceMacvlan) -> gboolean;
7692
7693    //=========================================================================
7694    // NMDeviceModem
7695    //=========================================================================
7696    pub fn nm_device_modem_get_type() -> GType;
7697    #[cfg(feature = "v1_20")]
7698    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7699    pub fn nm_device_modem_get_apn(self_: *mut NMDeviceModem) -> *const c_char;
7700    pub fn nm_device_modem_get_current_capabilities(
7701        self_: *mut NMDeviceModem,
7702    ) -> NMDeviceModemCapabilities;
7703    #[cfg(feature = "v1_20")]
7704    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7705    pub fn nm_device_modem_get_device_id(self_: *mut NMDeviceModem) -> *const c_char;
7706    pub fn nm_device_modem_get_modem_capabilities(
7707        self_: *mut NMDeviceModem,
7708    ) -> NMDeviceModemCapabilities;
7709    #[cfg(feature = "v1_20")]
7710    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7711    pub fn nm_device_modem_get_operator_code(self_: *mut NMDeviceModem) -> *const c_char;
7712
7713    //=========================================================================
7714    // NMDeviceOlpcMesh
7715    //=========================================================================
7716    pub fn nm_device_olpc_mesh_get_type() -> GType;
7717    pub fn nm_device_olpc_mesh_get_active_channel(device: *mut NMDeviceOlpcMesh) -> u32;
7718    pub fn nm_device_olpc_mesh_get_companion(device: *mut NMDeviceOlpcMesh) -> *mut NMDeviceWifi;
7719    pub fn nm_device_olpc_mesh_get_hw_address(device: *mut NMDeviceOlpcMesh) -> *const c_char;
7720
7721    //=========================================================================
7722    // NMDeviceOvsBridge
7723    //=========================================================================
7724    #[cfg(feature = "v1_10")]
7725    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7726    pub fn nm_device_ovs_bridge_get_type() -> GType;
7727    #[cfg(feature = "v1_14")]
7728    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
7729    pub fn nm_device_ovs_bridge_get_slaves(
7730        device: *mut NMDeviceOvsBridge,
7731    ) -> *const glib::GPtrArray;
7732
7733    //=========================================================================
7734    // NMDeviceOvsInterface
7735    //=========================================================================
7736    #[cfg(feature = "v1_10")]
7737    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7738    pub fn nm_device_ovs_interface_get_type() -> GType;
7739
7740    //=========================================================================
7741    // NMDeviceOvsPort
7742    //=========================================================================
7743    #[cfg(feature = "v1_10")]
7744    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7745    pub fn nm_device_ovs_port_get_type() -> GType;
7746    #[cfg(feature = "v1_14")]
7747    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
7748    pub fn nm_device_ovs_port_get_slaves(device: *mut NMDeviceOvsPort) -> *const glib::GPtrArray;
7749
7750    //=========================================================================
7751    // NMDevicePpp
7752    //=========================================================================
7753    #[cfg(feature = "v1_10")]
7754    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
7755    pub fn nm_device_ppp_get_type() -> GType;
7756
7757    //=========================================================================
7758    // NMDeviceTeam
7759    //=========================================================================
7760    pub fn nm_device_team_get_type() -> GType;
7761    pub fn nm_device_team_get_carrier(device: *mut NMDeviceTeam) -> gboolean;
7762    #[cfg(feature = "v1_4")]
7763    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
7764    pub fn nm_device_team_get_config(device: *mut NMDeviceTeam) -> *const c_char;
7765    pub fn nm_device_team_get_hw_address(device: *mut NMDeviceTeam) -> *const c_char;
7766    pub fn nm_device_team_get_slaves(device: *mut NMDeviceTeam) -> *const glib::GPtrArray;
7767
7768    //=========================================================================
7769    // NMDeviceTun
7770    //=========================================================================
7771    #[cfg(feature = "v1_2")]
7772    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7773    pub fn nm_device_tun_get_type() -> GType;
7774    #[cfg(feature = "v1_2")]
7775    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7776    pub fn nm_device_tun_get_group(device: *mut NMDeviceTun) -> i64;
7777    #[cfg(feature = "v1_2")]
7778    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7779    pub fn nm_device_tun_get_hw_address(device: *mut NMDeviceTun) -> *const c_char;
7780    #[cfg(feature = "v1_2")]
7781    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7782    pub fn nm_device_tun_get_mode(device: *mut NMDeviceTun) -> *const c_char;
7783    #[cfg(feature = "v1_2")]
7784    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7785    pub fn nm_device_tun_get_multi_queue(device: *mut NMDeviceTun) -> gboolean;
7786    #[cfg(feature = "v1_2")]
7787    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7788    pub fn nm_device_tun_get_no_pi(device: *mut NMDeviceTun) -> gboolean;
7789    #[cfg(feature = "v1_2")]
7790    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7791    pub fn nm_device_tun_get_owner(device: *mut NMDeviceTun) -> i64;
7792    #[cfg(feature = "v1_2")]
7793    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7794    pub fn nm_device_tun_get_vnet_hdr(device: *mut NMDeviceTun) -> gboolean;
7795
7796    //=========================================================================
7797    // NMDeviceVeth
7798    //=========================================================================
7799    #[cfg(feature = "v1_30")]
7800    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
7801    pub fn nm_device_veth_get_type() -> GType;
7802    #[cfg(feature = "v1_42")]
7803    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7804    pub fn nm_device_veth_get_peer(device: *mut NMDeviceVeth) -> *mut NMDevice;
7805
7806    //=========================================================================
7807    // NMDeviceVlan
7808    //=========================================================================
7809    pub fn nm_device_vlan_get_type() -> GType;
7810    pub fn nm_device_vlan_get_carrier(device: *mut NMDeviceVlan) -> gboolean;
7811    pub fn nm_device_vlan_get_hw_address(device: *mut NMDeviceVlan) -> *const c_char;
7812    pub fn nm_device_vlan_get_parent(device: *mut NMDeviceVlan) -> *mut NMDevice;
7813    pub fn nm_device_vlan_get_vlan_id(device: *mut NMDeviceVlan) -> c_uint;
7814
7815    //=========================================================================
7816    // NMDeviceVrf
7817    //=========================================================================
7818    #[cfg(feature = "v1_24")]
7819    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7820    pub fn nm_device_vrf_get_type() -> GType;
7821    #[cfg(feature = "v1_24")]
7822    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7823    pub fn nm_device_vrf_get_table(device: *mut NMDeviceVrf) -> u32;
7824
7825    //=========================================================================
7826    // NMDeviceVxlan
7827    //=========================================================================
7828    #[cfg(feature = "v1_2")]
7829    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7830    pub fn nm_device_vxlan_get_type() -> GType;
7831    #[cfg(feature = "v1_2")]
7832    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7833    pub fn nm_device_vxlan_get_ageing(device: *mut NMDeviceVxlan) -> c_uint;
7834    #[cfg(feature = "v1_42")]
7835    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7836    pub fn nm_device_vxlan_get_carrier(device: *mut NMDeviceVxlan) -> gboolean;
7837    #[cfg(feature = "v1_2")]
7838    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7839    pub fn nm_device_vxlan_get_dst_port(device: *mut NMDeviceVxlan) -> c_uint;
7840    #[cfg(feature = "v1_2")]
7841    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7842    pub fn nm_device_vxlan_get_group(device: *mut NMDeviceVxlan) -> *const c_char;
7843    #[cfg(feature = "v1_2")]
7844    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7845    pub fn nm_device_vxlan_get_hw_address(device: *mut NMDeviceVxlan) -> *const c_char;
7846    #[cfg(feature = "v1_2")]
7847    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7848    pub fn nm_device_vxlan_get_id(device: *mut NMDeviceVxlan) -> c_uint;
7849    #[cfg(feature = "v1_2")]
7850    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7851    pub fn nm_device_vxlan_get_l2miss(device: *mut NMDeviceVxlan) -> gboolean;
7852    #[cfg(feature = "v1_2")]
7853    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7854    pub fn nm_device_vxlan_get_l3miss(device: *mut NMDeviceVxlan) -> gboolean;
7855    #[cfg(feature = "v1_2")]
7856    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7857    pub fn nm_device_vxlan_get_learning(device: *mut NMDeviceVxlan) -> gboolean;
7858    #[cfg(feature = "v1_2")]
7859    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7860    pub fn nm_device_vxlan_get_limit(device: *mut NMDeviceVxlan) -> c_uint;
7861    #[cfg(feature = "v1_2")]
7862    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7863    pub fn nm_device_vxlan_get_local(device: *mut NMDeviceVxlan) -> *const c_char;
7864    #[cfg(feature = "v1_2")]
7865    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7866    pub fn nm_device_vxlan_get_parent(device: *mut NMDeviceVxlan) -> *mut NMDevice;
7867    #[cfg(feature = "v1_2")]
7868    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7869    pub fn nm_device_vxlan_get_proxy(device: *mut NMDeviceVxlan) -> gboolean;
7870    #[cfg(feature = "v1_42")]
7871    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7872    pub fn nm_device_vxlan_get_rsc(device: *mut NMDeviceVxlan) -> gboolean;
7873    #[cfg(feature = "v1_2")]
7874    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7875    pub fn nm_device_vxlan_get_src_port_max(device: *mut NMDeviceVxlan) -> c_uint;
7876    #[cfg(feature = "v1_2")]
7877    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7878    pub fn nm_device_vxlan_get_src_port_min(device: *mut NMDeviceVxlan) -> c_uint;
7879    #[cfg(feature = "v1_2")]
7880    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7881    pub fn nm_device_vxlan_get_tos(device: *mut NMDeviceVxlan) -> c_uint;
7882    #[cfg(feature = "v1_2")]
7883    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7884    pub fn nm_device_vxlan_get_ttl(device: *mut NMDeviceVxlan) -> c_uint;
7885
7886    //=========================================================================
7887    // NMDeviceWifi
7888    //=========================================================================
7889    pub fn nm_device_wifi_get_type() -> GType;
7890    pub fn nm_device_wifi_get_access_point_by_path(
7891        device: *mut NMDeviceWifi,
7892        path: *const c_char,
7893    ) -> *mut NMAccessPoint;
7894    pub fn nm_device_wifi_get_access_points(device: *mut NMDeviceWifi) -> *const glib::GPtrArray;
7895    pub fn nm_device_wifi_get_active_access_point(device: *mut NMDeviceWifi) -> *mut NMAccessPoint;
7896    pub fn nm_device_wifi_get_bitrate(device: *mut NMDeviceWifi) -> u32;
7897    pub fn nm_device_wifi_get_capabilities(device: *mut NMDeviceWifi) -> NMDeviceWifiCapabilities;
7898    pub fn nm_device_wifi_get_hw_address(device: *mut NMDeviceWifi) -> *const c_char;
7899    #[cfg(feature = "v1_12")]
7900    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
7901    pub fn nm_device_wifi_get_last_scan(device: *mut NMDeviceWifi) -> i64;
7902    pub fn nm_device_wifi_get_mode(device: *mut NMDeviceWifi) -> NM80211Mode;
7903    pub fn nm_device_wifi_get_permanent_hw_address(device: *mut NMDeviceWifi) -> *const c_char;
7904    pub fn nm_device_wifi_request_scan(
7905        device: *mut NMDeviceWifi,
7906        cancellable: *mut gio::GCancellable,
7907        error: *mut *mut glib::GError,
7908    ) -> gboolean;
7909    pub fn nm_device_wifi_request_scan_async(
7910        device: *mut NMDeviceWifi,
7911        cancellable: *mut gio::GCancellable,
7912        callback: gio::GAsyncReadyCallback,
7913        user_data: gpointer,
7914    );
7915    pub fn nm_device_wifi_request_scan_finish(
7916        device: *mut NMDeviceWifi,
7917        result: *mut gio::GAsyncResult,
7918        error: *mut *mut glib::GError,
7919    ) -> gboolean;
7920    #[cfg(feature = "v1_2")]
7921    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7922    pub fn nm_device_wifi_request_scan_options(
7923        device: *mut NMDeviceWifi,
7924        options: *mut glib::GVariant,
7925        cancellable: *mut gio::GCancellable,
7926        error: *mut *mut glib::GError,
7927    ) -> gboolean;
7928    #[cfg(feature = "v1_2")]
7929    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
7930    pub fn nm_device_wifi_request_scan_options_async(
7931        device: *mut NMDeviceWifi,
7932        options: *mut glib::GVariant,
7933        cancellable: *mut gio::GCancellable,
7934        callback: gio::GAsyncReadyCallback,
7935        user_data: gpointer,
7936    );
7937
7938    //=========================================================================
7939    // NMDeviceWifiP2P
7940    //=========================================================================
7941    #[cfg(feature = "v1_16")]
7942    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7943    pub fn nm_device_wifi_p2p_get_type() -> GType;
7944    #[cfg(feature = "v1_16")]
7945    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7946    pub fn nm_device_wifi_p2p_get_hw_address(device: *mut NMDeviceWifiP2P) -> *const c_char;
7947    #[cfg(feature = "v1_42")]
7948    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
7949    pub fn nm_device_wifi_p2p_get_peer_by_path(
7950        device: *mut NMDeviceWifiP2P,
7951        path: *const c_char,
7952    ) -> *mut NMWifiP2PPeer;
7953    #[cfg(feature = "v1_16")]
7954    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7955    pub fn nm_device_wifi_p2p_get_peers(device: *mut NMDeviceWifiP2P) -> *const glib::GPtrArray;
7956    #[cfg(feature = "v1_16")]
7957    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7958    pub fn nm_device_wifi_p2p_start_find(
7959        device: *mut NMDeviceWifiP2P,
7960        options: *mut glib::GVariant,
7961        cancellable: *mut gio::GCancellable,
7962        callback: gio::GAsyncReadyCallback,
7963        user_data: gpointer,
7964    );
7965    #[cfg(feature = "v1_16")]
7966    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7967    pub fn nm_device_wifi_p2p_start_find_finish(
7968        device: *mut NMDeviceWifiP2P,
7969        result: *mut gio::GAsyncResult,
7970        error: *mut *mut glib::GError,
7971    ) -> gboolean;
7972    #[cfg(feature = "v1_16")]
7973    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7974    pub fn nm_device_wifi_p2p_stop_find(
7975        device: *mut NMDeviceWifiP2P,
7976        cancellable: *mut gio::GCancellable,
7977        callback: gio::GAsyncReadyCallback,
7978        user_data: gpointer,
7979    );
7980    #[cfg(feature = "v1_16")]
7981    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7982    pub fn nm_device_wifi_p2p_stop_find_finish(
7983        device: *mut NMDeviceWifiP2P,
7984        result: *mut gio::GAsyncResult,
7985        error: *mut *mut glib::GError,
7986    ) -> gboolean;
7987
7988    //=========================================================================
7989    // NMDeviceWimax
7990    //=========================================================================
7991    pub fn nm_device_wimax_get_type() -> GType;
7992    pub fn nm_device_wimax_get_active_nsp(wimax: *mut NMDeviceWimax) -> *mut NMWimaxNsp;
7993    pub fn nm_device_wimax_get_bsid(self_: *mut NMDeviceWimax) -> *const c_char;
7994    pub fn nm_device_wimax_get_center_frequency(self_: *mut NMDeviceWimax) -> c_uint;
7995    pub fn nm_device_wimax_get_cinr(self_: *mut NMDeviceWimax) -> c_int;
7996    pub fn nm_device_wimax_get_hw_address(wimax: *mut NMDeviceWimax) -> *const c_char;
7997    pub fn nm_device_wimax_get_nsp_by_path(
7998        wimax: *mut NMDeviceWimax,
7999        path: *const c_char,
8000    ) -> *mut NMWimaxNsp;
8001    pub fn nm_device_wimax_get_nsps(wimax: *mut NMDeviceWimax) -> *const glib::GPtrArray;
8002    pub fn nm_device_wimax_get_rssi(self_: *mut NMDeviceWimax) -> c_int;
8003    pub fn nm_device_wimax_get_tx_power(self_: *mut NMDeviceWimax) -> c_int;
8004
8005    //=========================================================================
8006    // NMDeviceWireGuard
8007    //=========================================================================
8008    #[cfg(feature = "v1_14")]
8009    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8010    pub fn nm_device_wireguard_get_type() -> GType;
8011    #[cfg(feature = "v1_14")]
8012    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8013    pub fn nm_device_wireguard_get_fwmark(device: *mut NMDeviceWireGuard) -> u32;
8014    #[cfg(feature = "v1_14")]
8015    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8016    pub fn nm_device_wireguard_get_listen_port(device: *mut NMDeviceWireGuard) -> u16;
8017    #[cfg(feature = "v1_14")]
8018    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8019    pub fn nm_device_wireguard_get_public_key(device: *mut NMDeviceWireGuard) -> *mut glib::GBytes;
8020
8021    //=========================================================================
8022    // NMDeviceWpan
8023    //=========================================================================
8024    #[cfg(feature = "v1_14")]
8025    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8026    pub fn nm_device_wpan_get_type() -> GType;
8027
8028    //=========================================================================
8029    // NMDhcpConfig
8030    //=========================================================================
8031    pub fn nm_dhcp_config_get_type() -> GType;
8032    pub fn nm_dhcp_config_get_family(config: *mut NMDhcpConfig) -> c_int;
8033    pub fn nm_dhcp_config_get_one_option(
8034        config: *mut NMDhcpConfig,
8035        option: *const c_char,
8036    ) -> *const c_char;
8037    pub fn nm_dhcp_config_get_options(config: *mut NMDhcpConfig) -> *mut glib::GHashTable;
8038
8039    //=========================================================================
8040    // NMIPConfig
8041    //=========================================================================
8042    pub fn nm_ip_config_get_type() -> GType;
8043    pub fn nm_ip_config_get_addresses(config: *mut NMIPConfig) -> *mut glib::GPtrArray;
8044    pub fn nm_ip_config_get_domains(config: *mut NMIPConfig) -> *const *const c_char;
8045    pub fn nm_ip_config_get_family(config: *mut NMIPConfig) -> c_int;
8046    pub fn nm_ip_config_get_gateway(config: *mut NMIPConfig) -> *const c_char;
8047    pub fn nm_ip_config_get_nameservers(config: *mut NMIPConfig) -> *const *const c_char;
8048    pub fn nm_ip_config_get_routes(config: *mut NMIPConfig) -> *mut glib::GPtrArray;
8049    pub fn nm_ip_config_get_searches(config: *mut NMIPConfig) -> *const *const c_char;
8050    pub fn nm_ip_config_get_wins_servers(config: *mut NMIPConfig) -> *const *const c_char;
8051
8052    //=========================================================================
8053    // NMObject
8054    //=========================================================================
8055    pub fn nm_object_get_type() -> GType;
8056    #[cfg(feature = "v1_24")]
8057    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8058    pub fn nm_object_get_client(object: *mut NMObject) -> *mut NMClient;
8059    pub fn nm_object_get_path(object: *mut NMObject) -> *const c_char;
8060
8061    //=========================================================================
8062    // NMRemoteConnection
8063    //=========================================================================
8064    pub fn nm_remote_connection_get_type() -> GType;
8065    pub fn nm_remote_connection_commit_changes(
8066        connection: *mut NMRemoteConnection,
8067        save_to_disk: gboolean,
8068        cancellable: *mut gio::GCancellable,
8069        error: *mut *mut glib::GError,
8070    ) -> gboolean;
8071    pub fn nm_remote_connection_commit_changes_async(
8072        connection: *mut NMRemoteConnection,
8073        save_to_disk: gboolean,
8074        cancellable: *mut gio::GCancellable,
8075        callback: gio::GAsyncReadyCallback,
8076        user_data: gpointer,
8077    );
8078    pub fn nm_remote_connection_commit_changes_finish(
8079        connection: *mut NMRemoteConnection,
8080        result: *mut gio::GAsyncResult,
8081        error: *mut *mut glib::GError,
8082    ) -> gboolean;
8083    pub fn nm_remote_connection_delete(
8084        connection: *mut NMRemoteConnection,
8085        cancellable: *mut gio::GCancellable,
8086        error: *mut *mut glib::GError,
8087    ) -> gboolean;
8088    pub fn nm_remote_connection_delete_async(
8089        connection: *mut NMRemoteConnection,
8090        cancellable: *mut gio::GCancellable,
8091        callback: gio::GAsyncReadyCallback,
8092        user_data: gpointer,
8093    );
8094    pub fn nm_remote_connection_delete_finish(
8095        connection: *mut NMRemoteConnection,
8096        result: *mut gio::GAsyncResult,
8097        error: *mut *mut glib::GError,
8098    ) -> gboolean;
8099    #[cfg(feature = "v1_12")]
8100    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
8101    pub fn nm_remote_connection_get_filename(connection: *mut NMRemoteConnection) -> *const c_char;
8102    #[cfg(feature = "v1_12")]
8103    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
8104    pub fn nm_remote_connection_get_flags(
8105        connection: *mut NMRemoteConnection,
8106    ) -> NMSettingsConnectionFlags;
8107    pub fn nm_remote_connection_get_secrets(
8108        connection: *mut NMRemoteConnection,
8109        setting_name: *const c_char,
8110        cancellable: *mut gio::GCancellable,
8111        error: *mut *mut glib::GError,
8112    ) -> *mut glib::GVariant;
8113    pub fn nm_remote_connection_get_secrets_async(
8114        connection: *mut NMRemoteConnection,
8115        setting_name: *const c_char,
8116        cancellable: *mut gio::GCancellable,
8117        callback: gio::GAsyncReadyCallback,
8118        user_data: gpointer,
8119    );
8120    pub fn nm_remote_connection_get_secrets_finish(
8121        connection: *mut NMRemoteConnection,
8122        result: *mut gio::GAsyncResult,
8123        error: *mut *mut glib::GError,
8124    ) -> *mut glib::GVariant;
8125    pub fn nm_remote_connection_get_unsaved(connection: *mut NMRemoteConnection) -> gboolean;
8126    #[cfg(feature = "v1_44")]
8127    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
8128    pub fn nm_remote_connection_get_version_id(connection: *mut NMRemoteConnection) -> u64;
8129    pub fn nm_remote_connection_get_visible(connection: *mut NMRemoteConnection) -> gboolean;
8130    pub fn nm_remote_connection_save(
8131        connection: *mut NMRemoteConnection,
8132        cancellable: *mut gio::GCancellable,
8133        error: *mut *mut glib::GError,
8134    ) -> gboolean;
8135    pub fn nm_remote_connection_save_async(
8136        connection: *mut NMRemoteConnection,
8137        cancellable: *mut gio::GCancellable,
8138        callback: gio::GAsyncReadyCallback,
8139        user_data: gpointer,
8140    );
8141    pub fn nm_remote_connection_save_finish(
8142        connection: *mut NMRemoteConnection,
8143        result: *mut gio::GAsyncResult,
8144        error: *mut *mut glib::GError,
8145    ) -> gboolean;
8146    #[cfg(feature = "v1_12")]
8147    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
8148    pub fn nm_remote_connection_update2(
8149        connection: *mut NMRemoteConnection,
8150        settings: *mut glib::GVariant,
8151        flags: NMSettingsUpdate2Flags,
8152        args: *mut glib::GVariant,
8153        cancellable: *mut gio::GCancellable,
8154        callback: gio::GAsyncReadyCallback,
8155        user_data: gpointer,
8156    );
8157    #[cfg(feature = "v1_12")]
8158    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
8159    pub fn nm_remote_connection_update2_finish(
8160        connection: *mut NMRemoteConnection,
8161        result: *mut gio::GAsyncResult,
8162        error: *mut *mut glib::GError,
8163    ) -> *mut glib::GVariant;
8164
8165    //=========================================================================
8166    // NMSecretAgentOld
8167    //=========================================================================
8168    pub fn nm_secret_agent_old_get_type() -> GType;
8169    pub fn nm_secret_agent_old_delete_secrets(
8170        self_: *mut NMSecretAgentOld,
8171        connection: *mut NMConnection,
8172        callback: NMSecretAgentOldDeleteSecretsFunc,
8173        user_data: gpointer,
8174    );
8175    #[cfg(feature = "v1_24")]
8176    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8177    pub fn nm_secret_agent_old_destroy(self_: *mut NMSecretAgentOld);
8178    #[cfg(feature = "v1_24")]
8179    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8180    pub fn nm_secret_agent_old_enable(self_: *mut NMSecretAgentOld, enable: gboolean);
8181    #[cfg(feature = "v1_24")]
8182    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8183    pub fn nm_secret_agent_old_get_context_busy_watcher(
8184        self_: *mut NMSecretAgentOld,
8185    ) -> *mut gobject::GObject;
8186    #[cfg(feature = "v1_24")]
8187    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8188    pub fn nm_secret_agent_old_get_dbus_connection(
8189        self_: *mut NMSecretAgentOld,
8190    ) -> *mut gio::GDBusConnection;
8191    #[cfg(feature = "v1_24")]
8192    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8193    pub fn nm_secret_agent_old_get_dbus_name_owner(self_: *mut NMSecretAgentOld) -> *const c_char;
8194    #[cfg(feature = "v1_24")]
8195    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8196    pub fn nm_secret_agent_old_get_main_context(
8197        self_: *mut NMSecretAgentOld,
8198    ) -> *mut glib::GMainContext;
8199    pub fn nm_secret_agent_old_get_registered(self_: *mut NMSecretAgentOld) -> gboolean;
8200    pub fn nm_secret_agent_old_get_secrets(
8201        self_: *mut NMSecretAgentOld,
8202        connection: *mut NMConnection,
8203        setting_name: *const c_char,
8204        hints: *mut *const c_char,
8205        flags: NMSecretAgentGetSecretsFlags,
8206        callback: NMSecretAgentOldGetSecretsFunc,
8207        user_data: gpointer,
8208    );
8209    pub fn nm_secret_agent_old_register(
8210        self_: *mut NMSecretAgentOld,
8211        cancellable: *mut gio::GCancellable,
8212        error: *mut *mut glib::GError,
8213    ) -> gboolean;
8214    pub fn nm_secret_agent_old_register_async(
8215        self_: *mut NMSecretAgentOld,
8216        cancellable: *mut gio::GCancellable,
8217        callback: gio::GAsyncReadyCallback,
8218        user_data: gpointer,
8219    );
8220    pub fn nm_secret_agent_old_register_finish(
8221        self_: *mut NMSecretAgentOld,
8222        result: *mut gio::GAsyncResult,
8223        error: *mut *mut glib::GError,
8224    ) -> gboolean;
8225    pub fn nm_secret_agent_old_save_secrets(
8226        self_: *mut NMSecretAgentOld,
8227        connection: *mut NMConnection,
8228        callback: NMSecretAgentOldSaveSecretsFunc,
8229        user_data: gpointer,
8230    );
8231    pub fn nm_secret_agent_old_unregister(
8232        self_: *mut NMSecretAgentOld,
8233        cancellable: *mut gio::GCancellable,
8234        error: *mut *mut glib::GError,
8235    ) -> gboolean;
8236    pub fn nm_secret_agent_old_unregister_async(
8237        self_: *mut NMSecretAgentOld,
8238        cancellable: *mut gio::GCancellable,
8239        callback: gio::GAsyncReadyCallback,
8240        user_data: gpointer,
8241    );
8242    pub fn nm_secret_agent_old_unregister_finish(
8243        self_: *mut NMSecretAgentOld,
8244        result: *mut gio::GAsyncResult,
8245        error: *mut *mut glib::GError,
8246    ) -> gboolean;
8247
8248    //=========================================================================
8249    // NMSetting
8250    //=========================================================================
8251    pub fn nm_setting_get_type() -> GType;
8252    #[cfg(feature = "v1_46")]
8253    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
8254    pub fn nm_setting_get_enum_property_type(
8255        setting_type: GType,
8256        property_name: *const c_char,
8257    ) -> GType;
8258    pub fn nm_setting_lookup_type(name: *const c_char) -> GType;
8259    pub fn nm_setting_compare(
8260        a: *mut NMSetting,
8261        b: *mut NMSetting,
8262        flags: NMSettingCompareFlags,
8263    ) -> gboolean;
8264    pub fn nm_setting_diff(
8265        a: *mut NMSetting,
8266        b: *mut NMSetting,
8267        flags: NMSettingCompareFlags,
8268        invert_results: gboolean,
8269        results: *mut *mut glib::GHashTable,
8270    ) -> gboolean;
8271    pub fn nm_setting_duplicate(setting: *mut NMSetting) -> *mut NMSetting;
8272    pub fn nm_setting_enumerate_values(
8273        setting: *mut NMSetting,
8274        func: NMSettingValueIterFn,
8275        user_data: gpointer,
8276    );
8277    pub fn nm_setting_get_dbus_property_type(
8278        setting: *mut NMSetting,
8279        property_name: *const c_char,
8280    ) -> *const glib::GVariantType;
8281    pub fn nm_setting_get_name(setting: *mut NMSetting) -> *const c_char;
8282    pub fn nm_setting_get_secret_flags(
8283        setting: *mut NMSetting,
8284        secret_name: *const c_char,
8285        out_flags: *mut NMSettingSecretFlags,
8286        error: *mut *mut glib::GError,
8287    ) -> gboolean;
8288    #[cfg(feature = "v1_26")]
8289    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8290    pub fn nm_setting_option_clear_by_name(setting: *mut NMSetting, predicate: NMUtilsPredicateStr);
8291    #[cfg(feature = "v1_26")]
8292    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8293    pub fn nm_setting_option_get(
8294        setting: *mut NMSetting,
8295        opt_name: *const c_char,
8296    ) -> *mut glib::GVariant;
8297    #[cfg(feature = "v1_26")]
8298    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8299    pub fn nm_setting_option_get_all_names(
8300        setting: *mut NMSetting,
8301        out_len: *mut c_uint,
8302    ) -> *const *const c_char;
8303    #[cfg(feature = "v1_26")]
8304    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8305    pub fn nm_setting_option_get_boolean(
8306        setting: *mut NMSetting,
8307        opt_name: *const c_char,
8308        out_value: *mut gboolean,
8309    ) -> gboolean;
8310    #[cfg(feature = "v1_26")]
8311    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8312    pub fn nm_setting_option_get_uint32(
8313        setting: *mut NMSetting,
8314        opt_name: *const c_char,
8315        out_value: *mut u32,
8316    ) -> gboolean;
8317    #[cfg(feature = "v1_26")]
8318    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8319    pub fn nm_setting_option_set(
8320        setting: *mut NMSetting,
8321        opt_name: *const c_char,
8322        variant: *mut glib::GVariant,
8323    );
8324    #[cfg(feature = "v1_26")]
8325    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8326    pub fn nm_setting_option_set_boolean(
8327        setting: *mut NMSetting,
8328        opt_name: *const c_char,
8329        value: gboolean,
8330    );
8331    #[cfg(feature = "v1_26")]
8332    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8333    pub fn nm_setting_option_set_uint32(
8334        setting: *mut NMSetting,
8335        opt_name: *const c_char,
8336        value: u32,
8337    );
8338    pub fn nm_setting_set_secret_flags(
8339        setting: *mut NMSetting,
8340        secret_name: *const c_char,
8341        flags: NMSettingSecretFlags,
8342        error: *mut *mut glib::GError,
8343    ) -> gboolean;
8344    pub fn nm_setting_to_string(setting: *mut NMSetting) -> *mut c_char;
8345    pub fn nm_setting_verify(
8346        setting: *mut NMSetting,
8347        connection: *mut NMConnection,
8348        error: *mut *mut glib::GError,
8349    ) -> gboolean;
8350    #[cfg(feature = "v1_2")]
8351    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8352    pub fn nm_setting_verify_secrets(
8353        setting: *mut NMSetting,
8354        connection: *mut NMConnection,
8355        error: *mut *mut glib::GError,
8356    ) -> gboolean;
8357
8358    //=========================================================================
8359    // NMSetting6Lowpan
8360    //=========================================================================
8361    #[cfg(feature = "v1_14")]
8362    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8363    pub fn nm_setting_6lowpan_get_type() -> GType;
8364    #[cfg(feature = "v1_42")]
8365    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
8366    pub fn nm_setting_6lowpan_new() -> *mut NMSetting;
8367    #[cfg(feature = "v1_42")]
8368    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
8369    pub fn nm_setting_6lowpan_get_parent(setting: *mut NMSetting6Lowpan) -> *const c_char;
8370
8371    //=========================================================================
8372    // NMSetting8021x
8373    //=========================================================================
8374    pub fn nm_setting_802_1x_get_type() -> GType;
8375    pub fn nm_setting_802_1x_new() -> *mut NMSetting;
8376    #[cfg(feature = "v1_2")]
8377    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8378    pub fn nm_setting_802_1x_check_cert_scheme(
8379        pdata: gconstpointer,
8380        length: size_t,
8381        error: *mut *mut glib::GError,
8382    ) -> NMSetting8021xCKScheme;
8383    pub fn nm_setting_802_1x_add_altsubject_match(
8384        setting: *mut NMSetting8021x,
8385        altsubject_match: *const c_char,
8386    ) -> gboolean;
8387    pub fn nm_setting_802_1x_add_eap_method(
8388        setting: *mut NMSetting8021x,
8389        eap: *const c_char,
8390    ) -> gboolean;
8391    pub fn nm_setting_802_1x_add_phase2_altsubject_match(
8392        setting: *mut NMSetting8021x,
8393        phase2_altsubject_match: *const c_char,
8394    ) -> gboolean;
8395    pub fn nm_setting_802_1x_clear_altsubject_matches(setting: *mut NMSetting8021x);
8396    pub fn nm_setting_802_1x_clear_eap_methods(setting: *mut NMSetting8021x);
8397    pub fn nm_setting_802_1x_clear_phase2_altsubject_matches(setting: *mut NMSetting8021x);
8398    pub fn nm_setting_802_1x_get_altsubject_match(
8399        setting: *mut NMSetting8021x,
8400        i: u32,
8401    ) -> *const c_char;
8402    pub fn nm_setting_802_1x_get_anonymous_identity(setting: *mut NMSetting8021x) -> *const c_char;
8403    #[cfg(feature = "v1_8")]
8404    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8405    pub fn nm_setting_802_1x_get_auth_timeout(setting: *mut NMSetting8021x) -> c_int;
8406    pub fn nm_setting_802_1x_get_ca_cert_blob(setting: *mut NMSetting8021x) -> *mut glib::GBytes;
8407    #[cfg(feature = "v1_8")]
8408    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8409    pub fn nm_setting_802_1x_get_ca_cert_password(setting: *mut NMSetting8021x) -> *const c_char;
8410    #[cfg(feature = "v1_8")]
8411    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8412    pub fn nm_setting_802_1x_get_ca_cert_password_flags(
8413        setting: *mut NMSetting8021x,
8414    ) -> NMSettingSecretFlags;
8415    pub fn nm_setting_802_1x_get_ca_cert_path(setting: *mut NMSetting8021x) -> *const c_char;
8416    pub fn nm_setting_802_1x_get_ca_cert_scheme(
8417        setting: *mut NMSetting8021x,
8418    ) -> NMSetting8021xCKScheme;
8419    #[cfg(feature = "v1_6")]
8420    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
8421    pub fn nm_setting_802_1x_get_ca_cert_uri(setting: *mut NMSetting8021x) -> *const c_char;
8422    pub fn nm_setting_802_1x_get_ca_path(setting: *mut NMSetting8021x) -> *const c_char;
8423    pub fn nm_setting_802_1x_get_client_cert_blob(
8424        setting: *mut NMSetting8021x,
8425    ) -> *mut glib::GBytes;
8426    #[cfg(feature = "v1_8")]
8427    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8428    pub fn nm_setting_802_1x_get_client_cert_password(
8429        setting: *mut NMSetting8021x,
8430    ) -> *const c_char;
8431    #[cfg(feature = "v1_8")]
8432    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8433    pub fn nm_setting_802_1x_get_client_cert_password_flags(
8434        setting: *mut NMSetting8021x,
8435    ) -> NMSettingSecretFlags;
8436    pub fn nm_setting_802_1x_get_client_cert_path(setting: *mut NMSetting8021x) -> *const c_char;
8437    pub fn nm_setting_802_1x_get_client_cert_scheme(
8438        setting: *mut NMSetting8021x,
8439    ) -> NMSetting8021xCKScheme;
8440    #[cfg(feature = "v1_6")]
8441    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
8442    pub fn nm_setting_802_1x_get_client_cert_uri(setting: *mut NMSetting8021x) -> *const c_char;
8443    #[cfg(feature = "v1_24")]
8444    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8445    pub fn nm_setting_802_1x_get_domain_match(setting: *mut NMSetting8021x) -> *const c_char;
8446    #[cfg(feature = "v1_2")]
8447    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8448    pub fn nm_setting_802_1x_get_domain_suffix_match(setting: *mut NMSetting8021x)
8449        -> *const c_char;
8450    pub fn nm_setting_802_1x_get_eap_method(setting: *mut NMSetting8021x, i: u32) -> *const c_char;
8451    pub fn nm_setting_802_1x_get_identity(setting: *mut NMSetting8021x) -> *const c_char;
8452    pub fn nm_setting_802_1x_get_num_altsubject_matches(setting: *mut NMSetting8021x) -> u32;
8453    pub fn nm_setting_802_1x_get_num_eap_methods(setting: *mut NMSetting8021x) -> u32;
8454    pub fn nm_setting_802_1x_get_num_phase2_altsubject_matches(setting: *mut NMSetting8021x)
8455        -> u32;
8456    #[cfg(feature = "v1_48")]
8457    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
8458    pub fn nm_setting_802_1x_get_openssl_ciphers(setting: *mut NMSetting8021x) -> *const c_char;
8459    #[cfg(feature = "v1_22")]
8460    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
8461    pub fn nm_setting_802_1x_get_optional(setting: *mut NMSetting8021x) -> gboolean;
8462    pub fn nm_setting_802_1x_get_pac_file(setting: *mut NMSetting8021x) -> *const c_char;
8463    pub fn nm_setting_802_1x_get_password(setting: *mut NMSetting8021x) -> *const c_char;
8464    pub fn nm_setting_802_1x_get_password_flags(
8465        setting: *mut NMSetting8021x,
8466    ) -> NMSettingSecretFlags;
8467    pub fn nm_setting_802_1x_get_password_raw(setting: *mut NMSetting8021x) -> *mut glib::GBytes;
8468    pub fn nm_setting_802_1x_get_password_raw_flags(
8469        setting: *mut NMSetting8021x,
8470    ) -> NMSettingSecretFlags;
8471    #[cfg(feature = "v1_8")]
8472    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8473    pub fn nm_setting_802_1x_get_phase1_auth_flags(
8474        setting: *mut NMSetting8021x,
8475    ) -> NMSetting8021xAuthFlags;
8476    pub fn nm_setting_802_1x_get_phase1_fast_provisioning(
8477        setting: *mut NMSetting8021x,
8478    ) -> *const c_char;
8479    pub fn nm_setting_802_1x_get_phase1_peaplabel(setting: *mut NMSetting8021x) -> *const c_char;
8480    pub fn nm_setting_802_1x_get_phase1_peapver(setting: *mut NMSetting8021x) -> *const c_char;
8481    pub fn nm_setting_802_1x_get_phase2_altsubject_match(
8482        setting: *mut NMSetting8021x,
8483        i: u32,
8484    ) -> *const c_char;
8485    pub fn nm_setting_802_1x_get_phase2_auth(setting: *mut NMSetting8021x) -> *const c_char;
8486    pub fn nm_setting_802_1x_get_phase2_autheap(setting: *mut NMSetting8021x) -> *const c_char;
8487    pub fn nm_setting_802_1x_get_phase2_ca_cert_blob(
8488        setting: *mut NMSetting8021x,
8489    ) -> *mut glib::GBytes;
8490    #[cfg(feature = "v1_8")]
8491    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8492    pub fn nm_setting_802_1x_get_phase2_ca_cert_password(
8493        setting: *mut NMSetting8021x,
8494    ) -> *const c_char;
8495    #[cfg(feature = "v1_8")]
8496    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8497    pub fn nm_setting_802_1x_get_phase2_ca_cert_password_flags(
8498        setting: *mut NMSetting8021x,
8499    ) -> NMSettingSecretFlags;
8500    pub fn nm_setting_802_1x_get_phase2_ca_cert_path(setting: *mut NMSetting8021x)
8501        -> *const c_char;
8502    pub fn nm_setting_802_1x_get_phase2_ca_cert_scheme(
8503        setting: *mut NMSetting8021x,
8504    ) -> NMSetting8021xCKScheme;
8505    #[cfg(feature = "v1_6")]
8506    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
8507    pub fn nm_setting_802_1x_get_phase2_ca_cert_uri(setting: *mut NMSetting8021x) -> *const c_char;
8508    pub fn nm_setting_802_1x_get_phase2_ca_path(setting: *mut NMSetting8021x) -> *const c_char;
8509    pub fn nm_setting_802_1x_get_phase2_client_cert_blob(
8510        setting: *mut NMSetting8021x,
8511    ) -> *mut glib::GBytes;
8512    #[cfg(feature = "v1_8")]
8513    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8514    pub fn nm_setting_802_1x_get_phase2_client_cert_password(
8515        setting: *mut NMSetting8021x,
8516    ) -> *const c_char;
8517    #[cfg(feature = "v1_8")]
8518    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8519    pub fn nm_setting_802_1x_get_phase2_client_cert_password_flags(
8520        setting: *mut NMSetting8021x,
8521    ) -> NMSettingSecretFlags;
8522    pub fn nm_setting_802_1x_get_phase2_client_cert_path(
8523        setting: *mut NMSetting8021x,
8524    ) -> *const c_char;
8525    pub fn nm_setting_802_1x_get_phase2_client_cert_scheme(
8526        setting: *mut NMSetting8021x,
8527    ) -> NMSetting8021xCKScheme;
8528    #[cfg(feature = "v1_6")]
8529    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
8530    pub fn nm_setting_802_1x_get_phase2_client_cert_uri(
8531        setting: *mut NMSetting8021x,
8532    ) -> *const c_char;
8533    #[cfg(feature = "v1_24")]
8534    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8535    pub fn nm_setting_802_1x_get_phase2_domain_match(setting: *mut NMSetting8021x)
8536        -> *const c_char;
8537    #[cfg(feature = "v1_2")]
8538    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8539    pub fn nm_setting_802_1x_get_phase2_domain_suffix_match(
8540        setting: *mut NMSetting8021x,
8541    ) -> *const c_char;
8542    pub fn nm_setting_802_1x_get_phase2_private_key_blob(
8543        setting: *mut NMSetting8021x,
8544    ) -> *mut glib::GBytes;
8545    pub fn nm_setting_802_1x_get_phase2_private_key_format(
8546        setting: *mut NMSetting8021x,
8547    ) -> NMSetting8021xCKFormat;
8548    pub fn nm_setting_802_1x_get_phase2_private_key_password(
8549        setting: *mut NMSetting8021x,
8550    ) -> *const c_char;
8551    pub fn nm_setting_802_1x_get_phase2_private_key_password_flags(
8552        setting: *mut NMSetting8021x,
8553    ) -> NMSettingSecretFlags;
8554    pub fn nm_setting_802_1x_get_phase2_private_key_path(
8555        setting: *mut NMSetting8021x,
8556    ) -> *const c_char;
8557    pub fn nm_setting_802_1x_get_phase2_private_key_scheme(
8558        setting: *mut NMSetting8021x,
8559    ) -> NMSetting8021xCKScheme;
8560    #[cfg(feature = "v1_6")]
8561    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
8562    pub fn nm_setting_802_1x_get_phase2_private_key_uri(
8563        setting: *mut NMSetting8021x,
8564    ) -> *const c_char;
8565    pub fn nm_setting_802_1x_get_phase2_subject_match(
8566        setting: *mut NMSetting8021x,
8567    ) -> *const c_char;
8568    pub fn nm_setting_802_1x_get_pin(setting: *mut NMSetting8021x) -> *const c_char;
8569    pub fn nm_setting_802_1x_get_pin_flags(setting: *mut NMSetting8021x) -> NMSettingSecretFlags;
8570    pub fn nm_setting_802_1x_get_private_key_blob(
8571        setting: *mut NMSetting8021x,
8572    ) -> *mut glib::GBytes;
8573    pub fn nm_setting_802_1x_get_private_key_format(
8574        setting: *mut NMSetting8021x,
8575    ) -> NMSetting8021xCKFormat;
8576    pub fn nm_setting_802_1x_get_private_key_password(
8577        setting: *mut NMSetting8021x,
8578    ) -> *const c_char;
8579    pub fn nm_setting_802_1x_get_private_key_password_flags(
8580        setting: *mut NMSetting8021x,
8581    ) -> NMSettingSecretFlags;
8582    pub fn nm_setting_802_1x_get_private_key_path(setting: *mut NMSetting8021x) -> *const c_char;
8583    pub fn nm_setting_802_1x_get_private_key_scheme(
8584        setting: *mut NMSetting8021x,
8585    ) -> NMSetting8021xCKScheme;
8586    #[cfg(feature = "v1_6")]
8587    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
8588    pub fn nm_setting_802_1x_get_private_key_uri(setting: *mut NMSetting8021x) -> *const c_char;
8589    pub fn nm_setting_802_1x_get_subject_match(setting: *mut NMSetting8021x) -> *const c_char;
8590    pub fn nm_setting_802_1x_get_system_ca_certs(setting: *mut NMSetting8021x) -> gboolean;
8591    pub fn nm_setting_802_1x_remove_altsubject_match(setting: *mut NMSetting8021x, i: u32);
8592    pub fn nm_setting_802_1x_remove_altsubject_match_by_value(
8593        setting: *mut NMSetting8021x,
8594        altsubject_match: *const c_char,
8595    ) -> gboolean;
8596    pub fn nm_setting_802_1x_remove_eap_method(setting: *mut NMSetting8021x, i: u32);
8597    pub fn nm_setting_802_1x_remove_eap_method_by_value(
8598        setting: *mut NMSetting8021x,
8599        eap: *const c_char,
8600    ) -> gboolean;
8601    pub fn nm_setting_802_1x_remove_phase2_altsubject_match(setting: *mut NMSetting8021x, i: u32);
8602    pub fn nm_setting_802_1x_remove_phase2_altsubject_match_by_value(
8603        setting: *mut NMSetting8021x,
8604        phase2_altsubject_match: *const c_char,
8605    ) -> gboolean;
8606    pub fn nm_setting_802_1x_set_ca_cert(
8607        setting: *mut NMSetting8021x,
8608        value: *const c_char,
8609        scheme: NMSetting8021xCKScheme,
8610        out_format: *mut NMSetting8021xCKFormat,
8611        error: *mut *mut glib::GError,
8612    ) -> gboolean;
8613    pub fn nm_setting_802_1x_set_client_cert(
8614        setting: *mut NMSetting8021x,
8615        value: *const c_char,
8616        scheme: NMSetting8021xCKScheme,
8617        out_format: *mut NMSetting8021xCKFormat,
8618        error: *mut *mut glib::GError,
8619    ) -> gboolean;
8620    pub fn nm_setting_802_1x_set_phase2_ca_cert(
8621        setting: *mut NMSetting8021x,
8622        value: *const c_char,
8623        scheme: NMSetting8021xCKScheme,
8624        out_format: *mut NMSetting8021xCKFormat,
8625        error: *mut *mut glib::GError,
8626    ) -> gboolean;
8627    pub fn nm_setting_802_1x_set_phase2_client_cert(
8628        setting: *mut NMSetting8021x,
8629        value: *const c_char,
8630        scheme: NMSetting8021xCKScheme,
8631        out_format: *mut NMSetting8021xCKFormat,
8632        error: *mut *mut glib::GError,
8633    ) -> gboolean;
8634    pub fn nm_setting_802_1x_set_phase2_private_key(
8635        setting: *mut NMSetting8021x,
8636        value: *const c_char,
8637        password: *const c_char,
8638        scheme: NMSetting8021xCKScheme,
8639        out_format: *mut NMSetting8021xCKFormat,
8640        error: *mut *mut glib::GError,
8641    ) -> gboolean;
8642    pub fn nm_setting_802_1x_set_private_key(
8643        setting: *mut NMSetting8021x,
8644        value: *const c_char,
8645        password: *const c_char,
8646        scheme: NMSetting8021xCKScheme,
8647        out_format: *mut NMSetting8021xCKFormat,
8648        error: *mut *mut glib::GError,
8649    ) -> gboolean;
8650
8651    //=========================================================================
8652    // NMSettingAdsl
8653    //=========================================================================
8654    pub fn nm_setting_adsl_get_type() -> GType;
8655    pub fn nm_setting_adsl_new() -> *mut NMSetting;
8656    pub fn nm_setting_adsl_get_encapsulation(setting: *mut NMSettingAdsl) -> *const c_char;
8657    pub fn nm_setting_adsl_get_password(setting: *mut NMSettingAdsl) -> *const c_char;
8658    pub fn nm_setting_adsl_get_password_flags(setting: *mut NMSettingAdsl) -> NMSettingSecretFlags;
8659    pub fn nm_setting_adsl_get_protocol(setting: *mut NMSettingAdsl) -> *const c_char;
8660    pub fn nm_setting_adsl_get_username(setting: *mut NMSettingAdsl) -> *const c_char;
8661    pub fn nm_setting_adsl_get_vci(setting: *mut NMSettingAdsl) -> u32;
8662    pub fn nm_setting_adsl_get_vpi(setting: *mut NMSettingAdsl) -> u32;
8663
8664    //=========================================================================
8665    // NMSettingBluetooth
8666    //=========================================================================
8667    pub fn nm_setting_bluetooth_get_type() -> GType;
8668    pub fn nm_setting_bluetooth_new() -> *mut NMSetting;
8669    pub fn nm_setting_bluetooth_get_bdaddr(setting: *mut NMSettingBluetooth) -> *const c_char;
8670    pub fn nm_setting_bluetooth_get_connection_type(
8671        setting: *mut NMSettingBluetooth,
8672    ) -> *const c_char;
8673
8674    //=========================================================================
8675    // NMSettingBond
8676    //=========================================================================
8677    pub fn nm_setting_bond_get_type() -> GType;
8678    pub fn nm_setting_bond_new() -> *mut NMSetting;
8679    pub fn nm_setting_bond_validate_option(name: *const c_char, value: *const c_char) -> gboolean;
8680    pub fn nm_setting_bond_add_option(
8681        setting: *mut NMSettingBond,
8682        name: *const c_char,
8683        value: *const c_char,
8684    ) -> gboolean;
8685    pub fn nm_setting_bond_get_num_options(setting: *mut NMSettingBond) -> u32;
8686    pub fn nm_setting_bond_get_option(
8687        setting: *mut NMSettingBond,
8688        idx: u32,
8689        out_name: *mut *const c_char,
8690        out_value: *mut *const c_char,
8691    ) -> gboolean;
8692    pub fn nm_setting_bond_get_option_by_name(
8693        setting: *mut NMSettingBond,
8694        name: *const c_char,
8695    ) -> *const c_char;
8696    pub fn nm_setting_bond_get_option_default(
8697        setting: *mut NMSettingBond,
8698        name: *const c_char,
8699    ) -> *const c_char;
8700    #[cfg(feature = "v1_24")]
8701    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8702    pub fn nm_setting_bond_get_option_normalized(
8703        setting: *mut NMSettingBond,
8704        name: *const c_char,
8705    ) -> *const c_char;
8706    pub fn nm_setting_bond_get_valid_options(setting: *mut NMSettingBond) -> *mut *const c_char;
8707    pub fn nm_setting_bond_remove_option(
8708        setting: *mut NMSettingBond,
8709        name: *const c_char,
8710    ) -> gboolean;
8711
8712    //=========================================================================
8713    // NMSettingBondPort
8714    //=========================================================================
8715    pub fn nm_setting_bond_port_get_type() -> GType;
8716    #[cfg(feature = "v1_34")]
8717    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
8718    pub fn nm_setting_bond_port_new() -> *mut NMSetting;
8719    #[cfg(feature = "v1_44")]
8720    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
8721    pub fn nm_setting_bond_port_get_prio(setting: *mut NMSettingBondPort) -> i32;
8722    #[cfg(feature = "v1_34")]
8723    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
8724    pub fn nm_setting_bond_port_get_queue_id(setting: *mut NMSettingBondPort) -> u32;
8725
8726    //=========================================================================
8727    // NMSettingBridge
8728    //=========================================================================
8729    pub fn nm_setting_bridge_get_type() -> GType;
8730    pub fn nm_setting_bridge_new() -> *mut NMSetting;
8731    #[cfg(feature = "v1_18")]
8732    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8733    pub fn nm_setting_bridge_add_vlan(setting: *mut NMSettingBridge, vlan: *mut NMBridgeVlan);
8734    #[cfg(feature = "v1_18")]
8735    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8736    pub fn nm_setting_bridge_clear_vlans(setting: *mut NMSettingBridge);
8737    pub fn nm_setting_bridge_get_ageing_time(setting: *mut NMSettingBridge) -> u32;
8738    pub fn nm_setting_bridge_get_forward_delay(setting: *mut NMSettingBridge) -> u16;
8739    #[cfg(feature = "v1_24")]
8740    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8741    pub fn nm_setting_bridge_get_group_address(setting: *const NMSettingBridge) -> *const c_char;
8742    #[cfg(feature = "v1_10")]
8743    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
8744    pub fn nm_setting_bridge_get_group_forward_mask(setting: *mut NMSettingBridge) -> u16;
8745    pub fn nm_setting_bridge_get_hello_time(setting: *mut NMSettingBridge) -> u16;
8746    pub fn nm_setting_bridge_get_mac_address(setting: *mut NMSettingBridge) -> *const c_char;
8747    pub fn nm_setting_bridge_get_max_age(setting: *mut NMSettingBridge) -> u16;
8748    #[cfg(feature = "v1_26")]
8749    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8750    pub fn nm_setting_bridge_get_multicast_hash_max(setting: *const NMSettingBridge) -> u32;
8751    #[cfg(feature = "v1_26")]
8752    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8753    pub fn nm_setting_bridge_get_multicast_last_member_count(
8754        setting: *const NMSettingBridge,
8755    ) -> u32;
8756    #[cfg(feature = "v1_26")]
8757    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8758    pub fn nm_setting_bridge_get_multicast_last_member_interval(
8759        setting: *const NMSettingBridge,
8760    ) -> u64;
8761    #[cfg(feature = "v1_26")]
8762    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8763    pub fn nm_setting_bridge_get_multicast_membership_interval(
8764        setting: *const NMSettingBridge,
8765    ) -> u64;
8766    #[cfg(feature = "v1_24")]
8767    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8768    pub fn nm_setting_bridge_get_multicast_querier(setting: *const NMSettingBridge) -> gboolean;
8769    #[cfg(feature = "v1_26")]
8770    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8771    pub fn nm_setting_bridge_get_multicast_querier_interval(setting: *const NMSettingBridge)
8772        -> u64;
8773    #[cfg(feature = "v1_26")]
8774    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8775    pub fn nm_setting_bridge_get_multicast_query_interval(setting: *const NMSettingBridge) -> u64;
8776    #[cfg(feature = "v1_26")]
8777    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8778    pub fn nm_setting_bridge_get_multicast_query_response_interval(
8779        setting: *const NMSettingBridge,
8780    ) -> u64;
8781    #[cfg(feature = "v1_24")]
8782    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8783    pub fn nm_setting_bridge_get_multicast_query_use_ifaddr(
8784        setting: *const NMSettingBridge,
8785    ) -> gboolean;
8786    #[cfg(feature = "v1_24")]
8787    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8788    pub fn nm_setting_bridge_get_multicast_router(setting: *const NMSettingBridge)
8789        -> *const c_char;
8790    #[cfg(feature = "v1_2")]
8791    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8792    pub fn nm_setting_bridge_get_multicast_snooping(setting: *mut NMSettingBridge) -> gboolean;
8793    #[cfg(feature = "v1_26")]
8794    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8795    pub fn nm_setting_bridge_get_multicast_startup_query_count(
8796        setting: *const NMSettingBridge,
8797    ) -> u32;
8798    #[cfg(feature = "v1_26")]
8799    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8800    pub fn nm_setting_bridge_get_multicast_startup_query_interval(
8801        setting: *const NMSettingBridge,
8802    ) -> u64;
8803    #[cfg(feature = "v1_18")]
8804    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8805    pub fn nm_setting_bridge_get_num_vlans(setting: *mut NMSettingBridge) -> c_uint;
8806    pub fn nm_setting_bridge_get_priority(setting: *mut NMSettingBridge) -> u16;
8807    pub fn nm_setting_bridge_get_stp(setting: *mut NMSettingBridge) -> gboolean;
8808    #[cfg(feature = "v1_18")]
8809    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8810    pub fn nm_setting_bridge_get_vlan(
8811        setting: *mut NMSettingBridge,
8812        idx: c_uint,
8813    ) -> *mut NMBridgeVlan;
8814    #[cfg(feature = "v1_18")]
8815    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8816    pub fn nm_setting_bridge_get_vlan_default_pvid(setting: *mut NMSettingBridge) -> u16;
8817    #[cfg(feature = "v1_18")]
8818    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8819    pub fn nm_setting_bridge_get_vlan_filtering(setting: *mut NMSettingBridge) -> gboolean;
8820    #[cfg(feature = "v1_24")]
8821    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8822    pub fn nm_setting_bridge_get_vlan_protocol(setting: *const NMSettingBridge) -> *const c_char;
8823    #[cfg(feature = "v1_24")]
8824    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8825    pub fn nm_setting_bridge_get_vlan_stats_enabled(setting: *const NMSettingBridge) -> gboolean;
8826    #[cfg(feature = "v1_18")]
8827    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8828    pub fn nm_setting_bridge_remove_vlan(setting: *mut NMSettingBridge, idx: c_uint);
8829    #[cfg(feature = "v1_18")]
8830    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8831    pub fn nm_setting_bridge_remove_vlan_by_vid(
8832        setting: *mut NMSettingBridge,
8833        vid_start: u16,
8834        vid_end: u16,
8835    ) -> gboolean;
8836
8837    //=========================================================================
8838    // NMSettingBridgePort
8839    //=========================================================================
8840    pub fn nm_setting_bridge_port_get_type() -> GType;
8841    pub fn nm_setting_bridge_port_new() -> *mut NMSetting;
8842    #[cfg(feature = "v1_18")]
8843    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8844    pub fn nm_setting_bridge_port_add_vlan(
8845        setting: *mut NMSettingBridgePort,
8846        vlan: *mut NMBridgeVlan,
8847    );
8848    #[cfg(feature = "v1_18")]
8849    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8850    pub fn nm_setting_bridge_port_clear_vlans(setting: *mut NMSettingBridgePort);
8851    pub fn nm_setting_bridge_port_get_hairpin_mode(setting: *mut NMSettingBridgePort) -> gboolean;
8852    #[cfg(feature = "v1_18")]
8853    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8854    pub fn nm_setting_bridge_port_get_num_vlans(setting: *mut NMSettingBridgePort) -> c_uint;
8855    pub fn nm_setting_bridge_port_get_path_cost(setting: *mut NMSettingBridgePort) -> u16;
8856    pub fn nm_setting_bridge_port_get_priority(setting: *mut NMSettingBridgePort) -> u16;
8857    #[cfg(feature = "v1_18")]
8858    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8859    pub fn nm_setting_bridge_port_get_vlan(
8860        setting: *mut NMSettingBridgePort,
8861        idx: c_uint,
8862    ) -> *mut NMBridgeVlan;
8863    #[cfg(feature = "v1_18")]
8864    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8865    pub fn nm_setting_bridge_port_remove_vlan(setting: *mut NMSettingBridgePort, idx: c_uint);
8866    #[cfg(feature = "v1_18")]
8867    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8868    pub fn nm_setting_bridge_port_remove_vlan_by_vid(
8869        setting: *mut NMSettingBridgePort,
8870        vid_start: u16,
8871        vid_end: u16,
8872    ) -> gboolean;
8873
8874    //=========================================================================
8875    // NMSettingCdma
8876    //=========================================================================
8877    pub fn nm_setting_cdma_get_type() -> GType;
8878    pub fn nm_setting_cdma_new() -> *mut NMSetting;
8879    #[cfg(feature = "v1_8")]
8880    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
8881    pub fn nm_setting_cdma_get_mtu(setting: *mut NMSettingCdma) -> u32;
8882    pub fn nm_setting_cdma_get_number(setting: *mut NMSettingCdma) -> *const c_char;
8883    pub fn nm_setting_cdma_get_password(setting: *mut NMSettingCdma) -> *const c_char;
8884    pub fn nm_setting_cdma_get_password_flags(setting: *mut NMSettingCdma) -> NMSettingSecretFlags;
8885    pub fn nm_setting_cdma_get_username(setting: *mut NMSettingCdma) -> *const c_char;
8886
8887    //=========================================================================
8888    // NMSettingConnection
8889    //=========================================================================
8890    pub fn nm_setting_connection_get_type() -> GType;
8891    pub fn nm_setting_connection_new() -> *mut NMSetting;
8892    #[cfg(feature = "v1_52")]
8893    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
8894    pub fn nm_setting_connection_add_ip_ping_address(
8895        setting: *mut NMSettingConnection,
8896        address: *const c_char,
8897    ) -> gboolean;
8898    pub fn nm_setting_connection_add_permission(
8899        setting: *mut NMSettingConnection,
8900        ptype: *const c_char,
8901        pitem: *const c_char,
8902        detail: *const c_char,
8903    ) -> gboolean;
8904    pub fn nm_setting_connection_add_secondary(
8905        setting: *mut NMSettingConnection,
8906        sec_uuid: *const c_char,
8907    ) -> gboolean;
8908    #[cfg(feature = "v1_52")]
8909    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
8910    pub fn nm_setting_connection_clear_ip_ping_addresses(setting: *mut NMSettingConnection);
8911    #[cfg(feature = "v1_10")]
8912    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
8913    pub fn nm_setting_connection_get_auth_retries(setting: *mut NMSettingConnection) -> c_int;
8914    pub fn nm_setting_connection_get_autoconnect(setting: *mut NMSettingConnection) -> gboolean;
8915    #[cfg(feature = "v1_46")]
8916    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
8917    pub fn nm_setting_connection_get_autoconnect_ports(
8918        setting: *mut NMSettingConnection,
8919    ) -> NMTernary;
8920    pub fn nm_setting_connection_get_autoconnect_priority(
8921        setting: *mut NMSettingConnection,
8922    ) -> c_int;
8923    #[cfg(feature = "v1_6")]
8924    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
8925    pub fn nm_setting_connection_get_autoconnect_retries(
8926        setting: *mut NMSettingConnection,
8927    ) -> c_int;
8928    #[cfg(feature = "v1_2")]
8929    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8930    pub fn nm_setting_connection_get_autoconnect_slaves(
8931        setting: *mut NMSettingConnection,
8932    ) -> NMSettingConnectionAutoconnectSlaves;
8933    pub fn nm_setting_connection_get_connection_type(
8934        setting: *mut NMSettingConnection,
8935    ) -> *const c_char;
8936    #[cfg(feature = "v1_46")]
8937    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
8938    pub fn nm_setting_connection_get_controller(setting: *mut NMSettingConnection)
8939        -> *const c_char;
8940    #[cfg(feature = "v1_34")]
8941    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
8942    pub fn nm_setting_connection_get_dns_over_tls(
8943        setting: *mut NMSettingConnection,
8944    ) -> NMSettingConnectionDnsOverTls;
8945    #[cfg(feature = "v1_48")]
8946    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
8947    pub fn nm_setting_connection_get_down_on_poweroff(
8948        setting: *mut NMSettingConnection,
8949    ) -> NMSettingConnectionDownOnPoweroff;
8950    pub fn nm_setting_connection_get_gateway_ping_timeout(setting: *mut NMSettingConnection)
8951        -> u32;
8952    pub fn nm_setting_connection_get_id(setting: *mut NMSettingConnection) -> *const c_char;
8953    pub fn nm_setting_connection_get_interface_name(
8954        setting: *mut NMSettingConnection,
8955    ) -> *const c_char;
8956    #[cfg(feature = "v1_52")]
8957    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
8958    pub fn nm_setting_connection_get_ip_ping_address(
8959        setting: *mut NMSettingConnection,
8960        idx: u32,
8961    ) -> *const c_char;
8962    #[cfg(feature = "v1_52")]
8963    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
8964    pub fn nm_setting_connection_get_ip_ping_addresses_require_all(
8965        setting: *mut NMSettingConnection,
8966    ) -> NMTernary;
8967    #[cfg(feature = "v1_52")]
8968    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
8969    pub fn nm_setting_connection_get_ip_ping_timeout(setting: *mut NMSettingConnection) -> u32;
8970    #[cfg(feature = "v1_2")]
8971    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8972    pub fn nm_setting_connection_get_lldp(
8973        setting: *mut NMSettingConnection,
8974    ) -> NMSettingConnectionLldp;
8975    #[cfg(feature = "v1_14")]
8976    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8977    pub fn nm_setting_connection_get_llmnr(
8978        setting: *mut NMSettingConnection,
8979    ) -> NMSettingConnectionLlmnr;
8980    pub fn nm_setting_connection_get_master(setting: *mut NMSettingConnection) -> *const c_char;
8981    #[cfg(feature = "v1_12")]
8982    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
8983    pub fn nm_setting_connection_get_mdns(
8984        setting: *mut NMSettingConnection,
8985    ) -> NMSettingConnectionMdns;
8986    #[cfg(feature = "v1_2")]
8987    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
8988    pub fn nm_setting_connection_get_metered(setting: *mut NMSettingConnection) -> NMMetered;
8989    #[cfg(feature = "v1_42")]
8990    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
8991    pub fn nm_setting_connection_get_mptcp_flags(setting: *mut NMSettingConnection)
8992        -> NMMptcpFlags;
8993    #[cfg(feature = "v1_26")]
8994    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
8995    pub fn nm_setting_connection_get_mud_url(setting: *mut NMSettingConnection) -> *const c_char;
8996    #[cfg(feature = "v1_14")]
8997    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
8998    pub fn nm_setting_connection_get_multi_connect(
8999        setting: *mut NMSettingConnection,
9000    ) -> NMConnectionMultiConnect;
9001    pub fn nm_setting_connection_get_num_permissions(setting: *mut NMSettingConnection) -> u32;
9002    pub fn nm_setting_connection_get_num_secondaries(setting: *mut NMSettingConnection) -> u32;
9003    pub fn nm_setting_connection_get_permission(
9004        setting: *mut NMSettingConnection,
9005        idx: u32,
9006        out_ptype: *mut *const c_char,
9007        out_pitem: *mut *const c_char,
9008        out_detail: *mut *const c_char,
9009    ) -> gboolean;
9010    #[cfg(feature = "v1_46")]
9011    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9012    pub fn nm_setting_connection_get_port_type(setting: *mut NMSettingConnection) -> *const c_char;
9013    pub fn nm_setting_connection_get_read_only(setting: *mut NMSettingConnection) -> gboolean;
9014    pub fn nm_setting_connection_get_secondary(
9015        setting: *mut NMSettingConnection,
9016        idx: u32,
9017    ) -> *const c_char;
9018    pub fn nm_setting_connection_get_slave_type(setting: *mut NMSettingConnection)
9019        -> *const c_char;
9020    #[cfg(feature = "v1_4")]
9021    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
9022    pub fn nm_setting_connection_get_stable_id(setting: *mut NMSettingConnection) -> *const c_char;
9023    pub fn nm_setting_connection_get_timestamp(setting: *mut NMSettingConnection) -> u64;
9024    pub fn nm_setting_connection_get_uuid(setting: *mut NMSettingConnection) -> *const c_char;
9025    #[cfg(feature = "v1_40")]
9026    #[cfg_attr(docsrs, doc(cfg(feature = "v1_40")))]
9027    pub fn nm_setting_connection_get_wait_activation_delay(
9028        setting: *mut NMSettingConnection,
9029    ) -> i32;
9030    #[cfg(feature = "v1_20")]
9031    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9032    pub fn nm_setting_connection_get_wait_device_timeout(setting: *mut NMSettingConnection) -> i32;
9033    pub fn nm_setting_connection_get_zone(setting: *mut NMSettingConnection) -> *const c_char;
9034    pub fn nm_setting_connection_is_slave_type(
9035        setting: *mut NMSettingConnection,
9036        type_: *const c_char,
9037    ) -> gboolean;
9038    pub fn nm_setting_connection_permissions_user_allowed(
9039        setting: *mut NMSettingConnection,
9040        uname: *const c_char,
9041    ) -> gboolean;
9042    #[cfg(feature = "v1_52")]
9043    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9044    pub fn nm_setting_connection_remove_ip_ping_address(
9045        setting: *mut NMSettingConnection,
9046        idx: u32,
9047    );
9048    #[cfg(feature = "v1_52")]
9049    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9050    pub fn nm_setting_connection_remove_ip_ping_address_by_value(
9051        setting: *mut NMSettingConnection,
9052        address: *const c_char,
9053    ) -> gboolean;
9054    pub fn nm_setting_connection_remove_permission(setting: *mut NMSettingConnection, idx: u32);
9055    pub fn nm_setting_connection_remove_permission_by_value(
9056        setting: *mut NMSettingConnection,
9057        ptype: *const c_char,
9058        pitem: *const c_char,
9059        detail: *const c_char,
9060    ) -> gboolean;
9061    pub fn nm_setting_connection_remove_secondary(setting: *mut NMSettingConnection, idx: u32);
9062    pub fn nm_setting_connection_remove_secondary_by_value(
9063        setting: *mut NMSettingConnection,
9064        sec_uuid: *const c_char,
9065    ) -> gboolean;
9066
9067    //=========================================================================
9068    // NMSettingDcb
9069    //=========================================================================
9070    pub fn nm_setting_dcb_get_type() -> GType;
9071    pub fn nm_setting_dcb_new() -> *mut NMSetting;
9072    pub fn nm_setting_dcb_get_app_fcoe_flags(setting: *mut NMSettingDcb) -> NMSettingDcbFlags;
9073    pub fn nm_setting_dcb_get_app_fcoe_mode(setting: *mut NMSettingDcb) -> *const c_char;
9074    pub fn nm_setting_dcb_get_app_fcoe_priority(setting: *mut NMSettingDcb) -> c_int;
9075    pub fn nm_setting_dcb_get_app_fip_flags(setting: *mut NMSettingDcb) -> NMSettingDcbFlags;
9076    pub fn nm_setting_dcb_get_app_fip_priority(setting: *mut NMSettingDcb) -> c_int;
9077    pub fn nm_setting_dcb_get_app_iscsi_flags(setting: *mut NMSettingDcb) -> NMSettingDcbFlags;
9078    pub fn nm_setting_dcb_get_app_iscsi_priority(setting: *mut NMSettingDcb) -> c_int;
9079    pub fn nm_setting_dcb_get_priority_bandwidth(
9080        setting: *mut NMSettingDcb,
9081        user_priority: c_uint,
9082    ) -> c_uint;
9083    pub fn nm_setting_dcb_get_priority_flow_control(
9084        setting: *mut NMSettingDcb,
9085        user_priority: c_uint,
9086    ) -> gboolean;
9087    pub fn nm_setting_dcb_get_priority_flow_control_flags(
9088        setting: *mut NMSettingDcb,
9089    ) -> NMSettingDcbFlags;
9090    pub fn nm_setting_dcb_get_priority_group_bandwidth(
9091        setting: *mut NMSettingDcb,
9092        group_id: c_uint,
9093    ) -> c_uint;
9094    pub fn nm_setting_dcb_get_priority_group_flags(setting: *mut NMSettingDcb)
9095        -> NMSettingDcbFlags;
9096    pub fn nm_setting_dcb_get_priority_group_id(
9097        setting: *mut NMSettingDcb,
9098        user_priority: c_uint,
9099    ) -> c_uint;
9100    pub fn nm_setting_dcb_get_priority_strict_bandwidth(
9101        setting: *mut NMSettingDcb,
9102        user_priority: c_uint,
9103    ) -> gboolean;
9104    pub fn nm_setting_dcb_get_priority_traffic_class(
9105        setting: *mut NMSettingDcb,
9106        user_priority: c_uint,
9107    ) -> c_uint;
9108    pub fn nm_setting_dcb_set_priority_bandwidth(
9109        setting: *mut NMSettingDcb,
9110        user_priority: c_uint,
9111        bandwidth_percent: c_uint,
9112    );
9113    pub fn nm_setting_dcb_set_priority_flow_control(
9114        setting: *mut NMSettingDcb,
9115        user_priority: c_uint,
9116        enabled: gboolean,
9117    );
9118    pub fn nm_setting_dcb_set_priority_group_bandwidth(
9119        setting: *mut NMSettingDcb,
9120        group_id: c_uint,
9121        bandwidth_percent: c_uint,
9122    );
9123    pub fn nm_setting_dcb_set_priority_group_id(
9124        setting: *mut NMSettingDcb,
9125        user_priority: c_uint,
9126        group_id: c_uint,
9127    );
9128    pub fn nm_setting_dcb_set_priority_strict_bandwidth(
9129        setting: *mut NMSettingDcb,
9130        user_priority: c_uint,
9131        strict: gboolean,
9132    );
9133    pub fn nm_setting_dcb_set_priority_traffic_class(
9134        setting: *mut NMSettingDcb,
9135        user_priority: c_uint,
9136        traffic_class: c_uint,
9137    );
9138
9139    //=========================================================================
9140    // NMSettingDummy
9141    //=========================================================================
9142    pub fn nm_setting_dummy_get_type() -> GType;
9143    #[cfg(feature = "v1_8")]
9144    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
9145    pub fn nm_setting_dummy_new() -> *mut NMSetting;
9146
9147    //=========================================================================
9148    // NMSettingEthtool
9149    //=========================================================================
9150    #[cfg(feature = "v1_14")]
9151    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9152    pub fn nm_setting_ethtool_get_type() -> GType;
9153    #[cfg(feature = "v1_14")]
9154    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9155    pub fn nm_setting_ethtool_new() -> *mut NMSetting;
9156    #[cfg(feature = "v1_14")]
9157    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9158    pub fn nm_setting_ethtool_clear_features(setting: *mut NMSettingEthtool);
9159    #[cfg(feature = "v1_14")]
9160    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9161    pub fn nm_setting_ethtool_get_feature(
9162        setting: *mut NMSettingEthtool,
9163        optname: *const c_char,
9164    ) -> NMTernary;
9165    #[cfg(feature = "v1_20")]
9166    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9167    pub fn nm_setting_ethtool_get_optnames(
9168        setting: *mut NMSettingEthtool,
9169        out_length: *mut c_uint,
9170    ) -> *mut *const c_char;
9171    #[cfg(feature = "v1_14")]
9172    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9173    pub fn nm_setting_ethtool_set_feature(
9174        setting: *mut NMSettingEthtool,
9175        optname: *const c_char,
9176        value: NMTernary,
9177    );
9178
9179    //=========================================================================
9180    // NMSettingGeneric
9181    //=========================================================================
9182    pub fn nm_setting_generic_get_type() -> GType;
9183    pub fn nm_setting_generic_new() -> *mut NMSetting;
9184    #[cfg(feature = "v1_46")]
9185    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9186    pub fn nm_setting_generic_get_device_handler(setting: *mut NMSettingGeneric) -> *const c_char;
9187
9188    //=========================================================================
9189    // NMSettingGsm
9190    //=========================================================================
9191    pub fn nm_setting_gsm_get_type() -> GType;
9192    pub fn nm_setting_gsm_new() -> *mut NMSetting;
9193    pub fn nm_setting_gsm_get_apn(setting: *mut NMSettingGsm) -> *const c_char;
9194    #[cfg(feature = "v1_22")]
9195    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
9196    pub fn nm_setting_gsm_get_auto_config(setting: *mut NMSettingGsm) -> gboolean;
9197    #[cfg(feature = "v1_2")]
9198    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9199    pub fn nm_setting_gsm_get_device_id(setting: *mut NMSettingGsm) -> *const c_char;
9200    pub fn nm_setting_gsm_get_home_only(setting: *mut NMSettingGsm) -> gboolean;
9201    #[cfg(feature = "v1_44")]
9202    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9203    pub fn nm_setting_gsm_get_initial_eps_apn(setting: *mut NMSettingGsm) -> *const c_char;
9204    #[cfg(feature = "v1_44")]
9205    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9206    pub fn nm_setting_gsm_get_initial_eps_config(setting: *mut NMSettingGsm) -> gboolean;
9207    #[cfg(feature = "v1_52")]
9208    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9209    pub fn nm_setting_gsm_get_initial_eps_noauth(setting: *mut NMSettingGsm) -> gboolean;
9210    #[cfg(feature = "v1_52")]
9211    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9212    pub fn nm_setting_gsm_get_initial_eps_password(setting: *mut NMSettingGsm) -> *const c_char;
9213    #[cfg(feature = "v1_52")]
9214    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9215    pub fn nm_setting_gsm_get_initial_eps_refuse_chap(setting: *mut NMSettingGsm) -> gboolean;
9216    #[cfg(feature = "v1_52")]
9217    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9218    pub fn nm_setting_gsm_get_initial_eps_refuse_eap(setting: *mut NMSettingGsm) -> gboolean;
9219    #[cfg(feature = "v1_52")]
9220    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9221    pub fn nm_setting_gsm_get_initial_eps_refuse_mschap(setting: *mut NMSettingGsm) -> gboolean;
9222    #[cfg(feature = "v1_52")]
9223    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9224    pub fn nm_setting_gsm_get_initial_eps_refuse_mschapv2(setting: *mut NMSettingGsm) -> gboolean;
9225    #[cfg(feature = "v1_52")]
9226    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9227    pub fn nm_setting_gsm_get_initial_eps_refuse_pap(setting: *mut NMSettingGsm) -> gboolean;
9228    #[cfg(feature = "v1_52")]
9229    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9230    pub fn nm_setting_gsm_get_initial_eps_username(setting: *mut NMSettingGsm) -> *const c_char;
9231    #[cfg(feature = "v1_8")]
9232    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
9233    pub fn nm_setting_gsm_get_mtu(setting: *mut NMSettingGsm) -> u32;
9234    pub fn nm_setting_gsm_get_network_id(setting: *mut NMSettingGsm) -> *const c_char;
9235    pub fn nm_setting_gsm_get_number(setting: *mut NMSettingGsm) -> *const c_char;
9236    pub fn nm_setting_gsm_get_password(setting: *mut NMSettingGsm) -> *const c_char;
9237    pub fn nm_setting_gsm_get_password_flags(setting: *mut NMSettingGsm) -> NMSettingSecretFlags;
9238    pub fn nm_setting_gsm_get_pin(setting: *mut NMSettingGsm) -> *const c_char;
9239    pub fn nm_setting_gsm_get_pin_flags(setting: *mut NMSettingGsm) -> NMSettingSecretFlags;
9240    #[cfg(feature = "v1_2")]
9241    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9242    pub fn nm_setting_gsm_get_sim_id(setting: *mut NMSettingGsm) -> *const c_char;
9243    #[cfg(feature = "v1_2")]
9244    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9245    pub fn nm_setting_gsm_get_sim_operator_id(setting: *mut NMSettingGsm) -> *const c_char;
9246    pub fn nm_setting_gsm_get_username(setting: *mut NMSettingGsm) -> *const c_char;
9247
9248    //=========================================================================
9249    // NMSettingHostname
9250    //=========================================================================
9251    #[cfg(feature = "v1_30")]
9252    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9253    pub fn nm_setting_hostname_get_type() -> GType;
9254    #[cfg(feature = "v1_42")]
9255    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9256    pub fn nm_setting_hostname_new() -> *mut NMSetting;
9257    #[cfg(feature = "v1_30")]
9258    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9259    pub fn nm_setting_hostname_get_from_dhcp(setting: *mut NMSettingHostname) -> NMTernary;
9260    #[cfg(feature = "v1_30")]
9261    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9262    pub fn nm_setting_hostname_get_from_dns_lookup(setting: *mut NMSettingHostname) -> NMTernary;
9263    #[cfg(feature = "v1_30")]
9264    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9265    pub fn nm_setting_hostname_get_only_from_default(setting: *mut NMSettingHostname) -> NMTernary;
9266    #[cfg(feature = "v1_30")]
9267    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9268    pub fn nm_setting_hostname_get_priority(setting: *mut NMSettingHostname) -> c_int;
9269
9270    //=========================================================================
9271    // NMSettingHsr
9272    //=========================================================================
9273    pub fn nm_setting_hsr_get_type() -> GType;
9274    #[cfg(feature = "v1_46")]
9275    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9276    pub fn nm_setting_hsr_new() -> *mut NMSetting;
9277    #[cfg(feature = "v1_46")]
9278    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9279    pub fn nm_setting_hsr_get_multicast_spec(setting: *mut NMSettingHsr) -> u32;
9280    #[cfg(feature = "v1_46")]
9281    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9282    pub fn nm_setting_hsr_get_port1(setting: *mut NMSettingHsr) -> *const c_char;
9283    #[cfg(feature = "v1_46")]
9284    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9285    pub fn nm_setting_hsr_get_port2(setting: *mut NMSettingHsr) -> *const c_char;
9286    #[cfg(feature = "v1_46")]
9287    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9288    pub fn nm_setting_hsr_get_prp(setting: *mut NMSettingHsr) -> gboolean;
9289
9290    //=========================================================================
9291    // NMSettingIP4Config
9292    //=========================================================================
9293    pub fn nm_setting_ip4_config_get_type() -> GType;
9294    pub fn nm_setting_ip4_config_new() -> *mut NMSetting;
9295    pub fn nm_setting_ip4_config_get_dhcp_client_id(
9296        setting: *mut NMSettingIP4Config,
9297    ) -> *const c_char;
9298    #[cfg(feature = "v1_2")]
9299    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9300    pub fn nm_setting_ip4_config_get_dhcp_fqdn(setting: *mut NMSettingIP4Config) -> *const c_char;
9301    #[cfg(feature = "v1_52")]
9302    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9303    pub fn nm_setting_ip4_config_get_dhcp_ipv6_only_preferred(
9304        setting: *mut NMSettingIP4Config,
9305    ) -> NMSettingIP4DhcpIpv6OnlyPreferred;
9306    #[cfg(feature = "v1_28")]
9307    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
9308    pub fn nm_setting_ip4_config_get_dhcp_vendor_class_identifier(
9309        setting: *mut NMSettingIP4Config,
9310    ) -> *const c_char;
9311    #[cfg(feature = "v1_42")]
9312    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9313    pub fn nm_setting_ip4_config_get_link_local(
9314        setting: *mut NMSettingIP4Config,
9315    ) -> NMSettingIP4LinkLocal;
9316
9317    //=========================================================================
9318    // NMSettingIP6Config
9319    //=========================================================================
9320    pub fn nm_setting_ip6_config_get_type() -> GType;
9321    pub fn nm_setting_ip6_config_new() -> *mut NMSetting;
9322    #[cfg(feature = "v1_2")]
9323    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9324    pub fn nm_setting_ip6_config_get_addr_gen_mode(
9325        setting: *mut NMSettingIP6Config,
9326    ) -> NMSettingIP6ConfigAddrGenMode;
9327    #[cfg(feature = "v1_12")]
9328    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
9329    pub fn nm_setting_ip6_config_get_dhcp_duid(setting: *mut NMSettingIP6Config) -> *const c_char;
9330    #[cfg(feature = "v1_44")]
9331    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9332    pub fn nm_setting_ip6_config_get_dhcp_pd_hint(
9333        setting: *mut NMSettingIP6Config,
9334    ) -> *const c_char;
9335    pub fn nm_setting_ip6_config_get_ip6_privacy(
9336        setting: *mut NMSettingIP6Config,
9337    ) -> NMSettingIP6ConfigPrivacy;
9338    #[cfg(feature = "v1_40")]
9339    #[cfg_attr(docsrs, doc(cfg(feature = "v1_40")))]
9340    pub fn nm_setting_ip6_config_get_mtu(setting: *mut NMSettingIP6Config) -> u32;
9341    #[cfg(feature = "v1_24")]
9342    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9343    pub fn nm_setting_ip6_config_get_ra_timeout(setting: *mut NMSettingIP6Config) -> i32;
9344    #[cfg(feature = "v1_48")]
9345    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
9346    pub fn nm_setting_ip6_config_get_temp_preferred_lifetime(
9347        setting: *mut NMSettingIP6Config,
9348    ) -> i32;
9349    #[cfg(feature = "v1_48")]
9350    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
9351    pub fn nm_setting_ip6_config_get_temp_valid_lifetime(setting: *mut NMSettingIP6Config) -> i32;
9352    #[cfg(feature = "v1_4")]
9353    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
9354    pub fn nm_setting_ip6_config_get_token(setting: *mut NMSettingIP6Config) -> *const c_char;
9355
9356    //=========================================================================
9357    // NMSettingIPConfig
9358    //=========================================================================
9359    pub fn nm_setting_ip_config_get_type() -> GType;
9360    pub fn nm_setting_ip_config_add_address(
9361        setting: *mut NMSettingIPConfig,
9362        address: *mut NMIPAddress,
9363    ) -> gboolean;
9364    #[cfg(feature = "v1_28")]
9365    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
9366    pub fn nm_setting_ip_config_add_dhcp_reject_server(
9367        setting: *mut NMSettingIPConfig,
9368        server: *const c_char,
9369    );
9370    pub fn nm_setting_ip_config_add_dns(
9371        setting: *mut NMSettingIPConfig,
9372        dns: *const c_char,
9373    ) -> gboolean;
9374    #[cfg(feature = "v1_2")]
9375    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9376    pub fn nm_setting_ip_config_add_dns_option(
9377        setting: *mut NMSettingIPConfig,
9378        dns_option: *const c_char,
9379    ) -> gboolean;
9380    pub fn nm_setting_ip_config_add_dns_search(
9381        setting: *mut NMSettingIPConfig,
9382        dns_search: *const c_char,
9383    ) -> gboolean;
9384    pub fn nm_setting_ip_config_add_route(
9385        setting: *mut NMSettingIPConfig,
9386        route: *mut NMIPRoute,
9387    ) -> gboolean;
9388    #[cfg(feature = "v1_18")]
9389    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9390    pub fn nm_setting_ip_config_add_routing_rule(
9391        setting: *mut NMSettingIPConfig,
9392        routing_rule: *mut NMIPRoutingRule,
9393    );
9394    pub fn nm_setting_ip_config_clear_addresses(setting: *mut NMSettingIPConfig);
9395    #[cfg(feature = "v1_28")]
9396    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
9397    pub fn nm_setting_ip_config_clear_dhcp_reject_servers(setting: *mut NMSettingIPConfig);
9398    pub fn nm_setting_ip_config_clear_dns(setting: *mut NMSettingIPConfig);
9399    #[cfg(feature = "v1_2")]
9400    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9401    pub fn nm_setting_ip_config_clear_dns_options(
9402        setting: *mut NMSettingIPConfig,
9403        is_set: gboolean,
9404    );
9405    pub fn nm_setting_ip_config_clear_dns_searches(setting: *mut NMSettingIPConfig);
9406    pub fn nm_setting_ip_config_clear_routes(setting: *mut NMSettingIPConfig);
9407    #[cfg(feature = "v1_18")]
9408    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9409    pub fn nm_setting_ip_config_clear_routing_rules(setting: *mut NMSettingIPConfig);
9410    pub fn nm_setting_ip_config_get_address(
9411        setting: *mut NMSettingIPConfig,
9412        idx: c_int,
9413    ) -> *mut NMIPAddress;
9414    #[cfg(feature = "v1_42")]
9415    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9416    pub fn nm_setting_ip_config_get_auto_route_ext_gw(setting: *mut NMSettingIPConfig)
9417        -> NMTernary;
9418    #[cfg(feature = "v1_2")]
9419    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9420    pub fn nm_setting_ip_config_get_dad_timeout(setting: *mut NMSettingIPConfig) -> c_int;
9421    #[cfg(feature = "v1_46")]
9422    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9423    pub fn nm_setting_ip_config_get_dhcp_dscp(setting: *mut NMSettingIPConfig) -> *const c_char;
9424    pub fn nm_setting_ip_config_get_dhcp_hostname(setting: *mut NMSettingIPConfig)
9425        -> *const c_char;
9426    #[cfg(feature = "v1_22")]
9427    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
9428    pub fn nm_setting_ip_config_get_dhcp_hostname_flags(
9429        setting: *mut NMSettingIPConfig,
9430    ) -> NMDhcpHostnameFlags;
9431    #[cfg(feature = "v1_42")]
9432    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9433    pub fn nm_setting_ip_config_get_dhcp_iaid(setting: *mut NMSettingIPConfig) -> *const c_char;
9434    #[cfg(feature = "v1_28")]
9435    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
9436    pub fn nm_setting_ip_config_get_dhcp_reject_servers(
9437        setting: *mut NMSettingIPConfig,
9438        out_len: *mut c_uint,
9439    ) -> *const *const c_char;
9440    pub fn nm_setting_ip_config_get_dhcp_send_hostname(setting: *mut NMSettingIPConfig)
9441        -> gboolean;
9442    #[cfg(feature = "v1_52")]
9443    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9444    pub fn nm_setting_ip_config_get_dhcp_send_hostname_v2(
9445        setting: *mut NMSettingIPConfig,
9446    ) -> NMTernary;
9447    #[cfg(feature = "v1_48")]
9448    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
9449    pub fn nm_setting_ip_config_get_dhcp_send_release(setting: *mut NMSettingIPConfig)
9450        -> NMTernary;
9451    #[cfg(feature = "v1_2")]
9452    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9453    pub fn nm_setting_ip_config_get_dhcp_timeout(setting: *mut NMSettingIPConfig) -> c_int;
9454    pub fn nm_setting_ip_config_get_dns(
9455        setting: *mut NMSettingIPConfig,
9456        idx: c_int,
9457    ) -> *const c_char;
9458    #[cfg(feature = "v1_2")]
9459    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9460    pub fn nm_setting_ip_config_get_dns_option(
9461        setting: *mut NMSettingIPConfig,
9462        idx: c_uint,
9463    ) -> *const c_char;
9464    #[cfg(feature = "v1_4")]
9465    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
9466    pub fn nm_setting_ip_config_get_dns_priority(setting: *mut NMSettingIPConfig) -> c_int;
9467    pub fn nm_setting_ip_config_get_dns_search(
9468        setting: *mut NMSettingIPConfig,
9469        idx: c_int,
9470    ) -> *const c_char;
9471    #[cfg(feature = "v1_54")]
9472    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
9473    pub fn nm_setting_ip_config_get_forwarding(
9474        setting: *mut NMSettingIPConfig,
9475    ) -> NMSettingIPConfigForwarding;
9476    pub fn nm_setting_ip_config_get_gateway(setting: *mut NMSettingIPConfig) -> *const c_char;
9477    pub fn nm_setting_ip_config_get_ignore_auto_dns(setting: *mut NMSettingIPConfig) -> gboolean;
9478    pub fn nm_setting_ip_config_get_ignore_auto_routes(setting: *mut NMSettingIPConfig)
9479        -> gboolean;
9480    pub fn nm_setting_ip_config_get_may_fail(setting: *mut NMSettingIPConfig) -> gboolean;
9481    pub fn nm_setting_ip_config_get_method(setting: *mut NMSettingIPConfig) -> *const c_char;
9482    pub fn nm_setting_ip_config_get_never_default(setting: *mut NMSettingIPConfig) -> gboolean;
9483    pub fn nm_setting_ip_config_get_num_addresses(setting: *mut NMSettingIPConfig) -> c_uint;
9484    pub fn nm_setting_ip_config_get_num_dns(setting: *mut NMSettingIPConfig) -> c_uint;
9485    #[cfg(feature = "v1_2")]
9486    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9487    pub fn nm_setting_ip_config_get_num_dns_options(setting: *mut NMSettingIPConfig) -> c_uint;
9488    pub fn nm_setting_ip_config_get_num_dns_searches(setting: *mut NMSettingIPConfig) -> c_uint;
9489    pub fn nm_setting_ip_config_get_num_routes(setting: *mut NMSettingIPConfig) -> c_uint;
9490    #[cfg(feature = "v1_18")]
9491    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9492    pub fn nm_setting_ip_config_get_num_routing_rules(setting: *mut NMSettingIPConfig) -> c_uint;
9493    #[cfg(feature = "v1_44")]
9494    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9495    pub fn nm_setting_ip_config_get_replace_local_rule(
9496        setting: *mut NMSettingIPConfig,
9497    ) -> NMTernary;
9498    #[cfg(feature = "v1_34")]
9499    #[cfg_attr(docsrs, doc(cfg(feature = "v1_34")))]
9500    pub fn nm_setting_ip_config_get_required_timeout(setting: *mut NMSettingIPConfig) -> c_int;
9501    pub fn nm_setting_ip_config_get_route(
9502        setting: *mut NMSettingIPConfig,
9503        idx: c_int,
9504    ) -> *mut NMIPRoute;
9505    pub fn nm_setting_ip_config_get_route_metric(setting: *mut NMSettingIPConfig) -> i64;
9506    #[cfg(feature = "v1_10")]
9507    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9508    pub fn nm_setting_ip_config_get_route_table(setting: *mut NMSettingIPConfig) -> u32;
9509    #[cfg(feature = "v1_52")]
9510    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9511    pub fn nm_setting_ip_config_get_routed_dns(
9512        setting: *mut NMSettingIPConfig,
9513    ) -> NMSettingIPConfigRoutedDns;
9514    #[cfg(feature = "v1_18")]
9515    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9516    pub fn nm_setting_ip_config_get_routing_rule(
9517        setting: *mut NMSettingIPConfig,
9518        idx: c_uint,
9519    ) -> *mut NMIPRoutingRule;
9520    #[cfg(feature = "v1_52")]
9521    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9522    pub fn nm_setting_ip_config_get_shared_dhcp_lease_time(
9523        setting: *mut NMSettingIPConfig,
9524    ) -> c_int;
9525    #[cfg(feature = "v1_52")]
9526    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9527    pub fn nm_setting_ip_config_get_shared_dhcp_range(
9528        setting: *mut NMSettingIPConfig,
9529    ) -> *const c_char;
9530    #[cfg(feature = "v1_2")]
9531    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9532    pub fn nm_setting_ip_config_has_dns_options(setting: *mut NMSettingIPConfig) -> gboolean;
9533    pub fn nm_setting_ip_config_remove_address(setting: *mut NMSettingIPConfig, idx: c_int);
9534    pub fn nm_setting_ip_config_remove_address_by_value(
9535        setting: *mut NMSettingIPConfig,
9536        address: *mut NMIPAddress,
9537    ) -> gboolean;
9538    #[cfg(feature = "v1_28")]
9539    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
9540    pub fn nm_setting_ip_config_remove_dhcp_reject_server(
9541        setting: *mut NMSettingIPConfig,
9542        idx: c_uint,
9543    );
9544    pub fn nm_setting_ip_config_remove_dns(setting: *mut NMSettingIPConfig, idx: c_int);
9545    pub fn nm_setting_ip_config_remove_dns_by_value(
9546        setting: *mut NMSettingIPConfig,
9547        dns: *const c_char,
9548    ) -> gboolean;
9549    #[cfg(feature = "v1_2")]
9550    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9551    pub fn nm_setting_ip_config_remove_dns_option(setting: *mut NMSettingIPConfig, idx: c_int);
9552    #[cfg(feature = "v1_2")]
9553    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9554    pub fn nm_setting_ip_config_remove_dns_option_by_value(
9555        setting: *mut NMSettingIPConfig,
9556        dns_option: *const c_char,
9557    ) -> gboolean;
9558    pub fn nm_setting_ip_config_remove_dns_search(setting: *mut NMSettingIPConfig, idx: c_int);
9559    pub fn nm_setting_ip_config_remove_dns_search_by_value(
9560        setting: *mut NMSettingIPConfig,
9561        dns_search: *const c_char,
9562    ) -> gboolean;
9563    pub fn nm_setting_ip_config_remove_route(setting: *mut NMSettingIPConfig, idx: c_int);
9564    pub fn nm_setting_ip_config_remove_route_by_value(
9565        setting: *mut NMSettingIPConfig,
9566        route: *mut NMIPRoute,
9567    ) -> gboolean;
9568    #[cfg(feature = "v1_18")]
9569    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9570    pub fn nm_setting_ip_config_remove_routing_rule(setting: *mut NMSettingIPConfig, idx: c_uint);
9571
9572    //=========================================================================
9573    // NMSettingIPTunnel
9574    //=========================================================================
9575    pub fn nm_setting_ip_tunnel_get_type() -> GType;
9576    #[cfg(feature = "v1_2")]
9577    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9578    pub fn nm_setting_ip_tunnel_new() -> *mut NMSetting;
9579    #[cfg(feature = "v1_42")]
9580    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9581    pub fn nm_setting_ip_tunnel_get_encapsulation_limit(setting: *mut NMSettingIPTunnel) -> c_uint;
9582    #[cfg(feature = "v1_12")]
9583    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
9584    pub fn nm_setting_ip_tunnel_get_flags(setting: *mut NMSettingIPTunnel) -> NMIPTunnelFlags;
9585    #[cfg(feature = "v1_42")]
9586    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9587    pub fn nm_setting_ip_tunnel_get_flow_label(setting: *mut NMSettingIPTunnel) -> c_uint;
9588    #[cfg(feature = "v1_42")]
9589    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9590    pub fn nm_setting_ip_tunnel_get_fwmark(setting: *mut NMSettingIPTunnel) -> u32;
9591    #[cfg(feature = "v1_2")]
9592    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9593    pub fn nm_setting_ip_tunnel_get_input_key(setting: *mut NMSettingIPTunnel) -> *const c_char;
9594    #[cfg(feature = "v1_2")]
9595    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9596    pub fn nm_setting_ip_tunnel_get_local(setting: *mut NMSettingIPTunnel) -> *const c_char;
9597    #[cfg(feature = "v1_2")]
9598    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9599    pub fn nm_setting_ip_tunnel_get_mode(setting: *mut NMSettingIPTunnel) -> NMIPTunnelMode;
9600    #[cfg(feature = "v1_2")]
9601    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9602    pub fn nm_setting_ip_tunnel_get_mtu(setting: *mut NMSettingIPTunnel) -> c_uint;
9603    #[cfg(feature = "v1_2")]
9604    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9605    pub fn nm_setting_ip_tunnel_get_output_key(setting: *mut NMSettingIPTunnel) -> *const c_char;
9606    #[cfg(feature = "v1_2")]
9607    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9608    pub fn nm_setting_ip_tunnel_get_parent(setting: *mut NMSettingIPTunnel) -> *const c_char;
9609    #[cfg(feature = "v1_2")]
9610    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9611    pub fn nm_setting_ip_tunnel_get_path_mtu_discovery(setting: *mut NMSettingIPTunnel)
9612        -> gboolean;
9613    #[cfg(feature = "v1_2")]
9614    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9615    pub fn nm_setting_ip_tunnel_get_remote(setting: *mut NMSettingIPTunnel) -> *const c_char;
9616    #[cfg(feature = "v1_2")]
9617    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9618    pub fn nm_setting_ip_tunnel_get_tos(setting: *mut NMSettingIPTunnel) -> c_uint;
9619    #[cfg(feature = "v1_2")]
9620    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9621    pub fn nm_setting_ip_tunnel_get_ttl(setting: *mut NMSettingIPTunnel) -> c_uint;
9622
9623    //=========================================================================
9624    // NMSettingInfiniband
9625    //=========================================================================
9626    pub fn nm_setting_infiniband_get_type() -> GType;
9627    pub fn nm_setting_infiniband_new() -> *mut NMSetting;
9628    pub fn nm_setting_infiniband_get_mac_address(
9629        setting: *mut NMSettingInfiniband,
9630    ) -> *const c_char;
9631    pub fn nm_setting_infiniband_get_mtu(setting: *mut NMSettingInfiniband) -> u32;
9632    pub fn nm_setting_infiniband_get_p_key(setting: *mut NMSettingInfiniband) -> c_int;
9633    pub fn nm_setting_infiniband_get_parent(setting: *mut NMSettingInfiniband) -> *const c_char;
9634    pub fn nm_setting_infiniband_get_transport_mode(
9635        setting: *mut NMSettingInfiniband,
9636    ) -> *const c_char;
9637    pub fn nm_setting_infiniband_get_virtual_interface_name(
9638        setting: *mut NMSettingInfiniband,
9639    ) -> *const c_char;
9640
9641    //=========================================================================
9642    // NMSettingIpvlan
9643    //=========================================================================
9644    pub fn nm_setting_ipvlan_get_type() -> GType;
9645    #[cfg(feature = "v1_52")]
9646    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9647    pub fn nm_setting_ipvlan_new() -> *mut NMSetting;
9648    #[cfg(feature = "v1_52")]
9649    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9650    pub fn nm_setting_ipvlan_get_mode(setting: *mut NMSettingIpvlan) -> NMSettingIpvlanMode;
9651    #[cfg(feature = "v1_52")]
9652    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9653    pub fn nm_setting_ipvlan_get_parent(setting: *mut NMSettingIpvlan) -> *const c_char;
9654    #[cfg(feature = "v1_52")]
9655    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9656    pub fn nm_setting_ipvlan_get_private(setting: *mut NMSettingIpvlan) -> gboolean;
9657    #[cfg(feature = "v1_52")]
9658    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
9659    pub fn nm_setting_ipvlan_get_vepa(setting: *mut NMSettingIpvlan) -> gboolean;
9660
9661    //=========================================================================
9662    // NMSettingLink
9663    //=========================================================================
9664    #[cfg(feature = "v1_44")]
9665    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9666    pub fn nm_setting_link_get_type() -> GType;
9667    #[cfg(feature = "v1_44")]
9668    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9669    pub fn nm_setting_link_new() -> *mut NMSetting;
9670    #[cfg(feature = "v1_44")]
9671    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9672    pub fn nm_setting_link_get_gro_max_size(setting: *mut NMSettingLink) -> i64;
9673    #[cfg(feature = "v1_44")]
9674    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9675    pub fn nm_setting_link_get_gso_max_segments(setting: *mut NMSettingLink) -> i64;
9676    #[cfg(feature = "v1_44")]
9677    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9678    pub fn nm_setting_link_get_gso_max_size(setting: *mut NMSettingLink) -> i64;
9679    #[cfg(feature = "v1_44")]
9680    #[cfg_attr(docsrs, doc(cfg(feature = "v1_44")))]
9681    pub fn nm_setting_link_get_tx_queue_length(setting: *mut NMSettingLink) -> i64;
9682
9683    //=========================================================================
9684    // NMSettingLoopback
9685    //=========================================================================
9686    #[cfg(feature = "v1_42")]
9687    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9688    pub fn nm_setting_loopback_get_type() -> GType;
9689    #[cfg(feature = "v1_42")]
9690    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9691    pub fn nm_setting_loopback_new() -> *mut NMSetting;
9692    #[cfg(feature = "v1_42")]
9693    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9694    pub fn nm_setting_loopback_get_mtu(setting: *mut NMSettingLoopback) -> u32;
9695
9696    //=========================================================================
9697    // NMSettingMacsec
9698    //=========================================================================
9699    pub fn nm_setting_macsec_get_type() -> GType;
9700    #[cfg(feature = "v1_6")]
9701    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9702    pub fn nm_setting_macsec_new() -> *mut NMSetting;
9703    #[cfg(feature = "v1_6")]
9704    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9705    pub fn nm_setting_macsec_get_encrypt(setting: *mut NMSettingMacsec) -> gboolean;
9706    #[cfg(feature = "v1_6")]
9707    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9708    pub fn nm_setting_macsec_get_mka_cak(setting: *mut NMSettingMacsec) -> *const c_char;
9709    #[cfg(feature = "v1_6")]
9710    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9711    pub fn nm_setting_macsec_get_mka_cak_flags(
9712        setting: *mut NMSettingMacsec,
9713    ) -> NMSettingSecretFlags;
9714    #[cfg(feature = "v1_6")]
9715    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9716    pub fn nm_setting_macsec_get_mka_ckn(setting: *mut NMSettingMacsec) -> *const c_char;
9717    #[cfg(feature = "v1_6")]
9718    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9719    pub fn nm_setting_macsec_get_mode(setting: *mut NMSettingMacsec) -> NMSettingMacsecMode;
9720    #[cfg(feature = "v1_46")]
9721    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
9722    pub fn nm_setting_macsec_get_offload(setting: *mut NMSettingMacsec) -> NMSettingMacsecOffload;
9723    #[cfg(feature = "v1_6")]
9724    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9725    pub fn nm_setting_macsec_get_parent(setting: *mut NMSettingMacsec) -> *const c_char;
9726    #[cfg(feature = "v1_6")]
9727    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9728    pub fn nm_setting_macsec_get_port(setting: *mut NMSettingMacsec) -> c_int;
9729    #[cfg(feature = "v1_12")]
9730    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
9731    pub fn nm_setting_macsec_get_send_sci(setting: *mut NMSettingMacsec) -> gboolean;
9732    #[cfg(feature = "v1_6")]
9733    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
9734    pub fn nm_setting_macsec_get_validation(
9735        setting: *mut NMSettingMacsec,
9736    ) -> NMSettingMacsecValidation;
9737
9738    //=========================================================================
9739    // NMSettingMacvlan
9740    //=========================================================================
9741    pub fn nm_setting_macvlan_get_type() -> GType;
9742    #[cfg(feature = "v1_2")]
9743    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9744    pub fn nm_setting_macvlan_new() -> *mut NMSetting;
9745    #[cfg(feature = "v1_2")]
9746    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9747    pub fn nm_setting_macvlan_get_mode(setting: *mut NMSettingMacvlan) -> NMSettingMacvlanMode;
9748    #[cfg(feature = "v1_2")]
9749    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9750    pub fn nm_setting_macvlan_get_parent(setting: *mut NMSettingMacvlan) -> *const c_char;
9751    #[cfg(feature = "v1_2")]
9752    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9753    pub fn nm_setting_macvlan_get_promiscuous(setting: *mut NMSettingMacvlan) -> gboolean;
9754    #[cfg(feature = "v1_2")]
9755    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9756    pub fn nm_setting_macvlan_get_tap(setting: *mut NMSettingMacvlan) -> gboolean;
9757
9758    //=========================================================================
9759    // NMSettingMatch
9760    //=========================================================================
9761    #[cfg(feature = "v1_14")]
9762    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9763    pub fn nm_setting_match_get_type() -> GType;
9764    #[cfg(feature = "v1_32")]
9765    #[cfg_attr(docsrs, doc(cfg(feature = "v1_32")))]
9766    pub fn nm_setting_match_new() -> *mut NMSetting;
9767    #[cfg(feature = "v1_26")]
9768    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9769    pub fn nm_setting_match_add_driver(setting: *mut NMSettingMatch, driver: *const c_char);
9770    #[cfg(feature = "v1_14")]
9771    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9772    pub fn nm_setting_match_add_interface_name(
9773        setting: *mut NMSettingMatch,
9774        interface_name: *const c_char,
9775    );
9776    #[cfg(feature = "v1_26")]
9777    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9778    pub fn nm_setting_match_add_kernel_command_line(
9779        setting: *mut NMSettingMatch,
9780        kernel_command_line: *const c_char,
9781    );
9782    #[cfg(feature = "v1_26")]
9783    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9784    pub fn nm_setting_match_add_path(setting: *mut NMSettingMatch, path: *const c_char);
9785    #[cfg(feature = "v1_26")]
9786    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9787    pub fn nm_setting_match_clear_drivers(setting: *mut NMSettingMatch);
9788    #[cfg(feature = "v1_14")]
9789    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9790    pub fn nm_setting_match_clear_interface_names(setting: *mut NMSettingMatch);
9791    #[cfg(feature = "v1_26")]
9792    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9793    pub fn nm_setting_match_clear_kernel_command_lines(setting: *mut NMSettingMatch);
9794    #[cfg(feature = "v1_26")]
9795    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9796    pub fn nm_setting_match_clear_paths(setting: *mut NMSettingMatch);
9797    #[cfg(feature = "v1_26")]
9798    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9799    pub fn nm_setting_match_get_driver(setting: *mut NMSettingMatch, idx: c_uint) -> *const c_char;
9800    #[cfg(feature = "v1_26")]
9801    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9802    pub fn nm_setting_match_get_drivers(
9803        setting: *mut NMSettingMatch,
9804        length: *mut c_uint,
9805    ) -> *const *const c_char;
9806    #[cfg(feature = "v1_14")]
9807    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9808    pub fn nm_setting_match_get_interface_name(
9809        setting: *mut NMSettingMatch,
9810        idx: c_int,
9811    ) -> *const c_char;
9812    #[cfg(feature = "v1_14")]
9813    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9814    pub fn nm_setting_match_get_interface_names(
9815        setting: *mut NMSettingMatch,
9816        length: *mut c_uint,
9817    ) -> *const *const c_char;
9818    #[cfg(feature = "v1_26")]
9819    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9820    pub fn nm_setting_match_get_kernel_command_line(
9821        setting: *mut NMSettingMatch,
9822        idx: c_uint,
9823    ) -> *const c_char;
9824    #[cfg(feature = "v1_26")]
9825    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9826    pub fn nm_setting_match_get_kernel_command_lines(
9827        setting: *mut NMSettingMatch,
9828        length: *mut c_uint,
9829    ) -> *const *const c_char;
9830    #[cfg(feature = "v1_26")]
9831    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9832    pub fn nm_setting_match_get_num_drivers(setting: *mut NMSettingMatch) -> c_uint;
9833    #[cfg(feature = "v1_14")]
9834    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9835    pub fn nm_setting_match_get_num_interface_names(setting: *mut NMSettingMatch) -> c_uint;
9836    #[cfg(feature = "v1_26")]
9837    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9838    pub fn nm_setting_match_get_num_kernel_command_lines(setting: *mut NMSettingMatch) -> c_uint;
9839    #[cfg(feature = "v1_26")]
9840    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9841    pub fn nm_setting_match_get_num_paths(setting: *mut NMSettingMatch) -> c_uint;
9842    #[cfg(feature = "v1_26")]
9843    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9844    pub fn nm_setting_match_get_path(setting: *mut NMSettingMatch, idx: c_uint) -> *const c_char;
9845    #[cfg(feature = "v1_26")]
9846    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9847    pub fn nm_setting_match_get_paths(
9848        setting: *mut NMSettingMatch,
9849        length: *mut c_uint,
9850    ) -> *const *const c_char;
9851    #[cfg(feature = "v1_26")]
9852    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9853    pub fn nm_setting_match_remove_driver(setting: *mut NMSettingMatch, idx: c_uint);
9854    #[cfg(feature = "v1_26")]
9855    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9856    pub fn nm_setting_match_remove_driver_by_value(
9857        setting: *mut NMSettingMatch,
9858        driver: *const c_char,
9859    ) -> gboolean;
9860    #[cfg(feature = "v1_14")]
9861    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9862    pub fn nm_setting_match_remove_interface_name(setting: *mut NMSettingMatch, idx: c_int);
9863    #[cfg(feature = "v1_14")]
9864    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
9865    pub fn nm_setting_match_remove_interface_name_by_value(
9866        setting: *mut NMSettingMatch,
9867        interface_name: *const c_char,
9868    ) -> gboolean;
9869    #[cfg(feature = "v1_26")]
9870    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9871    pub fn nm_setting_match_remove_kernel_command_line(setting: *mut NMSettingMatch, idx: c_uint);
9872    #[cfg(feature = "v1_26")]
9873    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9874    pub fn nm_setting_match_remove_kernel_command_line_by_value(
9875        setting: *mut NMSettingMatch,
9876        kernel_command_line: *const c_char,
9877    ) -> gboolean;
9878    #[cfg(feature = "v1_26")]
9879    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9880    pub fn nm_setting_match_remove_path(setting: *mut NMSettingMatch, idx: c_uint);
9881    #[cfg(feature = "v1_26")]
9882    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9883    pub fn nm_setting_match_remove_path_by_value(
9884        setting: *mut NMSettingMatch,
9885        path: *const c_char,
9886    ) -> gboolean;
9887
9888    //=========================================================================
9889    // NMSettingOlpcMesh
9890    //=========================================================================
9891    pub fn nm_setting_olpc_mesh_get_type() -> GType;
9892    pub fn nm_setting_olpc_mesh_new() -> *mut NMSetting;
9893    pub fn nm_setting_olpc_mesh_get_channel(setting: *mut NMSettingOlpcMesh) -> u32;
9894    pub fn nm_setting_olpc_mesh_get_dhcp_anycast_address(
9895        setting: *mut NMSettingOlpcMesh,
9896    ) -> *const c_char;
9897    pub fn nm_setting_olpc_mesh_get_ssid(setting: *mut NMSettingOlpcMesh) -> *mut glib::GBytes;
9898
9899    //=========================================================================
9900    // NMSettingOvsBridge
9901    //=========================================================================
9902    pub fn nm_setting_ovs_bridge_get_type() -> GType;
9903    #[cfg(feature = "v1_10")]
9904    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9905    pub fn nm_setting_ovs_bridge_new() -> *mut NMSetting;
9906    #[cfg(feature = "v1_42")]
9907    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9908    pub fn nm_setting_ovs_bridge_get_datapath_type(self_: *mut NMSettingOvsBridge)
9909        -> *const c_char;
9910    #[cfg(feature = "v1_10")]
9911    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9912    pub fn nm_setting_ovs_bridge_get_fail_mode(self_: *mut NMSettingOvsBridge) -> *const c_char;
9913    #[cfg(feature = "v1_10")]
9914    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9915    pub fn nm_setting_ovs_bridge_get_mcast_snooping_enable(
9916        self_: *mut NMSettingOvsBridge,
9917    ) -> gboolean;
9918    #[cfg(feature = "v1_10")]
9919    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9920    pub fn nm_setting_ovs_bridge_get_rstp_enable(self_: *mut NMSettingOvsBridge) -> gboolean;
9921    #[cfg(feature = "v1_10")]
9922    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9923    pub fn nm_setting_ovs_bridge_get_stp_enable(self_: *mut NMSettingOvsBridge) -> gboolean;
9924
9925    //=========================================================================
9926    // NMSettingOvsDpdk
9927    //=========================================================================
9928    pub fn nm_setting_ovs_dpdk_get_type() -> GType;
9929    #[cfg(feature = "v1_20")]
9930    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9931    pub fn nm_setting_ovs_dpdk_new() -> *mut NMSetting;
9932    #[cfg(feature = "v1_20")]
9933    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9934    pub fn nm_setting_ovs_dpdk_get_devargs(self_: *mut NMSettingOvsDpdk) -> *const c_char;
9935    #[cfg(feature = "v1_54")]
9936    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
9937    pub fn nm_setting_ovs_dpdk_get_lsc_interrupt(
9938        self_: *mut NMSettingOvsDpdk,
9939    ) -> NMSettingOvsDpdkLscInterrupt;
9940    #[cfg(feature = "v1_36")]
9941    #[cfg_attr(docsrs, doc(cfg(feature = "v1_36")))]
9942    pub fn nm_setting_ovs_dpdk_get_n_rxq(self_: *mut NMSettingOvsDpdk) -> u32;
9943    #[cfg(feature = "v1_42")]
9944    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9945    pub fn nm_setting_ovs_dpdk_get_n_rxq_desc(self_: *mut NMSettingOvsDpdk) -> u32;
9946    #[cfg(feature = "v1_42")]
9947    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
9948    pub fn nm_setting_ovs_dpdk_get_n_txq_desc(self_: *mut NMSettingOvsDpdk) -> u32;
9949
9950    //=========================================================================
9951    // NMSettingOvsExternalIDs
9952    //=========================================================================
9953    pub fn nm_setting_ovs_external_ids_get_type() -> GType;
9954    #[cfg(feature = "v1_30")]
9955    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9956    pub fn nm_setting_ovs_external_ids_new() -> *mut NMSettingOvsExternalIDs;
9957    #[cfg(feature = "v1_30")]
9958    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9959    pub fn nm_setting_ovs_external_ids_check_key(
9960        key: *const c_char,
9961        error: *mut *mut glib::GError,
9962    ) -> gboolean;
9963    #[cfg(feature = "v1_30")]
9964    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9965    pub fn nm_setting_ovs_external_ids_check_val(
9966        val: *const c_char,
9967        error: *mut *mut glib::GError,
9968    ) -> gboolean;
9969    #[cfg(feature = "v1_30")]
9970    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9971    pub fn nm_setting_ovs_external_ids_get_data(
9972        setting: *mut NMSettingOvsExternalIDs,
9973        key: *const c_char,
9974    ) -> *const c_char;
9975    #[cfg(feature = "v1_30")]
9976    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9977    pub fn nm_setting_ovs_external_ids_get_data_keys(
9978        setting: *mut NMSettingOvsExternalIDs,
9979        out_len: *mut c_uint,
9980    ) -> *const *const c_char;
9981    #[cfg(feature = "v1_30")]
9982    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
9983    pub fn nm_setting_ovs_external_ids_set_data(
9984        setting: *mut NMSettingOvsExternalIDs,
9985        key: *const c_char,
9986        val: *const c_char,
9987    );
9988
9989    //=========================================================================
9990    // NMSettingOvsInterface
9991    //=========================================================================
9992    pub fn nm_setting_ovs_interface_get_type() -> GType;
9993    #[cfg(feature = "v1_10")]
9994    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9995    pub fn nm_setting_ovs_interface_new() -> *mut NMSetting;
9996    #[cfg(feature = "v1_10")]
9997    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
9998    pub fn nm_setting_ovs_interface_get_interface_type(
9999        self_: *mut NMSettingOvsInterface,
10000    ) -> *const c_char;
10001    #[cfg(feature = "v1_42")]
10002    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10003    pub fn nm_setting_ovs_interface_get_ofport_request(self_: *mut NMSettingOvsInterface) -> u32;
10004
10005    //=========================================================================
10006    // NMSettingOvsOtherConfig
10007    //=========================================================================
10008    #[cfg(feature = "v1_42")]
10009    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10010    pub fn nm_setting_ovs_other_config_get_type() -> GType;
10011    #[cfg(feature = "v1_42")]
10012    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10013    pub fn nm_setting_ovs_other_config_new() -> *mut NMSettingOvsOtherConfig;
10014    #[cfg(feature = "v1_42")]
10015    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10016    pub fn nm_setting_ovs_other_config_get_data(
10017        setting: *mut NMSettingOvsOtherConfig,
10018        key: *const c_char,
10019    ) -> *const c_char;
10020    #[cfg(feature = "v1_42")]
10021    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10022    pub fn nm_setting_ovs_other_config_get_data_keys(
10023        setting: *mut NMSettingOvsOtherConfig,
10024        out_len: *mut c_uint,
10025    ) -> *const *const c_char;
10026    #[cfg(feature = "v1_42")]
10027    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10028    pub fn nm_setting_ovs_other_config_set_data(
10029        setting: *mut NMSettingOvsOtherConfig,
10030        key: *const c_char,
10031        val: *const c_char,
10032    );
10033
10034    //=========================================================================
10035    // NMSettingOvsPatch
10036    //=========================================================================
10037    pub fn nm_setting_ovs_patch_get_type() -> GType;
10038    #[cfg(feature = "v1_10")]
10039    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10040    pub fn nm_setting_ovs_patch_new() -> *mut NMSetting;
10041    #[cfg(feature = "v1_10")]
10042    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10043    pub fn nm_setting_ovs_patch_get_peer(self_: *mut NMSettingOvsPatch) -> *const c_char;
10044
10045    //=========================================================================
10046    // NMSettingOvsPort
10047    //=========================================================================
10048    pub fn nm_setting_ovs_port_get_type() -> GType;
10049    #[cfg(feature = "v1_10")]
10050    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10051    pub fn nm_setting_ovs_port_new() -> *mut NMSetting;
10052    #[cfg(feature = "v1_42")]
10053    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10054    pub fn nm_setting_ovs_port_add_trunk(setting: *mut NMSettingOvsPort, trunk: *mut NMRange);
10055    #[cfg(feature = "v1_42")]
10056    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10057    pub fn nm_setting_ovs_port_clear_trunks(setting: *mut NMSettingOvsPort);
10058    #[cfg(feature = "v1_10")]
10059    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10060    pub fn nm_setting_ovs_port_get_bond_downdelay(self_: *mut NMSettingOvsPort) -> c_uint;
10061    #[cfg(feature = "v1_10")]
10062    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10063    pub fn nm_setting_ovs_port_get_bond_mode(self_: *mut NMSettingOvsPort) -> *const c_char;
10064    #[cfg(feature = "v1_10")]
10065    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10066    pub fn nm_setting_ovs_port_get_bond_updelay(self_: *mut NMSettingOvsPort) -> c_uint;
10067    #[cfg(feature = "v1_10")]
10068    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10069    pub fn nm_setting_ovs_port_get_lacp(self_: *mut NMSettingOvsPort) -> *const c_char;
10070    #[cfg(feature = "v1_42")]
10071    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10072    pub fn nm_setting_ovs_port_get_num_trunks(setting: *mut NMSettingOvsPort) -> c_uint;
10073    #[cfg(feature = "v1_10")]
10074    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10075    pub fn nm_setting_ovs_port_get_tag(self_: *mut NMSettingOvsPort) -> c_uint;
10076    #[cfg(feature = "v1_42")]
10077    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10078    pub fn nm_setting_ovs_port_get_trunk(
10079        setting: *mut NMSettingOvsPort,
10080        idx: c_uint,
10081    ) -> *mut NMRange;
10082    #[cfg(feature = "v1_10")]
10083    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10084    pub fn nm_setting_ovs_port_get_vlan_mode(self_: *mut NMSettingOvsPort) -> *const c_char;
10085    #[cfg(feature = "v1_42")]
10086    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10087    pub fn nm_setting_ovs_port_remove_trunk(setting: *mut NMSettingOvsPort, idx: c_uint);
10088    #[cfg(feature = "v1_42")]
10089    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10090    pub fn nm_setting_ovs_port_remove_trunk_by_value(
10091        setting: *mut NMSettingOvsPort,
10092        start: c_uint,
10093        end: c_uint,
10094    ) -> gboolean;
10095
10096    //=========================================================================
10097    // NMSettingPpp
10098    //=========================================================================
10099    pub fn nm_setting_ppp_get_type() -> GType;
10100    pub fn nm_setting_ppp_new() -> *mut NMSetting;
10101    pub fn nm_setting_ppp_get_baud(setting: *mut NMSettingPpp) -> u32;
10102    pub fn nm_setting_ppp_get_crtscts(setting: *mut NMSettingPpp) -> gboolean;
10103    pub fn nm_setting_ppp_get_lcp_echo_failure(setting: *mut NMSettingPpp) -> u32;
10104    pub fn nm_setting_ppp_get_lcp_echo_interval(setting: *mut NMSettingPpp) -> u32;
10105    pub fn nm_setting_ppp_get_mppe_stateful(setting: *mut NMSettingPpp) -> gboolean;
10106    pub fn nm_setting_ppp_get_mru(setting: *mut NMSettingPpp) -> u32;
10107    pub fn nm_setting_ppp_get_mtu(setting: *mut NMSettingPpp) -> u32;
10108    pub fn nm_setting_ppp_get_no_vj_comp(setting: *mut NMSettingPpp) -> gboolean;
10109    pub fn nm_setting_ppp_get_noauth(setting: *mut NMSettingPpp) -> gboolean;
10110    pub fn nm_setting_ppp_get_nobsdcomp(setting: *mut NMSettingPpp) -> gboolean;
10111    pub fn nm_setting_ppp_get_nodeflate(setting: *mut NMSettingPpp) -> gboolean;
10112    pub fn nm_setting_ppp_get_refuse_chap(setting: *mut NMSettingPpp) -> gboolean;
10113    pub fn nm_setting_ppp_get_refuse_eap(setting: *mut NMSettingPpp) -> gboolean;
10114    pub fn nm_setting_ppp_get_refuse_mschap(setting: *mut NMSettingPpp) -> gboolean;
10115    pub fn nm_setting_ppp_get_refuse_mschapv2(setting: *mut NMSettingPpp) -> gboolean;
10116    pub fn nm_setting_ppp_get_refuse_pap(setting: *mut NMSettingPpp) -> gboolean;
10117    pub fn nm_setting_ppp_get_require_mppe(setting: *mut NMSettingPpp) -> gboolean;
10118    pub fn nm_setting_ppp_get_require_mppe_128(setting: *mut NMSettingPpp) -> gboolean;
10119
10120    //=========================================================================
10121    // NMSettingPppoe
10122    //=========================================================================
10123    pub fn nm_setting_pppoe_get_type() -> GType;
10124    pub fn nm_setting_pppoe_new() -> *mut NMSetting;
10125    #[cfg(feature = "v1_10")]
10126    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
10127    pub fn nm_setting_pppoe_get_parent(setting: *mut NMSettingPppoe) -> *const c_char;
10128    pub fn nm_setting_pppoe_get_password(setting: *mut NMSettingPppoe) -> *const c_char;
10129    pub fn nm_setting_pppoe_get_password_flags(
10130        setting: *mut NMSettingPppoe,
10131    ) -> NMSettingSecretFlags;
10132    pub fn nm_setting_pppoe_get_service(setting: *mut NMSettingPppoe) -> *const c_char;
10133    pub fn nm_setting_pppoe_get_username(setting: *mut NMSettingPppoe) -> *const c_char;
10134
10135    //=========================================================================
10136    // NMSettingPrefixDelegation
10137    //=========================================================================
10138    #[cfg(feature = "v1_54")]
10139    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
10140    pub fn nm_setting_prefix_delegation_get_type() -> GType;
10141    #[cfg(feature = "v1_54")]
10142    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
10143    pub fn nm_setting_prefix_delegation_new() -> *mut NMSetting;
10144    #[cfg(feature = "v1_54")]
10145    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
10146    pub fn nm_setting_prefix_delegation_get_subnet_id(
10147        setting: *mut NMSettingPrefixDelegation,
10148    ) -> i64;
10149
10150    //=========================================================================
10151    // NMSettingProxy
10152    //=========================================================================
10153    pub fn nm_setting_proxy_get_type() -> GType;
10154    #[cfg(feature = "v1_6")]
10155    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
10156    pub fn nm_setting_proxy_new() -> *mut NMSetting;
10157    #[cfg(feature = "v1_6")]
10158    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
10159    pub fn nm_setting_proxy_get_browser_only(setting: *mut NMSettingProxy) -> gboolean;
10160    #[cfg(feature = "v1_6")]
10161    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
10162    pub fn nm_setting_proxy_get_method(setting: *mut NMSettingProxy) -> NMSettingProxyMethod;
10163    #[cfg(feature = "v1_6")]
10164    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
10165    pub fn nm_setting_proxy_get_pac_script(setting: *mut NMSettingProxy) -> *const c_char;
10166    #[cfg(feature = "v1_6")]
10167    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
10168    pub fn nm_setting_proxy_get_pac_url(setting: *mut NMSettingProxy) -> *const c_char;
10169
10170    //=========================================================================
10171    // NMSettingSerial
10172    //=========================================================================
10173    pub fn nm_setting_serial_get_type() -> GType;
10174    pub fn nm_setting_serial_new() -> *mut NMSetting;
10175    pub fn nm_setting_serial_get_baud(setting: *mut NMSettingSerial) -> c_uint;
10176    pub fn nm_setting_serial_get_bits(setting: *mut NMSettingSerial) -> c_uint;
10177    pub fn nm_setting_serial_get_parity(setting: *mut NMSettingSerial) -> NMSettingSerialParity;
10178    pub fn nm_setting_serial_get_send_delay(setting: *mut NMSettingSerial) -> u64;
10179    pub fn nm_setting_serial_get_stopbits(setting: *mut NMSettingSerial) -> c_uint;
10180
10181    //=========================================================================
10182    // NMSettingSriov
10183    //=========================================================================
10184    #[cfg(feature = "v1_14")]
10185    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10186    pub fn nm_setting_sriov_get_type() -> GType;
10187    #[cfg(feature = "v1_14")]
10188    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10189    pub fn nm_setting_sriov_new() -> *mut NMSetting;
10190    #[cfg(feature = "v1_14")]
10191    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10192    pub fn nm_setting_sriov_add_vf(setting: *mut NMSettingSriov, vf: *mut NMSriovVF);
10193    #[cfg(feature = "v1_14")]
10194    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10195    pub fn nm_setting_sriov_clear_vfs(setting: *mut NMSettingSriov);
10196    #[cfg(feature = "v1_14")]
10197    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10198    pub fn nm_setting_sriov_get_autoprobe_drivers(setting: *mut NMSettingSriov) -> NMTernary;
10199    #[cfg(feature = "v1_46")]
10200    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
10201    pub fn nm_setting_sriov_get_eswitch_encap_mode(
10202        setting: *mut NMSettingSriov,
10203    ) -> NMSriovEswitchEncapMode;
10204    #[cfg(feature = "v1_46")]
10205    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
10206    pub fn nm_setting_sriov_get_eswitch_inline_mode(
10207        setting: *mut NMSettingSriov,
10208    ) -> NMSriovEswitchInlineMode;
10209    #[cfg(feature = "v1_46")]
10210    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
10211    pub fn nm_setting_sriov_get_eswitch_mode(setting: *mut NMSettingSriov) -> NMSriovEswitchMode;
10212    #[cfg(feature = "v1_14")]
10213    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10214    pub fn nm_setting_sriov_get_num_vfs(setting: *mut NMSettingSriov) -> c_uint;
10215    #[cfg(feature = "v1_54")]
10216    #[cfg_attr(docsrs, doc(cfg(feature = "v1_54")))]
10217    pub fn nm_setting_sriov_get_preserve_on_down(
10218        setting: *mut NMSettingSriov,
10219    ) -> NMSriovPreserveOnDown;
10220    #[cfg(feature = "v1_14")]
10221    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10222    pub fn nm_setting_sriov_get_total_vfs(setting: *mut NMSettingSriov) -> c_uint;
10223    #[cfg(feature = "v1_14")]
10224    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10225    pub fn nm_setting_sriov_get_vf(setting: *mut NMSettingSriov, idx: c_uint) -> *mut NMSriovVF;
10226    #[cfg(feature = "v1_14")]
10227    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10228    pub fn nm_setting_sriov_remove_vf(setting: *mut NMSettingSriov, idx: c_uint);
10229    #[cfg(feature = "v1_14")]
10230    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
10231    pub fn nm_setting_sriov_remove_vf_by_index(
10232        setting: *mut NMSettingSriov,
10233        index: c_uint,
10234    ) -> gboolean;
10235
10236    //=========================================================================
10237    // NMSettingTCConfig
10238    //=========================================================================
10239    #[cfg(feature = "v1_12")]
10240    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10241    pub fn nm_setting_tc_config_get_type() -> GType;
10242    #[cfg(feature = "v1_12")]
10243    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10244    pub fn nm_setting_tc_config_new() -> *mut NMSetting;
10245    #[cfg(feature = "v1_12")]
10246    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10247    pub fn nm_setting_tc_config_add_qdisc(
10248        setting: *mut NMSettingTCConfig,
10249        qdisc: *mut NMTCQdisc,
10250    ) -> gboolean;
10251    #[cfg(feature = "v1_12")]
10252    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10253    pub fn nm_setting_tc_config_add_tfilter(
10254        setting: *mut NMSettingTCConfig,
10255        tfilter: *mut NMTCTfilter,
10256    ) -> gboolean;
10257    #[cfg(feature = "v1_12")]
10258    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10259    pub fn nm_setting_tc_config_clear_qdiscs(setting: *mut NMSettingTCConfig);
10260    #[cfg(feature = "v1_12")]
10261    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10262    pub fn nm_setting_tc_config_clear_tfilters(setting: *mut NMSettingTCConfig);
10263    #[cfg(feature = "v1_12")]
10264    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10265    pub fn nm_setting_tc_config_get_num_qdiscs(setting: *mut NMSettingTCConfig) -> c_uint;
10266    #[cfg(feature = "v1_12")]
10267    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10268    pub fn nm_setting_tc_config_get_num_tfilters(setting: *mut NMSettingTCConfig) -> c_uint;
10269    #[cfg(feature = "v1_12")]
10270    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10271    pub fn nm_setting_tc_config_get_qdisc(
10272        setting: *mut NMSettingTCConfig,
10273        idx: c_uint,
10274    ) -> *mut NMTCQdisc;
10275    #[cfg(feature = "v1_12")]
10276    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10277    pub fn nm_setting_tc_config_get_tfilter(
10278        setting: *mut NMSettingTCConfig,
10279        idx: c_uint,
10280    ) -> *mut NMTCTfilter;
10281    #[cfg(feature = "v1_12")]
10282    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10283    pub fn nm_setting_tc_config_remove_qdisc(setting: *mut NMSettingTCConfig, idx: c_uint);
10284    #[cfg(feature = "v1_12")]
10285    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10286    pub fn nm_setting_tc_config_remove_qdisc_by_value(
10287        setting: *mut NMSettingTCConfig,
10288        qdisc: *mut NMTCQdisc,
10289    ) -> gboolean;
10290    #[cfg(feature = "v1_12")]
10291    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10292    pub fn nm_setting_tc_config_remove_tfilter(setting: *mut NMSettingTCConfig, idx: c_uint);
10293    #[cfg(feature = "v1_12")]
10294    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10295    pub fn nm_setting_tc_config_remove_tfilter_by_value(
10296        setting: *mut NMSettingTCConfig,
10297        tfilter: *mut NMTCTfilter,
10298    ) -> gboolean;
10299
10300    //=========================================================================
10301    // NMSettingTeam
10302    //=========================================================================
10303    pub fn nm_setting_team_get_type() -> GType;
10304    pub fn nm_setting_team_new() -> *mut NMSetting;
10305    #[cfg(feature = "v1_12")]
10306    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10307    pub fn nm_setting_team_add_link_watcher(
10308        setting: *mut NMSettingTeam,
10309        link_watcher: *mut NMTeamLinkWatcher,
10310    ) -> gboolean;
10311    #[cfg(feature = "v1_12")]
10312    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10313    pub fn nm_setting_team_add_runner_tx_hash(
10314        setting: *mut NMSettingTeam,
10315        txhash: *const c_char,
10316    ) -> gboolean;
10317    #[cfg(feature = "v1_12")]
10318    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10319    pub fn nm_setting_team_clear_link_watchers(setting: *mut NMSettingTeam);
10320    pub fn nm_setting_team_get_config(setting: *mut NMSettingTeam) -> *const c_char;
10321    #[cfg(feature = "v1_12")]
10322    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10323    pub fn nm_setting_team_get_link_watcher(
10324        setting: *mut NMSettingTeam,
10325        idx: c_uint,
10326    ) -> *mut NMTeamLinkWatcher;
10327    #[cfg(feature = "v1_12")]
10328    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10329    pub fn nm_setting_team_get_mcast_rejoin_count(setting: *mut NMSettingTeam) -> c_int;
10330    #[cfg(feature = "v1_12")]
10331    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10332    pub fn nm_setting_team_get_mcast_rejoin_interval(setting: *mut NMSettingTeam) -> c_int;
10333    #[cfg(feature = "v1_12")]
10334    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10335    pub fn nm_setting_team_get_notify_peers_count(setting: *mut NMSettingTeam) -> c_int;
10336    #[cfg(feature = "v1_12")]
10337    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10338    pub fn nm_setting_team_get_notify_peers_interval(setting: *mut NMSettingTeam) -> c_int;
10339    #[cfg(feature = "v1_12")]
10340    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10341    pub fn nm_setting_team_get_num_link_watchers(setting: *mut NMSettingTeam) -> c_uint;
10342    #[cfg(feature = "v1_12")]
10343    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10344    pub fn nm_setting_team_get_num_runner_tx_hash(setting: *mut NMSettingTeam) -> c_uint;
10345    #[cfg(feature = "v1_12")]
10346    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10347    pub fn nm_setting_team_get_runner(setting: *mut NMSettingTeam) -> *const c_char;
10348    #[cfg(feature = "v1_12")]
10349    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10350    pub fn nm_setting_team_get_runner_active(setting: *mut NMSettingTeam) -> gboolean;
10351    #[cfg(feature = "v1_12")]
10352    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10353    pub fn nm_setting_team_get_runner_agg_select_policy(
10354        setting: *mut NMSettingTeam,
10355    ) -> *const c_char;
10356    #[cfg(feature = "v1_12")]
10357    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10358    pub fn nm_setting_team_get_runner_fast_rate(setting: *mut NMSettingTeam) -> gboolean;
10359    #[cfg(feature = "v1_12")]
10360    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10361    pub fn nm_setting_team_get_runner_hwaddr_policy(setting: *mut NMSettingTeam) -> *const c_char;
10362    #[cfg(feature = "v1_12")]
10363    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10364    pub fn nm_setting_team_get_runner_min_ports(setting: *mut NMSettingTeam) -> c_int;
10365    #[cfg(feature = "v1_12")]
10366    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10367    pub fn nm_setting_team_get_runner_sys_prio(setting: *mut NMSettingTeam) -> c_int;
10368    #[cfg(feature = "v1_12")]
10369    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10370    pub fn nm_setting_team_get_runner_tx_balancer(setting: *mut NMSettingTeam) -> *const c_char;
10371    #[cfg(feature = "v1_12")]
10372    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10373    pub fn nm_setting_team_get_runner_tx_balancer_interval(setting: *mut NMSettingTeam) -> c_int;
10374    #[cfg(feature = "v1_12")]
10375    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10376    pub fn nm_setting_team_get_runner_tx_hash(
10377        setting: *mut NMSettingTeam,
10378        idx: c_uint,
10379    ) -> *const c_char;
10380    #[cfg(feature = "v1_12")]
10381    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10382    pub fn nm_setting_team_remove_link_watcher(setting: *mut NMSettingTeam, idx: c_uint);
10383    #[cfg(feature = "v1_12")]
10384    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10385    pub fn nm_setting_team_remove_link_watcher_by_value(
10386        setting: *mut NMSettingTeam,
10387        link_watcher: *mut NMTeamLinkWatcher,
10388    ) -> gboolean;
10389    #[cfg(feature = "v1_12")]
10390    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10391    pub fn nm_setting_team_remove_runner_tx_hash(setting: *mut NMSettingTeam, idx: c_uint);
10392    #[cfg(feature = "v1_12")]
10393    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10394    pub fn nm_setting_team_remove_runner_tx_hash_by_value(
10395        setting: *mut NMSettingTeam,
10396        txhash: *const c_char,
10397    ) -> gboolean;
10398
10399    //=========================================================================
10400    // NMSettingTeamPort
10401    //=========================================================================
10402    pub fn nm_setting_team_port_get_type() -> GType;
10403    pub fn nm_setting_team_port_new() -> *mut NMSetting;
10404    #[cfg(feature = "v1_12")]
10405    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10406    pub fn nm_setting_team_port_add_link_watcher(
10407        setting: *mut NMSettingTeamPort,
10408        link_watcher: *mut NMTeamLinkWatcher,
10409    ) -> gboolean;
10410    #[cfg(feature = "v1_12")]
10411    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10412    pub fn nm_setting_team_port_clear_link_watchers(setting: *mut NMSettingTeamPort);
10413    pub fn nm_setting_team_port_get_config(setting: *mut NMSettingTeamPort) -> *const c_char;
10414    #[cfg(feature = "v1_12")]
10415    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10416    pub fn nm_setting_team_port_get_lacp_key(setting: *mut NMSettingTeamPort) -> c_int;
10417    #[cfg(feature = "v1_12")]
10418    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10419    pub fn nm_setting_team_port_get_lacp_prio(setting: *mut NMSettingTeamPort) -> c_int;
10420    #[cfg(feature = "v1_12")]
10421    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10422    pub fn nm_setting_team_port_get_link_watcher(
10423        setting: *mut NMSettingTeamPort,
10424        idx: c_uint,
10425    ) -> *mut NMTeamLinkWatcher;
10426    #[cfg(feature = "v1_12")]
10427    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10428    pub fn nm_setting_team_port_get_num_link_watchers(setting: *mut NMSettingTeamPort) -> c_uint;
10429    #[cfg(feature = "v1_12")]
10430    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10431    pub fn nm_setting_team_port_get_prio(setting: *mut NMSettingTeamPort) -> c_int;
10432    #[cfg(feature = "v1_12")]
10433    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10434    pub fn nm_setting_team_port_get_queue_id(setting: *mut NMSettingTeamPort) -> c_int;
10435    #[cfg(feature = "v1_12")]
10436    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10437    pub fn nm_setting_team_port_get_sticky(setting: *mut NMSettingTeamPort) -> gboolean;
10438    #[cfg(feature = "v1_12")]
10439    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10440    pub fn nm_setting_team_port_remove_link_watcher(setting: *mut NMSettingTeamPort, idx: c_uint);
10441    #[cfg(feature = "v1_12")]
10442    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10443    pub fn nm_setting_team_port_remove_link_watcher_by_value(
10444        setting: *mut NMSettingTeamPort,
10445        link_watcher: *mut NMTeamLinkWatcher,
10446    ) -> gboolean;
10447
10448    //=========================================================================
10449    // NMSettingTun
10450    //=========================================================================
10451    pub fn nm_setting_tun_get_type() -> GType;
10452    #[cfg(feature = "v1_2")]
10453    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10454    pub fn nm_setting_tun_new() -> *mut NMSetting;
10455    #[cfg(feature = "v1_2")]
10456    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10457    pub fn nm_setting_tun_get_group(setting: *mut NMSettingTun) -> *const c_char;
10458    #[cfg(feature = "v1_2")]
10459    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10460    pub fn nm_setting_tun_get_mode(setting: *mut NMSettingTun) -> NMSettingTunMode;
10461    #[cfg(feature = "v1_2")]
10462    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10463    pub fn nm_setting_tun_get_multi_queue(setting: *mut NMSettingTun) -> gboolean;
10464    #[cfg(feature = "v1_2")]
10465    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10466    pub fn nm_setting_tun_get_owner(setting: *mut NMSettingTun) -> *const c_char;
10467    #[cfg(feature = "v1_2")]
10468    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10469    pub fn nm_setting_tun_get_pi(setting: *mut NMSettingTun) -> gboolean;
10470    #[cfg(feature = "v1_2")]
10471    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10472    pub fn nm_setting_tun_get_vnet_hdr(setting: *mut NMSettingTun) -> gboolean;
10473
10474    //=========================================================================
10475    // NMSettingUser
10476    //=========================================================================
10477    #[cfg(feature = "v1_8")]
10478    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
10479    pub fn nm_setting_user_get_type() -> GType;
10480    #[cfg(feature = "v1_8")]
10481    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
10482    pub fn nm_setting_user_new() -> *mut NMSetting;
10483    #[cfg(feature = "v1_8")]
10484    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
10485    pub fn nm_setting_user_check_key(key: *const c_char, error: *mut *mut glib::GError)
10486        -> gboolean;
10487    #[cfg(feature = "v1_8")]
10488    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
10489    pub fn nm_setting_user_check_val(val: *const c_char, error: *mut *mut glib::GError)
10490        -> gboolean;
10491    #[cfg(feature = "v1_8")]
10492    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
10493    pub fn nm_setting_user_get_data(
10494        setting: *mut NMSettingUser,
10495        key: *const c_char,
10496    ) -> *const c_char;
10497    #[cfg(feature = "v1_8")]
10498    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
10499    pub fn nm_setting_user_get_keys(
10500        setting: *mut NMSettingUser,
10501        out_len: *mut c_uint,
10502    ) -> *const *const c_char;
10503    #[cfg(feature = "v1_8")]
10504    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
10505    pub fn nm_setting_user_set_data(
10506        setting: *mut NMSettingUser,
10507        key: *const c_char,
10508        val: *const c_char,
10509        error: *mut *mut glib::GError,
10510    ) -> gboolean;
10511
10512    //=========================================================================
10513    // NMSettingVeth
10514    //=========================================================================
10515    pub fn nm_setting_veth_get_type() -> GType;
10516    #[cfg(feature = "v1_30")]
10517    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
10518    pub fn nm_setting_veth_new() -> *mut NMSetting;
10519    #[cfg(feature = "v1_30")]
10520    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
10521    pub fn nm_setting_veth_get_peer(setting: *mut NMSettingVeth) -> *const c_char;
10522
10523    //=========================================================================
10524    // NMSettingVlan
10525    //=========================================================================
10526    pub fn nm_setting_vlan_get_type() -> GType;
10527    pub fn nm_setting_vlan_new() -> *mut NMSetting;
10528    pub fn nm_setting_vlan_add_priority(
10529        setting: *mut NMSettingVlan,
10530        map: NMVlanPriorityMap,
10531        from: u32,
10532        to: u32,
10533    ) -> gboolean;
10534    pub fn nm_setting_vlan_add_priority_str(
10535        setting: *mut NMSettingVlan,
10536        map: NMVlanPriorityMap,
10537        str: *const c_char,
10538    ) -> gboolean;
10539    pub fn nm_setting_vlan_clear_priorities(setting: *mut NMSettingVlan, map: NMVlanPriorityMap);
10540    pub fn nm_setting_vlan_get_flags(setting: *mut NMSettingVlan) -> u32;
10541    pub fn nm_setting_vlan_get_id(setting: *mut NMSettingVlan) -> u32;
10542    pub fn nm_setting_vlan_get_num_priorities(
10543        setting: *mut NMSettingVlan,
10544        map: NMVlanPriorityMap,
10545    ) -> i32;
10546    pub fn nm_setting_vlan_get_parent(setting: *mut NMSettingVlan) -> *const c_char;
10547    pub fn nm_setting_vlan_get_priority(
10548        setting: *mut NMSettingVlan,
10549        map: NMVlanPriorityMap,
10550        idx: u32,
10551        out_from: *mut u32,
10552        out_to: *mut u32,
10553    ) -> gboolean;
10554    #[cfg(feature = "v1_42")]
10555    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10556    pub fn nm_setting_vlan_get_protocol(setting: *mut NMSettingVlan) -> *const c_char;
10557    pub fn nm_setting_vlan_remove_priority(
10558        setting: *mut NMSettingVlan,
10559        map: NMVlanPriorityMap,
10560        idx: u32,
10561    );
10562    pub fn nm_setting_vlan_remove_priority_by_value(
10563        setting: *mut NMSettingVlan,
10564        map: NMVlanPriorityMap,
10565        from: u32,
10566        to: u32,
10567    ) -> gboolean;
10568    pub fn nm_setting_vlan_remove_priority_str_by_value(
10569        setting: *mut NMSettingVlan,
10570        map: NMVlanPriorityMap,
10571        str: *const c_char,
10572    ) -> gboolean;
10573
10574    //=========================================================================
10575    // NMSettingVpn
10576    //=========================================================================
10577    pub fn nm_setting_vpn_get_type() -> GType;
10578    pub fn nm_setting_vpn_new() -> *mut NMSetting;
10579    pub fn nm_setting_vpn_add_data_item(
10580        setting: *mut NMSettingVpn,
10581        key: *const c_char,
10582        item: *const c_char,
10583    );
10584    pub fn nm_setting_vpn_add_secret(
10585        setting: *mut NMSettingVpn,
10586        key: *const c_char,
10587        secret: *const c_char,
10588    );
10589    pub fn nm_setting_vpn_foreach_data_item(
10590        setting: *mut NMSettingVpn,
10591        func: NMVpnIterFunc,
10592        user_data: gpointer,
10593    );
10594    pub fn nm_setting_vpn_foreach_secret(
10595        setting: *mut NMSettingVpn,
10596        func: NMVpnIterFunc,
10597        user_data: gpointer,
10598    );
10599    pub fn nm_setting_vpn_get_data_item(
10600        setting: *mut NMSettingVpn,
10601        key: *const c_char,
10602    ) -> *const c_char;
10603    #[cfg(feature = "v1_12")]
10604    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10605    pub fn nm_setting_vpn_get_data_keys(
10606        setting: *mut NMSettingVpn,
10607        out_length: *mut c_uint,
10608    ) -> *mut *const c_char;
10609    pub fn nm_setting_vpn_get_num_data_items(setting: *mut NMSettingVpn) -> u32;
10610    pub fn nm_setting_vpn_get_num_secrets(setting: *mut NMSettingVpn) -> u32;
10611    #[cfg(feature = "v1_42")]
10612    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
10613    pub fn nm_setting_vpn_get_persistent(setting: *mut NMSettingVpn) -> gboolean;
10614    pub fn nm_setting_vpn_get_secret(
10615        setting: *mut NMSettingVpn,
10616        key: *const c_char,
10617    ) -> *const c_char;
10618    #[cfg(feature = "v1_12")]
10619    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
10620    pub fn nm_setting_vpn_get_secret_keys(
10621        setting: *mut NMSettingVpn,
10622        out_length: *mut c_uint,
10623    ) -> *mut *const c_char;
10624    pub fn nm_setting_vpn_get_service_type(setting: *mut NMSettingVpn) -> *const c_char;
10625    #[cfg(feature = "v1_2")]
10626    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10627    pub fn nm_setting_vpn_get_timeout(setting: *mut NMSettingVpn) -> u32;
10628    pub fn nm_setting_vpn_get_user_name(setting: *mut NMSettingVpn) -> *const c_char;
10629    pub fn nm_setting_vpn_remove_data_item(
10630        setting: *mut NMSettingVpn,
10631        key: *const c_char,
10632    ) -> gboolean;
10633    pub fn nm_setting_vpn_remove_secret(setting: *mut NMSettingVpn, key: *const c_char)
10634        -> gboolean;
10635
10636    //=========================================================================
10637    // NMSettingVrf
10638    //=========================================================================
10639    #[cfg(feature = "v1_24")]
10640    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
10641    pub fn nm_setting_vrf_get_type() -> GType;
10642    #[cfg(feature = "v1_24")]
10643    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
10644    pub fn nm_setting_vrf_new() -> *mut NMSetting;
10645    #[cfg(feature = "v1_24")]
10646    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
10647    pub fn nm_setting_vrf_get_table(setting: *mut NMSettingVrf) -> u32;
10648
10649    //=========================================================================
10650    // NMSettingVxlan
10651    //=========================================================================
10652    pub fn nm_setting_vxlan_get_type() -> GType;
10653    #[cfg(feature = "v1_2")]
10654    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10655    pub fn nm_setting_vxlan_new() -> *mut NMSetting;
10656    #[cfg(feature = "v1_2")]
10657    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10658    pub fn nm_setting_vxlan_get_ageing(setting: *mut NMSettingVxlan) -> c_uint;
10659    #[cfg(feature = "v1_2")]
10660    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10661    pub fn nm_setting_vxlan_get_destination_port(setting: *mut NMSettingVxlan) -> c_uint;
10662    #[cfg(feature = "v1_2")]
10663    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10664    pub fn nm_setting_vxlan_get_id(setting: *mut NMSettingVxlan) -> c_uint;
10665    #[cfg(feature = "v1_2")]
10666    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10667    pub fn nm_setting_vxlan_get_l2_miss(setting: *mut NMSettingVxlan) -> gboolean;
10668    #[cfg(feature = "v1_2")]
10669    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10670    pub fn nm_setting_vxlan_get_l3_miss(setting: *mut NMSettingVxlan) -> gboolean;
10671    #[cfg(feature = "v1_2")]
10672    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10673    pub fn nm_setting_vxlan_get_learning(setting: *mut NMSettingVxlan) -> gboolean;
10674    #[cfg(feature = "v1_2")]
10675    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10676    pub fn nm_setting_vxlan_get_limit(setting: *mut NMSettingVxlan) -> c_uint;
10677    #[cfg(feature = "v1_2")]
10678    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10679    pub fn nm_setting_vxlan_get_local(setting: *mut NMSettingVxlan) -> *const c_char;
10680    #[cfg(feature = "v1_2")]
10681    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10682    pub fn nm_setting_vxlan_get_parent(setting: *mut NMSettingVxlan) -> *const c_char;
10683    #[cfg(feature = "v1_2")]
10684    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10685    pub fn nm_setting_vxlan_get_proxy(setting: *mut NMSettingVxlan) -> gboolean;
10686    #[cfg(feature = "v1_2")]
10687    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10688    pub fn nm_setting_vxlan_get_remote(setting: *mut NMSettingVxlan) -> *const c_char;
10689    #[cfg(feature = "v1_2")]
10690    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10691    pub fn nm_setting_vxlan_get_rsc(setting: *mut NMSettingVxlan) -> gboolean;
10692    #[cfg(feature = "v1_2")]
10693    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10694    pub fn nm_setting_vxlan_get_source_port_max(setting: *mut NMSettingVxlan) -> c_uint;
10695    #[cfg(feature = "v1_2")]
10696    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10697    pub fn nm_setting_vxlan_get_source_port_min(setting: *mut NMSettingVxlan) -> c_uint;
10698    #[cfg(feature = "v1_2")]
10699    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10700    pub fn nm_setting_vxlan_get_tos(setting: *mut NMSettingVxlan) -> c_uint;
10701    #[cfg(feature = "v1_2")]
10702    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10703    pub fn nm_setting_vxlan_get_ttl(setting: *mut NMSettingVxlan) -> c_uint;
10704
10705    //=========================================================================
10706    // NMSettingWifiP2P
10707    //=========================================================================
10708    #[cfg(feature = "v1_16")]
10709    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10710    pub fn nm_setting_wifi_p2p_get_type() -> GType;
10711    #[cfg(feature = "v1_16")]
10712    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10713    pub fn nm_setting_wifi_p2p_new() -> *mut NMSetting;
10714    #[cfg(feature = "v1_16")]
10715    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10716    pub fn nm_setting_wifi_p2p_get_peer(setting: *mut NMSettingWifiP2P) -> *const c_char;
10717    #[cfg(feature = "v1_16")]
10718    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10719    pub fn nm_setting_wifi_p2p_get_wfd_ies(setting: *mut NMSettingWifiP2P) -> *mut glib::GBytes;
10720    #[cfg(feature = "v1_16")]
10721    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10722    pub fn nm_setting_wifi_p2p_get_wps_method(
10723        setting: *mut NMSettingWifiP2P,
10724    ) -> NMSettingWirelessSecurityWpsMethod;
10725
10726    //=========================================================================
10727    // NMSettingWimax
10728    //=========================================================================
10729    pub fn nm_setting_wimax_get_type() -> GType;
10730    pub fn nm_setting_wimax_new() -> *mut NMSetting;
10731    pub fn nm_setting_wimax_get_mac_address(setting: *mut NMSettingWimax) -> *const c_char;
10732    pub fn nm_setting_wimax_get_network_name(setting: *mut NMSettingWimax) -> *const c_char;
10733
10734    //=========================================================================
10735    // NMSettingWireGuard
10736    //=========================================================================
10737    #[cfg(feature = "v1_16")]
10738    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10739    pub fn nm_setting_wireguard_get_type() -> GType;
10740    #[cfg(feature = "v1_16")]
10741    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10742    pub fn nm_setting_wireguard_new() -> *mut NMSetting;
10743    #[cfg(feature = "v1_16")]
10744    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10745    pub fn nm_setting_wireguard_append_peer(
10746        self_: *mut NMSettingWireGuard,
10747        peer: *mut NMWireGuardPeer,
10748    );
10749    #[cfg(feature = "v1_16")]
10750    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10751    pub fn nm_setting_wireguard_clear_peers(self_: *mut NMSettingWireGuard) -> c_uint;
10752    #[cfg(feature = "v1_16")]
10753    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10754    pub fn nm_setting_wireguard_get_fwmark(self_: *mut NMSettingWireGuard) -> u32;
10755    #[cfg(feature = "v1_20")]
10756    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
10757    pub fn nm_setting_wireguard_get_ip4_auto_default_route(
10758        self_: *mut NMSettingWireGuard,
10759    ) -> NMTernary;
10760    #[cfg(feature = "v1_20")]
10761    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
10762    pub fn nm_setting_wireguard_get_ip6_auto_default_route(
10763        self_: *mut NMSettingWireGuard,
10764    ) -> NMTernary;
10765    #[cfg(feature = "v1_16")]
10766    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10767    pub fn nm_setting_wireguard_get_listen_port(self_: *mut NMSettingWireGuard) -> u16;
10768    #[cfg(feature = "v1_16")]
10769    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10770    pub fn nm_setting_wireguard_get_mtu(self_: *mut NMSettingWireGuard) -> u32;
10771    #[cfg(feature = "v1_16")]
10772    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10773    pub fn nm_setting_wireguard_get_peer(
10774        self_: *mut NMSettingWireGuard,
10775        idx: c_uint,
10776    ) -> *mut NMWireGuardPeer;
10777    #[cfg(feature = "v1_16")]
10778    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10779    pub fn nm_setting_wireguard_get_peer_by_public_key(
10780        self_: *mut NMSettingWireGuard,
10781        public_key: *const c_char,
10782        out_idx: *mut c_uint,
10783    ) -> *mut NMWireGuardPeer;
10784    #[cfg(feature = "v1_16")]
10785    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10786    pub fn nm_setting_wireguard_get_peer_routes(self_: *mut NMSettingWireGuard) -> gboolean;
10787    #[cfg(feature = "v1_16")]
10788    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10789    pub fn nm_setting_wireguard_get_peers_len(self_: *mut NMSettingWireGuard) -> c_uint;
10790    #[cfg(feature = "v1_16")]
10791    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10792    pub fn nm_setting_wireguard_get_private_key(self_: *mut NMSettingWireGuard) -> *const c_char;
10793    #[cfg(feature = "v1_16")]
10794    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10795    pub fn nm_setting_wireguard_get_private_key_flags(
10796        self_: *mut NMSettingWireGuard,
10797    ) -> NMSettingSecretFlags;
10798    #[cfg(feature = "v1_16")]
10799    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10800    pub fn nm_setting_wireguard_remove_peer(
10801        self_: *mut NMSettingWireGuard,
10802        idx: c_uint,
10803    ) -> gboolean;
10804    #[cfg(feature = "v1_16")]
10805    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
10806    pub fn nm_setting_wireguard_set_peer(
10807        self_: *mut NMSettingWireGuard,
10808        peer: *mut NMWireGuardPeer,
10809        idx: c_uint,
10810    );
10811
10812    //=========================================================================
10813    // NMSettingWired
10814    //=========================================================================
10815    pub fn nm_setting_wired_get_type() -> GType;
10816    pub fn nm_setting_wired_new() -> *mut NMSetting;
10817    pub fn nm_setting_wired_add_mac_blacklist_item(
10818        setting: *mut NMSettingWired,
10819        mac: *const c_char,
10820    ) -> gboolean;
10821    #[cfg(feature = "v1_48")]
10822    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10823    pub fn nm_setting_wired_add_mac_denylist_item(
10824        setting: *mut NMSettingWired,
10825        mac: *const c_char,
10826    ) -> gboolean;
10827    pub fn nm_setting_wired_add_s390_option(
10828        setting: *mut NMSettingWired,
10829        key: *const c_char,
10830        value: *const c_char,
10831    ) -> gboolean;
10832    pub fn nm_setting_wired_clear_mac_blacklist_items(setting: *mut NMSettingWired);
10833    #[cfg(feature = "v1_48")]
10834    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10835    pub fn nm_setting_wired_clear_mac_denylist_items(setting: *mut NMSettingWired);
10836    #[cfg(feature = "v1_32")]
10837    #[cfg_attr(docsrs, doc(cfg(feature = "v1_32")))]
10838    pub fn nm_setting_wired_get_accept_all_mac_addresses(setting: *mut NMSettingWired)
10839        -> NMTernary;
10840    pub fn nm_setting_wired_get_auto_negotiate(setting: *mut NMSettingWired) -> gboolean;
10841    pub fn nm_setting_wired_get_cloned_mac_address(setting: *mut NMSettingWired) -> *const c_char;
10842    pub fn nm_setting_wired_get_duplex(setting: *mut NMSettingWired) -> *const c_char;
10843    #[cfg(feature = "v1_4")]
10844    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
10845    pub fn nm_setting_wired_get_generate_mac_address_mask(
10846        setting: *mut NMSettingWired,
10847    ) -> *const c_char;
10848    pub fn nm_setting_wired_get_mac_address(setting: *mut NMSettingWired) -> *const c_char;
10849    pub fn nm_setting_wired_get_mac_address_blacklist(
10850        setting: *mut NMSettingWired,
10851    ) -> *const *const c_char;
10852    #[cfg(feature = "v1_48")]
10853    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10854    pub fn nm_setting_wired_get_mac_address_denylist(
10855        setting: *mut NMSettingWired,
10856    ) -> *const *const c_char;
10857    pub fn nm_setting_wired_get_mac_blacklist_item(
10858        setting: *mut NMSettingWired,
10859        idx: u32,
10860    ) -> *const c_char;
10861    #[cfg(feature = "v1_48")]
10862    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10863    pub fn nm_setting_wired_get_mac_denylist_item(
10864        setting: *mut NMSettingWired,
10865        idx: u32,
10866    ) -> *const c_char;
10867    pub fn nm_setting_wired_get_mtu(setting: *mut NMSettingWired) -> u32;
10868    pub fn nm_setting_wired_get_num_mac_blacklist_items(setting: *mut NMSettingWired) -> u32;
10869    #[cfg(feature = "v1_48")]
10870    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10871    pub fn nm_setting_wired_get_num_mac_denylist_items(setting: *mut NMSettingWired) -> u32;
10872    pub fn nm_setting_wired_get_num_s390_options(setting: *mut NMSettingWired) -> u32;
10873    pub fn nm_setting_wired_get_port(setting: *mut NMSettingWired) -> *const c_char;
10874    pub fn nm_setting_wired_get_s390_nettype(setting: *mut NMSettingWired) -> *const c_char;
10875    pub fn nm_setting_wired_get_s390_option(
10876        setting: *mut NMSettingWired,
10877        idx: u32,
10878        out_key: *mut *const c_char,
10879        out_value: *mut *const c_char,
10880    ) -> gboolean;
10881    pub fn nm_setting_wired_get_s390_option_by_key(
10882        setting: *mut NMSettingWired,
10883        key: *const c_char,
10884    ) -> *const c_char;
10885    pub fn nm_setting_wired_get_s390_subchannels(
10886        setting: *mut NMSettingWired,
10887    ) -> *const *const c_char;
10888    pub fn nm_setting_wired_get_speed(setting: *mut NMSettingWired) -> u32;
10889    pub fn nm_setting_wired_get_valid_s390_options(
10890        setting: *mut NMSettingWired,
10891    ) -> *mut *const c_char;
10892    #[cfg(feature = "v1_2")]
10893    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10894    pub fn nm_setting_wired_get_wake_on_lan(
10895        setting: *mut NMSettingWired,
10896    ) -> NMSettingWiredWakeOnLan;
10897    #[cfg(feature = "v1_2")]
10898    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10899    pub fn nm_setting_wired_get_wake_on_lan_password(setting: *mut NMSettingWired)
10900        -> *const c_char;
10901    pub fn nm_setting_wired_remove_mac_blacklist_item(setting: *mut NMSettingWired, idx: u32);
10902    pub fn nm_setting_wired_remove_mac_blacklist_item_by_value(
10903        setting: *mut NMSettingWired,
10904        mac: *const c_char,
10905    ) -> gboolean;
10906    #[cfg(feature = "v1_48")]
10907    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10908    pub fn nm_setting_wired_remove_mac_denylist_item(setting: *mut NMSettingWired, idx: u32);
10909    #[cfg(feature = "v1_48")]
10910    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10911    pub fn nm_setting_wired_remove_mac_denylist_item_by_value(
10912        setting: *mut NMSettingWired,
10913        mac: *const c_char,
10914    ) -> gboolean;
10915    pub fn nm_setting_wired_remove_s390_option(
10916        setting: *mut NMSettingWired,
10917        key: *const c_char,
10918    ) -> gboolean;
10919
10920    //=========================================================================
10921    // NMSettingWireless
10922    //=========================================================================
10923    pub fn nm_setting_wireless_get_type() -> GType;
10924    pub fn nm_setting_wireless_new() -> *mut NMSetting;
10925    pub fn nm_setting_wireless_add_mac_blacklist_item(
10926        setting: *mut NMSettingWireless,
10927        mac: *const c_char,
10928    ) -> gboolean;
10929    #[cfg(feature = "v1_48")]
10930    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10931    pub fn nm_setting_wireless_add_mac_denylist_item(
10932        setting: *mut NMSettingWireless,
10933        mac: *const c_char,
10934    ) -> gboolean;
10935    pub fn nm_setting_wireless_add_seen_bssid(
10936        setting: *mut NMSettingWireless,
10937        bssid: *const c_char,
10938    ) -> gboolean;
10939    pub fn nm_setting_wireless_ap_security_compatible(
10940        s_wireless: *mut NMSettingWireless,
10941        s_wireless_sec: *mut NMSettingWirelessSecurity,
10942        ap_flags: NM80211ApFlags,
10943        ap_wpa: NM80211ApSecurityFlags,
10944        ap_rsn: NM80211ApSecurityFlags,
10945        ap_mode: NM80211Mode,
10946    ) -> gboolean;
10947    pub fn nm_setting_wireless_clear_mac_blacklist_items(setting: *mut NMSettingWireless);
10948    #[cfg(feature = "v1_48")]
10949    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10950    pub fn nm_setting_wireless_clear_mac_denylist_items(setting: *mut NMSettingWireless);
10951    #[cfg(feature = "v1_28")]
10952    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
10953    pub fn nm_setting_wireless_get_ap_isolation(setting: *mut NMSettingWireless) -> NMTernary;
10954    pub fn nm_setting_wireless_get_band(setting: *mut NMSettingWireless) -> *const c_char;
10955    pub fn nm_setting_wireless_get_bssid(setting: *mut NMSettingWireless) -> *const c_char;
10956    pub fn nm_setting_wireless_get_channel(setting: *mut NMSettingWireless) -> u32;
10957    #[cfg(feature = "v1_50")]
10958    #[cfg_attr(docsrs, doc(cfg(feature = "v1_50")))]
10959    pub fn nm_setting_wireless_get_channel_width(
10960        setting: *mut NMSettingWireless,
10961    ) -> NMSettingWirelessChannelWidth;
10962    pub fn nm_setting_wireless_get_cloned_mac_address(
10963        setting: *mut NMSettingWireless,
10964    ) -> *const c_char;
10965    #[cfg(feature = "v1_4")]
10966    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
10967    pub fn nm_setting_wireless_get_generate_mac_address_mask(
10968        setting: *mut NMSettingWireless,
10969    ) -> *const c_char;
10970    pub fn nm_setting_wireless_get_hidden(setting: *mut NMSettingWireless) -> gboolean;
10971    pub fn nm_setting_wireless_get_mac_address(setting: *mut NMSettingWireless) -> *const c_char;
10972    pub fn nm_setting_wireless_get_mac_address_blacklist(
10973        setting: *mut NMSettingWireless,
10974    ) -> *const *const c_char;
10975    #[cfg(feature = "v1_48")]
10976    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10977    pub fn nm_setting_wireless_get_mac_address_denylist(
10978        setting: *mut NMSettingWireless,
10979    ) -> *const *const c_char;
10980    #[cfg(feature = "v1_2")]
10981    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
10982    pub fn nm_setting_wireless_get_mac_address_randomization(
10983        setting: *mut NMSettingWireless,
10984    ) -> NMSettingMacRandomization;
10985    pub fn nm_setting_wireless_get_mac_blacklist_item(
10986        setting: *mut NMSettingWireless,
10987        idx: u32,
10988    ) -> *const c_char;
10989    #[cfg(feature = "v1_48")]
10990    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
10991    pub fn nm_setting_wireless_get_mac_denylist_item(
10992        setting: *mut NMSettingWireless,
10993        idx: u32,
10994    ) -> *const c_char;
10995    pub fn nm_setting_wireless_get_mode(setting: *mut NMSettingWireless) -> *const c_char;
10996    pub fn nm_setting_wireless_get_mtu(setting: *mut NMSettingWireless) -> u32;
10997    pub fn nm_setting_wireless_get_num_mac_blacklist_items(setting: *mut NMSettingWireless) -> u32;
10998    #[cfg(feature = "v1_48")]
10999    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
11000    pub fn nm_setting_wireless_get_num_mac_denylist_items(setting: *mut NMSettingWireless) -> u32;
11001    pub fn nm_setting_wireless_get_num_seen_bssids(setting: *mut NMSettingWireless) -> u32;
11002    #[cfg(feature = "v1_2")]
11003    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11004    pub fn nm_setting_wireless_get_powersave(setting: *mut NMSettingWireless) -> u32;
11005    pub fn nm_setting_wireless_get_rate(setting: *mut NMSettingWireless) -> u32;
11006    pub fn nm_setting_wireless_get_seen_bssid(
11007        setting: *mut NMSettingWireless,
11008        i: u32,
11009    ) -> *const c_char;
11010    pub fn nm_setting_wireless_get_ssid(setting: *mut NMSettingWireless) -> *mut glib::GBytes;
11011    pub fn nm_setting_wireless_get_tx_power(setting: *mut NMSettingWireless) -> u32;
11012    #[cfg(feature = "v1_12")]
11013    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
11014    pub fn nm_setting_wireless_get_wake_on_wlan(
11015        setting: *mut NMSettingWireless,
11016    ) -> NMSettingWirelessWakeOnWLan;
11017    pub fn nm_setting_wireless_remove_mac_blacklist_item(setting: *mut NMSettingWireless, idx: u32);
11018    pub fn nm_setting_wireless_remove_mac_blacklist_item_by_value(
11019        setting: *mut NMSettingWireless,
11020        mac: *const c_char,
11021    ) -> gboolean;
11022    #[cfg(feature = "v1_48")]
11023    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
11024    pub fn nm_setting_wireless_remove_mac_denylist_item(setting: *mut NMSettingWireless, idx: u32);
11025    #[cfg(feature = "v1_48")]
11026    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
11027    pub fn nm_setting_wireless_remove_mac_denylist_item_by_value(
11028        setting: *mut NMSettingWireless,
11029        mac: *const c_char,
11030    ) -> gboolean;
11031
11032    //=========================================================================
11033    // NMSettingWirelessSecurity
11034    //=========================================================================
11035    pub fn nm_setting_wireless_security_get_type() -> GType;
11036    pub fn nm_setting_wireless_security_new() -> *mut NMSetting;
11037    pub fn nm_setting_wireless_security_add_group(
11038        setting: *mut NMSettingWirelessSecurity,
11039        group: *const c_char,
11040    ) -> gboolean;
11041    pub fn nm_setting_wireless_security_add_pairwise(
11042        setting: *mut NMSettingWirelessSecurity,
11043        pairwise: *const c_char,
11044    ) -> gboolean;
11045    pub fn nm_setting_wireless_security_add_proto(
11046        setting: *mut NMSettingWirelessSecurity,
11047        proto: *const c_char,
11048    ) -> gboolean;
11049    pub fn nm_setting_wireless_security_clear_groups(setting: *mut NMSettingWirelessSecurity);
11050    pub fn nm_setting_wireless_security_clear_pairwise(setting: *mut NMSettingWirelessSecurity);
11051    pub fn nm_setting_wireless_security_clear_protos(setting: *mut NMSettingWirelessSecurity);
11052    pub fn nm_setting_wireless_security_get_auth_alg(
11053        setting: *mut NMSettingWirelessSecurity,
11054    ) -> *const c_char;
11055    #[cfg(feature = "v1_12")]
11056    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
11057    pub fn nm_setting_wireless_security_get_fils(
11058        setting: *mut NMSettingWirelessSecurity,
11059    ) -> NMSettingWirelessSecurityFils;
11060    pub fn nm_setting_wireless_security_get_group(
11061        setting: *mut NMSettingWirelessSecurity,
11062        i: u32,
11063    ) -> *const c_char;
11064    pub fn nm_setting_wireless_security_get_key_mgmt(
11065        setting: *mut NMSettingWirelessSecurity,
11066    ) -> *const c_char;
11067    pub fn nm_setting_wireless_security_get_leap_password(
11068        setting: *mut NMSettingWirelessSecurity,
11069    ) -> *const c_char;
11070    pub fn nm_setting_wireless_security_get_leap_password_flags(
11071        setting: *mut NMSettingWirelessSecurity,
11072    ) -> NMSettingSecretFlags;
11073    pub fn nm_setting_wireless_security_get_leap_username(
11074        setting: *mut NMSettingWirelessSecurity,
11075    ) -> *const c_char;
11076    pub fn nm_setting_wireless_security_get_num_groups(
11077        setting: *mut NMSettingWirelessSecurity,
11078    ) -> u32;
11079    pub fn nm_setting_wireless_security_get_num_pairwise(
11080        setting: *mut NMSettingWirelessSecurity,
11081    ) -> u32;
11082    pub fn nm_setting_wireless_security_get_num_protos(
11083        setting: *mut NMSettingWirelessSecurity,
11084    ) -> u32;
11085    pub fn nm_setting_wireless_security_get_pairwise(
11086        setting: *mut NMSettingWirelessSecurity,
11087        i: u32,
11088    ) -> *const c_char;
11089    #[cfg(feature = "v1_10")]
11090    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
11091    pub fn nm_setting_wireless_security_get_pmf(
11092        setting: *mut NMSettingWirelessSecurity,
11093    ) -> NMSettingWirelessSecurityPmf;
11094    pub fn nm_setting_wireless_security_get_proto(
11095        setting: *mut NMSettingWirelessSecurity,
11096        i: u32,
11097    ) -> *const c_char;
11098    pub fn nm_setting_wireless_security_get_psk(
11099        setting: *mut NMSettingWirelessSecurity,
11100    ) -> *const c_char;
11101    pub fn nm_setting_wireless_security_get_psk_flags(
11102        setting: *mut NMSettingWirelessSecurity,
11103    ) -> NMSettingSecretFlags;
11104    pub fn nm_setting_wireless_security_get_wep_key(
11105        setting: *mut NMSettingWirelessSecurity,
11106        idx: u32,
11107    ) -> *const c_char;
11108    pub fn nm_setting_wireless_security_get_wep_key_flags(
11109        setting: *mut NMSettingWirelessSecurity,
11110    ) -> NMSettingSecretFlags;
11111    pub fn nm_setting_wireless_security_get_wep_key_type(
11112        setting: *mut NMSettingWirelessSecurity,
11113    ) -> NMWepKeyType;
11114    pub fn nm_setting_wireless_security_get_wep_tx_keyidx(
11115        setting: *mut NMSettingWirelessSecurity,
11116    ) -> u32;
11117    #[cfg(feature = "v1_10")]
11118    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
11119    pub fn nm_setting_wireless_security_get_wps_method(
11120        setting: *mut NMSettingWirelessSecurity,
11121    ) -> NMSettingWirelessSecurityWpsMethod;
11122    pub fn nm_setting_wireless_security_remove_group(
11123        setting: *mut NMSettingWirelessSecurity,
11124        i: u32,
11125    );
11126    pub fn nm_setting_wireless_security_remove_group_by_value(
11127        setting: *mut NMSettingWirelessSecurity,
11128        group: *const c_char,
11129    ) -> gboolean;
11130    pub fn nm_setting_wireless_security_remove_pairwise(
11131        setting: *mut NMSettingWirelessSecurity,
11132        i: u32,
11133    );
11134    pub fn nm_setting_wireless_security_remove_pairwise_by_value(
11135        setting: *mut NMSettingWirelessSecurity,
11136        pairwise: *const c_char,
11137    ) -> gboolean;
11138    pub fn nm_setting_wireless_security_remove_proto(
11139        setting: *mut NMSettingWirelessSecurity,
11140        i: u32,
11141    );
11142    pub fn nm_setting_wireless_security_remove_proto_by_value(
11143        setting: *mut NMSettingWirelessSecurity,
11144        proto: *const c_char,
11145    ) -> gboolean;
11146    pub fn nm_setting_wireless_security_set_wep_key(
11147        setting: *mut NMSettingWirelessSecurity,
11148        idx: u32,
11149        key: *const c_char,
11150    );
11151
11152    //=========================================================================
11153    // NMSettingWpan
11154    //=========================================================================
11155    #[cfg(feature = "v1_14")]
11156    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11157    pub fn nm_setting_wpan_get_type() -> GType;
11158    #[cfg(feature = "v1_42")]
11159    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11160    pub fn nm_setting_wpan_new() -> *mut NMSetting;
11161    #[cfg(feature = "v1_42")]
11162    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11163    pub fn nm_setting_wpan_get_channel(setting: *mut NMSettingWpan) -> i16;
11164    #[cfg(feature = "v1_42")]
11165    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11166    pub fn nm_setting_wpan_get_mac_address(setting: *mut NMSettingWpan) -> *const c_char;
11167    #[cfg(feature = "v1_42")]
11168    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11169    pub fn nm_setting_wpan_get_page(setting: *mut NMSettingWpan) -> i16;
11170    #[cfg(feature = "v1_42")]
11171    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11172    pub fn nm_setting_wpan_get_pan_id(setting: *mut NMSettingWpan) -> u16;
11173    #[cfg(feature = "v1_42")]
11174    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11175    pub fn nm_setting_wpan_get_short_address(setting: *mut NMSettingWpan) -> u16;
11176
11177    //=========================================================================
11178    // NMSimpleConnection
11179    //=========================================================================
11180    pub fn nm_simple_connection_get_type() -> GType;
11181    pub fn nm_simple_connection_new() -> *mut NMConnection;
11182    pub fn nm_simple_connection_new_clone(connection: *mut NMConnection) -> *mut NMConnection;
11183    pub fn nm_simple_connection_new_from_dbus(
11184        dict: *mut glib::GVariant,
11185        error: *mut *mut glib::GError,
11186    ) -> *mut NMConnection;
11187
11188    //=========================================================================
11189    // NMVpnConnection
11190    //=========================================================================
11191    pub fn nm_vpn_connection_get_type() -> GType;
11192    pub fn nm_vpn_connection_get_banner(vpn: *mut NMVpnConnection) -> *const c_char;
11193    pub fn nm_vpn_connection_get_vpn_state(vpn: *mut NMVpnConnection) -> NMVpnConnectionState;
11194
11195    //=========================================================================
11196    // NMVpnPluginInfo
11197    //=========================================================================
11198    pub fn nm_vpn_plugin_info_get_type() -> GType;
11199    #[cfg(feature = "v1_2")]
11200    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11201    pub fn nm_vpn_plugin_info_new_from_file(
11202        filename: *const c_char,
11203        error: *mut *mut glib::GError,
11204    ) -> *mut NMVpnPluginInfo;
11205    #[cfg(feature = "v1_4")]
11206    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11207    pub fn nm_vpn_plugin_info_new_search_file(
11208        name: *const c_char,
11209        service: *const c_char,
11210    ) -> *mut NMVpnPluginInfo;
11211    #[cfg(feature = "v1_2")]
11212    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11213    pub fn nm_vpn_plugin_info_new_with_data(
11214        filename: *const c_char,
11215        keyfile: *mut glib::GKeyFile,
11216        error: *mut *mut glib::GError,
11217    ) -> *mut NMVpnPluginInfo;
11218    #[cfg(feature = "v1_2")]
11219    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11220    pub fn nm_vpn_plugin_info_list_add(
11221        list: *mut *mut glib::GSList,
11222        plugin_info: *mut NMVpnPluginInfo,
11223        error: *mut *mut glib::GError,
11224    ) -> gboolean;
11225    #[cfg(feature = "v1_2")]
11226    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11227    pub fn nm_vpn_plugin_info_list_find_by_filename(
11228        list: *mut glib::GSList,
11229        filename: *const c_char,
11230    ) -> *mut NMVpnPluginInfo;
11231    #[cfg(feature = "v1_2")]
11232    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11233    pub fn nm_vpn_plugin_info_list_find_by_name(
11234        list: *mut glib::GSList,
11235        name: *const c_char,
11236    ) -> *mut NMVpnPluginInfo;
11237    #[cfg(feature = "v1_2")]
11238    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11239    pub fn nm_vpn_plugin_info_list_find_by_service(
11240        list: *mut glib::GSList,
11241        service: *const c_char,
11242    ) -> *mut NMVpnPluginInfo;
11243    #[cfg(feature = "v1_4")]
11244    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11245    pub fn nm_vpn_plugin_info_list_find_service_type(
11246        list: *mut glib::GSList,
11247        name: *const c_char,
11248    ) -> *mut c_char;
11249    #[cfg(feature = "v1_4")]
11250    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11251    pub fn nm_vpn_plugin_info_list_get_service_types(
11252        list: *mut glib::GSList,
11253        only_existing: gboolean,
11254        with_abbreviations: gboolean,
11255    ) -> *mut *mut c_char;
11256    #[cfg(feature = "v1_2")]
11257    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11258    pub fn nm_vpn_plugin_info_list_load() -> *mut glib::GSList;
11259    #[cfg(feature = "v1_2")]
11260    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11261    pub fn nm_vpn_plugin_info_list_remove(
11262        list: *mut *mut glib::GSList,
11263        plugin_info: *mut NMVpnPluginInfo,
11264    ) -> gboolean;
11265    #[cfg(feature = "v1_2")]
11266    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11267    pub fn nm_vpn_plugin_info_validate_filename(filename: *const c_char) -> gboolean;
11268    #[cfg(feature = "v1_4")]
11269    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11270    pub fn nm_vpn_plugin_info_get_aliases(self_: *mut NMVpnPluginInfo) -> *const *const c_char;
11271    #[cfg(feature = "v1_4")]
11272    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11273    pub fn nm_vpn_plugin_info_get_auth_dialog(self_: *mut NMVpnPluginInfo) -> *const c_char;
11274    #[cfg(feature = "v1_2")]
11275    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11276    pub fn nm_vpn_plugin_info_get_editor_plugin(
11277        self_: *mut NMVpnPluginInfo,
11278    ) -> *mut NMVpnEditorPlugin;
11279    #[cfg(feature = "v1_2")]
11280    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11281    pub fn nm_vpn_plugin_info_get_filename(self_: *mut NMVpnPluginInfo) -> *const c_char;
11282    #[cfg(feature = "v1_2")]
11283    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11284    pub fn nm_vpn_plugin_info_get_name(self_: *mut NMVpnPluginInfo) -> *const c_char;
11285    #[cfg(feature = "v1_2")]
11286    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11287    pub fn nm_vpn_plugin_info_get_plugin(self_: *mut NMVpnPluginInfo) -> *const c_char;
11288    #[cfg(feature = "v1_2")]
11289    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11290    pub fn nm_vpn_plugin_info_get_program(self_: *mut NMVpnPluginInfo) -> *const c_char;
11291    #[cfg(feature = "v1_4")]
11292    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11293    pub fn nm_vpn_plugin_info_get_service(self_: *mut NMVpnPluginInfo) -> *const c_char;
11294    #[cfg(feature = "v1_2")]
11295    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11296    pub fn nm_vpn_plugin_info_load_editor_plugin(
11297        self_: *mut NMVpnPluginInfo,
11298        error: *mut *mut glib::GError,
11299    ) -> *mut NMVpnEditorPlugin;
11300    #[cfg(feature = "v1_2")]
11301    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11302    pub fn nm_vpn_plugin_info_lookup_property(
11303        self_: *mut NMVpnPluginInfo,
11304        group: *const c_char,
11305        key: *const c_char,
11306    ) -> *const c_char;
11307    #[cfg(feature = "v1_2")]
11308    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11309    pub fn nm_vpn_plugin_info_set_editor_plugin(
11310        self_: *mut NMVpnPluginInfo,
11311        plugin: *mut NMVpnEditorPlugin,
11312    );
11313    #[cfg(feature = "v1_4")]
11314    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11315    pub fn nm_vpn_plugin_info_supports_hints(self_: *mut NMVpnPluginInfo) -> gboolean;
11316    #[cfg(feature = "v1_42")]
11317    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11318    pub fn nm_vpn_plugin_info_supports_multiple(self_: *mut NMVpnPluginInfo) -> gboolean;
11319
11320    //=========================================================================
11321    // NMVpnPluginOld
11322    //=========================================================================
11323    pub fn nm_vpn_plugin_old_get_type() -> GType;
11324    pub fn nm_vpn_plugin_old_get_secret_flags(
11325        data: *mut glib::GHashTable,
11326        secret_name: *const c_char,
11327        out_flags: *mut NMSettingSecretFlags,
11328    ) -> gboolean;
11329    pub fn nm_vpn_plugin_old_read_vpn_details(
11330        fd: c_int,
11331        out_data: *mut *mut glib::GHashTable,
11332        out_secrets: *mut *mut glib::GHashTable,
11333    ) -> gboolean;
11334    pub fn nm_vpn_plugin_old_disconnect(
11335        plugin: *mut NMVpnPluginOld,
11336        error: *mut *mut glib::GError,
11337    ) -> gboolean;
11338    pub fn nm_vpn_plugin_old_failure(plugin: *mut NMVpnPluginOld, reason: NMVpnPluginFailure);
11339    pub fn nm_vpn_plugin_old_get_connection(
11340        plugin: *mut NMVpnPluginOld,
11341    ) -> *mut gio::GDBusConnection;
11342    pub fn nm_vpn_plugin_old_get_state(plugin: *mut NMVpnPluginOld) -> NMVpnServiceState;
11343    pub fn nm_vpn_plugin_old_secrets_required(
11344        plugin: *mut NMVpnPluginOld,
11345        message: *const c_char,
11346        hints: *mut *const c_char,
11347    );
11348    pub fn nm_vpn_plugin_old_set_ip4_config(
11349        plugin: *mut NMVpnPluginOld,
11350        ip4_config: *mut glib::GVariant,
11351    );
11352    pub fn nm_vpn_plugin_old_set_login_banner(plugin: *mut NMVpnPluginOld, banner: *const c_char);
11353    pub fn nm_vpn_plugin_old_set_state(plugin: *mut NMVpnPluginOld, state: NMVpnServiceState);
11354
11355    //=========================================================================
11356    // NMVpnServicePlugin
11357    //=========================================================================
11358    #[cfg(feature = "v1_2")]
11359    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11360    pub fn nm_vpn_service_plugin_get_type() -> GType;
11361    #[cfg(feature = "v1_2")]
11362    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11363    pub fn nm_vpn_service_plugin_get_secret_flags(
11364        data: *mut glib::GHashTable,
11365        secret_name: *const c_char,
11366        out_flags: *mut NMSettingSecretFlags,
11367    ) -> gboolean;
11368    #[cfg(feature = "v1_2")]
11369    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11370    pub fn nm_vpn_service_plugin_read_vpn_details(
11371        fd: c_int,
11372        out_data: *mut *mut glib::GHashTable,
11373        out_secrets: *mut *mut glib::GHashTable,
11374    ) -> gboolean;
11375    #[cfg(feature = "v1_2")]
11376    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11377    pub fn nm_vpn_service_plugin_disconnect(
11378        plugin: *mut NMVpnServicePlugin,
11379        error: *mut *mut glib::GError,
11380    ) -> gboolean;
11381    #[cfg(feature = "v1_2")]
11382    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11383    pub fn nm_vpn_service_plugin_failure(
11384        plugin: *mut NMVpnServicePlugin,
11385        reason: NMVpnPluginFailure,
11386    );
11387    #[cfg(feature = "v1_2")]
11388    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11389    pub fn nm_vpn_service_plugin_get_connection(
11390        plugin: *mut NMVpnServicePlugin,
11391    ) -> *mut gio::GDBusConnection;
11392    #[cfg(feature = "v1_2")]
11393    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11394    pub fn nm_vpn_service_plugin_secrets_required(
11395        plugin: *mut NMVpnServicePlugin,
11396        message: *const c_char,
11397        hints: *mut *const c_char,
11398    );
11399    #[cfg(feature = "v1_2")]
11400    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11401    pub fn nm_vpn_service_plugin_set_config(
11402        plugin: *mut NMVpnServicePlugin,
11403        config: *mut glib::GVariant,
11404    );
11405    #[cfg(feature = "v1_2")]
11406    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11407    pub fn nm_vpn_service_plugin_set_ip4_config(
11408        plugin: *mut NMVpnServicePlugin,
11409        ip4_config: *mut glib::GVariant,
11410    );
11411    #[cfg(feature = "v1_2")]
11412    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11413    pub fn nm_vpn_service_plugin_set_ip6_config(
11414        plugin: *mut NMVpnServicePlugin,
11415        ip6_config: *mut glib::GVariant,
11416    );
11417    #[cfg(feature = "v1_2")]
11418    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11419    pub fn nm_vpn_service_plugin_set_login_banner(
11420        plugin: *mut NMVpnServicePlugin,
11421        banner: *const c_char,
11422    );
11423    #[cfg(feature = "v1_12")]
11424    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
11425    pub fn nm_vpn_service_plugin_shutdown(plugin: *mut NMVpnServicePlugin);
11426
11427    //=========================================================================
11428    // NMWifiP2PPeer
11429    //=========================================================================
11430    #[cfg(feature = "v1_16")]
11431    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11432    pub fn nm_wifi_p2p_peer_get_type() -> GType;
11433    #[cfg(feature = "v1_16")]
11434    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11435    pub fn nm_wifi_p2p_peer_connection_valid(
11436        peer: *mut NMWifiP2PPeer,
11437        connection: *mut NMConnection,
11438    ) -> gboolean;
11439    #[cfg(feature = "v1_16")]
11440    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11441    pub fn nm_wifi_p2p_peer_filter_connections(
11442        peer: *mut NMWifiP2PPeer,
11443        connections: *const glib::GPtrArray,
11444    ) -> *mut glib::GPtrArray;
11445    #[cfg(feature = "v1_16")]
11446    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11447    pub fn nm_wifi_p2p_peer_get_flags(peer: *mut NMWifiP2PPeer) -> NM80211ApFlags;
11448    #[cfg(feature = "v1_16")]
11449    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11450    pub fn nm_wifi_p2p_peer_get_hw_address(peer: *mut NMWifiP2PPeer) -> *const c_char;
11451    #[cfg(feature = "v1_16")]
11452    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11453    pub fn nm_wifi_p2p_peer_get_last_seen(peer: *mut NMWifiP2PPeer) -> c_int;
11454    #[cfg(feature = "v1_16")]
11455    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11456    pub fn nm_wifi_p2p_peer_get_manufacturer(peer: *mut NMWifiP2PPeer) -> *const c_char;
11457    #[cfg(feature = "v1_16")]
11458    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11459    pub fn nm_wifi_p2p_peer_get_model(peer: *mut NMWifiP2PPeer) -> *const c_char;
11460    #[cfg(feature = "v1_16")]
11461    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11462    pub fn nm_wifi_p2p_peer_get_model_number(peer: *mut NMWifiP2PPeer) -> *const c_char;
11463    #[cfg(feature = "v1_16")]
11464    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11465    pub fn nm_wifi_p2p_peer_get_name(peer: *mut NMWifiP2PPeer) -> *const c_char;
11466    #[cfg(feature = "v1_16")]
11467    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11468    pub fn nm_wifi_p2p_peer_get_serial(peer: *mut NMWifiP2PPeer) -> *const c_char;
11469    #[cfg(feature = "v1_16")]
11470    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11471    pub fn nm_wifi_p2p_peer_get_strength(peer: *mut NMWifiP2PPeer) -> u8;
11472    #[cfg(feature = "v1_16")]
11473    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11474    pub fn nm_wifi_p2p_peer_get_wfd_ies(peer: *mut NMWifiP2PPeer) -> *mut glib::GBytes;
11475
11476    //=========================================================================
11477    // NMWimaxNsp
11478    //=========================================================================
11479    pub fn nm_wimax_nsp_get_type() -> GType;
11480    pub fn nm_wimax_nsp_connection_valid(
11481        nsp: *mut NMWimaxNsp,
11482        connection: *mut NMConnection,
11483    ) -> gboolean;
11484    pub fn nm_wimax_nsp_filter_connections(
11485        nsp: *mut NMWimaxNsp,
11486        connections: *const glib::GPtrArray,
11487    ) -> *mut glib::GPtrArray;
11488    pub fn nm_wimax_nsp_get_name(nsp: *mut NMWimaxNsp) -> *const c_char;
11489    pub fn nm_wimax_nsp_get_network_type(nsp: *mut NMWimaxNsp) -> NMWimaxNspNetworkType;
11490    pub fn nm_wimax_nsp_get_signal_quality(nsp: *mut NMWimaxNsp) -> u32;
11491
11492    //=========================================================================
11493    // NMConnection
11494    //=========================================================================
11495    pub fn nm_connection_get_type() -> GType;
11496    pub fn nm_connection_add_setting(connection: *mut NMConnection, setting: *mut NMSetting);
11497    pub fn nm_connection_clear_secrets(connection: *mut NMConnection);
11498    pub fn nm_connection_clear_secrets_with_flags(
11499        connection: *mut NMConnection,
11500        func: NMSettingClearSecretsWithFlagsFn,
11501        user_data: gpointer,
11502    );
11503    pub fn nm_connection_clear_settings(connection: *mut NMConnection);
11504    pub fn nm_connection_compare(
11505        a: *mut NMConnection,
11506        b: *mut NMConnection,
11507        flags: NMSettingCompareFlags,
11508    ) -> gboolean;
11509    pub fn nm_connection_diff(
11510        a: *mut NMConnection,
11511        b: *mut NMConnection,
11512        flags: NMSettingCompareFlags,
11513        out_settings: *mut *mut glib::GHashTable,
11514    ) -> gboolean;
11515    pub fn nm_connection_dump(connection: *mut NMConnection);
11516    pub fn nm_connection_for_each_setting_value(
11517        connection: *mut NMConnection,
11518        func: NMSettingValueIterFn,
11519        user_data: gpointer,
11520    );
11521    pub fn nm_connection_get_connection_type(connection: *mut NMConnection) -> *const c_char;
11522    pub fn nm_connection_get_id(connection: *mut NMConnection) -> *const c_char;
11523    pub fn nm_connection_get_interface_name(connection: *mut NMConnection) -> *const c_char;
11524    pub fn nm_connection_get_path(connection: *mut NMConnection) -> *const c_char;
11525    pub fn nm_connection_get_setting(
11526        connection: *mut NMConnection,
11527        setting_type: GType,
11528    ) -> *mut NMSetting;
11529    pub fn nm_connection_get_setting_802_1x(connection: *mut NMConnection) -> *mut NMSetting8021x;
11530    pub fn nm_connection_get_setting_adsl(connection: *mut NMConnection) -> *mut NMSettingAdsl;
11531    pub fn nm_connection_get_setting_bluetooth(
11532        connection: *mut NMConnection,
11533    ) -> *mut NMSettingBluetooth;
11534    pub fn nm_connection_get_setting_bond(connection: *mut NMConnection) -> *mut NMSettingBond;
11535    pub fn nm_connection_get_setting_bridge(connection: *mut NMConnection) -> *mut NMSettingBridge;
11536    pub fn nm_connection_get_setting_bridge_port(
11537        connection: *mut NMConnection,
11538    ) -> *mut NMSettingBridgePort;
11539    pub fn nm_connection_get_setting_by_name(
11540        connection: *mut NMConnection,
11541        name: *const c_char,
11542    ) -> *mut NMSetting;
11543    pub fn nm_connection_get_setting_cdma(connection: *mut NMConnection) -> *mut NMSettingCdma;
11544    pub fn nm_connection_get_setting_connection(
11545        connection: *mut NMConnection,
11546    ) -> *mut NMSettingConnection;
11547    pub fn nm_connection_get_setting_dcb(connection: *mut NMConnection) -> *mut NMSettingDcb;
11548    #[cfg(feature = "v1_8")]
11549    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
11550    pub fn nm_connection_get_setting_dummy(connection: *mut NMConnection) -> *mut NMSettingDummy;
11551    pub fn nm_connection_get_setting_generic(
11552        connection: *mut NMConnection,
11553    ) -> *mut NMSettingGeneric;
11554    pub fn nm_connection_get_setting_gsm(connection: *mut NMConnection) -> *mut NMSettingGsm;
11555    pub fn nm_connection_get_setting_infiniband(
11556        connection: *mut NMConnection,
11557    ) -> *mut NMSettingInfiniband;
11558    pub fn nm_connection_get_setting_ip4_config(
11559        connection: *mut NMConnection,
11560    ) -> *mut NMSettingIP4Config;
11561    pub fn nm_connection_get_setting_ip6_config(
11562        connection: *mut NMConnection,
11563    ) -> *mut NMSettingIP6Config;
11564    #[cfg(feature = "v1_2")]
11565    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11566    pub fn nm_connection_get_setting_ip_tunnel(
11567        connection: *mut NMConnection,
11568    ) -> *mut NMSettingIPTunnel;
11569    #[cfg(feature = "v1_6")]
11570    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
11571    pub fn nm_connection_get_setting_macsec(connection: *mut NMConnection) -> *mut NMSettingMacsec;
11572    #[cfg(feature = "v1_2")]
11573    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11574    pub fn nm_connection_get_setting_macvlan(
11575        connection: *mut NMConnection,
11576    ) -> *mut NMSettingMacvlan;
11577    pub fn nm_connection_get_setting_olpc_mesh(
11578        connection: *mut NMConnection,
11579    ) -> *mut NMSettingOlpcMesh;
11580    #[cfg(feature = "v1_14")]
11581    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11582    pub fn nm_connection_get_setting_ovs_bridge(
11583        connection: *mut NMConnection,
11584    ) -> *mut NMSettingOvsBridge;
11585    #[cfg(feature = "v1_14")]
11586    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11587    pub fn nm_connection_get_setting_ovs_interface(
11588        connection: *mut NMConnection,
11589    ) -> *mut NMSettingOvsInterface;
11590    #[cfg(feature = "v1_14")]
11591    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11592    pub fn nm_connection_get_setting_ovs_patch(
11593        connection: *mut NMConnection,
11594    ) -> *mut NMSettingOvsPatch;
11595    #[cfg(feature = "v1_14")]
11596    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11597    pub fn nm_connection_get_setting_ovs_port(
11598        connection: *mut NMConnection,
11599    ) -> *mut NMSettingOvsPort;
11600    pub fn nm_connection_get_setting_ppp(connection: *mut NMConnection) -> *mut NMSettingPpp;
11601    pub fn nm_connection_get_setting_pppoe(connection: *mut NMConnection) -> *mut NMSettingPppoe;
11602    #[cfg(feature = "v1_6")]
11603    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
11604    pub fn nm_connection_get_setting_proxy(connection: *mut NMConnection) -> *mut NMSettingProxy;
11605    pub fn nm_connection_get_setting_serial(connection: *mut NMConnection) -> *mut NMSettingSerial;
11606    #[cfg(feature = "v1_12")]
11607    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
11608    pub fn nm_connection_get_setting_tc_config(
11609        connection: *mut NMConnection,
11610    ) -> *mut NMSettingTCConfig;
11611    pub fn nm_connection_get_setting_team(connection: *mut NMConnection) -> *mut NMSettingTeam;
11612    pub fn nm_connection_get_setting_team_port(
11613        connection: *mut NMConnection,
11614    ) -> *mut NMSettingTeamPort;
11615    #[cfg(feature = "v1_14")]
11616    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11617    pub fn nm_connection_get_setting_tun(connection: *mut NMConnection) -> *mut NMSettingTun;
11618    pub fn nm_connection_get_setting_vlan(connection: *mut NMConnection) -> *mut NMSettingVlan;
11619    pub fn nm_connection_get_setting_vpn(connection: *mut NMConnection) -> *mut NMSettingVpn;
11620    #[cfg(feature = "v1_2")]
11621    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11622    pub fn nm_connection_get_setting_vxlan(connection: *mut NMConnection) -> *mut NMSettingVxlan;
11623    pub fn nm_connection_get_setting_wimax(connection: *mut NMConnection) -> *mut NMSettingWimax;
11624    pub fn nm_connection_get_setting_wired(connection: *mut NMConnection) -> *mut NMSettingWired;
11625    pub fn nm_connection_get_setting_wireless(
11626        connection: *mut NMConnection,
11627    ) -> *mut NMSettingWireless;
11628    pub fn nm_connection_get_setting_wireless_security(
11629        connection: *mut NMConnection,
11630    ) -> *mut NMSettingWirelessSecurity;
11631    #[cfg(feature = "v1_10")]
11632    #[cfg_attr(docsrs, doc(cfg(feature = "v1_10")))]
11633    pub fn nm_connection_get_settings(
11634        connection: *mut NMConnection,
11635        out_length: *mut c_uint,
11636    ) -> *mut *mut NMSetting;
11637    pub fn nm_connection_get_uuid(connection: *mut NMConnection) -> *const c_char;
11638    pub fn nm_connection_get_virtual_device_description(
11639        connection: *mut NMConnection,
11640    ) -> *mut c_char;
11641    pub fn nm_connection_is_type(connection: *mut NMConnection, type_: *const c_char) -> gboolean;
11642    pub fn nm_connection_is_virtual(connection: *mut NMConnection) -> gboolean;
11643    pub fn nm_connection_need_secrets(
11644        connection: *mut NMConnection,
11645        hints: *mut *mut glib::GPtrArray,
11646    ) -> *const c_char;
11647    pub fn nm_connection_normalize(
11648        connection: *mut NMConnection,
11649        parameters: *mut glib::GHashTable,
11650        modified: *mut gboolean,
11651        error: *mut *mut glib::GError,
11652    ) -> gboolean;
11653    pub fn nm_connection_remove_setting(connection: *mut NMConnection, setting_type: GType);
11654    pub fn nm_connection_replace_settings(
11655        connection: *mut NMConnection,
11656        new_settings: *mut glib::GVariant,
11657        error: *mut *mut glib::GError,
11658    ) -> gboolean;
11659    pub fn nm_connection_replace_settings_from_connection(
11660        connection: *mut NMConnection,
11661        new_connection: *mut NMConnection,
11662    );
11663    pub fn nm_connection_set_path(connection: *mut NMConnection, path: *const c_char);
11664    pub fn nm_connection_to_dbus(
11665        connection: *mut NMConnection,
11666        flags: NMConnectionSerializationFlags,
11667    ) -> *mut glib::GVariant;
11668    pub fn nm_connection_update_secrets(
11669        connection: *mut NMConnection,
11670        setting_name: *const c_char,
11671        secrets: *mut glib::GVariant,
11672        error: *mut *mut glib::GError,
11673    ) -> gboolean;
11674    pub fn nm_connection_verify(
11675        connection: *mut NMConnection,
11676        error: *mut *mut glib::GError,
11677    ) -> gboolean;
11678    #[cfg(feature = "v1_2")]
11679    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11680    pub fn nm_connection_verify_secrets(
11681        connection: *mut NMConnection,
11682        error: *mut *mut glib::GError,
11683    ) -> gboolean;
11684
11685    //=========================================================================
11686    // NMVpnEditor
11687    //=========================================================================
11688    pub fn nm_vpn_editor_get_type() -> GType;
11689    pub fn nm_vpn_editor_get_widget(editor: *mut NMVpnEditor) -> *mut gobject::GObject;
11690    pub fn nm_vpn_editor_update_connection(
11691        editor: *mut NMVpnEditor,
11692        connection: *mut NMConnection,
11693        error: *mut *mut glib::GError,
11694    ) -> gboolean;
11695
11696    //=========================================================================
11697    // NMVpnEditorPlugin
11698    //=========================================================================
11699    pub fn nm_vpn_editor_plugin_get_type() -> GType;
11700    #[cfg(feature = "v1_4")]
11701    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11702    pub fn nm_vpn_editor_plugin_load(
11703        plugin_name: *const c_char,
11704        check_service: *const c_char,
11705        error: *mut *mut glib::GError,
11706    ) -> *mut NMVpnEditorPlugin;
11707    #[cfg(feature = "v1_2")]
11708    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11709    pub fn nm_vpn_editor_plugin_load_from_file(
11710        plugin_name: *const c_char,
11711        check_service: *const c_char,
11712        check_owner: c_int,
11713        check_file: NMUtilsCheckFilePredicate,
11714        user_data: gpointer,
11715        error: *mut *mut glib::GError,
11716    ) -> *mut NMVpnEditorPlugin;
11717    pub fn nm_vpn_editor_plugin_export(
11718        plugin: *mut NMVpnEditorPlugin,
11719        path: *const c_char,
11720        connection: *mut NMConnection,
11721        error: *mut *mut glib::GError,
11722    ) -> gboolean;
11723    pub fn nm_vpn_editor_plugin_get_capabilities(
11724        plugin: *mut NMVpnEditorPlugin,
11725    ) -> NMVpnEditorPluginCapability;
11726    pub fn nm_vpn_editor_plugin_get_editor(
11727        plugin: *mut NMVpnEditorPlugin,
11728        connection: *mut NMConnection,
11729        error: *mut *mut glib::GError,
11730    ) -> *mut NMVpnEditor;
11731    #[cfg(feature = "v1_4")]
11732    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11733    pub fn nm_vpn_editor_plugin_get_plugin_info(
11734        plugin: *mut NMVpnEditorPlugin,
11735    ) -> *mut NMVpnPluginInfo;
11736    pub fn nm_vpn_editor_plugin_get_suggested_filename(
11737        plugin: *mut NMVpnEditorPlugin,
11738        connection: *mut NMConnection,
11739    ) -> *mut c_char;
11740    #[cfg(feature = "v1_4")]
11741    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11742    pub fn nm_vpn_editor_plugin_get_vt(
11743        plugin: *mut NMVpnEditorPlugin,
11744        vt: *mut NMVpnEditorPluginVT,
11745        vt_size: size_t,
11746    ) -> size_t;
11747    pub fn nm_vpn_editor_plugin_import(
11748        plugin: *mut NMVpnEditorPlugin,
11749        path: *const c_char,
11750        error: *mut *mut glib::GError,
11751    ) -> *mut NMConnection;
11752    #[cfg(feature = "v1_4")]
11753    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
11754    pub fn nm_vpn_editor_plugin_set_plugin_info(
11755        plugin: *mut NMVpnEditorPlugin,
11756        plugin_info: *mut NMVpnPluginInfo,
11757    );
11758
11759    //=========================================================================
11760    // Other functions
11761    //=========================================================================
11762    #[cfg(feature = "v1_40")]
11763    #[cfg_attr(docsrs, doc(cfg(feature = "v1_40")))]
11764    pub fn nm_conn_wireguard_import(
11765        filename: *const c_char,
11766        error: *mut *mut glib::GError,
11767    ) -> *mut NMConnection;
11768    #[cfg(feature = "v1_46")]
11769    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
11770    pub fn nm_ethtool_optname_is_channels(optname: *const c_char) -> gboolean;
11771    #[cfg(feature = "v1_26")]
11772    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
11773    pub fn nm_ethtool_optname_is_coalesce(optname: *const c_char) -> gboolean;
11774    #[cfg(feature = "v1_46")]
11775    #[cfg_attr(docsrs, doc(cfg(feature = "v1_46")))]
11776    pub fn nm_ethtool_optname_is_eee(optname: *const c_char) -> gboolean;
11777    #[cfg(feature = "v1_20")]
11778    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
11779    pub fn nm_ethtool_optname_is_feature(optname: *const c_char) -> gboolean;
11780    #[cfg(feature = "v1_52")]
11781    #[cfg_attr(docsrs, doc(cfg(feature = "v1_52")))]
11782    pub fn nm_ethtool_optname_is_fec(optname: *const c_char) -> gboolean;
11783    #[cfg(feature = "v1_32")]
11784    #[cfg_attr(docsrs, doc(cfg(feature = "v1_32")))]
11785    pub fn nm_ethtool_optname_is_pause(optname: *const c_char) -> gboolean;
11786    #[cfg(feature = "v1_26")]
11787    #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
11788    pub fn nm_ethtool_optname_is_ring(optname: *const c_char) -> gboolean;
11789    #[cfg(feature = "v1_30")]
11790    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
11791    pub fn nm_keyfile_read(
11792        keyfile: *mut glib::GKeyFile,
11793        base_dir: *const c_char,
11794        handler_flags: NMKeyfileHandlerFlags,
11795        handler: NMKeyfileReadHandler,
11796        user_data: *mut c_void,
11797        error: *mut *mut glib::GError,
11798    ) -> *mut NMConnection;
11799    #[cfg(feature = "v1_30")]
11800    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
11801    pub fn nm_keyfile_write(
11802        connection: *mut NMConnection,
11803        handler_flags: NMKeyfileHandlerFlags,
11804        handler: NMKeyfileWriteHandler,
11805        user_data: *mut c_void,
11806        error: *mut *mut glib::GError,
11807    ) -> *mut glib::GKeyFile;
11808    pub fn nm_utils_ap_mode_security_valid(
11809        type_: NMUtilsSecurityType,
11810        wifi_caps: NMDeviceWifiCapabilities,
11811    ) -> gboolean;
11812    #[cfg(feature = "v1_16")]
11813    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
11814    pub fn nm_utils_base64secret_decode(
11815        base64_key: *const c_char,
11816        required_key_len: size_t,
11817        out_key: *mut u8,
11818    ) -> gboolean;
11819    pub fn nm_utils_bin2hexstr(src: gconstpointer, len: size_t, final_len: c_int) -> *mut c_char;
11820    #[cfg(feature = "v1_2")]
11821    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11822    pub fn nm_utils_bond_mode_int_to_string(mode: c_int) -> *const c_char;
11823    #[cfg(feature = "v1_2")]
11824    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11825    pub fn nm_utils_bond_mode_string_to_int(mode: *const c_char) -> c_int;
11826    pub fn nm_utils_check_virtual_device_compatibility(
11827        virtual_type: GType,
11828        other_type: GType,
11829    ) -> gboolean;
11830    #[cfg(feature = "v1_42")]
11831    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11832    pub fn nm_utils_ensure_gtypes();
11833    #[cfg(feature = "v1_2")]
11834    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11835    pub fn nm_utils_enum_from_str(
11836        type_: GType,
11837        str: *const c_char,
11838        out_value: *mut c_int,
11839        err_token: *mut *mut c_char,
11840    ) -> gboolean;
11841    #[cfg(feature = "v1_2")]
11842    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11843    pub fn nm_utils_enum_get_values(type_: GType, from: c_int, to: c_int) -> *mut *const c_char;
11844    #[cfg(feature = "v1_2")]
11845    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
11846    pub fn nm_utils_enum_to_str(type_: GType, value: c_int) -> *mut c_char;
11847    pub fn nm_utils_escape_ssid(ssid: *const u8, len: size_t) -> *const c_char;
11848    pub fn nm_utils_file_is_certificate(filename: *const c_char) -> gboolean;
11849    pub fn nm_utils_file_is_pkcs12(filename: *const c_char) -> gboolean;
11850    pub fn nm_utils_file_is_private_key(
11851        filename: *const c_char,
11852        out_encrypted: *mut gboolean,
11853    ) -> gboolean;
11854    pub fn nm_utils_file_search_in_paths(
11855        progname: *const c_char,
11856        try_first: *const c_char,
11857        paths: *const *const c_char,
11858        file_test_flags: glib::GFileTest,
11859        predicate: NMUtilsFileSearchInPathsPredicate,
11860        user_data: gpointer,
11861        error: *mut *mut glib::GError,
11862    ) -> *const c_char;
11863    #[cfg(feature = "v1_8")]
11864    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
11865    pub fn nm_utils_format_variant_attributes(
11866        attributes: *mut glib::GHashTable,
11867        attr_separator: c_char,
11868        key_value_separator: c_char,
11869    ) -> *mut c_char;
11870    #[cfg(feature = "v1_12")]
11871    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
11872    pub fn nm_utils_get_timestamp_msec() -> i64;
11873    pub fn nm_utils_hexstr2bin(hex: *const c_char) -> *mut glib::GBytes;
11874    pub fn nm_utils_hwaddr_atoba(asc: *const c_char, length: size_t) -> *mut glib::GByteArray;
11875    pub fn nm_utils_hwaddr_aton(asc: *const c_char, buffer: gpointer, length: size_t) -> *mut u8;
11876    pub fn nm_utils_hwaddr_canonical(asc: *const c_char, length: ssize_t) -> *mut c_char;
11877    pub fn nm_utils_hwaddr_len(type_: c_int) -> size_t;
11878    pub fn nm_utils_hwaddr_matches(
11879        hwaddr1: gconstpointer,
11880        hwaddr1_len: ssize_t,
11881        hwaddr2: gconstpointer,
11882        hwaddr2_len: ssize_t,
11883    ) -> gboolean;
11884    pub fn nm_utils_hwaddr_ntoa(addr: gconstpointer, length: size_t) -> *mut c_char;
11885    pub fn nm_utils_hwaddr_valid(asc: *const c_char, length: ssize_t) -> gboolean;
11886    pub fn nm_utils_iface_valid_name(name: *const c_char) -> gboolean;
11887    pub fn nm_utils_inet4_ntop(inaddr: u32, dst: *mut c_char) -> *const c_char;
11888    pub fn nm_utils_inet6_ntop(in6addr: *const in6_addr, dst: *mut c_char) -> *const c_char;
11889    pub fn nm_utils_ip4_addresses_from_variant(
11890        value: *mut glib::GVariant,
11891        out_gateway: *mut *mut c_char,
11892    ) -> *mut glib::GPtrArray;
11893    pub fn nm_utils_ip4_addresses_to_variant(
11894        addresses: *mut glib::GPtrArray,
11895        gateway: *const c_char,
11896    ) -> *mut glib::GVariant;
11897    pub fn nm_utils_ip4_dns_from_variant(value: *mut glib::GVariant) -> *mut *mut c_char;
11898    pub fn nm_utils_ip4_dns_to_variant(dns: *mut *mut c_char) -> *mut glib::GVariant;
11899    pub fn nm_utils_ip4_get_default_prefix(ip: u32) -> u32;
11900    pub fn nm_utils_ip4_netmask_to_prefix(netmask: u32) -> u32;
11901    pub fn nm_utils_ip4_prefix_to_netmask(prefix: u32) -> u32;
11902    pub fn nm_utils_ip4_routes_from_variant(value: *mut glib::GVariant) -> *mut glib::GPtrArray;
11903    pub fn nm_utils_ip4_routes_to_variant(routes: *mut glib::GPtrArray) -> *mut glib::GVariant;
11904    pub fn nm_utils_ip6_addresses_from_variant(
11905        value: *mut glib::GVariant,
11906        out_gateway: *mut *mut c_char,
11907    ) -> *mut glib::GPtrArray;
11908    pub fn nm_utils_ip6_addresses_to_variant(
11909        addresses: *mut glib::GPtrArray,
11910        gateway: *const c_char,
11911    ) -> *mut glib::GVariant;
11912    pub fn nm_utils_ip6_dns_from_variant(value: *mut glib::GVariant) -> *mut *mut c_char;
11913    pub fn nm_utils_ip6_dns_to_variant(dns: *mut *mut c_char) -> *mut glib::GVariant;
11914    pub fn nm_utils_ip6_routes_from_variant(value: *mut glib::GVariant) -> *mut glib::GPtrArray;
11915    pub fn nm_utils_ip6_routes_to_variant(routes: *mut glib::GPtrArray) -> *mut glib::GVariant;
11916    #[cfg(feature = "v1_42")]
11917    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11918    pub fn nm_utils_ip_addresses_from_variant(
11919        value: *mut glib::GVariant,
11920        family: c_int,
11921    ) -> *mut glib::GPtrArray;
11922    #[cfg(feature = "v1_42")]
11923    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11924    pub fn nm_utils_ip_addresses_to_variant(addresses: *mut glib::GPtrArray)
11925        -> *mut glib::GVariant;
11926    #[cfg(feature = "v1_42")]
11927    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11928    pub fn nm_utils_ip_routes_from_variant(
11929        value: *mut glib::GVariant,
11930        family: c_int,
11931    ) -> *mut glib::GPtrArray;
11932    #[cfg(feature = "v1_42")]
11933    #[cfg_attr(docsrs, doc(cfg(feature = "v1_42")))]
11934    pub fn nm_utils_ip_routes_to_variant(routes: *mut glib::GPtrArray) -> *mut glib::GVariant;
11935    pub fn nm_utils_ipaddr_valid(family: c_int, ip: *const c_char) -> gboolean;
11936    pub fn nm_utils_is_empty_ssid(ssid: *const u8, len: size_t) -> gboolean;
11937    #[cfg(feature = "v1_6")]
11938    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
11939    pub fn nm_utils_is_json_object(str: *const c_char, error: *mut *mut glib::GError) -> gboolean;
11940    pub fn nm_utils_is_uuid(str: *const c_char) -> gboolean;
11941    #[cfg(feature = "v1_6")]
11942    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
11943    pub fn nm_utils_is_valid_iface_name(
11944        name: *const c_char,
11945        error: *mut *mut glib::GError,
11946    ) -> gboolean;
11947    #[cfg(feature = "v1_8")]
11948    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
11949    pub fn nm_utils_parse_variant_attributes(
11950        string: *const c_char,
11951        attr_separator: c_char,
11952        key_value_separator: c_char,
11953        ignore_unknown: gboolean,
11954        spec: *const *const NMVariantAttributeSpec,
11955        error: *mut *mut glib::GError,
11956    ) -> *mut glib::GHashTable;
11957    #[cfg(feature = "v1_30")]
11958    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
11959    pub fn nm_utils_print(output_mode: c_int, msg: *const c_char);
11960    pub fn nm_utils_same_ssid(
11961        ssid1: *const u8,
11962        len1: size_t,
11963        ssid2: *const u8,
11964        len2: size_t,
11965        ignore_trailing_null: gboolean,
11966    ) -> gboolean;
11967    pub fn nm_utils_security_valid(
11968        type_: NMUtilsSecurityType,
11969        wifi_caps: NMDeviceWifiCapabilities,
11970        have_ap: gboolean,
11971        adhoc: gboolean,
11972        ap_flags: NM80211ApFlags,
11973        ap_wpa: NM80211ApSecurityFlags,
11974        ap_rsn: NM80211ApSecurityFlags,
11975    ) -> gboolean;
11976    #[cfg(feature = "v1_14")]
11977    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11978    pub fn nm_utils_sriov_vf_from_str(
11979        str: *const c_char,
11980        error: *mut *mut glib::GError,
11981    ) -> *mut NMSriovVF;
11982    #[cfg(feature = "v1_14")]
11983    #[cfg_attr(docsrs, doc(cfg(feature = "v1_14")))]
11984    pub fn nm_utils_sriov_vf_to_str(
11985        vf: *const NMSriovVF,
11986        omit_index: gboolean,
11987        error: *mut *mut glib::GError,
11988    ) -> *mut c_char;
11989    pub fn nm_utils_ssid_to_utf8(ssid: *const u8, len: size_t) -> *mut c_char;
11990    #[cfg(feature = "v1_12")]
11991    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
11992    pub fn nm_utils_tc_action_from_str(
11993        str: *const c_char,
11994        error: *mut *mut glib::GError,
11995    ) -> *mut NMTCAction;
11996    #[cfg(feature = "v1_12")]
11997    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
11998    pub fn nm_utils_tc_action_to_str(
11999        action: *mut NMTCAction,
12000        error: *mut *mut glib::GError,
12001    ) -> *mut c_char;
12002    #[cfg(feature = "v1_12")]
12003    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
12004    pub fn nm_utils_tc_qdisc_from_str(
12005        str: *const c_char,
12006        error: *mut *mut glib::GError,
12007    ) -> *mut NMTCQdisc;
12008    #[cfg(feature = "v1_12")]
12009    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
12010    pub fn nm_utils_tc_qdisc_to_str(
12011        qdisc: *mut NMTCQdisc,
12012        error: *mut *mut glib::GError,
12013    ) -> *mut c_char;
12014    #[cfg(feature = "v1_12")]
12015    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
12016    pub fn nm_utils_tc_tfilter_from_str(
12017        str: *const c_char,
12018        error: *mut *mut glib::GError,
12019    ) -> *mut NMTCTfilter;
12020    #[cfg(feature = "v1_12")]
12021    #[cfg_attr(docsrs, doc(cfg(feature = "v1_12")))]
12022    pub fn nm_utils_tc_tfilter_to_str(
12023        tfilter: *mut NMTCTfilter,
12024        error: *mut *mut glib::GError,
12025    ) -> *mut c_char;
12026    pub fn nm_utils_uuid_generate() -> *mut c_char;
12027    #[cfg(feature = "v1_6")]
12028    #[cfg_attr(docsrs, doc(cfg(feature = "v1_6")))]
12029    pub fn nm_utils_version() -> c_uint;
12030    pub fn nm_utils_wep_key_valid(key: *const c_char, wep_type: NMWepKeyType) -> gboolean;
12031    #[cfg(feature = "v1_2")]
12032    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
12033    pub fn nm_utils_wifi_2ghz_freqs() -> *const c_uint;
12034    #[cfg(feature = "v1_2")]
12035    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
12036    pub fn nm_utils_wifi_5ghz_freqs() -> *const c_uint;
12037    pub fn nm_utils_wifi_channel_to_freq(channel: u32, band: *const c_char) -> u32;
12038    pub fn nm_utils_wifi_find_next_channel(
12039        channel: u32,
12040        direction: c_int,
12041        band: *mut c_char,
12042    ) -> u32;
12043    pub fn nm_utils_wifi_freq_to_channel(freq: u32) -> u32;
12044    pub fn nm_utils_wifi_is_channel_valid(channel: u32, band: *const c_char) -> gboolean;
12045    pub fn nm_utils_wifi_strength_bars(strength: u8) -> *const c_char;
12046    pub fn nm_utils_wpa_psk_valid(psk: *const c_char) -> gboolean;
12047
12048}