From 1e1c99afba2b9a985725fd85626ecdd52eda15d2 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 15 Apr 2008 20:39:34 +0000 Subject: [PATCH] 2008-04-15 Dan Williams Remove exposure of wireless-tools mode types in the API. * include/NetworkManager.h - Define NM80211Mode enum * introspection/generic-types.xml - Describe NM_802_11_MODE enum - Remove IW_MODE_* enum * introspection/nm-access-point.xml libnm-glib/nm-access-point.c libnm-glib/nm-access-point.h - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT * introspection/nm-device-802-11-wireless.xml libnm-glib/nm-device-802-11-wireless.c libnm-glib/nm-device-802-11-wireless.h - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT * libnm-util/nm-setting-wireless.c src/NetworkManagerAP.c src/NetworkManagerAP.h src/nm-device-802-11-wireless.c src/nm-device-802-11-wireless.h test/nm-tool.c - Use NM80211Mode not IW_MODE_* git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3562 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 29 ++++++++++ include/NetworkManager.h | 10 ++++ introspection/generic-types.xml | 22 ++------ introspection/nm-access-point.xml | 2 +- introspection/nm-device-802-11-wireless.xml | 2 +- libnm-glib/nm-access-point.c | 18 +++---- libnm-glib/nm-access-point.h | 3 +- libnm-glib/nm-device-802-11-wireless.c | 18 +++---- libnm-glib/nm-device-802-11-wireless.h | 2 +- libnm-util/nm-setting-wireless.c | 4 +- src/NetworkManagerAP.c | 34 ++++++------ src/NetworkManagerAP.h | 4 +- src/nm-device-802-11-wireless.c | 60 +++++++++++++-------- src/nm-device-802-11-wireless.h | 4 +- test/nm-tool.c | 4 +- 15 files changed, 128 insertions(+), 88 deletions(-) diff --git a/ChangeLog b/ChangeLog index 76d98e86b3..dcc59e2550 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,32 @@ +2008-04-15 Dan Williams + + Remove exposure of wireless-tools mode types in the API. + + * include/NetworkManager.h + - Define NM80211Mode enum + + * introspection/generic-types.xml + - Describe NM_802_11_MODE enum + - Remove IW_MODE_* enum + + * introspection/nm-access-point.xml + libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.h + - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT + + * introspection/nm-device-802-11-wireless.xml + libnm-glib/nm-device-802-11-wireless.c + libnm-glib/nm-device-802-11-wireless.h + - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT + + * libnm-util/nm-setting-wireless.c + src/NetworkManagerAP.c + src/NetworkManagerAP.h + src/nm-device-802-11-wireless.c + src/nm-device-802-11-wireless.h + test/nm-tool.c + - Use NM80211Mode not IW_MODE_* + 2008-04-15 Dan Williams Enhance nm-online based on a patch from Bill Nottingham. diff --git a/include/NetworkManager.h b/include/NetworkManager.h index 15bdfffd3e..3ed20d1b9f 100644 --- a/include/NetworkManager.h +++ b/include/NetworkManager.h @@ -121,6 +121,16 @@ typedef enum NMDeviceType #define NM_802_11_AP_SEC_KEY_MGMT_PSK 0x00000100 #define NM_802_11_AP_SEC_KEY_MGMT_802_1X 0x00000200 +/* + * 802.11 AP and Station modes + * + */ +typedef enum { + NM_802_11_MODE_UNKNOWN = 0, + NM_802_11_MODE_ADHOC, + NM_802_11_MODE_INFRA, +} NM80211Mode; + /* * Device states diff --git a/introspection/generic-types.xml b/introspection/generic-types.xml index 9a9cf904e8..1a9e316959 100644 --- a/introspection/generic-types.xml +++ b/introspection/generic-types.xml @@ -20,28 +20,16 @@ - + - - Automatic mode controlled by the driver. + + Mode is unknown. - Single cell network. + Uncoordinated network without central infrastructure. - Multi cell network, roaming. - - - Synchronisation master or Access Point. - - - Wireless Repeater (forwarder). - - - Secondary master/repeater (backup). - - - Passive monitor (listen only). + Coordinated network with one or more central controllers. diff --git a/introspection/nm-access-point.xml b/introspection/nm-access-point.xml index a10d1318aa..5a42f9552f 100644 --- a/introspection/nm-access-point.xml +++ b/introspection/nm-access-point.xml @@ -21,7 +21,7 @@ The hardware address of the access point. - + Describes the operating mode of the access point. diff --git a/introspection/nm-device-802-11-wireless.xml b/introspection/nm-device-802-11-wireless.xml index 0da3361382..6b31b3a83d 100644 --- a/introspection/nm-device-802-11-wireless.xml +++ b/introspection/nm-device-802-11-wireless.xml @@ -19,7 +19,7 @@ The hardware address of the device. - + The operating mode of the wireless device. diff --git a/libnm-glib/nm-access-point.c b/libnm-glib/nm-access-point.c index 7b0703ea62..c06a161fd9 100644 --- a/libnm-glib/nm-access-point.c +++ b/libnm-glib/nm-access-point.c @@ -1,7 +1,5 @@ /* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */ -#include "wireless-helper.h" - #include #include "nm-access-point.h" @@ -25,7 +23,7 @@ typedef struct { GByteArray *ssid; guint32 frequency; char *hw_address; - int mode; + NM80211Mode mode; guint32 max_bitrate; guint8 strength; } NMAccessPointPrivate; @@ -169,7 +167,7 @@ nm_access_point_get_hw_address (NMAccessPoint *ap) return priv->hw_address; } -int +NM80211Mode nm_access_point_get_mode (NMAccessPoint *ap) { NMAccessPointPrivate *priv; @@ -178,9 +176,9 @@ nm_access_point_get_mode (NMAccessPoint *ap) priv = NM_ACCESS_POINT_GET_PRIVATE (ap); if (!priv->mode) { - priv->mode = nm_object_get_int_property (NM_OBJECT (ap), - NM_DBUS_INTERFACE_ACCESS_POINT, - DBUS_PROP_MODE); + priv->mode = nm_object_get_uint_property (NM_OBJECT (ap), + NM_DBUS_INTERFACE_ACCESS_POINT, + DBUS_PROP_MODE); } return priv->mode; @@ -286,7 +284,7 @@ get_property (GObject *object, g_value_set_string (value, nm_access_point_get_hw_address (ap)); break; case PROP_MODE: - g_value_set_int (value, nm_access_point_get_mode (ap)); + g_value_set_uint (value, nm_access_point_get_mode (ap)); break; case PROP_MAX_BITRATE: g_value_set_uint (value, nm_access_point_get_max_bitrate (ap)); @@ -425,10 +423,10 @@ nm_access_point_class_init (NMAccessPointClass *ap_class) g_object_class_install_property (object_class, PROP_MODE, - g_param_spec_int (NM_ACCESS_POINT_MODE, + g_param_spec_uint (NM_ACCESS_POINT_MODE, "Mode", "Mode", - IW_MODE_ADHOC, IW_MODE_INFRA, IW_MODE_INFRA, + NM_802_11_MODE_ADHOC, NM_802_11_MODE_INFRA, NM_802_11_MODE_INFRA, G_PARAM_READABLE)); g_object_class_install_property diff --git a/libnm-glib/nm-access-point.h b/libnm-glib/nm-access-point.h index a9024f4a7e..a98b8c687a 100644 --- a/libnm-glib/nm-access-point.h +++ b/libnm-glib/nm-access-point.h @@ -3,6 +3,7 @@ #include #include +#include #include "nm-object.h" G_BEGIN_DECLS @@ -42,7 +43,7 @@ guint32 nm_access_point_get_rsn_flags (NMAccessPoint *ap); const GByteArray * nm_access_point_get_ssid (NMAccessPoint *ap); guint32 nm_access_point_get_frequency (NMAccessPoint *ap); const char * nm_access_point_get_hw_address (NMAccessPoint *ap); -int nm_access_point_get_mode (NMAccessPoint *ap); +NM80211Mode nm_access_point_get_mode (NMAccessPoint *ap); guint32 nm_access_point_get_max_bitrate (NMAccessPoint *ap); guint8 nm_access_point_get_strength (NMAccessPoint *ap); diff --git a/libnm-glib/nm-device-802-11-wireless.c b/libnm-glib/nm-device-802-11-wireless.c index 6032a793c4..500c16c235 100644 --- a/libnm-glib/nm-device-802-11-wireless.c +++ b/libnm-glib/nm-device-802-11-wireless.c @@ -1,7 +1,5 @@ /* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */ -#include "wireless-helper.h" - #include #include "nm-device-802-11-wireless.h" @@ -26,7 +24,7 @@ typedef struct { DBusGProxy *proxy; char *hw_address; - int mode; + NM80211Mode mode; guint32 rate; NMAccessPoint *active_ap; gboolean null_active_ap; @@ -91,7 +89,7 @@ nm_device_802_11_wireless_get_hw_address (NMDevice80211Wireless *device) return priv->hw_address; } -int +NM80211Mode nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *device) { NMDevice80211WirelessPrivate *priv; @@ -100,9 +98,9 @@ nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *device) priv = NM_DEVICE_802_11_WIRELESS_GET_PRIVATE (device); if (!priv->mode) { - priv->mode = nm_object_get_int_property (NM_OBJECT (device), - NM_DBUS_INTERFACE_DEVICE_WIRELESS, - DBUS_PROP_MODE); + priv->mode = nm_object_get_uint_property (NM_OBJECT (device), + NM_DBUS_INTERFACE_DEVICE_WIRELESS, + DBUS_PROP_MODE); } return priv->mode; @@ -358,7 +356,7 @@ get_property (GObject *object, g_value_set_string (value, nm_device_802_11_wireless_get_hw_address (self)); break; case PROP_MODE: - g_value_set_int (value, nm_device_802_11_wireless_get_mode (self)); + g_value_set_uint (value, nm_device_802_11_wireless_get_mode (self)); break; case PROP_BITRATE: g_value_set_uint (value, nm_device_802_11_wireless_get_bitrate (self)); @@ -558,10 +556,10 @@ nm_device_802_11_wireless_class_init (NMDevice80211WirelessClass *device_class) g_object_class_install_property (object_class, PROP_MODE, - g_param_spec_int (NM_DEVICE_802_11_WIRELESS_MODE, + g_param_spec_uint (NM_DEVICE_802_11_WIRELESS_MODE, "Mode", "Mode", - 0, IW_MODE_INFRA, 0, + NM_802_11_MODE_UNKNOWN, NM_802_11_MODE_INFRA, NM_802_11_MODE_INFRA, G_PARAM_READABLE)); g_object_class_install_property diff --git a/libnm-glib/nm-device-802-11-wireless.h b/libnm-glib/nm-device-802-11-wireless.h index 9b810f056d..f6cd9652e2 100644 --- a/libnm-glib/nm-device-802-11-wireless.h +++ b/libnm-glib/nm-device-802-11-wireless.h @@ -36,7 +36,7 @@ GType nm_device_802_11_wireless_get_type (void); GObject *nm_device_802_11_wireless_new (DBusGConnection *connection, const char *path); const char * nm_device_802_11_wireless_get_hw_address (NMDevice80211Wireless *device); -int nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *device); +NM80211Mode nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *device); guint32 nm_device_802_11_wireless_get_bitrate (NMDevice80211Wireless *device); guint32 nm_device_802_11_wireless_get_capabilities (NMDevice80211Wireless *device); NMAccessPoint * nm_device_802_11_wireless_get_active_access_point (NMDevice80211Wireless *device); diff --git a/libnm-util/nm-setting-wireless.c b/libnm-util/nm-setting-wireless.c index 36bb54d39e..bc39cf4017 100644 --- a/libnm-util/nm-setting-wireless.c +++ b/libnm-util/nm-setting-wireless.c @@ -82,7 +82,7 @@ nm_setting_wireless_ap_security_compatible (NMSettingWireless *s_wireless, /* Adhoc WPA */ if (!strcmp (s_wireless_sec->key_mgmt, "wpa-none")) { - if (ap_mode != IW_MODE_ADHOC) + if (ap_mode != NM_802_11_MODE_ADHOC) return FALSE; // FIXME: validate ciphers if the BSSID actually puts WPA/RSN IE in // it's beacon @@ -90,7 +90,7 @@ nm_setting_wireless_ap_security_compatible (NMSettingWireless *s_wireless, } /* Stuff after this point requires infrastructure */ - if (ap_mode != IW_MODE_INFRA) + if (ap_mode != NM_802_11_MODE_INFRA) return FALSE; /* Dynamic WEP or LEAP */ diff --git a/src/NetworkManagerAP.c b/src/NetworkManagerAP.c index 11e573f465..4bc89c65aa 100644 --- a/src/NetworkManagerAP.c +++ b/src/NetworkManagerAP.c @@ -44,7 +44,7 @@ typedef struct /* Scanned or cached values */ GByteArray * ssid; struct ether_addr address; - int mode; /* from IW_MODE_* in wireless.h */ + NM80211Mode mode; gint8 strength; guint32 freq; /* Frequency in MHz; ie 2412 (== 2.412 GHz) */ guint32 max_bitrate;/* Maximum bitrate of the AP in Kbit/s (ie 54000 Kb/s == 54Mbit/s) */ @@ -102,7 +102,7 @@ nm_ap_init (NMAccessPoint *ap) NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE (ap); priv->dbus_path = NULL; - priv->mode = IW_MODE_INFRA; + priv->mode = NM_802_11_MODE_INFRA; priv->flags = NM_802_11_AP_FLAGS_NONE; priv->wpa_flags = NM_802_11_AP_SEC_NONE; priv->rsn_flags = NM_802_11_AP_SEC_NONE; @@ -146,7 +146,7 @@ set_property (GObject *object, guint prop_id, nm_ap_set_freq (ap, g_value_get_uint (value)); break; case PROP_MODE: - nm_ap_set_mode (ap, g_value_get_int (value)); + nm_ap_set_mode (ap, g_value_get_uint (value)); break; case PROP_MAX_BITRATE: nm_ap_set_max_bitrate (ap, g_value_get_uint (value)); @@ -194,7 +194,7 @@ get_property (GObject *object, guint prop_id, g_value_take_string (value, nm_ether_ntop (&priv->address)); break; case PROP_MODE: - g_value_set_int (value, priv->mode); + g_value_set_uint (value, priv->mode); break; case PROP_MAX_BITRATE: g_value_set_uint (value, priv->max_bitrate); @@ -291,10 +291,10 @@ nm_ap_class_init (NMAccessPointClass *ap_class) g_object_class_install_property (object_class, PROP_MODE, - g_param_spec_int (NM_AP_MODE, + g_param_spec_uint (NM_AP_MODE, "Mode", "Mode", - IW_MODE_ADHOC, IW_MODE_INFRA, IW_MODE_INFRA, + NM_802_11_MODE_ADHOC, NM_802_11_MODE_INFRA, NM_802_11_MODE_INFRA, G_PARAM_READWRITE)); g_object_class_install_property @@ -437,9 +437,9 @@ foreach_property_cb (gpointer key, gpointer value, gpointer user_data) if (!strcmp (key, "capabilities")) { if (val & IEEE80211_CAP_ESS) { - nm_ap_set_mode (ap, IW_MODE_INFRA); + nm_ap_set_mode (ap, NM_802_11_MODE_INFRA); } else if (val & IEEE80211_CAP_IBSS) { - nm_ap_set_mode (ap, IW_MODE_ADHOC); + nm_ap_set_mode (ap, NM_802_11_MODE_ADHOC); } if (val & IEEE80211_CAP_PRIVACY) { @@ -569,13 +569,13 @@ nm_ap_new_fake_from_connection (NMConnection *connection) if (s_wireless->mode) { if (!strcmp (s_wireless->mode, "infrastructure")) - nm_ap_set_mode (ap, IW_MODE_INFRA); + nm_ap_set_mode (ap, NM_802_11_MODE_INFRA); else if (!strcmp (s_wireless->mode, "adhoc")) - nm_ap_set_mode (ap, IW_MODE_ADHOC); + nm_ap_set_mode (ap, NM_802_11_MODE_ADHOC); else goto error; } else { - nm_ap_set_mode (ap, IW_MODE_INFRA); + nm_ap_set_mode (ap, NM_802_11_MODE_INFRA); } if (s_wireless->band && s_wireless->channel) { @@ -876,9 +876,9 @@ void nm_ap_set_address (NMAccessPoint *ap, const struct ether_addr * addr) * Get/set functions for mode (ie Ad-Hoc, Infrastructure, etc) * */ -int nm_ap_get_mode (NMAccessPoint *ap) +NM80211Mode nm_ap_get_mode (NMAccessPoint *ap) { - int mode; + NM80211Mode mode; g_return_val_if_fail (NM_IS_AP (ap), -1); @@ -887,13 +887,13 @@ int nm_ap_get_mode (NMAccessPoint *ap) return mode; } -void nm_ap_set_mode (NMAccessPoint *ap, const int mode) +void nm_ap_set_mode (NMAccessPoint *ap, const NM80211Mode mode) { NMAccessPointPrivate *priv; g_return_if_fail (NM_IS_AP (ap)); - if (mode == IW_MODE_ADHOC || mode == IW_MODE_INFRA) { + if (mode == NM_802_11_MODE_ADHOC || mode == NM_802_11_MODE_INFRA) { priv = NM_AP_GET_PRIVATE (ap); if (priv->mode != mode) { @@ -1216,10 +1216,10 @@ nm_ap_check_compatible (NMAccessPoint *self, if (s_wireless->mode) { if ( !strcmp (s_wireless->mode, "infrastructure") - && (priv->mode != IW_MODE_INFRA)) + && (priv->mode != NM_802_11_MODE_INFRA)) return FALSE; if ( !strcmp (s_wireless->mode, "adhoc") - && (priv->mode != IW_MODE_ADHOC)) + && (priv->mode != NM_802_11_MODE_ADHOC)) return FALSE; } diff --git a/src/NetworkManagerAP.h b/src/NetworkManagerAP.h index 7a588053f4..d70da9dc3d 100644 --- a/src/NetworkManagerAP.h +++ b/src/NetworkManagerAP.h @@ -84,8 +84,8 @@ void nm_ap_set_rsn_flags (NMAccessPoint *ap, guint32 flags); const struct ether_addr * nm_ap_get_address (const NMAccessPoint *ap); void nm_ap_set_address (NMAccessPoint *ap, const struct ether_addr *addr); -int nm_ap_get_mode (NMAccessPoint *ap); -void nm_ap_set_mode (NMAccessPoint *ap, const int mode); +NM80211Mode nm_ap_get_mode (NMAccessPoint *ap); +void nm_ap_set_mode (NMAccessPoint *ap, const NM80211Mode mode); gint8 nm_ap_get_strength (NMAccessPoint *ap); void nm_ap_set_strength (NMAccessPoint *ap, gint8 strength); diff --git a/src/nm-device-802-11-wireless.c b/src/nm-device-802-11-wireless.c index c1c94dd4b3..08eddc8ff3 100644 --- a/src/nm-device-802-11-wireless.c +++ b/src/nm-device-802-11-wireless.c @@ -742,7 +742,7 @@ real_bring_up (NMDevice *dev) NMDevice80211Wireless *self = NM_DEVICE_802_11_WIRELESS (dev); NMDevice80211WirelessPrivate *priv = NM_DEVICE_802_11_WIRELESS_GET_PRIVATE (self); - nm_device_802_11_wireless_set_mode (self, IW_MODE_INFRA); + nm_device_802_11_wireless_set_mode (self, NM_802_11_MODE_INFRA); priv->supplicant.mgr = nm_supplicant_manager_get (); priv->supplicant.mgr_state_id = g_signal_connect (priv->supplicant.mgr, @@ -827,7 +827,7 @@ real_deactivate (NMDevice *dev) { NMDevice80211Wireless * self = NM_DEVICE_802_11_WIRELESS (dev); - nm_device_802_11_wireless_set_mode (self, IW_MODE_INFRA); + nm_device_802_11_wireless_set_mode (self, NM_802_11_MODE_INFRA); /* FIXME: Should we reset the scan interval here? */ /* nm_device_802_11_wireless_set_scan_interval (app_data, self, NM_WIRELESS_SCAN_INTERVAL_ACTIVE); */ } @@ -999,15 +999,15 @@ impl_device_get_access_points (NMDevice80211Wireless *self, * Get managed/infrastructure/adhoc mode on a device * */ -int +NM80211Mode nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *self) { int fd; - int mode = IW_MODE_AUTO; + NM80211Mode mode = NM_802_11_MODE_UNKNOWN; const char *iface; struct iwreq wrq; - g_return_val_if_fail (self != NULL, -1); + g_return_val_if_fail (self != NULL, NM_802_11_MODE_UNKNOWN); fd = socket (PF_INET, SOCK_DGRAM, 0); if (fd < 0) @@ -1018,8 +1018,16 @@ nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *self) strncpy (wrq.ifr_name, iface, IFNAMSIZ); if (ioctl (fd, SIOCGIWMODE, &wrq) == 0) { - if ((wrq.u.mode == IW_MODE_ADHOC) || (wrq.u.mode == IW_MODE_INFRA)) - mode = wrq.u.mode; + switch (wrq.u.mode) { + case IW_MODE_ADHOC: + mode = NM_802_11_MODE_ADHOC; + break; + case IW_MODE_INFRA: + mode = NM_802_11_MODE_INFRA; + break; + default: + break; + } } else { if (errno != ENODEV) nm_warning ("error getting card mode on %s: %s", iface, strerror (errno)); @@ -1039,7 +1047,7 @@ out: */ gboolean nm_device_802_11_wireless_set_mode (NMDevice80211Wireless *self, - const int mode) + const NM80211Mode mode) { int fd; const char *iface; @@ -1047,7 +1055,7 @@ nm_device_802_11_wireless_set_mode (NMDevice80211Wireless *self, struct iwreq wrq; g_return_val_if_fail (self != NULL, FALSE); - g_return_val_if_fail ((mode == IW_MODE_INFRA) || (mode == IW_MODE_ADHOC) || (mode == IW_MODE_AUTO), FALSE); + g_return_val_if_fail ((mode == NM_802_11_MODE_INFRA) || (mode == NM_802_11_MODE_ADHOC), FALSE); if (nm_device_802_11_wireless_get_mode (self) == mode) return TRUE; @@ -1057,7 +1065,17 @@ nm_device_802_11_wireless_set_mode (NMDevice80211Wireless *self, goto out; memset (&wrq, 0, sizeof (struct iwreq)); - wrq.u.mode = mode; + switch (mode) { + case NM_802_11_MODE_ADHOC: + wrq.u.mode = IW_MODE_ADHOC; + break; + case NM_802_11_MODE_INFRA: + wrq.u.mode = IW_MODE_INFRA; + break; + default: + goto out; + } + iface = nm_device_get_iface (NM_DEVICE (self)); strncpy (wrq.ifr_name, iface, IFNAMSIZ); @@ -1613,7 +1631,7 @@ ap_auth_enforced (NMConnection *connection, wpa_flags = nm_ap_get_wpa_flags (ap); rsn_flags = nm_ap_get_rsn_flags (ap); - if (nm_ap_get_mode (ap) == IW_MODE_ADHOC) + if (nm_ap_get_mode (ap) == NM_802_11_MODE_ADHOC) goto out; /* Static WEP */ @@ -2453,7 +2471,7 @@ build_supplicant_config (NMDevice80211Wireless *self, /* Figure out the Ad-Hoc frequency to use if creating an adhoc network; if * nothing was specified then pick something usable. */ - if ((nm_ap_get_mode (ap) == IW_MODE_ADHOC) && nm_ap_get_user_created (ap)) { + if ((nm_ap_get_mode (ap) == NM_802_11_MODE_ADHOC) && nm_ap_get_user_created (ap)) { adhoc_freq = nm_ap_get_freq (ap); if (!adhoc_freq) { if (s_wireless->band && !strcmp (s_wireless->band, "a")) { @@ -2590,10 +2608,10 @@ real_act_stage1_prepare (NMDevice *dev) g_return_val_if_fail (ap != NULL, NM_ACT_STAGE_RETURN_FAILURE); switch (nm_ap_get_mode (ap)) { - case IW_MODE_ADHOC: + case NM_802_11_MODE_ADHOC: nm_ap_set_user_created (ap, TRUE); break; - case IW_MODE_INFRA: + case NM_802_11_MODE_INFRA: default: nm_ap_set_broadcast (ap, FALSE); break; @@ -2806,7 +2824,7 @@ real_act_stage4_ip_config_timeout (NMDevice *dev, nm_info ("Activation (%s/wireless): asking for new secrets", nm_device_get_iface (dev)); } - } else if (nm_ap_get_mode (ap) == IW_MODE_ADHOC) { + } else if (nm_ap_get_mode (ap) == NM_802_11_MODE_ADHOC) { NMDevice80211WirelessClass * klass; NMDeviceClass * parent_class; @@ -2989,7 +3007,7 @@ get_property (GObject *object, guint prop_id, g_value_take_string (value, nm_ether_ntop (&hw_addr)); break; case PROP_MODE: - g_value_set_int (value, nm_device_802_11_wireless_get_mode (device)); + g_value_set_uint (value, nm_device_802_11_wireless_get_mode (device)); break; case PROP_BITRATE: g_value_set_uint (value, priv->rate); @@ -3050,11 +3068,11 @@ nm_device_802_11_wireless_class_init (NMDevice80211WirelessClass *klass) G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_MODE, - g_param_spec_int (NM_DEVICE_802_11_WIRELESS_MODE, - "Mode", - "Mode", - 0, G_MAXINT32, 0, - G_PARAM_READABLE)); + g_param_spec_uint (NM_DEVICE_802_11_WIRELESS_MODE, + "Mode", + "Mode", + NM_802_11_MODE_UNKNOWN, NM_802_11_MODE_INFRA, NM_802_11_MODE_INFRA, + G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_BITRATE, g_param_spec_uint (NM_DEVICE_802_11_WIRELESS_BITRATE, diff --git a/src/nm-device-802-11-wireless.h b/src/nm-device-802-11-wireless.h index 59b30794f3..613f333f20 100644 --- a/src/nm-device-802-11-wireless.h +++ b/src/nm-device-802-11-wireless.h @@ -97,9 +97,9 @@ void nm_device_802_11_wireless_get_bssid (NMDevice80211Wireless *dev, const GByteArray * nm_device_802_11_wireless_get_ssid (NMDevice80211Wireless *self); gboolean nm_device_802_11_wireless_set_mode (NMDevice80211Wireless *self, - const int mode); + const NM80211Mode mode); -int nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *self); +NM80211Mode nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *self); NMAccessPoint * nm_device_802_11_wireless_get_activation_ap (NMDevice80211Wireless *self); diff --git a/test/nm-tool.c b/test/nm-tool.c index 5c852a571d..41c695bdc5 100644 --- a/test/nm-tool.c +++ b/test/nm-tool.c @@ -26,8 +26,6 @@ #include #include -#include "wireless-helper.h" - #include #include #include @@ -122,7 +120,7 @@ detail_access_point (gpointer data, gpointer user_data) str = g_string_new (NULL); g_string_append_printf (str, "%s, %s, Freq %d MHz, Rate %d Mb/s, Strength %d", - (nm_access_point_get_mode (ap) == IW_MODE_INFRA) ? "Infra" : "Ad-Hoc", + (nm_access_point_get_mode (ap) == NM_802_11_MODE_INFRA) ? "Infra" : "Ad-Hoc", nm_access_point_get_hw_address (ap), nm_access_point_get_frequency (ap), nm_access_point_get_max_bitrate (ap) / 1000,