NMSettingWireless

NMSettingWireless — Describes connection properties for 802.11 WiFi networks

Synopsis

#include <nm-setting-wireless.h>

#define             NM_SETTING_WIRELESS_SETTING_NAME
enum                NMSettingWirelessError;
#define             NM_TYPE_SETTING_WIRELESS_ERROR
#define             NM_SETTING_WIRELESS_ERROR
GQuark              nm_setting_wireless_error_quark     (void);
#define             NM_SETTING_WIRELESS_SSID
#define             NM_SETTING_WIRELESS_MODE
#define             NM_SETTING_WIRELESS_BAND
#define             NM_SETTING_WIRELESS_CHANNEL
#define             NM_SETTING_WIRELESS_BSSID
#define             NM_SETTING_WIRELESS_RATE
#define             NM_SETTING_WIRELESS_TX_POWER
#define             NM_SETTING_WIRELESS_MAC_ADDRESS
#define             NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS
#define             NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST
#define             NM_SETTING_WIRELESS_MTU
#define             NM_SETTING_WIRELESS_SEEN_BSSIDS
#define             NM_SETTING_WIRELESS_SEC
#define             NM_SETTING_WIRELESS_MODE_ADHOC
#define             NM_SETTING_WIRELESS_MODE_INFRA
                    NMSettingWireless;
                    NMSettingWirelessClass;
GType               nm_setting_wireless_get_type        (void);
NMSetting *         nm_setting_wireless_new             (void);
const GByteArray *  nm_setting_wireless_get_ssid        (NMSettingWireless *setting);
const char *        nm_setting_wireless_get_mode        (NMSettingWireless *setting);
const char *        nm_setting_wireless_get_band        (NMSettingWireless *setting);
guint32             nm_setting_wireless_get_channel     (NMSettingWireless *setting);
const GByteArray *  nm_setting_wireless_get_bssid       (NMSettingWireless *setting);
guint32             nm_setting_wireless_get_rate        (NMSettingWireless *setting);
guint32             nm_setting_wireless_get_tx_power    (NMSettingWireless *setting);
const GByteArray *  nm_setting_wireless_get_mac_address (NMSettingWireless *setting);
const GByteArray *  nm_setting_wireless_get_cloned_mac_address
                                                        (NMSettingWireless *setting);
const GSList *      nm_setting_wireless_get_mac_address_blacklist
                                                        (NMSettingWireless *setting);
guint32             nm_setting_wireless_get_mtu         (NMSettingWireless *setting);
const char *        nm_setting_wireless_get_security    (NMSettingWireless *setting);
gboolean            nm_setting_wireless_add_seen_bssid  (NMSettingWireless *setting,
                                                         const char *bssid);
guint32             nm_setting_wireless_get_num_seen_bssids
                                                        (NMSettingWireless *setting);
const char *        nm_setting_wireless_get_seen_bssid  (NMSettingWireless *setting,
                                                         guint32 i);
gboolean            nm_setting_wireless_ap_security_compatible
                                                        (NMSettingWireless *s_wireless,
                                                         NMSettingWirelessSecurity *s_wireless_sec,
                                                         guint32 ap_flags,
                                                         guint32 ap_wpa,
                                                         guint32 ap_rsn,
                                                         guint32 ap_mode);

Object Hierarchy

  GObject
   +----NMSetting
         +----NMSettingWireless

Properties

  "band"                     gchar*                : Read / Write
  "bssid"                    GArray_guchar_*       : Read / Write
  "channel"                  guint                 : Read / Write / Construct
  "cloned-mac-address"       GArray_guchar_*       : Read / Write
  "mac-address"              GArray_guchar_*       : Read / Write
  "mac-address-blacklist"    GSList_gchararray_*   : Read / Write
  "mode"                     gchar*                : Read / Write
  "mtu"                      guint                 : Read / Write / Construct
  "rate"                     guint                 : Read / Write / Construct
  "security"                 gchar*                : Read / Write
  "seen-bssids"              GSList_gchararray_*   : Read / Write
  "ssid"                     GArray_guchar_*       : Read / Write
  "tx-power"                 guint                 : Read / Write / Construct

