NetworkManager D-Bus Interface Specification version 0.9.8.8

# NetworkManager D-Bus Interface Specification

## Version 0.9.8.8

Copyright (C) 2008 - 2011 Red Hat, Inc.
Copyright (C) 2008 - 2009 Novell, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

## Interfaces

- `org.freedesktop.NetworkManager`
- `org.freedesktop.NetworkManager.AccessPoint`
- `org.freedesktop.NetworkManager.Device`
- `org.freedesktop.NetworkManager.Device.Wired`
- `org.freedesktop.NetworkManager.Device.Wireless`
- `org.freedesktop.NetworkManager.Device.Modem`
- `org.freedesktop.NetworkManager.Device.Bluetooth`
- `org.freedesktop.NetworkManager.Device.OlpcMesh`
- `org.freedesktop.NetworkManager.Device.WiMax`
- `org.freedesktop.NetworkManager.Device.Infiniband`
- `org.freedesktop.NetworkManager.Device.Bond`
- `org.freedesktop.NetworkManager.Device.Bridge`
- `org.freedesktop.NetworkManager.Device.Vlan`
- `org.freedesktop.NetworkManager.Device.Adsl`
- `org.freedesktop.NetworkManager.WiMax.Nsp`
- `org.freedesktop.NetworkManager.IP4Config`
- `org.freedesktop.NetworkManager.IP6Config`
- `org.freedesktop.NetworkManager.DHCP4Config`
- `org.freedesktop.NetworkManager.DHCP6Config`
- `org.freedesktop.NetworkManager.Settings`
- `org.freedesktop.NetworkManager.Settings.Connection`
- `org.freedesktop.NetworkManager.Connection.Active`
- `org.freedesktop.NetworkManager.AgentManager`
- `org.freedesktop.NetworkManager.SecretAgent`
- `org.freedesktop.NetworkManager.VPN.Connection`
- `org.freedesktop.NetworkManager.VPN.Plugin`

# org.freedesktop.NetworkManager

## Methods:

### GetDevices ( ) → ao

Get the list of network devices.

#### Returns

`devices` - `ao`
  List of object paths of network devices known to the system.

### GetDeviceByIpIface ( s: iface ) → o

Return the object path of the network device referenced by its IP interface name. Note that some devices (usually modems) only have an IP interface name when they are connected.

#### Parameters

`iface` - `s`
  Interface name of the device to find.

#### Returns

`device` - `o`
  Object path of the network device.

### ActivateConnection ( o: connection, o: device, o: specific_object ) → o

Activate a connection using the supplied device.

#### Parameters

`connection` - `o`
  The connection to activate the devices with.
`device` - `o`
  The object path of device to be activated for physical connections. This parameter is ignored for VPN connections, because the specific_object (if provided) specifies the device to use.
`specific_object` - `o`
  The path of a connection-type-specific object this activation should use. This parameter is currently ignored for wired and mobile broadband connections, and the value of "/" should be used (ie, no specific object). For WiFi connections, pass the object path of a specific AP from the card's scan list, or "/" to pick and AP automatically. For VPN connections, pass the object path of an ActiveConnection object that should serve as the "base" connection (to which the VPN connections lifetime will be tied), or pass "/" and NM will automatically use the current default device.

#### Returns

`active_connection` - `o`
  The path of the active connection object representing this active connection.

#### Possible errors

`org.freedesktop.NetworkManager.Error.UnknownConnection`
  Connection was not provided by the settings service. (generic description)
`org.freedesktop.NetworkManager.Error.UnknownDevice`
  Unknown device. (generic description)
`org.freedesktop.NetworkManager.Error.ConnectionActivating`
  Another connection is already activating or the same connection is already active. FIXME: check if the error name is correct. FIXME: split into 2 errors?
`org.freedesktop.NetworkManager.Error.ConnectionInvalid`
  The connection is invalid for this device.

### AddAndActivateConnection ( a{sa{sv}}: connection, o: device, o: specific_object ) → o, o

Adds a new connection using the given details (if any) as a template (automatically filling in missing settings with the capabilities of the given device and specific object), then activate the new connection. Cannot be used for VPN connections at this time.

#### Parameters

`connection` - `a{sa{sv}}`
  Connection settings and properties; if incomplete missing settings will be automatically completed using the given device and specific object.
`device` - `o`
  The object path of device to be activated using the given connection.
`specific_object` - `o`
  The path of a connection-type-specific object this activation should use. This parameter is currently ignored for wired and mobile broadband connections, and the value of "/" should be used (ie, no specific object). For WiFi connections, pass the object path of a specific AP from the card's scan list, which will be used to complete the details of the newly added connection.

#### Returns

`path` - `o`
  Object path of the new connection that was just added.
`active_connection` - `o`
  The path of the active connection object representing this active connection.

#### Possible errors

`org.freedesktop.NetworkManager.Error.UnknownConnection`
  Connection was not provided by the settings service. (generic description)
`org.freedesktop.NetworkManager.Error.UnknownDevice`
  Unknown device. (generic description)
`org.freedesktop.NetworkManager.Error.ConnectionInvalid`
  The connection is invalid for this device.

### DeactivateConnection ( o: active_connection ) → nothing

Deactivate an active connection.

#### Parameters

`active_connection` - `o`
  The currently active connection to deactivate.

### Sleep ( b: sleep ) → nothing

Control the NetworkManager daemon's sleep state. When asleep, all interfaces that it manages are deactivated. When awake, devices are available to be activated. This command should not be called directly by users or clients; it is intended for system suspend/resume tracking.

#### Parameters

`sleep` - `b`
  Indicates whether the NetworkManager daemon should sleep or wake.

### Enable ( b: enable ) → nothing

Control whether overall networking is enabled or disabled. When disabled, all interfaces that NM manages are deactivated. When enabled, all managed interfaces are re-enabled and available to be activated. This command should be used by clients that provide to users the ability to enable/disable all networking.

#### Parameters

`enable` - `b`
  If FALSE, indicates that all networking should be disabled. If TRUE, indicates that NetworkManager should begin managing network devices.

### GetPermissions ( ) → a{ss}

Returns the permissions a caller has for various authenticated operations that NetworkManager provides, like Enable/Disable networking, changing WiFi, WWAN, and WiMAX state, etc.

#### Returns

`permissions` - `a{ss}`
  Dictionary of available permissions and results. Each permission is represented by a name (ie "org.freedesktop.NetworkManager.Foobar") and each result is one of the following values: "yes" (the permission is available), "auth" (the permission is available after a successful authentication), or "no" (the permission is denied). Clients may use these values in the UI to indicate the ability to perform certain operations.

### SetLogging ( s: level, s: domains ) → nothing

Set logging verbosity and which operations are logged.

#### Parameters

`level` - `s`
  One of [ERR, WARN, INFO, DEBUG].
`domains` - `s`
  A combination of logging domains separated by commas (','), or "NONE" to disable logging. Each domain enables logging for operations related to that domain. Available domains are: [HW, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN]. In addition to these domains, the following special domains can be used: [NONE, ALL, DEFAULT, DHCP, IP]. If an empty string is given, the log level is changed but the current set of log domains remains unchanged.

### GetLogging ( ) → s, s

Get current logging verbosity level and operations domains.

#### Returns

`level` - `s`
  One of [ERR, WARN, INFO, DEBUG].
`domains` - `s`
  For available domains see SetLogging() call.

### CheckConnectivity ( ) → u

Re-check the network connectivity state.

#### Returns

`connectivity` - `u` (NM_CONNECTIVITY)
  The current connectivity state.

### state ( ) → u

The overall networking state as determined by the NetworkManager daemon, based on the state of network devices under it's management.

#### Returns

`state` - `u` (NM_STATE)

## Signals:

### CheckPermissions ( )

Emitted when system authorization details change, indicating that clients may wish to recheck permissions with GetPermissions.

### StateChanged ( u: state )

NetworkManager's state changed.

#### Parameters

`state` - `u` (NM_STATE)
  The new state of NetworkManager.

