NMDevice

NMDevice

Functions

Properties

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── NMObject
        ╰── NMDevice
            ├── NMDeviceEthernet
            ├── NMDeviceWifi
            ├── NMDeviceModem
            ├── NMDeviceBt
            ├── NMDeviceWimax
            ├── NMDeviceOlpcMesh
            ├── NMDeviceAdsl
            ├── NMDeviceInfiniband
            ├── NMDeviceBond
            ├── NMDeviceBridge
            ╰── NMDeviceVlan

Description

Functions

nm_device_new ()

GObject *
nm_device_new (DBusGConnection *connection,
               const char *path);

Creates a new NMDevice.

Parameters

connection

the DBusGConnection

 

path

the DBus object path of the device

 

Returns

a new device.

[transfer full]


nm_device_get_iface ()

const char *
nm_device_get_iface (NMDevice *device);

Gets the interface name of the NMDevice.

Parameters

device

a NMDevice

 

Returns

the interface of the device. This is the internal string used by the device, and must not be modified.


nm_device_get_ip_iface ()

const char *
nm_device_get_ip_iface (NMDevice *device);

Gets the IP interface name of the NMDevice over which IP traffic flows when the device is in the ACTIVATED state.

Parameters

device

a NMDevice

 

Returns

the IP traffic interface of the device. This is the internal string used by the device, and must not be modified.


nm_device_get_device_type ()

NMDeviceType
nm_device_get_device_type (NMDevice *device);

Returns the numeric type of the NMDevice, ie ethernet, wifi, etc.

Parameters

device

a NMDevice

 

Returns

the device type


nm_device_get_udi ()

const char *
nm_device_get_udi (NMDevice *device);

Gets the Unique Device Identifier of the NMDevice.

Parameters

device

a NMDevice

 

Returns

the Unique Device Identifier of the device. This identifier may be used to gather more information about the device from various operating system services like udev or sysfs.


nm_device_get_driver ()

const char *
nm_device_get_driver (NMDevice *device);

Gets the driver of the NMDevice.

Parameters

device

a NMDevice

 

Returns

the driver of the device. This is the internal string used by the device, and must not be modified.


nm_device_get_driver_version ()

const char *
nm_device_get_driver_version (NMDevice *device);

Gets the driver version of the NMDevice.

Parameters

device

a NMDevice

 

Returns

the version of the device driver. This is the internal string used by the device, and must not be modified.


nm_device_get_firmware_version ()

const char *
nm_device_get_firmware_version (NMDevice *device);

Gets the firmware version of the NMDevice.

Parameters

device

a NMDevice

 

Returns

the firmware version of the device. This is the internal string used by the device, and must not be modified.


nm_device_get_capabilities ()

NMDeviceCapabilities
nm_device_get_capabilities (NMDevice *device);

Gets the device' capabilities.

Parameters

device

a NMDevice

 

Returns

the capabilities


nm_device_get_managed ()

gboolean
nm_device_get_managed (NMDevice *device);

Whether the NMDevice is managed by NetworkManager.

Parameters

device

a NMDevice

 

Returns

TRUE if the device is managed by NetworkManager


nm_device_get_autoconnect ()

gboolean
nm_device_get_autoconnect (NMDevice *device);

Whether the NMDevice can be autoconnected.

Parameters

device

a NMDevice

 

Returns

TRUE if the device is allowed to be autoconnected


nm_device_set_autoconnect ()

void
nm_device_set_autoconnect (NMDevice *device,
                           gboolean autoconnect);

Enables or disables automatic activation of the NMDevice.

Parameters

device

a NMDevice

 

autoconnect

TRUE to enable autoconnecting

 

nm_device_get_firmware_missing ()

gboolean
nm_device_get_firmware_missing (NMDevice *device);

Indicates that firmware required for the device's operation is likely to be missing.

Parameters

device

a NMDevice

 

Returns

TRUE if firmware required for the device's operation is likely to be missing.


nm_device_get_ip4_config ()

NMIP4Config *
nm_device_get_ip4_config (NMDevice *device);

Gets the current NMIP4Config associated with the NMDevice.

Parameters

device

a NMDevice

 

Returns

the NMIP4Config or NULL if the device is not activated.

[transfer none]


nm_device_get_dhcp4_config ()

NMDHCP4Config *
nm_device_get_dhcp4_config (NMDevice *device);

Gets the current NMDHCP4Config associated with the NMDevice.

Parameters

device

a NMDevice

 

Returns

the NMDHCP4Config or NULL if the device is not activated or not using DHCP.

[transfer none]


nm_device_get_ip6_config ()

NMIP6Config *
nm_device_get_ip6_config (NMDevice *device);

Gets the current NMIP6Config associated with the NMDevice.

Parameters

device

a NMDevice

 

Returns

the NMIP6Config or NULL if the device is not activated.

[transfer none]


nm_device_get_dhcp6_config ()

NMDHCP6Config *
nm_device_get_dhcp6_config (NMDevice *device);