Description

The NMSettingWireless object is a NMSetting subclass that describes properties necessary for connection to 802.11 WiFi networks.

Details

NM_SETTING_WIRELESS_SETTING_NAME

#define NM_SETTING_WIRELESS_SETTING_NAME "802-11-wireless"


enum NMSettingWirelessError

typedef enum {
	NM_SETTING_WIRELESS_ERROR_UNKNOWN = 0,
	NM_SETTING_WIRELESS_ERROR_INVALID_PROPERTY,
	NM_SETTING_WIRELESS_ERROR_MISSING_PROPERTY,
	NM_SETTING_WIRELESS_ERROR_MISSING_SECURITY_SETTING,
	NM_SETTING_WIRELESS_ERROR_CHANNEL_REQUIRES_BAND
} NMSettingWirelessError;

NM_SETTING_WIRELESS_ERROR_UNKNOWN

unknown or unclassified error

NM_SETTING_WIRELESS_ERROR_INVALID_PROPERTY

the property was invalid

NM_SETTING_WIRELESS_ERROR_MISSING_PROPERTY

the property was missing and is required

NM_SETTING_WIRELESS_ERROR_MISSING_SECURITY_SETTING

property values require the presence of an NMSettingWirelessSecurity object in the connection

NM_SETTING_WIRELESS_ERROR_CHANNEL_REQUIRES_BAND

the property channel was set to a value that requires the "band" property to be set

NM_TYPE_SETTING_WIRELESS_ERROR

#define NM_TYPE_SETTING_WIRELESS_ERROR (nm_setting_wireless_error_get_type ()) 


NM_SETTING_WIRELESS_ERROR

#define NM_SETTING_WIRELESS_ERROR nm_setting_wireless_error_quark ()


nm_setting_wireless_error_quark ()

GQuark              nm_setting_wireless_error_quark     (void);

Registers an error quark for NMSettingWireless if necessary.

Returns :

the error quark used for NMSettingWireless errors.

NM_SETTING_WIRELESS_SSID

#define NM_SETTING_WIRELESS_SSID        "ssid"


NM_SETTING_WIRELESS_MODE

#define NM_SETTING_WIRELESS_MODE        "mode"


NM_SETTING_WIRELESS_BAND

#define NM_SETTING_WIRELESS_BAND        "band"


NM_SETTING_WIRELESS_CHANNEL

#define NM_SETTING_WIRELESS_CHANNEL     "channel"


NM_SETTING_WIRELESS_BSSID

#define NM_SETTING_WIRELESS_BSSID       "bssid"


NM_SETTING_WIRELESS_RATE

#define NM_SETTING_WIRELESS_RATE        "rate"


NM_SETTING_WIRELESS_TX_POWER

#define NM_SETTING_WIRELESS_TX_POWER    "tx-power"


NM_SETTING_WIRELESS_MAC_ADDRESS

#define NM_SETTING_WIRELESS_MAC_ADDRESS "mac-address"


NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS

#define NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS "cloned-mac-address"


NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST

#define NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST "mac-address-blacklist"


NM_SETTING_WIRELESS_MTU

#define NM_SETTING_WIRELESS_MTU         "mtu"


NM_SETTING_WIRELESS_SEEN_BSSIDS

#define NM_SETTING_WIRELESS_SEEN_BSSIDS "seen-bssids"


NM_SETTING_WIRELESS_SEC

#define NM_SETTING_WIRELESS_SEC         "security"


NM_SETTING_WIRELESS_MODE_ADHOC

#define NM_SETTING_WIRELESS_MODE_ADHOC  "adhoc"

Indicates Ad-Hoc mode where no access point is expected to be present.


NM_SETTING_WIRELESS_MODE_INFRA