### PropertiesChanged ( a{sv}: properties )

NetworkManager's properties changed.

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  The changed properties.

### DeviceAdded ( o: device_path )

A device was added to the system

#### Parameters

`device_path` - `o`
  The object path of the newly added device.

### DeviceRemoved ( o: device_path )

A device was removed from the system, and is no longer available.

#### Parameters

`device_path` - `o`
  The object path of the device that was just removed.

## Properties:

`NetworkingEnabled` - `b` - `(read)`
  Indicates if overall networking is currently enabled or not. See the Enable() method.
`WirelessEnabled` - `b` - `(readwrite)`
  Indicates if wireless is currently enabled or not.
`WirelessHardwareEnabled` - `b` - `(read)`
  Indicates if the wireless hardware is currently enabled, i.e. the state of the RF kill switch.
`WwanEnabled` - `b` - `(readwrite)`
  Indicates if mobile broadband devices are currently enabled or not.
`WwanHardwareEnabled` - `b` - `(read)`
  Indicates if the mobile broadband hardware is currently enabled, i.e. the state of the RF kill switch.
`WimaxEnabled` - `b` - `(readwrite)`
  Indicates if WiMAX devices are currently enabled or not.
`WimaxHardwareEnabled` - `b` - `(read)`
  Indicates if the WiMAX hardware is currently enabled, i.e. the state of the RF kill switch.
`ActiveConnections` - `ao` - `(read)`
  List of active connection object paths.
`PrimaryConnection` - `o` - `(read)`
  The object path of the "primary" active connection being used to access the network. In particular, if there is no VPN active, or the VPN does not have the default route, then this indicates the connection that has the default route. If there is a VPN active with the default route, then this indicates the connection that contains the route to the VPN endpoint.
`ActivatingConnection` - `o` - `(read)`
  The object path of an active connection that is currently being activated and which is expected to become the new PrimaryConnection when it finishes activating.
`Version` - `s` - `(read)`
  NetworkManager version.
`State` - `u` - `(read)` (NM_STATE)
  The overall state of the NetworkManager daemon.
`Connectivity` - `u` - `(read)` (NM_CONNECTIVITY)
  The network connectivity state.

## Enumerated types:

### NM_STATE

Describes the overall state of the daemon.

`NM_STATE_UNKNOWN = 0`
  Networking state is unknown.
`NM_STATE_ASLEEP = 10`
  Networking is inactive and all devices are disabled.
`NM_STATE_DISCONNECTED = 20`
  There is no active network connection.
`NM_STATE_DISCONNECTING = 30`
  Network connections are being cleaned up.
`NM_STATE_CONNECTING = 40`
  A network device is connecting to a network and there is no other available network connection.
`NM_STATE_CONNECTED_LOCAL = 50`
  A network device is connected, but there is only link-local connectivity.
`NM_STATE_CONNECTED_SITE = 60`
  A network device is connected, but there is only site-local connectivity.
`NM_STATE_CONNECTED_GLOBAL = 70`
  A network device is connected, with global network connectivity.

### NM_CONNECTIVITY

Describes the network-connectivity state.

`NM_CONNECTIVITY_UNKNOWN = 0`
  Network connectivity is unknown.
`NM_CONNECTIVITY_NONE = 1`
  The host is not connected to any network.
`NM_CONNECTIVITY_PORTAL = 2`
  The host is behind a captive portal and cannot reach the full Internet.
`NM_CONNECTIVITY_LIMITED = 3`
  The host is connected to a network, but does not appear to be able to reach the full Internet.
`NM_CONNECTIVITY_FULL = 4`
  The host is connected to a network, and appears to be able to reach the full Internet

# org.freedesktop.NetworkManager.AccessPoint

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`Flags` - `u` - `(read)` (NM_802_11_AP_FLAGS)
  Flags describing the capabilities of the access point.
`WpaFlags` - `u` - `(read)` (NM_802_11_AP_SEC)
  Flags describing the access point's capabilities according to WPA (Wifi Protected Access).
`RsnFlags` - `u` - `(read)` (NM_802_11_AP_SEC)
  Flags describing the access point's capabilities according to the RSN (Robust Secure Network) protocol.
`Ssid` - `ay` - `(read)`
  The Service Set Identifier identifying the access point.
`Frequency` - `u` - `(read)`
  The radio channel frequency in use by the access point, in MHz.
`HwAddress` - `s` - `(read)`
  The hardware address (BSSID) of the access point.
`Mode` - `u` - `(read)` (NM_802_11_MODE)
  Describes the operating mode of the access point.
`MaxBitrate` - `u` - `(read)`
  The maximum bitrate this access point is capable of, in kilobits/second (Kb/s).
`Strength` - `y` - `(read)`
  The current signal quality of the access point, in percent.

## Sets of flags:

### NM_802_11_AP_FLAGS

Flags describing the general capabilities of the access point.

`NM_802_11_AP_FLAGS_NONE = 0x0`
  Null capability - says nothing about the access point.
`NM_802_11_AP_FLAGS_PRIVACY = 0x1`
  Access point supports privacy measures.

### NM_802_11_AP_SEC

Flags describing the security capabilities of the access point.

`NM_802_11_AP_SEC_NONE = 0x0`
  Null flag.
`NM_802_11_AP_SEC_PAIR_WEP40 = 0x1`
  Access point supports pairwise 40-bit WEP encryption.
`NM_802_11_AP_SEC_PAIR_WEP104 = 0x2`
  Access point supports pairwise 104-bit WEP encryption.
`NM_802_11_AP_SEC_PAIR_TKIP = 0x4`
  Access point supports pairwise TKIP encryption.
`NM_802_11_AP_SEC_PAIR_CCMP = 0x8`
  Access point supports pairwise CCMP encryption.
`NM_802_11_AP_SEC_GROUP_WEP40 = 0x10`
  Access point supports a group 40-bit WEP cipher.
`NM_802_11_AP_SEC_GROUP_WEP104 = 0x20`
  Access point supports a group 104-bit WEP cipher.
`NM_802_11_AP_SEC_GROUP_TKIP = 0x40`
  Access point supports a group TKIP cipher.
`NM_802_11_AP_SEC_GROUP_CCMP = 0x80`
  Access point supports a group CCMP cipher.
`NM_802_11_AP_SEC_KEY_MGMT_PSK = 0x100`
  Access point supports PSK key management.
`NM_802_11_AP_SEC_KEY_MGMT_802_1X = 0x200`
  Access point supports 802.1x key management.

# org.freedesktop.NetworkManager.Device

## Methods:

### Disconnect ( ) → nothing

Disconnects a device and prevents the device from automatically activating further connections without user intervention.

## Signals:

### StateChanged ( u: new_state, u: old_state, u: reason )

#### Parameters

`new_state` - `u` (NM_DEVICE_STATE)
  The new state of the device.
`old_state` - `u` (NM_DEVICE_STATE)
  The previous state of the device.
`reason` - `u` (NM_DEVICE_STATE_REASON)
  A reason for the state transition.

## Properties:

`Udi` - `s` - `(read)`
  Operating-system specific transient device hardware identifier. This is an opaque string representing the underlying hardware for the device, and shouldn't be used to keep track of individual devices. For some device types (Bluetooth, Modems) it is an identifier used by the hardware service (ie bluez or ModemManager) to refer to that device, and client programs use it get additional information from those services which NM does not provide. The Udi is not guaranteed to be consistent across reboots or hotplugs of the hardware. If you're looking for a way to uniquely track each device in your application, use the object path. If you're looking for a way to track a specific piece of hardware across reboot or hotplug, use a MAC address or USB serial number.
`Interface` - `s` - `(read)`
  The name of the device's control (and often data) interface.
`IpInterface` - `s` - `(read)`
  The name of the device's data interface when available. This property may not refer to the actual data interface until the device has successfully established a data connection, indicated by the device's State becoming ACTIVATED.
`Driver` - `s` - `(read)`
  The driver handling the device.
`DriverVersion` - `s` - `(read)`
  The version of the driver handling the device.