Gets the current NMDHCP6Config associated with the NMDevice.

Parameters

device

a NMDevice

 

Returns

the NMDHCP6Config or NULL if the device is not activated or not using DHCP.

[transfer none]


nm_device_get_state ()

NMDeviceState
nm_device_get_state (NMDevice *device);

Gets the current NMDevice state.

Parameters

device

a NMDevice

 

Returns

the current device state


nm_device_get_state_reason ()

NMDeviceState
nm_device_get_state_reason (NMDevice *device,
                            NMDeviceStateReason *reason);

Gets the current NMDevice state (return value) and the reason for entering the state (reason argument).

Parameters

device

a NMDevice

 

reason

location to store reason (NMDeviceStateReason), or NULL.

[out][allow-none]

Returns

the current device state


nm_device_get_active_connection ()

NMActiveConnection *
nm_device_get_active_connection (NMDevice *device);

Gets the NMActiveConnection object which owns this device during activation.

Parameters

device

a NMDevice

 

Returns

the NMActiveConnection or NULL if the device is not part of an active connection.

[transfer none]


nm_device_get_available_connections ()

const GPtrArray *
nm_device_get_available_connections (NMDevice *device);

Gets the NMRemoteConnections currently known to the daemon that could be activated on device .

Parameters

device

a NMDevice

 

Returns

the GPtrArray containing NMRemoteConnections. This is the internal copy used by the connection, and must not be modified.

[element-type NMClient.RemoteConnection]

Since 0.9.8


nm_device_get_product ()

const char *
nm_device_get_product (NMDevice *device);

Gets the product string of the NMDevice.

Parameters

device

a NMDevice

 

Returns

the product name of the device. This is the internal string used by the device, and must not be modified.


nm_device_get_vendor ()

const char *
nm_device_get_vendor (NMDevice *device);

Gets the vendor string of the NMDevice.

Parameters

device

a NMDevice

 

Returns

the vendor name of the device. This is the internal string used by the device, and must not be modified.


NMDeviceDeactivateFn ()

void
(*NMDeviceDeactivateFn) (NMDevice *device,
                         GError *error,
                         gpointer user_data);


nm_device_disconnect ()

void
nm_device_disconnect (NMDevice *device,
                      NMDeviceDeactivateFn callback,
                      gpointer user_data);

Disconnects the device if currently connected, and prevents the device from automatically connecting to networks until the next manual network connection request.

Parameters

device

a NMDevice

 

callback

callback to be called when disconnect operation completes.

[scope async][allow-none]

user_data

caller-specific data passed to callback .

[closure]

nm_device_filter_connections ()

GSList *
nm_device_filter_connections (NMDevice *device,
                              const GSList *connections);

Filters a given list of connections for a given NMDevice object and return connections which may be activated with the device. For example if device is a WiFi device that supports only WEP encryption, the returned list will contain any WiFi connections in connections that allow connection to unencrypted or WEP-enabled SSIDs. The returned list will not contain Ethernet, Bluetooth, WiFi WPA connections, or any other connection that is incompatible with the device. To get the full list of connections see nm_remote_settings_list_connections().

Parameters

device

an NMDevice to filter connections for

 

connections

a list of NMConnection objects to filter.

[element-type NetworkManager.Connection]

Returns

a list of NMConnection objects that could be activated with the given device . The elements of the list are owned by their creator and should not be freed by the caller, but the returned list itself is owned by the caller and should be freed with g_slist_free() when it is no longer required.

[transfer container][element-type NetworkManager.Connection]


nm_device_connection_valid ()

gboolean
nm_device_connection_valid (NMDevice *device,
                            NMConnection *connection);

Validates a given connection for a given NMDevice object and returns whether the connection may be activated with the device. For example if device is a WiFi device that supports only WEP encryption, the connection will only be valid if it is a WiFi connection which describes a WEP or open network, and will not be valid if it describes a WPA network, or if it is an Ethernet, Bluetooth, WWAN, etc connection that is incompatible with the device.

Parameters

device

an NMDevice to validate connection against

 

connection

an NMConnection to validate against device

 

Returns

TRUE if the connection may be activated with this device, FALSE if is incompatible with the device's capabilities and characteristics.


nm_device_connection_compatible ()

gboolean
nm_device_connection_compatible (NMDevice *device,
                                 NMConnection *connection,
                                 GError **error);

Validates a given connection for a given NMDevice object and returns whether the connection may be activated with the device. For example if device is a WiFi device that supports only WEP encryption, the connection will only be valid if it is a WiFi connection which describes a WEP or open network, and will not be valid if it describes a WPA network, or if it is an Ethernet, Bluetooth, WWAN, etc connection that is incompatible with the device.

This function does the same as nm_device_connection_valid(), i.e. checking compatibility of the given device and connection. But, in addition, it sets GError when FALSE is returned.

Parameters

device

an NMDevice to validate connection against

 

connection

an NMConnection to validate against device

 

error

return location for a GError, or NULL

 

Returns