#define NM_SETTING_WIRELESS_MODE_INFRA  "infrastructure"

Indicates infrastructure mode where an access point is expected to be present for this connection.


NMSettingWireless

typedef struct _NMSettingWireless NMSettingWireless;


NMSettingWirelessClass

typedef struct {
	NMSettingClass parent;

	/* Padding for future expansion */
	void (*_reserved1) (void);
	void (*_reserved2) (void);
	void (*_reserved3) (void);
	void (*_reserved4) (void);
} NMSettingWirelessClass;


nm_setting_wireless_get_type ()

GType               nm_setting_wireless_get_type        (void);

Returns :


nm_setting_wireless_new ()

NMSetting *         nm_setting_wireless_new             (void);

Creates a new NMSettingWireless object with default values.

Returns :

the new empty NMSettingWireless object

nm_setting_wireless_get_ssid ()

const GByteArray *  nm_setting_wireless_get_ssid        (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "ssid" property of the setting

nm_setting_wireless_get_mode ()

const char *        nm_setting_wireless_get_mode        (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "mode" property of the setting

nm_setting_wireless_get_band ()

const char *        nm_setting_wireless_get_band        (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "band" property of the setting

nm_setting_wireless_get_channel ()

guint32             nm_setting_wireless_get_channel     (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "channel" property of the setting

nm_setting_wireless_get_bssid ()

const GByteArray *  nm_setting_wireless_get_bssid       (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "bssid" property of the setting

nm_setting_wireless_get_rate ()

guint32             nm_setting_wireless_get_rate        (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "rate" property of the setting

nm_setting_wireless_get_tx_power ()

guint32             nm_setting_wireless_get_tx_power    (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "tx-power" property of the setting

nm_setting_wireless_get_mac_address ()

const GByteArray *  nm_setting_wireless_get_mac_address (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "mac-address" property of the setting

nm_setting_wireless_get_cloned_mac_address ()

const GByteArray *  nm_setting_wireless_get_cloned_mac_address
                                                        (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "cloned-mac-address" property of the setting

nm_setting_wireless_get_mac_address_blacklist ()

const GSList *      nm_setting_wireless_get_mac_address_blacklist
                                                        (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "mac-address-blacklist" property of the setting

nm_setting_wireless_get_mtu ()

guint32             nm_setting_wireless_get_mtu         (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "mtu" property of the setting

nm_setting_wireless_get_security ()

const char *        nm_setting_wireless_get_security    (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the "security" property of the setting

nm_setting_wireless_add_seen_bssid ()

gboolean            nm_setting_wireless_add_seen_bssid  (NMSettingWireless *setting,
                                                         const char *bssid);

Adds a new WiFi AP's BSSID to the previously seen BSSID list of the setting. NetworkManager tracks previously seen BSSIDs internally so this function no longer has much use.

setting :

the NMSettingWireless

bssid :

the new BSSID to add to the list

Returns :

TRUE if bssid was already known, FALSE if not

nm_setting_wireless_get_num_seen_bssids ()

guint32             nm_setting_wireless_get_num_seen_bssids
                                                        (NMSettingWireless *setting);

setting :

the NMSettingWireless

Returns :

the number of BSSIDs in the previously seen BSSID list

nm_setting_wireless_get_seen_bssid ()

const char *        nm_setting_wireless_get_seen_bssid  (NMSettingWireless *setting,
                                                         guint32 i);

setting :

the NMSettingWireless

i :

index of a BSSID in the previously seen BSSID list

Returns :

the BSSID at index i

nm_setting_wireless_ap_security_compatible ()

gboolean            nm_setting_wireless_ap_security_compatible
                                                        (NMSettingWireless *s_wireless,
                                                         NMSettingWirelessSecurity *s_wireless_sec,
                                                         guint32 ap_flags,
                                                         guint32 ap_wpa,
                                                         guint32 ap_rsn,
                                                         guint32 ap_mode);

Given a NMSettingWireless and an optional NMSettingWirelessSecurity, determine if the configuration given by the settings is compatible with the security of an access point using that access point's capability flags and mode. Useful for clients that wish to filter a set of connections against a set of access points and determine which connections are compatible with which access points.

s_wireless :

a NMSettingWireless

s_wireless_sec :

a NMSettingWirelessSecurity or NULL

ap_flags :

the NM80211ApFlags of the given access point

ap_wpa :

the NM80211ApSecurityFlags of the given access point's WPA capabilities

ap_rsn :

the NM80211ApSecurityFlags of the given access point's WPA2/RSN capabilities

ap_mode :

the 802.11 mode of the AP, either Ad-Hoc or Infrastructure

Returns :

TRUE if the given settings are compatible with the access point's security flags and mode, FALSE if they are not.

Property Details

The "band" property

  "band"                     gchar*                : Read / Write

802.11 frequency band of the network. One of 'a' for 5GHz 802.11a or 'bg' for 2.4GHz 802.11. This will lock associations to the WiFi network to the specific band, i.e. if 'a' is specified, the device will not associate with the same network in the 2.4GHz band even if the network's settings are compatible. This setting depends on specific driver capability and may not work with all drivers.

Default value: NULL


The "bssid" property

  "bssid"                    GArray_guchar_*       : Read / Write

If specified, directs the device to only associate with the given access point. This capability is highly driver dependent and not supported by all devices. Note: this property does not control the BSSID used when creating an Ad-Hoc network and is unlikely to in the future.


The "channel" property

  "channel"                  guint                 : Read / Write / Construct

Wireless channel to use for the WiFi connection. The device will only join (or create for Ad-Hoc networks) a WiFi network on the specified channel. Because channel numbers overlap between bands, this property also requires the 'band' property to be set.

Default value: 0


The "cloned-mac-address" property

  "cloned-mac-address"       GArray_guchar_*       : Read / Write

If specified, request that the Wifi device use this MAC address instead of its permanent MAC address. This is known as MAC cloning or spoofing.


The "mac-address" property

  "mac-address"              GArray_guchar_*       : Read / Write

If specified, this connection will only apply to the WiFi device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).


The "mac-address-blacklist" property

  "mac-address-blacklist"    GSList_gchararray_*   : Read / Write

If specified, this connection will never apply to the WiFi device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation. (00:11:22:33:44:55).


The "mode" property

  "mode"                     gchar*                : Read / Write

WiFi network mode; one of 'infrastructure' or 'adhoc'. If blank, infrastructure is assumed.

Default value: NULL


The "mtu" property

  "mtu"                      guint                 : Read / Write / Construct

If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.

Default value: 0


The "rate" property

  "rate"                     guint                 : Read / Write / Construct

If non-zero, directs the device to only use the specified bitrate for communication with the access point. Units are in Kb/s, ie 5500 = 5.5 Mbit/s. This property is highly driver dependent and not all devices support setting a static bitrate.

Default value: 0


The "security" property

  "security"                 gchar*                : Read / Write

If the wireless connection has any security restrictions, like 802.1x, WEP, or WPA, set this property to '802-11-wireless-security' and ensure the connection contains a valid 802-11-wireless-security setting.

Default value: NULL


The "seen-bssids" property

  "seen-bssids"              GSList_gchararray_*   : Read / Write

A list of BSSIDs (each BSSID formatted as a MAC address like '00:11:22:33:44:55') that have been detected as part of the WiFI network. NetworkManager internally tracks previously seen BSSIDs so this property is no longer of much use.


The "ssid" property

  "ssid"                     GArray_guchar_*       : Read / Write

SSID of the WiFi network.


The "tx-power" property

  "tx-power"                 guint                 : Read / Write / Construct

If non-zero, directs the device to use the specified transmit power. Units are dBm. This property is highly driver dependent and not all devices support setting a static transmit power.

Default value: 0