`FirmwareVersion` - `s` - `(read)`
  The firmware version for the device.
`Capabilities` - `u` - `(read)` (NM_DEVICE_CAP)
  Flags describing the capabilities of the device.
`Ip4Address` - `i` - `(read)`
  The IPv4 address bound to the device. FIXME: what about devices with >1 IP address?
`State` - `u` - `(read)` (NM_DEVICE_STATE)
  The current state of the device.
`StateReason` - `(uu)` - `(read)` (NM_DEVICE_STATE_REASON_STRUCT)
  The current state and reason for changing to that state.
`ActiveConnection` - `o` - `(read)`
  Object path of an ActiveConnection object that "owns" this device during activation. The ActiveConnection object tracks the life-cycle of a connection to a specific network and implements the org.freedesktop.NetworkManager.Connection.Active D-Bus interface.
`Ip4Config` - `o` - `(read)`
  Object path of the Ip4Config object describing the configuration of the device. Only valid when the device is in the NM_DEVICE_STATE_ACTIVATED state.
`Dhcp4Config` - `o` - `(read)`
  Object path of the Dhcp4Config object describing the DHCP options returned by the DHCP server. Only valid when the device is in the NM_DEVICE_STATE_ACTIVATED state.
`Ip6Config` - `o` - `(read)`
  Object path of the Ip6Config object describing the configuration of the device. Only valid when the device is in the NM_DEVICE_STATE_ACTIVATED state.
`Dhcp6Config` - `o` - `(read)`
  Object path of the Dhcp6Config object describing the DHCP options returned by the DHCP server. Only valid when the device is in the NM_DEVICE_STATE_ACTIVATED state.
`Managed` - `b` - `(read)`
  Whether or not this device is managed by NetworkManager.
`Autoconnect` - `b` - `(readwrite)`
  If TRUE, indicates the device is allowed to autoconnect. If FALSE, manual intervention is required before the device will automatically connect to a known network, such as activating a connection using the device, or setting this property to TRUE.
`FirmwareMissing` - `b` - `(read)`
  If TRUE, indicates the device is likely missing firmware necessary for its operation.
`DeviceType` - `u` - `(read)` (NM_DEVICE_TYPE)
  The general type of the network device; ie Ethernet, WiFi, etc.
`AvailableConnections` - `ao` - `(read)`
  An array of object paths of every configured connection that is currently 'available' through this device.

## Enumerated types:

### NM_DEVICE_STATE

`NM_DEVICE_STATE_UNKNOWN = 0`
  The device is in an unknown state.
`NM_DEVICE_STATE_UNMANAGED = 10`
  The device is recognized but not managed by NetworkManager.
`NM_DEVICE_STATE_UNAVAILABLE = 20`
  The device cannot be used (carrier off, rfkill, etc).
`NM_DEVICE_STATE_DISCONNECTED = 30`
  The device is not connected.
`NM_DEVICE_STATE_PREPARE = 40`
  The device is preparing to connect.
`NM_DEVICE_STATE_CONFIG = 50`
  The device is being configured.
`NM_DEVICE_STATE_NEED_AUTH = 60`
  The device is awaiting secrets necessary to continue connection.
`NM_DEVICE_STATE_IP_CONFIG = 70`
  The IP settings of the device are being requested and configured.
`NM_DEVICE_STATE_IP_CHECK = 80`
  The device's IP connectivity ability is being determined.
`NM_DEVICE_STATE_SECONDARIES = 90`
  The device is waiting for secondary connections to be activated.
`NM_DEVICE_STATE_ACTIVATED = 100`
  The device is active.
`NM_DEVICE_STATE_DEACTIVATING = 110`
  The device's network connection is being torn down.
`NM_DEVICE_STATE_FAILED = 120`
  The device is in a failure state following an attempt to activate it.

### NM_DEVICE_TYPE

`NM_DEVICE_TYPE_UNKNOWN = 0`
  The device type is unknown.
`NM_DEVICE_TYPE_ETHERNET = 1`
  The device is wired Ethernet device.
`NM_DEVICE_TYPE_WIFI = 2`
  The device is an 802.11 WiFi device.
`NM_DEVICE_TYPE_UNUSED1 = 3`
  Unused
`NM_DEVICE_TYPE_UNUSED2 = 4`
  Unused
`NM_DEVICE_TYPE_BT = 5`
  The device is Bluetooth device that provides PAN or DUN capabilities.
`NM_DEVICE_TYPE_OLPC_MESH = 6`
  The device is an OLPC mesh networking device.
`NM_DEVICE_TYPE_WIMAX = 7`
  The device is an 802.16e Mobile WiMAX device.
`NM_DEVICE_TYPE_MODEM = 8`
  The device is a modem supporting one or more of analog telephone, CDMA/EVDO, GSM/UMTS/HSPA, or LTE standards to access a cellular or wireline data network.
`NM_DEVICE_TYPE_INFINIBAND = 9`
  The device is an IP-capable InfiniBand interface.
`NM_DEVICE_TYPE_BOND = 10`
  The device is a bond master interface.
`NM_DEVICE_TYPE_VLAN = 11`
  The device is a VLAN interface.
`NM_DEVICE_TYPE_ADSL = 12`
  The device is an ADSL device supporting PPPoE and PPPoATM protocols.
`NM_DEVICE_TYPE_BRIDGE = 13`
  The device is a bridge interface.

### NM_DEVICE_STATE_REASON

`NM_DEVICE_STATE_REASON_UNKNOWN = 0`
  The reason for the device state change is unknown.
`NM_DEVICE_STATE_REASON_NONE = 1`
  The state change is normal.
`NM_DEVICE_STATE_REASON_NOW_MANAGED = 2`
  The device is now managed.
`NM_DEVICE_STATE_REASON_NOW_UNMANAGED = 3`
  The device is no longer managed.
`NM_DEVICE_STATE_REASON_CONFIG_FAILED = 4`
  The device could not be readied for configuration.
`NM_DEVICE_STATE_REASON_CONFIG_UNAVAILABLE = 5`
  IP configuration could not be reserved (no available address, timeout, etc).
`NM_DEVICE_STATE_REASON_CONFIG_EXPIRED = 6`
  The IP configuration is no longer valid.
`NM_DEVICE_STATE_REASON_NO_SECRETS = 7`
  Secrets were required, but not provided.
`NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT = 8`
  The 802.1X supplicant disconnected from the access point or authentication server.
`NM_DEVICE_STATE_REASON_SUPPLICANT_CONFIG_FAILED = 9`
  Configuration of the 802.1X supplicant failed.
`NM_DEVICE_STATE_REASON_SUPPLICANT_FAILED = 10`
  The 802.1X supplicant quit or failed unexpectedly.
`NM_DEVICE_STATE_REASON_SUPPLICANT_TIMEOUT = 11`
  The 802.1X supplicant took too long to authenticate.
`NM_DEVICE_STATE_REASON_PPP_START_FAILED = 12`
  The PPP service failed to start within the allowed time.
`NM_DEVICE_STATE_REASON_PPP_DISCONNECT = 13`
  The PPP service disconnected unexpectedly.
`NM_DEVICE_STATE_REASON_PPP_FAILED = 14`
  The PPP service quit or failed unexpectedly.
`NM_DEVICE_STATE_REASON_DHCP_START_FAILED = 15`
  The DHCP service failed to start within the allowed time.
`NM_DEVICE_STATE_REASON_DHCP_ERROR = 16`
  The DHCP service reported an unexpected error.
`NM_DEVICE_STATE_REASON_DHCP_FAILED = 17`
  The DHCP service quit or failed unexpectedly.
`NM_DEVICE_STATE_REASON_SHARED_START_FAILED = 18`
  The shared connection service failed to start.
`NM_DEVICE_STATE_REASON_SHARED_FAILED = 19`
  The shared connection service quit or failed unexpectedly.
`NM_DEVICE_STATE_REASON_AUTOIP_START_FAILED = 20`
  The AutoIP service failed to start.
