diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2011-01-14 18:59:11 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-02-02 18:45:35 +0100 |
commit | fe35ac1aaf5897104963012fef42573f391ff2b4 (patch) | |
tree | fd022b6bb2392be1639567d44744d069f9e16f2c /gsupplicant | |
parent | 84ca3da23a5d84b16ec13d2f56ff49be67b1669c (diff) | |
download | connman-fe35ac1aaf5897104963012fef42573f391ff2b4.tar.gz connman-fe35ac1aaf5897104963012fef42573f391ff2b4.tar.bz2 connman-fe35ac1aaf5897104963012fef42573f391ff2b4.zip |
gsupplicant: Add network mode support
Diffstat (limited to 'gsupplicant')
-rw-r--r-- | gsupplicant/gsupplicant.h | 1 | ||||
-rw-r--r-- | gsupplicant/supplicant.c | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 0df86408..c2462f4b 100644 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -74,6 +74,7 @@ typedef enum { G_SUPPLICANT_MODE_UNKNOWN, G_SUPPLICANT_MODE_INFRA, G_SUPPLICANT_MODE_IBSS, + G_SUPPLICANT_MODE_MASTER, } GSupplicantMode; typedef enum { diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 8c91a839..2e178688 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -244,6 +244,8 @@ static const char *mode2string(GSupplicantMode mode) return "managed"; case G_SUPPLICANT_MODE_IBSS: return "adhoc"; + case G_SUPPLICANT_MODE_MASTER: + return "ap"; } return NULL; @@ -2651,6 +2653,27 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid) DBUS_TYPE_STRING, &key_mgmt); } +static void add_network_mode(DBusMessageIter *dict, GSupplicantSSID *ssid) +{ + dbus_uint32_t mode; + + switch (ssid->mode) { + case G_SUPPLICANT_MODE_UNKNOWN: + case G_SUPPLICANT_MODE_INFRA: + mode = 0; + break; + case G_SUPPLICANT_MODE_IBSS: + mode = 1; + break; + case G_SUPPLICANT_MODE_MASTER: + mode = 2; + break; + } + + supplicant_dbus_dict_append_basic(dict, "mode", + DBUS_TYPE_UINT32, &mode); +} + static void interface_add_network_params(DBusMessageIter *iter, void *user_data) { DBusMessageIter dict; @@ -2663,6 +2686,8 @@ static void interface_add_network_params(DBusMessageIter *iter, void *user_data) supplicant_dbus_dict_append_basic(&dict, "scan_ssid", DBUS_TYPE_UINT32, &scan_ssid); + add_network_mode(&dict, ssid); + add_network_security(&dict, ssid); supplicant_dbus_dict_append_fixed_array(&dict, "ssid", |