summaryrefslogtreecommitdiff
path: root/examples/C/glib/get-ap-info-libnm.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/C/glib/get-ap-info-libnm.c')
-rw-r--r--examples/C/glib/get-ap-info-libnm.c356
1 files changed, 179 insertions, 177 deletions
diff --git a/examples/C/glib/get-ap-info-libnm.c b/examples/C/glib/get-ap-info-libnm.c
index 85242b0e76..24423e49c2 100644
--- a/examples/C/glib/get-ap-info-libnm.c
+++ b/examples/C/glib/get-ap-info-libnm.c
@@ -19,194 +19,196 @@
/* Convert flags to string */
static char *
-ap_wpa_rsn_flags_to_string (guint32 flags)
+ap_wpa_rsn_flags_to_string(guint32 flags)
{
- char *flags_str[16]; /* Enough space for flags and terminating NULL */
- char *ret_str;
- int i = 0;
-
- if (flags & NM_802_11_AP_SEC_PAIR_WEP40)
- flags_str[i++] = g_strdup ("pair_wpe40");
- if (flags & NM_802_11_AP_SEC_PAIR_WEP104)
- flags_str[i++] = g_strdup ("pair_wpe104");
- if (flags & NM_802_11_AP_SEC_PAIR_TKIP)
- flags_str[i++] = g_strdup ("pair_tkip");
- if (flags & NM_802_11_AP_SEC_PAIR_CCMP)
- flags_str[i++] = g_strdup ("pair_ccmp");
- if (flags & NM_802_11_AP_SEC_GROUP_WEP40)
- flags_str[i++] = g_strdup ("group_wpe40");
- if (flags & NM_802_11_AP_SEC_GROUP_WEP104)
- flags_str[i++] = g_strdup ("group_wpe104");
- if (flags & NM_802_11_AP_SEC_GROUP_TKIP)
- flags_str[i++] = g_strdup ("group_tkip");
- if (flags & NM_802_11_AP_SEC_GROUP_CCMP)
- flags_str[i++] = g_strdup ("group_ccmp");
- if (flags & NM_802_11_AP_SEC_KEY_MGMT_PSK)
- flags_str[i++] = g_strdup ("psk");
- if (flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X)
- flags_str[i++] = g_strdup ("802.1X");
-
- if (i == 0)
- flags_str[i++] = g_strdup ("none");
-
- flags_str[i] = NULL;
-
- ret_str = g_strjoinv (" ", flags_str);
-
- i = 0;
- while (flags_str[i])
- g_free (flags_str[i++]);
-
- return ret_str;
+ char *flags_str[16]; /* Enough space for flags and terminating NULL */
+ char *ret_str;
+ int i = 0;
+
+ if (flags & NM_802_11_AP_SEC_PAIR_WEP40)
+ flags_str[i++] = g_strdup("pair_wpe40");
+ if (flags & NM_802_11_AP_SEC_PAIR_WEP104)
+ flags_str[i++] = g_strdup("pair_wpe104");
+ if (flags & NM_802_11_AP_SEC_PAIR_TKIP)
+ flags_str[i++] = g_strdup("pair_tkip");
+ if (flags & NM_802_11_AP_SEC_PAIR_CCMP)
+ flags_str[i++] = g_strdup("pair_ccmp");
+ if (flags & NM_802_11_AP_SEC_GROUP_WEP40)
+ flags_str[i++] = g_strdup("group_wpe40");
+ if (flags & NM_802_11_AP_SEC_GROUP_WEP104)
+ flags_str[i++] = g_strdup("group_wpe104");
+ if (flags & NM_802_11_AP_SEC_GROUP_TKIP)
+ flags_str[i++] = g_strdup("group_tkip");
+ if (flags & NM_802_11_AP_SEC_GROUP_CCMP)
+ flags_str[i++] = g_strdup("group_ccmp");
+ if (flags & NM_802_11_AP_SEC_KEY_MGMT_PSK)
+ flags_str[i++] = g_strdup("psk");
+ if (flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X)
+ flags_str[i++] = g_strdup("802.1X");
+
+ if (i == 0)
+ flags_str[i++] = g_strdup("none");
+
+ flags_str[i] = NULL;
+
+ ret_str = g_strjoinv(" ", flags_str);
+
+ i = 0;
+ while (flags_str[i])
+ g_free(flags_str[i++]);
+
+ return ret_str;
}
static void
-show_access_point_info (NMAccessPoint *ap)
+show_access_point_info(NMAccessPoint *ap)
{
- guint32 flags, wpa_flags, rsn_flags, freq, bitrate;
- guint8 strength;
- GBytes *ssid;
- const char *hwaddr;
- NM80211Mode mode;
- char *freq_str, *ssid_str, *bitrate_str, *strength_str, *wpa_flags_str, *rsn_flags_str;
- GString *security_str;
-
- /* Get AP properties */
- flags = nm_access_point_get_flags (ap);
- wpa_flags = nm_access_point_get_wpa_flags (ap);
- rsn_flags = nm_access_point_get_rsn_flags (ap);
- ssid = nm_access_point_get_ssid (ap);
- hwaddr = nm_access_point_get_bssid (ap);
- freq = nm_access_point_get_frequency (ap);
- mode = nm_access_point_get_mode (ap);
- bitrate = nm_access_point_get_max_bitrate (ap);
- strength = nm_access_point_get_strength (ap);
-
- /* Convert to strings */
- if (ssid)
- ssid_str = nm_utils_ssid_to_utf8 (g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid));
- else
- ssid_str = g_strdup ("--");
- freq_str = g_strdup_printf ("%u MHz", freq);
- bitrate_str = g_strdup_printf ("%u Mbit/s", bitrate/1000);
- strength_str = g_strdup_printf ("%u", strength);
- wpa_flags_str = ap_wpa_rsn_flags_to_string (wpa_flags);
- rsn_flags_str = ap_wpa_rsn_flags_to_string (rsn_flags);
-
- security_str = g_string_new (NULL);
- if ( !(flags & NM_802_11_AP_FLAGS_PRIVACY)
- && (wpa_flags != NM_802_11_AP_SEC_NONE)
- && (rsn_flags != NM_802_11_AP_SEC_NONE))
- g_string_append (security_str, "Encrypted: ");
-
- if ( (flags & NM_802_11_AP_FLAGS_PRIVACY)
- && (wpa_flags == NM_802_11_AP_SEC_NONE)
- && (rsn_flags == NM_802_11_AP_SEC_NONE))
- g_string_append (security_str, "WEP ");
- if (wpa_flags != NM_802_11_AP_SEC_NONE)
- g_string_append (security_str, "WPA ");
- if (rsn_flags != NM_802_11_AP_SEC_NONE)
- g_string_append (security_str, "WPA2 ");
- if ( (wpa_flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X)
- || (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X))
- g_string_append (security_str, "Enterprise ");
-
- if (security_str->len > 0)
- g_string_truncate (security_str, security_str->len-1); /* Chop off last space */
-
- printf ("SSID: %s\n", ssid_str);
- printf ("BSSID: %s\n", hwaddr);
- printf ("Mode: %s\n", mode == NM_802_11_MODE_ADHOC ? "Ad-Hoc"
- : mode == NM_802_11_MODE_INFRA ? "Infrastructure"
- : "Unknown");
- printf ("Freq: %s\n", freq_str);
- printf ("Bitrate: %s\n", bitrate_str);
- printf ("Strength: %s\n", strength_str);
- printf ("Security: %s\n", security_str->str);
- printf ("WPA flags: %s\n", wpa_flags_str);
- printf ("RSN flags: %s\n", rsn_flags_str);
- printf ("D-Bus path: %s\n\n", nm_object_get_path (NM_OBJECT (ap)));
-
- g_free (ssid_str);
- g_free (freq_str);
- g_free (bitrate_str);
- g_free (strength_str);
- g_free (wpa_flags_str);
- g_free (rsn_flags_str);
- g_string_free (security_str, TRUE);
+ guint32 flags, wpa_flags, rsn_flags, freq, bitrate;
+ guint8 strength;
+ GBytes * ssid;
+ const char *hwaddr;
+ NM80211Mode mode;
+ char * freq_str, *ssid_str, *bitrate_str, *strength_str, *wpa_flags_str, *rsn_flags_str;
+ GString * security_str;
+
+ /* Get AP properties */
+ flags = nm_access_point_get_flags(ap);
+ wpa_flags = nm_access_point_get_wpa_flags(ap);
+ rsn_flags = nm_access_point_get_rsn_flags(ap);
+ ssid = nm_access_point_get_ssid(ap);
+ hwaddr = nm_access_point_get_bssid(ap);
+ freq = nm_access_point_get_frequency(ap);
+ mode = nm_access_point_get_mode(ap);
+ bitrate = nm_access_point_get_max_bitrate(ap);
+ strength = nm_access_point_get_strength(ap);
+
+ /* Convert to strings */
+ if (ssid)
+ ssid_str = nm_utils_ssid_to_utf8(g_bytes_get_data(ssid, NULL), g_bytes_get_size(ssid));
+ else
+ ssid_str = g_strdup("--");
+ freq_str = g_strdup_printf("%u MHz", freq);
+ bitrate_str = g_strdup_printf("%u Mbit/s", bitrate / 1000);
+ strength_str = g_strdup_printf("%u", strength);
+ wpa_flags_str = ap_wpa_rsn_flags_to_string(wpa_flags);
+ rsn_flags_str = ap_wpa_rsn_flags_to_string(rsn_flags);
+
+ security_str = g_string_new(NULL);
+ if (!(flags & NM_802_11_AP_FLAGS_PRIVACY) && (wpa_flags != NM_802_11_AP_SEC_NONE)
+ && (rsn_flags != NM_802_11_AP_SEC_NONE))
+ g_string_append(security_str, "Encrypted: ");
+
+ if ((flags & NM_802_11_AP_FLAGS_PRIVACY) && (wpa_flags == NM_802_11_AP_SEC_NONE)
+ && (rsn_flags == NM_802_11_AP_SEC_NONE))
+ g_string_append(security_str, "WEP ");
+ if (wpa_flags != NM_802_11_AP_SEC_NONE)
+ g_string_append(security_str, "WPA ");
+ if (rsn_flags != NM_802_11_AP_SEC_NONE)
+ g_string_append(security_str, "WPA2 ");
+ if ((wpa_flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X)
+ || (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X))
+ g_string_append(security_str, "Enterprise ");
+
+ if (security_str->len > 0)
+ g_string_truncate(security_str, security_str->len - 1); /* Chop off last space */
+
+ printf("SSID: %s\n", ssid_str);
+ printf("BSSID: %s\n", hwaddr);
+ printf("Mode: %s\n",
+ mode == NM_802_11_MODE_ADHOC ? "Ad-Hoc"
+ : mode == NM_802_11_MODE_INFRA ? "Infrastructure"
+ : "Unknown");
+ printf("Freq: %s\n", freq_str);
+ printf("Bitrate: %s\n", bitrate_str);
+ printf("Strength: %s\n", strength_str);
+ printf("Security: %s\n", security_str->str);
+ printf("WPA flags: %s\n", wpa_flags_str);
+ printf("RSN flags: %s\n", rsn_flags_str);
+ printf("D-Bus path: %s\n\n", nm_object_get_path(NM_OBJECT(ap)));
+
+ g_free(ssid_str);
+ g_free(freq_str);
+ g_free(bitrate_str);
+ g_free(strength_str);
+ g_free(wpa_flags_str);
+ g_free(rsn_flags_str);
+ g_string_free(security_str, TRUE);
}
static void
-show_wifi_device_info (NMDevice *device)
+show_wifi_device_info(NMDevice *device)
{
- NMAccessPoint *active_ap = NULL;
- const GPtrArray *aps;
- const char *iface;
- const char *driver;
- guint32 speed;
- GBytes *active_ssid;
- char *active_ssid_str = NULL;
- int i;
-
- /* Get active AP */
- if (nm_device_get_state (device) == NM_DEVICE_STATE_ACTIVATED) {
- if ((active_ap = nm_device_wifi_get_active_access_point (NM_DEVICE_WIFI (device)))) {
- active_ssid = nm_access_point_get_ssid (active_ap);
- if (active_ssid)
- active_ssid_str = nm_utils_ssid_to_utf8 (g_bytes_get_data (active_ssid, NULL),
- g_bytes_get_size (active_ssid));
- else
- active_ssid_str = g_strdup ("--");
- }
- }
-
- iface = nm_device_get_iface (device);
- driver = nm_device_get_driver (device);
- speed = nm_device_wifi_get_bitrate (NM_DEVICE_WIFI (device));
- speed /= 1000;
-
- printf ("Device: %s ---- Driver: %s ---- Speed: %d Mbit/s ---- Active AP: %s\n",
- iface, driver, speed, active_ssid_str ?: "none");
- printf ("=================================================================================\n");
- g_free (active_ssid_str);
-
- /* Get all APs of the Wi-Fi device */
- aps = nm_device_wifi_get_access_points (NM_DEVICE_WIFI (device));
-
- /* Print AP details */
- for (i = 0; i < aps->len; i++) {
- NMAccessPoint *ap = g_ptr_array_index (aps, i);
- show_access_point_info (ap);
- }
+ NMAccessPoint * active_ap = NULL;
+ const GPtrArray *aps;
+ const char * iface;
+ const char * driver;
+ guint32 speed;
+ GBytes * active_ssid;
+ char * active_ssid_str = NULL;
+ int i;
+
+ /* Get active AP */
+ if (nm_device_get_state(device) == NM_DEVICE_STATE_ACTIVATED) {
+ if ((active_ap = nm_device_wifi_get_active_access_point(NM_DEVICE_WIFI(device)))) {
+ active_ssid = nm_access_point_get_ssid(active_ap);
+ if (active_ssid)
+ active_ssid_str = nm_utils_ssid_to_utf8(g_bytes_get_data(active_ssid, NULL),
+ g_bytes_get_size(active_ssid));
+ else
+ active_ssid_str = g_strdup("--");
+ }
+ }
+
+ iface = nm_device_get_iface(device);
+ driver = nm_device_get_driver(device);
+ speed = nm_device_wifi_get_bitrate(NM_DEVICE_WIFI(device));
+ speed /= 1000;
+
+ printf("Device: %s ---- Driver: %s ---- Speed: %d Mbit/s ---- Active AP: %s\n",
+ iface,
+ driver,
+ speed,
+ active_ssid_str ?: "none");
+ printf("=================================================================================\n");
+ g_free(active_ssid_str);
+
+ /* Get all APs of the Wi-Fi device */
+ aps = nm_device_wifi_get_access_points(NM_DEVICE_WIFI(device));
+
+ /* Print AP details */
+ for (i = 0; i < aps->len; i++) {
+ NMAccessPoint *ap = g_ptr_array_index(aps, i);
+ show_access_point_info(ap);
+ }
}
int
-main (int argc, char *argv[])
+main(int argc, char *argv[])
{
- NMClient *client;
- const GPtrArray *devices;
- int i;
- GError *error = NULL;
-
- /* Get NMClient object */
- client = nm_client_new (NULL, &error);
- if (!client) {
- g_message ("Error: Could not create NMClient: %s.", error->message);
- g_error_free (error);
- return EXIT_FAILURE;
- }
-
- /* Get all devices managed by NetworkManager */
- devices = nm_client_get_devices (client);
-
- /* Go through the array and process Wi-Fi devices */
- for (i = 0; i < devices->len; i++) {
- NMDevice *device = g_ptr_array_index (devices, i);
- if (NM_IS_DEVICE_WIFI (device))
- show_wifi_device_info (device);
- }
-
- g_object_unref (client);
-
- return EXIT_SUCCESS;
+ NMClient * client;
+ const GPtrArray *devices;
+ int i;
+ GError * error = NULL;
+
+ /* Get NMClient object */
+ client = nm_client_new(NULL, &error);
+ if (!client) {
+ g_message("Error: Could not create NMClient: %s.", error->message);
+ g_error_free(error);
+ return EXIT_FAILURE;
+ }
+
+ /* Get all devices managed by NetworkManager */
+ devices = nm_client_get_devices(client);
+
+ /* Go through the array and process Wi-Fi devices */
+ for (i = 0; i < devices->len; i++) {
+ NMDevice *device = g_ptr_array_index(devices, i);
+ if (NM_IS_DEVICE_WIFI(device))
+ show_wifi_device_info(device);
+ }
+
+ g_object_unref(client);
+
+ return EXIT_SUCCESS;
}