`NM_DEVICE_STATE_REASON_AUTOIP_ERROR = 21`
  The AutoIP service reported an unexpected error.
`NM_DEVICE_STATE_REASON_AUTOIP_FAILED = 22`
  The AutoIP service quit or failed unexpectedly.
`NM_DEVICE_STATE_REASON_MODEM_BUSY = 23`
  Dialing failed because the line was busy.
`NM_DEVICE_STATE_REASON_MODEM_NO_DIAL_TONE = 24`
  Dialing failed because there was no dial tone.
`NM_DEVICE_STATE_REASON_MODEM_NO_CARRIER = 25`
  Dialing failed because there was carrier.
`NM_DEVICE_STATE_REASON_MODEM_DIAL_TIMEOUT = 26`
  Dialing timed out.
`NM_DEVICE_STATE_REASON_MODEM_DIAL_FAILED = 27`
  Dialing failed.
`NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED = 28`
  Modem initialization failed.
`NM_DEVICE_STATE_REASON_GSM_APN_FAILED = 29`
  Failed to select the specified GSM APN.
`NM_DEVICE_STATE_REASON_GSM_REGISTRATION_NOT_SEARCHING = 30`
  Not searching for networks.
`NM_DEVICE_STATE_REASON_GSM_REGISTRATION_DENIED = 31`
  Network registration was denied.
`NM_DEVICE_STATE_REASON_GSM_REGISTRATION_TIMEOUT = 32`
  Network registration timed out.
`NM_DEVICE_STATE_REASON_GSM_REGISTRATION_FAILED = 33`
  Failed to register with the requested GSM network.
`NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED = 34`
  PIN check failed.
`NM_DEVICE_STATE_REASON_FIRMWARE_MISSING = 35`
  Necessary firmware for the device may be missing.
`NM_DEVICE_STATE_REASON_REMOVED = 36`
  The device was removed.
`NM_DEVICE_STATE_REASON_SLEEPING = 37`
  NetworkManager went to sleep.
`NM_DEVICE_STATE_REASON_CONNECTION_REMOVED = 38`
  The device's active connection was removed or disappeared.
`NM_DEVICE_STATE_REASON_USER_REQUESTED = 39`
  A user or client requested the disconnection.
`NM_DEVICE_STATE_REASON_CARRIER = 40`
  The device's carrier/link changed.
`NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED = 41`
  The device's existing connection was assumed.
`NM_DEVICE_STATE_REASON_SUPPLICANT_AVAILABLE = 42`
  The 802.1x supplicant is now available.
`NM_DEVICE_STATE_REASON_MODEM_NOT_FOUND = 43`
  The modem could not be found.
`NM_DEVICE_STATE_REASON_BT_FAILED = 44`
  The Bluetooth connection timed out or failed.
`NM_DEVICE_STATE_REASON_GSM_SIM_NOT_INSERTED = 45`
  GSM Modem's SIM Card not inserted.
`NM_DEVICE_STATE_REASON_GSM_SIM_PIN_REQUIRED = 46`
  GSM Modem's SIM Pin required.
`NM_DEVICE_STATE_REASON_GSM_SIM_PUK_REQUIRED = 47`
  GSM Modem's SIM Puk required.
`NM_DEVICE_STATE_REASON_GSM_SIM_WRONG = 48`
  GSM Modem's SIM wrong
`NM_DEVICE_STATE_REASON_INFINIBAND_MODE = 49`
  InfiniBand device does not support connected mode.
`NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED = 50`
  A dependency of the connection failed.
`NM_DEVICE_STATE_REASON_BR2684_FAILED = 51`
  Problem with the RFC 2684 Ethernet over ADSL bridge.
`NM_DEVICE_STATE_REASON_MODEM_MANAGER_UNAVAILABLE = 52`
  ModemManager was not running or quit unexpectedly.
`NM_DEVICE_STATE_REASON_SSID_NOT_FOUND = 53`
  The 802.11 Wi-Fi network could not be found.
`NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED = 54`
  A secondary connection of the base connection failed.

## Sets of flags:

### NM_DEVICE_CAP

`NM_DEVICE_CAP_NONE = 0x0`
  Null capability.
`NM_DEVICE_CAP_NM_SUPPORTED = 0x1`
  The device is supported by NetworkManager.
`NM_DEVICE_CAP_CARRIER_DETECT = 0x2`
  The device supports carrier detection.

## Structure types:

### NM_DEVICE_STATE_REASON_STRUCT - ( u: state, u: reason )

Arrays of NM_DEVICE_STATE_REASON_STRUCT don't generally make sense.

#### Members

`state` - `u` (NM_DEVICE_STATE)
  The device state.
`reason` - `u` (NM_DEVICE_STATE_REASON)
  The reason for originally changing to the device state.

# org.freedesktop.NetworkManager.Device.Wired

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`HwAddress` - `s` - `(read)`
  Active hardware address of the device.
`PermHwAddress` - `s` - `(read)`
  Permanent hardware address of the device.
`Speed` - `u` - `(read)`
  Design speed of the device, in megabits/second (Mb/s).
`Carrier` - `b` - `(read)`
  Indicates whether the physical carrier is found (e.g. whether a cable is plugged in or not).

# org.freedesktop.NetworkManager.Device.Wireless

## Methods:

### GetAccessPoints ( ) → ao

Get the list of access points visible to this device.

#### Returns

`access_points` - `ao`
  List of access point object paths

### RequestScan ( a{sv}: options ) → nothing

Request the device to scan

#### Parameters

`options` - `a{sv}`
  Options of scan

## Signals:

### PropertiesChanged ( a{sv}: properties )

Emitted when the wireless device's properties changed.

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary containing the FIXME: check changed parameters.

### AccessPointAdded ( o: access_point )

Emitted when a new access point is found by the device.

#### Parameters

`access_point` - `o`
  The object path of the newly found access point.

### AccessPointRemoved ( o: access_point )

Emitted when an access point disappears from view of the device.

#### Parameters

`access_point` - `o`
  The object path of the access point that has disappeared.

## Properties:

`HwAddress` - `s` - `(read)`
  The active hardware address of the device.
`PermHwAddress` - `s` - `(read)`
  The permanent hardware address of the device.
`Mode` - `u` - `(read)` (NM_802_11_MODE)
  The operating mode of the wireless device.
`Bitrate` - `u` - `(read)`
  The bit rate currently used by the wireless device, in kilobits/second (Kb/s).
`ActiveAccessPoint` - `o` - `(read)`
  Object path of the access point currently used by the wireless device.
`WirelessCapabilities` - `u` - `(read)` (NM_802_11_DEVICE_CAP)
  The capabilities of the wireless device.

## Sets of flags:

### NM_802_11_DEVICE_CAP

Flags describing the capabilities of a wireless device.

`NM_802_11_DEVICE_CAP_NONE = 0x0`
  Null capability - syntactic sugar for no capabilities supported. Do not AND this with other capabilities!
`NM_802_11_DEVICE_CAP_CIPHER_WEP40 = 0x1`
  The device supports the 40-bit WEP cipher.
`NM_802_11_DEVICE_CAP_CIPHER_WEP104 = 0x2`
  The device supports the 104-bit WEP cipher.
`NM_802_11_DEVICE_CAP_CIPHER_TKIP = 0x4`
  The device supports the TKIP cipher.
`NM_802_11_DEVICE_CAP_CIPHER_CCMP = 0x8`
  The device supports the CCMP cipher.
`NM_802_11_DEVICE_CAP_WPA = 0x10`
  The device supports the WPA encryption/authentication protocol.
`NM_802_11_DEVICE_CAP_RSN = 0x20`
  The device supports the RSN encryption/authentication protocol.
`NM_802_11_DEVICE_CAP_AP = 0x40`
  The device supports Access Point mode.
`NM_802_11_DEVICE_CAP_ADHOC = 0x80`
  The device supports Ad-Hoc mode.