TRUE if the connection may be activated with this device, FALSE if is incompatible with the device's capabilities and characteristics.

Types and Values

NM_DEVICE_DEVICE_TYPE

#define NM_DEVICE_DEVICE_TYPE "device-type"


NM_DEVICE_UDI

#define NM_DEVICE_UDI "udi"


NM_DEVICE_INTERFACE

#define NM_DEVICE_INTERFACE "interface"


NM_DEVICE_IP_INTERFACE

#define NM_DEVICE_IP_INTERFACE "ip-interface"


NM_DEVICE_DRIVER

#define NM_DEVICE_DRIVER "driver"


NM_DEVICE_DRIVER_VERSION

#define NM_DEVICE_DRIVER_VERSION "driver-version"


NM_DEVICE_FIRMWARE_VERSION

#define NM_DEVICE_FIRMWARE_VERSION "firmware-version"


NM_DEVICE_CAPABILITIES

#define NM_DEVICE_CAPABILITIES "capabilities"


NM_DEVICE_MANAGED

#define NM_DEVICE_MANAGED "managed"


NM_DEVICE_AUTOCONNECT

#define NM_DEVICE_AUTOCONNECT "autoconnect"


NM_DEVICE_FIRMWARE_MISSING

#define NM_DEVICE_FIRMWARE_MISSING "firmware-missing"


NM_DEVICE_IP4_CONFIG

#define NM_DEVICE_IP4_CONFIG "ip4-config"


NM_DEVICE_DHCP4_CONFIG

#define NM_DEVICE_DHCP4_CONFIG "dhcp4-config"


NM_DEVICE_IP6_CONFIG

#define NM_DEVICE_IP6_CONFIG "ip6-config"


NM_DEVICE_DHCP6_CONFIG

#define NM_DEVICE_DHCP6_CONFIG "dhcp6-config"


NM_DEVICE_STATE

#define NM_DEVICE_STATE "state"


NM_DEVICE_STATE_REASON

#define NM_DEVICE_STATE_REASON "state-reason"


NM_DEVICE_ACTIVE_CONNECTION

#define NM_DEVICE_ACTIVE_CONNECTION "active-connection"


NM_DEVICE_AVAILABLE_CONNECTIONS

#define NM_DEVICE_AVAILABLE_CONNECTIONS "available-connections"


NM_DEVICE_VENDOR

#define NM_DEVICE_VENDOR "vendor"


NM_DEVICE_PRODUCT

#define NM_DEVICE_PRODUCT "product"

Property Details

The “active-connection” property

  “active-connection”        NMActiveConnection *

Active Connection.

Flags: Read


The “autoconnect” property

  “autoconnect”              gboolean

Autoconnect.

Flags: Read / Write

Default value: TRUE


The “available-connections” property

  “available-connections”    NMObjectArray *

Available Connections.

Flags: Read

Since 0.9.8


The “capabilities” property

  “capabilities”             guint

Capabilities.

Flags: Read

Default value: 0


The “device-type” property

  “device-type”              guint

Numeric device type (ie ethernet, wifi, etc).

Flags: Read

Default value: 0


The “dhcp4-config” property

  “dhcp4-config”             NMDHCP4Config *

DHCP4 Config.

Flags: Read


The “dhcp6-config” property

  “dhcp6-config”             NMDHCP6Config *

DHCP6 Config.

Flags: Read


The “driver” property

  “driver”                   gchar *

Driver.

Flags: Read

Default value: NULL


The “driver-version” property

  “driver-version”           gchar *

Driver Version.

Flags: Read

Default value: NULL


The “firmware-missing” property

  “firmware-missing”         gboolean

Firmware missing.

Flags: Read

Default value: FALSE


The “firmware-version” property

  “firmware-version”         gchar *

Firmware Version.

Flags: Read

Default value: NULL


The “interface” property

  “interface”                gchar *

Interface name.

Flags: Read

Default value: NULL


The “ip-interface” property

  “ip-interface”             gchar *

IP Interface name.

Flags: Read

Default value: NULL


The “ip4-config” property

  “ip4-config”               NMIP4Config *

IP4 Config.

Flags: Read


The “ip6-config” property

  “ip6-config”               NMIP6Config *

IP6 Config.

Flags: Read


The “managed” property

  “managed”                  gboolean

Managed.

Flags: Read

Default value: FALSE


The “product” property

  “product”                  gchar *

Product string.

Flags: Read

Default value: NULL


The “state” property

  “state”                    guint

State.

Flags: Read

Default value: 0


The “state-reason” property

  “state-reason”             GValueArray_guint+guint_*

StateReason.

Flags: Read


The “udi” property

  “udi”                      gchar *

Unique Device Identifier.

Flags: Read

Default value: NULL


The “vendor” property

  “vendor”                   gchar *

Vendor string.

Flags: Read

Default value: NULL

Signal Details

The “state-changed” signal

void
user_function (NMDevice *device,
               guint     new_state,
               guint     old_state,
               guint     reason,
               gpointer  user_data)

Flags: Run First