passcod_networkmanager/
types.rs

1use num_derive::{FromPrimitive, ToPrimitive};
2
3#[derive(Clone, Copy, Debug, FromPrimitive)]
4pub enum Capability {
5    Team = 1,
6    Ovs = 2,
7}
8
9#[derive(Clone, Copy, Debug, ToPrimitive)]
10pub enum ReloadFlag {
11    None = 0,
12    Conf = 1,
13    DnsRc = 2,
14    DnsFull = 4,
15    All = 7,
16}
17
18#[derive(Clone, Copy, Debug, FromPrimitive)]
19pub enum DeviceInterfaceFlag {
20    None = 0,
21    Up = 1,
22    LowerUp = 2,
23    Promisc = 4,
24    Carrier = 0x10000,
25    LldpClientEnabled = 0x20000,
26}
27
28#[derive(Clone, Copy, Debug, FromPrimitive)]
29pub enum ConnectivityState {
30    Unknown = 0,
31    None = 1,
32    Portal = 2,
33    Limited = 3,
34    Full = 4,
35}
36
37#[derive(Clone, Copy, Debug, FromPrimitive)]
38pub enum DeviceType {
39    Unknown = 0,
40    Ethernet = 1,
41    Wifi = 2,
42    Unused1 = 3,
43    Unused2 = 4,
44    Bt = 5,
45    OlpcMesh = 6,
46    Wimax = 7,
47    Modem = 8,
48    Infiniband = 9,
49    Bond = 10,
50    Vlan = 11,
51    Adsl = 12,
52    Bridge = 13,
53    Generic = 14,
54    Team = 15,
55    Tun = 16,
56    IpTunnel = 17,
57    Macvlan = 18,
58    Vxlan = 19,
59    Veth = 20,
60    Macsec = 21,
61    Dummy = 22,
62    Ppp = 23,
63    OvsInterface = 24,
64    OvsPort = 25,
65    OvsBridge = 26,
66    Wpan = 27,
67    SixLowpan = 28,
68    Wireguard = 29,
69    WifiP2p = 30,
70    Vrf = 31,
71    Loopback = 32,
72}
73
74#[derive(Clone, Copy, Debug, FromPrimitive)]
75pub enum ActivationStateFlags {
76    None = 0,
77    IsMaster = 1,
78    IsSlave = 2,
79    Layer2Ready = 4,
80    Ip4Ready = 8,
81    Ip6Ready = 16,
82    MasterHasSlaves = 32,
83    LifetimeBoundToProfileVisibility = 64,
84    External = 128,
85}
86
87#[derive(Clone, Copy, Debug, FromPrimitive)]
88pub enum ActiveConnectionState {
89    Unknown = 0,
90    Activating = 1,
91    Activated = 2,
92    Deactivating = 3,
93    Deactivated = 4,
94}
95
96// #[derive(Clone, Copy, Debug, FromPrimitive)]
97// pub enum NMState {
98//     NmStateUnknown = 0,
99//     NmStateAsleep = 10,
100//     NmStateDisconnected = 20,
101//     NmStateDisconnecting = 30,
102//     NmStateConnecting = 40,
103//     NmStateConnectedLocal = 50,
104//     NmStateConnectedSite = 60,
105//     NmStateConnectedGlobal = 70,
106// }
107
108// #[derive(Clone, Copy, Debug, FromPrimitive)]
109// pub enum NMDeviceCapabilities {
110//     NmDeviceCapNone = 0,
111//     NmDeviceCapNmSupported = 1,
112//     NmDeviceCapCarrierDetect = 2,
113//     NmDeviceCapIsSoftware = 4,
114//     NmDeviceCapSriov = 8,
115// }
116
117// #[derive(Clone, Copy, Debug, FromPrimitive)]
118// pub enum NMDeviceWifiCapabilities {
119//     NmWifiDeviceCapNone = 0,
120//     NmWifiDeviceCapCipherWep40 = 1,
121//     NmWifiDeviceCapCipherWep104 = 2,
122//     NmWifiDeviceCapCipherTkip = 4,
123//     NmWifiDeviceCapCipherCcmp = 8,
124//     NmWifiDeviceCapWpa = 16,
125//     NmWifiDeviceCapRsn = 32,
126//     NmWifiDeviceCapAp = 64,
127//     NmWifiDeviceCapAdhoc = 128,
128//     NmWifiDeviceCapFreqValid = 256,
129//     NmWifiDeviceCapFreq2ghz = 512,
130//     NmWifiDeviceCapFreq5ghz = 1024,
131//     NmWifiDeviceCapMesh = 4096,
132//     NmWifiDeviceCapIbssRsn = 8192,
133// }
134
135// #[derive(Clone, Copy, Debug, FromPrimitive)]
136// pub enum NM80211ApFlags {
137//     Nm802_11ApFlagsNone = 0,
138//     Nm802_11ApFlagsPrivacy = 1,
139//     Nm802_11ApFlagsWps = 2,
140//     Nm802_11ApFlagsWpsPbc = 4,
141//     Nm802_11ApFlagsWpsPin = 8,
142// }
143
144// #[derive(Clone, Copy, Debug, FromPrimitive)]
145// pub enum NM80211ApSecurityFlags {
146//     Nm802_11ApSecNone = 0,
147//     Nm802_11ApSecPairWep40 = 1,
148//     Nm802_11ApSecPairWep104 = 2,
149//     Nm802_11ApSecPairTkip = 4,
150//     Nm802_11ApSecPairCcmp = 8,
151//     Nm802_11ApSecGroupWep40 = 16,
152//     Nm802_11ApSecGroupWep104 = 32,
153//     Nm802_11ApSecGroupTkip = 64,
154//     Nm802_11ApSecGroupCcmp = 128,
155//     Nm802_11ApSecKeyMgmtPsk = 256,
156//     Nm802_11ApSecKeyMgmt802_1x = 512,
157//     Nm802_11ApSecKeyMgmtSae = 1024,
158//     Nm802_11ApSecKeyMgmtOwe = 2048,
159// }
160
161// #[derive(Clone, Copy, Debug, FromPrimitive)]
162// pub enum NM80211Mode {
163//     Nm802_11ModeUnknown = 0,
164//     Nm802_11ModeAdhoc = 1,
165//     Nm802_11ModeInfra = 2,
166//     Nm802_11ModeAp = 3,
167//     Nm802_11ModeMesh = 4,
168// }
169
170// #[derive(Clone, Copy, Debug, FromPrimitive)]
171// pub enum NMBluetoothCapabilities {
172//     NmBtCapabilityNone = 0,
173//     NmBtCapabilityDun = 1,
174//     NmBtCapabilityNap = 2,
175// }
176
177// #[derive(Clone, Copy, Debug, FromPrimitive)]
178// pub enum NMDeviceModemCapabilities {
179//     NmDeviceModemCapabilityNone = 0,
180//     NmDeviceModemCapabilityPots = 1,
181//     NmDeviceModemCapabilityCdmaEvdo = 2,
182//     NmDeviceModemCapabilityGsmUmts = 4,
183//     NmDeviceModemCapabilityLte = 8,
184// }
185
186// #[derive(Clone, Copy, Debug, FromPrimitive)]
187// pub enum NMWimaxNspNetworkType {
188//     NmWimaxNspNetworkTypeUnknown = 0,
189//     NmWimaxNspNetworkTypeHome = 1,
190//     NmWimaxNspNetworkTypePartner = 2,
191//     NmWimaxNspNetworkTypeRoamingPartner = 3,
192// }
193
194// #[derive(Clone, Copy, Debug, FromPrimitive)]
195// pub enum NMDeviceState {
196//     NmDeviceStateUnknown = 0,
197//     NmDeviceStateUnmanaged = 10,
198//     NmDeviceStateUnavailable = 20,
199//     NmDeviceStateDisconnected = 30,
200//     NmDeviceStatePrepare = 40,
201//     NmDeviceStateConfig = 50,
202//     NmDeviceStateNeedAuth = 60,
203//     NmDeviceStateIpConfig = 70,
204//     NmDeviceStateIpCheck = 80,
205//     NmDeviceStateSecondaries = 90,
206//     NmDeviceStateActivated = 100,
207//     NmDeviceStateDeactivating = 110,
208//     NmDeviceStateFailed = 120,
209// }
210
211// #[derive(Clone, Copy, Debug, FromPrimitive)]
212// pub enum NMDeviceStateReason {
213//     NmDeviceStateReasonNone = 0,
214//     NmDeviceStateReasonUnknown = 1,
215//     NmDeviceStateReasonNowManaged = 2,
216//     NmDeviceStateReasonNowUnmanaged = 3,
217//     NmDeviceStateReasonConfigFailed = 4,
218//     NmDeviceStateReasonIpConfigUnavailable = 5,
219//     NmDeviceStateReasonIpConfigExpired = 6,
220//     NmDeviceStateReasonNoSecrets = 7,
221//     NmDeviceStateReasonSupplicantDisconnect = 8,
222//     NmDeviceStateReasonSupplicantConfigFailed = 9,
223//     NmDeviceStateReasonSupplicantFailed = 10,
224//     NmDeviceStateReasonSupplicantTimeout = 11,
225//     NmDeviceStateReasonPppStartFailed = 12,
226//     NmDeviceStateReasonPppDisconnect = 13,
227//     NmDeviceStateReasonPppFailed = 14,
228//     NmDeviceStateReasonDhcpStartFailed = 15,
229//     NmDeviceStateReasonDhcpError = 16,
230//     NmDeviceStateReasonDhcpFailed = 17,
231//     NmDeviceStateReasonSharedStartFailed = 18,
232//     NmDeviceStateReasonSharedFailed = 19,
233//     NmDeviceStateReasonAutoipStartFailed = 20,
234//     NmDeviceStateReasonAutoipError = 21,
235//     NmDeviceStateReasonAutoipFailed = 22,
236//     NmDeviceStateReasonModemBusy = 23,
237//     NmDeviceStateReasonModemNoDialTone = 24,
238//     NmDeviceStateReasonModemNoCarrier = 25,
239//     NmDeviceStateReasonModemDialTimeout = 26,
240//     NmDeviceStateReasonModemDialFailed = 27,
241//     NmDeviceStateReasonModemInitFailed = 28,
242//     NmDeviceStateReasonGsmApnFailed = 29,
243//     NmDeviceStateReasonGsmRegistrationNotSearching = 30,
244//     NmDeviceStateReasonGsmRegistrationDenied = 31,
245//     NmDeviceStateReasonGsmRegistrationTimeout = 32,
246//     NmDeviceStateReasonGsmRegistrationFailed = 33,
247//     NmDeviceStateReasonGsmPinCheckFailed = 34,
248//     NmDeviceStateReasonFirmwareMissing = 35,
249//     NmDeviceStateReasonRemoved = 36,
250//     NmDeviceStateReasonSleeping = 37,
251//     NmDeviceStateReasonConnectionRemoved = 38,
252//     NmDeviceStateReasonUserRequested = 39,
253//     NmDeviceStateReasonCarrier = 40,
254//     NmDeviceStateReasonConnectionAssumed = 41,
255//     NmDeviceStateReasonSupplicantAvailable = 42,
256//     NmDeviceStateReasonModemNotFound = 43,
257//     NmDeviceStateReasonBtFailed = 44,
258//     NmDeviceStateReasonGsmSimNotInserted = 45,
259//     NmDeviceStateReasonGsmSimPinRequired = 46,
260//     NmDeviceStateReasonGsmSimPukRequired = 47,
261//     NmDeviceStateReasonGsmSimWrong = 48,
262//     NmDeviceStateReasonInfinibandMode = 49,
263//     NmDeviceStateReasonDependencyFailed = 50,
264//     NmDeviceStateReasonBr2684Failed = 51,
265//     NmDeviceStateReasonModemManagerUnavailable = 52,
266//     NmDeviceStateReasonSsidNotFound = 53,
267//     NmDeviceStateReasonSecondaryConnectionFailed = 54,
268//     NmDeviceStateReasonDcbFcoeFailed = 55,
269//     NmDeviceStateReasonTeamdControlFailed = 56,
270//     NmDeviceStateReasonModemFailed = 57,
271//     NmDeviceStateReasonModemAvailable = 58,
272//     NmDeviceStateReasonSimPinIncorrect = 59,
273//     NmDeviceStateReasonNewActivation = 60,
274//     NmDeviceStateReasonParentChanged = 61,
275//     NmDeviceStateReasonParentManagedChanged = 62,
276//     NmDeviceStateReasonOvsdbFailed = 63,
277//     NmDeviceStateReasonIpAddressDuplicate = 64,
278//     NmDeviceStateReasonIpMethodUnsupported = 65,
279//     NmDeviceStateReasonSriovConfigurationFailed = 66,
280//     NmDeviceStateReasonPeerNotFound = 67,
281// }
282
283// #[derive(Clone, Copy, Debug, FromPrimitive)]
284// pub enum NMMetered {
285//     NmMeteredUnknown = 0,
286//     NmMeteredYes = 1,
287//     NmMeteredNo = 2,
288//     NmMeteredGuessYes = 3,
289//     NmMeteredGuessNo = 4,
290// }
291
292// #[derive(Clone, Copy, Debug, FromPrimitive)]
293// // pub enum NMConnectionMultiConnect {
294// //     NM_CONNECTION_MULTI_CONNECT_DEFAULT = 0,
295// //     NM_CONNECTION_MULTI_CONNECT_SINGLE = 1,
296// //     NM_CONNECTION_MULTI_CONNECT_MANUAL_MULTIPLE = 2,
297// //     NM_CONNECTION_MULTI_CONNECT_MULTIPLE = 3,
298// // }
299
300// #[derive(Clone, Copy, Debug, FromPrimitive)]
301// // pub enum NMActiveConnectionStateReason {
302// //     NM_ACTIVE_CONNECTION_STATE_REASON_UNKNOWN = 0,
303// //     NM_ACTIVE_CONNECTION_STATE_REASON_NONE = 1,
304// //     NM_ACTIVE_CONNECTION_STATE_REASON_USER_DISCONNECTED = 2,
305// //     NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED = 3,
306// //     NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_STOPPED = 4,
307// //     NM_ACTIVE_CONNECTION_STATE_REASON_IP_CONFIG_INVALID = 5,
308// //     NM_ACTIVE_CONNECTION_STATE_REASON_CONNECT_TIMEOUT = 6,
309// //     NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT = 7,
310// //     NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_FAILED = 8,
311// //     NM_ACTIVE_CONNECTION_STATE_REASON_NO_SECRETS = 9,
312// //     NM_ACTIVE_CONNECTION_STATE_REASON_LOGIN_FAILED = 10,
313// //     NM_ACTIVE_CONNECTION_STATE_REASON_CONNECTION_REMOVED = 11,
314// //     NM_ACTIVE_CONNECTION_STATE_REASON_DEPENDENCY_FAILED = 12,
315// //     NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_REALIZE_FAILED = 13,
316// //     NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_REMOVED = 14,
317// // }
318
319// #[derive(Clone, Copy, Debug, FromPrimitive)]
320// // pub enum NMSecretAgentGetSecretsFlags {
321// //     NM_SECRET_AGENT_GET_SECRETS_FLAG_NONE = 0,
322// //     NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION = 1,
323// //     NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW = 2,
324// //     NM_SECRET_AGENT_GET_SECRETS_FLAG_USER_REQUESTED = 4,
325// //     NM_SECRET_AGENT_GET_SECRETS_FLAG_WPS_PBC_ACTIVE = 8,
326// //     NM_SECRET_AGENT_GET_SECRETS_FLAG_ONLY_SYSTEM = 2147483648,
327// //     NM_SECRET_AGENT_GET_SECRETS_FLAG_NO_ERRORS = 1073741824,
328// // }
329
330// #[derive(Clone, Copy, Debug, FromPrimitive)]
331// // pub enum NMSecretAgentCapabilities {
332// //     NM_SECRET_AGENT_CAPABILITY_NONE = 0,
333// //     NM_SECRET_AGENT_CAPABILITY_VPN_HINTS = 1,
334// // }
335
336// #[derive(Clone, Copy, Debug, FromPrimitive)]
337// // pub enum NMIPTunnelMode {
338// //     NM_IP_TUNNEL_MODE_UNKNOWN = 0,
339// //     NM_IP_TUNNEL_MODE_IPIP = 1,
340// //     NM_IP_TUNNEL_MODE_GRE = 2,
341// //     NM_IP_TUNNEL_MODE_SIT = 3,
342// //     NM_IP_TUNNEL_MODE_ISATAP = 4,
343// //     NM_IP_TUNNEL_MODE_VTI = 5,
344// //     NM_IP_TUNNEL_MODE_IP6IP6 = 6,
345// //     NM_IP_TUNNEL_MODE_IPIP6 = 7,
346// //     NM_IP_TUNNEL_MODE_IP6GRE = 8,
347// //     NM_IP_TUNNEL_MODE_VTI6 = 9,
348// //     NM_IP_TUNNEL_MODE_GRETAP = 10,
349// //     NM_IP_TUNNEL_MODE_IP6GRETAP = 11,
350// // }
351
352// #[derive(Clone, Copy, Debug, FromPrimitive)]
353// // pub enum NMCheckpointCreateFlags {
354// //     NM_CHECKPOINT_CREATE_FLAG_NONE = 0,
355// //     NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL = 1,
356// //     NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS = 2,
357// //     NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES = 4,
358// //     NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING = 8,
359// // }
360
361// #[derive(Clone, Copy, Debug, FromPrimitive)]
362// // pub enum NMRollbackResult {
363// //     NM_ROLLBACK_RESULT_OK = 0,
364// //     NM_ROLLBACK_RESULT_ERR_NO_DEVICE = 1,
365// //     NM_ROLLBACK_RESULT_ERR_DEVICE_UNMANAGED = 2,
366// //     NM_ROLLBACK_RESULT_ERR_FAILED = 3,
367// // }
368
369// #[derive(Clone, Copy, Debug, FromPrimitive)]
370// // pub enum NMSettingsConnectionFlags {
371// //     NM_SETTINGS_CONNECTION_FLAG_NONE = 0,
372// //     NM_SETTINGS_CONNECTION_FLAG_UNSAVED = 1,
373// //     NM_SETTINGS_CONNECTION_FLAG_NM_GENERATED = 2,
374// //     NM_SETTINGS_CONNECTION_FLAG_VOLATILE = 4,
375// // }
376
377// #[derive(Clone, Copy, Debug, FromPrimitive)]
378// // pub enum NMSettingsAddConnection2Flags {
379// //     NM_SETTINGS_ADD_CONNECTION2_FLAG_NONE = 0,
380// //     NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK = 1,
381// //     NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY = 2,
382// //     NM_SETTINGS_ADD_CONNECTION2_FLAG_BLOCK_AUTOCONNECT = 32,
383// // }
384
385// #[derive(Clone, Copy, Debug, FromPrimitive)]
386// // pub enum NMSettingsUpdate2Flags {
387// //     NM_SETTINGS_UPDATE2_FLAG_NONE = 0,
388// //     NM_SETTINGS_UPDATE2_FLAG_TO_DISK = 1,
389// //     NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY = 2,
390// //     NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_DETACHED = 4,
391// //     NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_ONLY = 8,
392// //     NM_SETTINGS_UPDATE2_FLAG_VOLATILE = 16,
393// //     NM_SETTINGS_UPDATE2_FLAG_BLOCK_AUTOCONNECT = 32,
394// //     NM_SETTINGS_UPDATE2_FLAG_NO_REAPPLY = 64,
395// // }
396
397// #[derive(Clone, Copy, Debug, FromPrimitive)]
398// // pub enum NMTernary {
399// //     NM_TERNARY_DEFAULT = -1,
400// //     NM_TERNARY_FALSE = 0,
401// //     NM_TERNARY_TRUE = 1,
402// // }
403
404// #[derive(Clone, Copy, Debug, FromPrimitive)]
405// // pub enum NMClientPermission {
406// //     NM_CLIENT_PERMISSION_NONE = 0,
407// //     NM_CLIENT_PERMISSION_ENABLE_DISABLE_NETWORK = 1,
408// //     NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIFI = 2,
409// //     NM_CLIENT_PERMISSION_ENABLE_DISABLE_WWAN = 3,
410// //     NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIMAX = 4,
411// //     NM_CLIENT_PERMISSION_SLEEP_WAKE = 5,
412// //     NM_CLIENT_PERMISSION_NETWORK_CONTROL = 6,
413// //     NM_CLIENT_PERMISSION_WIFI_SHARE_PROTECTED = 7,
414// //     NM_CLIENT_PERMISSION_WIFI_SHARE_OPEN = 8,
415// //     NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM = 9,
416// //     NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN = 10,
417// //     NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME = 11,
418// //     NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS = 12,
419// //     NM_CLIENT_PERMISSION_RELOAD = 13,
420// //     NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK = 14,
421// //     NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS = 15,
422// //     NM_CLIENT_PERMISSION_ENABLE_DISABLE_CONNECTIVITY_CHECK = 16,
423// //     NM_CLIENT_PERMISSION_WIFI_SCAN = 17,
424// // }
425
426// #[derive(Clone, Copy, Debug, FromPrimitive)]
427// // pub enum NMClientPermissionResult {
428// //     NM_CLIENT_PERMISSION_RESULT_UNKNOWN = 0,
429// //     NM_CLIENT_PERMISSION_RESULT_YES = 1,
430// //     NM_CLIENT_PERMISSION_RESULT_AUTH = 2,
431// //     NM_CLIENT_PERMISSION_RESULT_NO = 3,
432// // }