# org.freedesktop.NetworkManager.Device.Modem

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`ModemCapabilities` - `u` - `(read)` (NM_DEVICE_MODEM_CAPABILITIES)
  The generic family of access technologies the modem supports. Not all capabilities are available at the same time however; some modems require a firmware reload or other reinitialization to switch between eg CDMA/EVDO and GSM/UMTS.
`CurrentCapabilities` - `u` - `(read)` (NM_DEVICE_MODEM_CAPABILITIES)
  The generic family of access technologies the modem currently supports without a firmware reload or reinitialization.

## Sets of flags:

### NM_DEVICE_MODEM_CAPABILITIES

Flags describing one or more of the general access technology families that a modem device supports.

`NM_DEVICE_MODEM_CAPABILITY_NONE = 0x0`
  Modem has no capabilties.
`NM_DEVICE_MODEM_CAPABILITY_POTS = 0x1`
  Modem supports the analog wired telephone network (ie 56k dialup) and does not have wireless/cellular capabilities.
`NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO = 0x2`
  Modem supports at least one of CDMA 1xRTT, EVDO revision 0, EVDO revision A, or EVDO revision B.
`NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS = 0x4`
  Modem supports at least one of GSM, GPRS, EDGE, UMTS, HSDPA, HSUPA, or HSPA+ packet switched data capability.
`NM_DEVICE_MODEM_CAPABILITY_LTE = 0x8`
  Modem has at LTE data capability.

# org.freedesktop.NetworkManager.Device.Bluetooth

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`HwAddress` - `s` - `(read)`
  Bluetooth hardware address of the device.
`Name` - `s` - `(read)`
  Bluetooth name of the device.
`BtCapabilities` - `u` - `(read)` (NM_BT_CAPABILITIES)
  Bluetooth capabilities of the device (either DUN or NAP).

## Sets of flags:

### NM_BT_CAPABILITIES

Flags describing the capabilities of a Bluetooth device.

`NM_BT_CAPABILITY_NONE = 0x0`
  The device has no recognized capabilities.
`NM_BT_CAPABILITY_DUN = 0x1`
  The device supports Bluetooth Dial-Up Networking.
`NM_BT_CAPABILITY_PAN = 0x2`
  The device supports Bluetooth Personal Area Networking.

# org.freedesktop.NetworkManager.Device.OlpcMesh

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

Emitted when the wireless device's properties changed.

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary containing the FIXME: check changed parameters.

## Properties:

`HwAddress` - `s` - `(read)`
  The hardware address of the device.
`Companion` - `o` - `(read)`
  The object path of the companion device.
`ActiveChannel` - `u` - `(read)`
  The currently active channel.

# org.freedesktop.NetworkManager.Device.WiMax

## Methods:

### GetNspList ( ) → ao

Get the list of NSPs visible to this device.

#### Returns

`nsps` - `ao`
  List of NSP object paths

## Signals:

### PropertiesChanged ( a{sv}: properties )

Emitted when the WiMax device's properties changed.

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values.

### NspAdded ( o: nsp )

Emitted when a new NSP is found by the device.

#### Parameters

`nsp` - `o`
  The object path of the newly found NSP.

### NspRemoved ( o: nsp )

Emitted when an NSP disappears from view of the device.

#### Parameters

`nsp` - `o`
  The object path of the NSP that has disappeared.

## Properties:

`HwAddress` - `s` - `(read)`
  Hardware address of the device.
`CenterFrequency` - `u` - `(read)`
  Center frequency (in KHz) of the radio channel the device is using to communicate with the network when connected. Has no meaning when the device is not connected.
`Rssi` - `i` - `(read)`
  RSSI of the current radio link in dBm. This value indicates how strong the raw received RF signal from the base station is, but does not indicate the overall quality of the radio link. Has no meaning when the device is not connected.
`Cinr` - `i` - `(read)`
  CINR (Carrier to Interference + Noise Ratio) of the current radio link in dB. CINR is a more accurate measure of radio link quality. Has no meaning when the device is not connected.
`TxPower` - `i` - `(read)`
  Average power of the last burst transmitted by the device, in units of 0.5 dBm. i.e. a TxPower of -11 represents an actual device TX power of -5.5 dBm. Has no meaning when the device is not connected.
`Bsid` - `s` - `(read)`
  The ID of the serving base station as received from the network. Has no meaning when the device is not connected.
`ActiveNsp` - `o` - `(read)`
  Object path of the NSP currently used by the WiMax device.

# org.freedesktop.NetworkManager.Device.Infiniband

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`HwAddress` - `s` - `(read)`
  Hardware address of the device.
`Carrier` - `b` - `(read)`
  Indicates whether the physical carrier is found (e.g. whether a cable is plugged in or not).

# org.freedesktop.NetworkManager.Device.Bond

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`HwAddress` - `s` - `(read)`
  Hardware address of the device.
`Carrier` - `b` - `(read)`
  Indicates whether the physical carrier is found (e.g. whether a cable is plugged in or not).
`Slaves` - `ao` - `(read)`
  Array of object paths representing devices which are currently slaved to this device.

# org.freedesktop.NetworkManager.Device.Bridge

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`HwAddress` - `s` - `(read)`
  Hardware address of the device.
`Carrier` - `b` - `(read)`
  Indicates whether the physical carrier is found (e.g. whether a cable is plugged in or not).
`Slaves` - `ao` - `(read)`
  Array of object paths representing devices which are currently slaved to this device.

# org.freedesktop.NetworkManager.Device.Vlan

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`HwAddress` - `s` - `(read)`
  Hardware address of the device.
`Carrier` - `b` - `(read)`
  Indicates whether the physical carrier is found (e.g. whether a cable is plugged in or not).
`VlanId` - `u` - `(read)`
  The VLAN ID of this VLAN interface.

# org.freedesktop.NetworkManager.Device.Adsl

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`Carrier` - `b` - `(read)`
  Indicates whether the physical carrier is found.

# org.freedesktop.NetworkManager.WiMax.Nsp

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values.

## Properties:

`Name` - `s` - `(read)`
  The name of the NSP.
`SignalQuality` - `u` - `(read)`
  The current signal quality of the NSP, in percent.
`NetworkType` - `u` - `(read)` (NM_WIMAX_NSP_NETWORK_TYPE)
  The network type of the NSP.

## Sets of flags:

### NM_WIMAX_NSP_NETWORK_TYPE

Network type of the NSP.

`NM_WIMAX_NSP_NETWORK_TYPE_UNKNOWN = 0x0`
  Unknown network.
`NM_WIMAX_NSP_NETWORK_TYPE_HOME = 0x1`
  Home network.
`NM_WIMAX_NSP_NETWORK_TYPE_PARTNER = 0x2`
  Partner network.
`NM_WIMAX_NSP_NETWORK_TYPE_ROAMING_PARTNER = 0x3`
  Roaming partner network.

# org.freedesktop.NetworkManager.IP4Config

Interface has no methods.

Interface has no signals.

## Properties:

`Addresses` - `aau` - `(read)`
  Array of tuples of IPv4 address/prefix/gateway. All 3 elements of each tuple are in network byte order. Essentially: [(addr, prefix, gateway), (addr, prefix, gateway), ...]
`Nameservers` - `au` - `(read)`
  The nameservers in use.
`WinsServers` - `au` - `(read)`
  The Windows Internet Name Service servers associated with the connection. Each address is in network byte order.
`Domains` - `as` - `(read)`
  A list of domains this address belongs to.
`Routes` - `aau` - `(read)`
  Tuples of IPv4 route/prefix/next-hop/metric. All 4 elements of each tuple are in network byte order. 'route' and 'next hop' are IPv4 addresses, while prefix and metric are simple unsigned integers. Essentially: [(route, prefix, next-hop, metric), (route, prefix, next-hop, metric), ...]

# org.freedesktop.NetworkManager.IP6Config

Interface has no methods.

Interface has no signals.

## Properties:

`Addresses` - `a(ayuay)` - `(read)`
  Tuples of IPv6 address/prefix/gateway.
`Nameservers` - `aay` - `(read)`
  The nameservers in use.
`Domains` - `as` - `(read)`
  A list of domains this address belongs to.
`Routes` - `a(ayuayu)` - `(read)`
  Tuples of IPv6 route/prefix/next-hop/metric.

# org.freedesktop.NetworkManager.DHCP4Config

Options and configuration returned by the IPv4 DHCP server.

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`Options` - `a{sv}` - `(read)`
  Configuration options returned by a DHCP server, if any.

# org.freedesktop.NetworkManager.DHCP6Config

Options and configuration returned by the IPv6 DHCP server.

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`Options` - `a{sv}` - `(read)`
  Configuration options returned by a DHCP server, if any.

# org.freedesktop.NetworkManager.Settings

The Settings interface allows clients to view and administrate the connections stored and used by NetworkManager.

## Methods:

### ListConnections ( ) → ao

List the saved network connections known to NetworkManager.

#### Returns

`connections` - `ao`
  List of connections.

### GetConnectionByUuid ( s: uuid ) → o

Retrieve the object path of a connection, given that connection's UUID.

#### Parameters

`uuid` - `s`
  The UUID to find the connection object path for.

#### Returns

`connection` - `o`
  The connection's object path.

### AddConnection ( a{sa{sv}}: connection ) → o

Add new connection and save it to disk. This operation does not start the network connection unless (1) device is idle and able to connect to the network described by the new connection, and (2) the connection is allowed to be started automatically.

#### Parameters

`connection` - `a{sa{sv}}`
  Connection settings and properties.

#### Returns

`path` - `o`
  Object path of the new connection that was just added.

### SaveHostname ( s: hostname ) → nothing

Save the hostname to persistent configuration.

#### Parameters

`hostname` - `s`
  The hostname to save to persistent configuration. If blank, the persistent hostname is cleared.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

### NewConnection ( o: connection )

Emitted when a new connection has been added after NetworkManager has started up and initialized. This signal is not emitted for connections read while starting up, because NetworkManager's D-Bus service is only available after all connections have been read, and to prevent spamming listeners with too many signals at one time. To retrieve the initial connection list, call the ListConnections() method once, and then listen for individual Settings.NewConnection and Settings.Connection.Deleted signals for further updates.

#### Parameters

`connection` - `o`
  Object path of the new connection.

## Properties:

`Hostname` - `s` - `(read)`
  The machine hostname stored in persistent configuration.
`CanModify` - `b` - `(read)`
  If true, adding and modifying connections is supported.

# org.freedesktop.NetworkManager.Settings.Connection

Represents a single network connection configuration.

## Methods:

### Update ( a{sa{sv}}: properties ) → nothing

Update the connection with new settings and properties, replacing all previous settings and properties. Secrets may be part of the update request, and will be either stored in persistent storage or given to a Secret Agent for storage, depending on the request.

#### Parameters

`properties` - `a{sa{sv}}`
  New connection settings, properties, and (optionally) secrets.

### Delete ( ) → nothing

Delete the connection.

### GetSettings ( ) → a{sa{sv}}

Get the settings maps describing this network configuration. This will never include any secrets required for connection to the network, as those are often protected. Secrets must be requested separately using the GetSecrets() call.

#### Returns

`settings` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  The nested settings maps describing this object.

### GetSecrets ( s: setting_name ) → a{sa{sv}}

Get the secrets belonging to this network configuration. Only secrets from persistent storage or a Secret Agent running in the requestor's session will be returned. The user will never be prompted for secrets as a result of this request.

#### Parameters

`setting_name` - `s`
  Name of the setting to return secrets for. If empty, all all secrets will be returned.

#### Returns

`secrets` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  Nested settings maps containing secrets.

## Signals:

### Updated ( )

Emitted when any settings or permissions change. When handling this signal, clients should re-read the connection using the GetSettings method to get the changes and to ensure the client still has permission to access the connection.

### Removed ( )

Emitted when this connection is no longer available. This happens when the connection is deleted or if it is no longer accessable by any of the system's logged-in users. After receipt of this signal, the object no longer exists.

Interface has no properties.

# org.freedesktop.NetworkManager.Connection.Active

Objects that implement the Connection.Active interface represent an attempt to connect to a network using the details provided by a Connection object. The Connection.Active object tracks the life-cycle of the connection attempt and if successful indicates whether the connected network is the "default" or preferred network for access.

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

## Properties:

`Connection` - `o` - `(read)`
  The path of the connection.
`SpecificObject` - `o` - `(read)`
  A specific object associated with the active connection. This property reflects the specific object used during connection activation, and will not change over the lifetime of the ActiveConnection once set.
`Uuid` - `s` - `(read)`
  The UUID of the connection, provided as a convenience so that clients do not have to retrieve all connection details.
`Devices` - `ao` - `(read)`
  Array of object paths representing devices which are part of this active connection.
`State` - `u` - `(read)` (NM_ACTIVE_CONNECTION_STATE)
  The state of this active connection.
`Default` - `b` - `(read)`
  Whether this active connection is the default IPv4 connection, i.e. whether it currently owns the default IPv4 route.
`Default6` - `b` - `(read)`
  Whether this active connection is the default IPv6 connection, i.e. whether it currently owns the default IPv6 route.
`Vpn` - `b` - `(read)`
  Whether this active connection is also a VPN connection.
`Master` - `o` - `(read)`
  The path to the master device if the connection is a slave.

## Enumerated types:

### NM_ACTIVE_CONNECTION_STATE

`NM_ACTIVE_CONNECTION_STATE_UNKNOWN = 0`
  The active connection is in an unknown state.
`NM_ACTIVE_CONNECTION_STATE_ACTIVATING = 1`
  The connection is activating.
`NM_ACTIVE_CONNECTION_STATE_ACTIVATED = 2`
  The connection is activated.
`NM_ACTIVE_CONNECTION_STATE_DEACTIVATING = 3`
  The connection is being torn down and cleaned up.
`NM_ACTIVE_CONNECTION_STATE_DEACTIVATED = 4`
  The connection is no longer active.

# org.freedesktop.NetworkManager.AgentManager

## Methods:

### Register ( s: identifier ) → nothing

Called by secret Agents to register their ability to provide and save network secrets.

#### Parameters

`identifier` - `s`
  Identifies this agent; only one agent in each user session may use the same identifier. Identifier formatting follows the same rules as D-Bus bus names with the exception that the ':' character is not allowed. The valid set of characters is "[A-Z][a-z][0-9]_-." and the identifier is limited in length to 255 characters with a minimum of 3 characters. An example valid identifier is 'org.gnome.nm-applet' (without quotes).

### Unregister ( ) → nothing

Called by secret Agents to notify NetworkManager that they will no longer handle requests for network secrets. Agents are automatically unregistered when they disconnect from D-Bus.

Interface has no signals.

Interface has no properties.

# org.freedesktop.NetworkManager.SecretAgent

Private D-Bus interface used by secret agents that store and provide secrets to NetworkManager. If an agent provides secrets to NetworkManager as part of connection creation, and the some of those secrets are "agent owned" the agent should store those secrets itself and should not expect its SaveSecrets() method to be called. SaveSecrets() will be called eg if some program other than the agent itself (like a connection editor) changes the secrets out of band.

## Methods:

### GetSecrets ( a{sa{sv}}: connection, o: connection_path, s: setting_name, as: hints, u: flags ) → a{sa{sv}}

Retrieve and return stored secrets, if any, or request new secrets from the agent's user. If user interaction is allowed and the user enters new secrets, the agent is expected to save the new secrets to persistent storage (if the secret's flags include AGENT_OWNED) as NetworkManager will not send these secrets back to the same agent via a SaveSecrets() call.

#### Parameters

`connection` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  Nested settings maps containing the connection for which secrets are being requested. This may contain system-owned secrets if the agent has successfully authenticated to modify system network settings and the GetSecrets request flags allow user interaction.
`connection_path` - `o`
  Object path of the connection for which secrets are being requested.
`setting_name` - `s`
  Setting name for which secrets are being requested.
`hints` - `as`
  Array of strings of key names in the requested setting for which NetworkManager thinks a secrets may be required, and/or well-known identifiers and data that may be useful to the client in processing the secrets request. Note that it's not always possible to determine which secret is required, so in some cases no hints may be given. The Agent should return any secrets it has, or that it thinks are required, regardless of what hints NetworkManager sends in this request.
`flags` - `u` (NM_SECRET_AGENT_GET_SECRETS_FLAGS)
  Flags which modify the behavior of the secrets request. If true, new secrets are assumed to be invalid or incorrect, and the agent should ask the user for new secrets. If false, existing secrets should be retrieved from storage and returned without interrupting the user.

#### Returns

`secrets` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  Nested settings maps containing secrets. Each setting MUST contain at least the 'name' field, containing the name of the setting, and one or more secrets.

### CancelGetSecrets ( o: connection_path, s: setting_name ) → nothing

Cancel a pending GetSecrets request for secrets of the given connection. Any GetSecrets request with the same 'connection_path' and 'setting_name' that are given in a CancelGetSecrets request should be canceled.

#### Parameters

`connection_path` - `o`
  Object path of the connection for which, if secrets for the given 'setting_name' are being requested, the request should be canceled.
`setting_name` - `s`
  Setting name for which secrets for this connection were originally being requested.

### SaveSecrets ( a{sa{sv}}: connection, o: connection_path ) → nothing

Save given secrets to backing storage.

#### Parameters

`connection` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  Nested settings maps containing the entire connection (including secrets), for which the agent should save the secrets to backing storage. This method will not be called when the agent itself is the process creating or updating a connection; in that case the agent is assumed to have already saved those secrets since it had them already.
`connection_path` - `o`
  Object path of the connection for which the agent should save secrets to backing storage.

### DeleteSecrets ( a{sa{sv}}: connection, o: connection_path ) → nothing

Delete secrets from backing storage.

#### Parameters

`connection` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  Nested settings maps containing the connection properties (sans secrets), for which the agent should delete the secrets from backing storage.
`connection_path` - `o`
  Object path of the connection for which the agent should delete secrets from backing storage.

Interface has no signals.

Interface has no properties.

## Sets of flags:

### NM_SECRET_AGENT_GET_SECRETS_FLAGS

Flags modifying the behavior of GetSecrets request.

`NM_SECRET_AGENT_GET_SECRETS_FLAG_NONE = 0x0`
  No special behavior; by default no user interaction is allowed and requests for secrets are fulfilled from persistent storage, or if no secrets are available an error is returned.
`NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION = 0x1`
  Allows the request to interact with the user, possibly prompting via UI for secrets if any are required, or if none are found in persistent storage.
`NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW = 0x2`
  Explicitly prompt for new secrets from the user. This flag signals that NetworkManager thinks any existing secrets are invalid or wrong. This flag implies that interaction is allowed.
`NM_SECRET_AGENT_GET_SECRETS_FLAG_USER_REQUESTED = 0x4`
  Set if the request was initiated by user-requested action via the D-Bus interface, as opposed to automatically initiated by NetworkManager in response to (for example) scan results or carrier changes.

# org.freedesktop.NetworkManager.VPN.Connection

Represents an active connection to a Virtual Private Network.

Interface has no methods.

## Signals:

### PropertiesChanged ( a{sv}: properties )

#### Parameters

`properties` - `a{sv}` (String_Variant_Map)
  A dictionary mapping property names to variant boxed values

### VpnStateChanged ( u: state, u: reason )

Emitted when the state of the VPN connection has changed.

#### Parameters

`state` - `u` (NM_VPN_CONNECTION_STATE)
  The new state of the VPN connection.
`reason` - `u` (NM_VPN_CONNECTION_STATE_REASON)
  Reason code describing the change to the new state.

## Properties:

`VpnState` - `u` - `(read)` (NM_VPN_CONNECTION_STATE)
  The VPN-specific state of the connection.
`Banner` - `s` - `(read)`
  The banner string of the VPN connection.

## Enumerated types:

### NM_VPN_CONNECTION_STATE

`NM_VPN_CONNECTION_STATE_UNKNOWN = 0`
  The state of the VPN connection is unknown.
`NM_VPN_CONNECTION_STATE_PREPARE = 1`
  The VPN connection is preparing to connect.
`NM_VPN_CONNECTION_STATE_NEED_AUTH = 2`
  The VPN connection needs authorization credentials.
`NM_VPN_CONNECTION_STATE_CONNECT = 3`
  The VPN connection is being established. FIXME: Should be CONNECTING or CONNECTED.
`NM_VPN_CONNECTION_STATE_IP_CONFIG_GET = 4`
  The VPN connection is getting an IP address. FIXME: Should be an -ING
`NM_VPN_CONNECTION_STATE_ACTIVATED = 5`
  The VPN connection is active.
`NM_VPN_CONNECTION_STATE_FAILED = 6`
  The VPN connection failed.
`NM_VPN_CONNECTION_STATE_DISCONNECTED = 7`
  The VPN connection is disconnected.

### NM_VPN_CONNECTION_STATE_REASON

`NM_VPN_CONNECTION_STATE_REASON_UNKNOWN = 0`
  The reason for the VPN connection state change is unknown.
`NM_VPN_CONNECTION_STATE_REASON_NONE = 1`
  No reason was given for the VPN connection state change.
`NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED = 2`
  The VPN connection changed state because the user disconnected it.
`NM_VPN_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED = 3`
  The VPN connection changed state because the device it was using was disconnected.
`NM_VPN_CONNECTION_STATE_REASON_SERVICE_STOPPED = 4`
  The service providing the VPN connection was stopped.
`NM_VPN_CONNECTION_STATE_REASON_IP_CONFIG_INVALID = 5`
  The IP config of the VPN connection was invalid.
`NM_VPN_CONNECTION_STATE_REASON_CONNECT_TIMEOUT = 6`
  The connection attempt to the VPN service timed out.
`NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT = 7`
  A timeout occurred while starting the service providing the VPN connection.
`NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_FAILED = 8`
  Starting the service starting the service providing the VPN connection failed.
`NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS = 9`
  Necessary secrets for the VPN connection were not provided.
`NM_VPN_CONNECTION_STATE_REASON_LOGIN_FAILED = 10`
  Authentication to the VPN server failed.
`NM_VPN_CONNECTION_STATE_REASON_CONNECTION_REMOVED = 11`
  The connection was deleted from settings.

# org.freedesktop.NetworkManager.VPN.Plugin

This interface is provided by plugins providing VPN services to the NetworkManager daemon.

## Methods:

### Connect ( a{sa{sv}}: connection ) → nothing

Tells the plugin to connect.

#### Parameters

`connection` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  Describes the connection to be established.

#### Possible errors

`org.freedesktop.NetworkManager.VPN.Error.StartingInProgress`
  The request could not be processed because the VPN connection is already being started.(generic description)
`org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted`
  The request could not be processed because a VPN connection was already active.(generic description)
`org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress`
  The request could not be processed because the VPN connection is already being stopped.(generic description)
`org.freedesktop.NetworkManager.VPN.Error.BadArguments`
  Invalid arguments were passed with the request. FIXME: too general.(generic description)
`org.freedesktop.NetworkManager.VPN.Error.LaunchFailed`
  A binary providing the service failed to launch.(generic description)

### NeedSecrets ( a{sa{sv}}: settings ) → s

Asks the plugin whether the provided connection will require secrets to connect successfully.

#### Parameters

`settings` - `a{sa{sv}}` (String_String_Variant_Map_Map)
  Describes the connection that may need secrets.

#### Returns

`setting_name` - `s`
  The setting name within the provided connection that requires secrets, if any.

#### Possible errors

`org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid`
  The request could not be processed because the VPN connection settings were invalid.(generic description)

### Disconnect ( ) → nothing

Disconnect the plugin.

#### Possible errors

`org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress`
  The request could not be processed because the VPN connection is already being stopped.(generic description)
`org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped`
  The request could not be processed because the VPN connection was already stopped.(generic description)

### SetConfig ( a{sv}: config ) → nothing

Set generic connection details on the connection.

#### Parameters

`config` - `a{sv}` (String_Variant_Map)
  Generic configuration details for the connection.

### SetIp4Config ( a{sv}: config ) → nothing

Set IPv4 details on the connection.

#### Parameters

`config` - `a{sv}` (String_Variant_Map)
  Ip4Config details for the connection. You must call SetConfig() before calling this.

### SetIp6Config ( a{sv}: config ) → nothing

Set IPv6 details on the connection.

#### Parameters

`config` - `a{sv}` (String_Variant_Map)
  Ip6Config details for the connection. You must call SetConfig() before calling this.

### SetFailure ( s: reason ) → nothing

Indicate a failure to the plugin.

#### Parameters

`reason` - `s`
  The reason for the failure.

## Signals:

### StateChanged ( u: state )

Emitted when the plugin state changes.

#### Parameters

`state` - `u` (NM_VPN_CONNECTION_STATE)
  The new state of the plugin.

### Config ( a{sv}: config )

The plugin obtained generic configuration information.

#### Parameters

`config` - `a{sv}` (String_Variant_Map)
  The configuration information.

### Ip4Config ( a{sv}: ip4config )

The plugin obtained an IPv4 configuration.

#### Parameters

`ip4config` - `a{sv}` (String_Variant_Map)
  The IPv4 configuration.

### Ip6Config ( a{sv}: ip6config )

The plugin obtained an IPv6 configuration.

#### Parameters

`ip6config` - `a{sv}` (String_Variant_Map)
  The IPv6 configuration.

### LoginBanner ( s: banner )

Emitted when the plugin receives a login banner from the VPN service.

#### Parameters

`banner` - `s`
  The login banner string.

### Failure ( u: reason )

Emitted when a failure in the VPN plugin occurs.

#### Parameters

`reason` - `u` (NM_VPN_PLUGIN_FAILURE)
  Reason code for the failure.

## Properties:

`State` - `u` - `(read)` (NM_VPN_CONNECTION_STATE)
  The state of the plugin.

## Enumerated types:

### NM_VPN_PLUGIN_FAILURE

`NM_VPN_PLUGIN_FAILURE_LOGIN_FAILED = 0`
  Login failed.
`NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED = 1`
  Connect failed.
`NM_VPN_PLUGIN_FAILURE_BAD_IP_CONFIG = 2`
  Invalid IP configuration returned from the VPN plugin.

# Generic types:

## Enumerated types:

### NM_802_11_MODE

`NM_802_11_MODE_UNKNOWN = 0`
  Mode is unknown.
`NM_802_11_MODE_ADHOC = 1`
  For both devices and access point objects, indicates the object is part of an Ad-Hoc 802.11 network without a central coordinating access point.
`NM_802_11_MODE_INFRA = 2`
  The wireless device or access point is in infrastructure mode. For devices, this indicates the device is an 802.11 client/station. For access point objects, this indicates the object is an access point that provides connectivity to clients.
`NM_802_11_MODE_AP = 3`
  The device is an access point/hotspot. Not valid for access point objects themselves.

## Mapping types:

### String_Variant_Map - a{ s: Key → v: Value }

A mapping from strings to variants representing extra key-value pairs.

#### Members

`Key` - `s`
  (undocumented)
`Value` - `v`
  (undocumented)

### String_String_Map - a{ s: Key → s: Value }

A mapping from strings to strings representing extra key-value pairs.

#### Members

`Key` - `s`
  (undocumented)
`Value` - `s`
  (undocumented)

### String_String_Variant_Map_Map - a{ s: Key → a{sv}: Value }

A mapping from strings to a map of string to variant.

#### Members

`Key` - `s`
  (undocumented)
`Value` - `a{sv}` (String_Variant_Map)
  (undocumented)

# Errors:

## org.freedesktop.NetworkManager.Error.UnknownConnection

Connection was not provided by the settings service.

## org.freedesktop.NetworkManager.Error.UnknownDevice

Unknown device.

## org.freedesktop.NetworkManager.Error.PermissionDenied

User does not have the permission to activate this connection.

# Errors:

## org.freedesktop.NetworkManager.VPN.Error.General

This is a drab, nondescript error.

## org.freedesktop.NetworkManager.VPN.Error.StartingInProgress

The request could not be processed because the VPN connection is already being started.

## org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted

The request could not be processed because a VPN connection was already active.

## org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress

The request could not be processed because the VPN connection is already being stopped.

## org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped

The request could not be processed because the VPN connection was already stopped.

## org.freedesktop.NetworkManager.VPN.Error.WrongState

The request could not be processed because the VPN connection is in the wrong state for this type of request. FIXME: too general?

## org.freedesktop.NetworkManager.VPN.Error.BadArguments

Invalid arguments were passed with the request. FIXME: too general.

## org.freedesktop.NetworkManager.VPN.Error.LaunchFailed

A binary providing the service failed to launch.

## org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid

The request could not be processed because the VPN connection settings were invalid.

# Index

## Index of interfaces

- `org.freedesktop.NetworkManager`
- `org.freedesktop.NetworkManager.AccessPoint`
- `org.freedesktop.NetworkManager.Device`
- `org.freedesktop.NetworkManager.Device.Wired`
- `org.freedesktop.NetworkManager.Device.Wireless`
- `org.freedesktop.NetworkManager.Device.Modem`
- `org.freedesktop.NetworkManager.Device.Bluetooth`
- `org.freedesktop.NetworkManager.Device.OlpcMesh`
- `org.freedesktop.NetworkManager.Device.WiMax`
- `org.freedesktop.NetworkManager.Device.Infiniband`
- `org.freedesktop.NetworkManager.Device.Bond`
- `org.freedesktop.NetworkManager.Device.Bridge`
- `org.freedesktop.NetworkManager.Device.Vlan`
- `org.freedesktop.NetworkManager.Device.Adsl`
- `org.freedesktop.NetworkManager.WiMax.Nsp`
- `org.freedesktop.NetworkManager.IP4Config`
- `org.freedesktop.NetworkManager.IP6Config`
- `org.freedesktop.NetworkManager.DHCP4Config`
- `org.freedesktop.NetworkManager.DHCP6Config`
- `org.freedesktop.NetworkManager.Settings`
- `org.freedesktop.NetworkManager.Settings.Connection`
- `org.freedesktop.NetworkManager.Connection.Active`
- `org.freedesktop.NetworkManager.AgentManager`
- `org.freedesktop.NetworkManager.SecretAgent`
- `org.freedesktop.NetworkManager.VPN.Connection`
- `org.freedesktop.NetworkManager.VPN.Plugin`

## Index of types

- `NM_802_11_AP_FLAGS` - u
- `NM_802_11_AP_SEC` - u
- `NM_802_11_DEVICE_CAP` - u
- `NM_802_11_MODE` - u
- `NM_ACTIVE_CONNECTION_STATE` - u
- `NM_BT_CAPABILITIES` - u
- `NM_CONNECTIVITY` - u
- `NM_DEVICE_CAP` - u
- `NM_DEVICE_MODEM_CAPABILITIES` - u
- `NM_DEVICE_STATE` - u
- `NM_DEVICE_STATE_REASON` - u
- `NM_DEVICE_STATE_REASON_STRUCT` - ( u, u )
- `NM_DEVICE_TYPE` - u
- `NM_SECRET_AGENT_GET_SECRETS_FLAGS` - u
- `NM_STATE` - u
- `NM_VPN_CONNECTION_STATE` - u
- `NM_VPN_CONNECTION_STATE_REASON` - u
- `NM_VPN_PLUGIN_FAILURE` - u
- `NM_WIMAX_NSP_NETWORK_TYPE` - u
- `String_String_Map` - a{ s → s }
- `String_String_Variant_Map_Map` - a{ s → a{sv} }
- `String_Variant_Map` - a{ s → v }