diff options
Diffstat (limited to 'netspeed/src')
-rw-r--r-- | netspeed/src/backend.c | 233 | ||||
-rw-r--r-- | netspeed/src/backend.h | 14 | ||||
-rw-r--r-- | netspeed/src/ieee80211.h | 35 | ||||
-rw-r--r-- | netspeed/src/netspeed.c | 1345 | ||||
-rw-r--r-- | netspeed/src/nl80211.h | 6896 |
5 files changed, 4283 insertions, 4240 deletions
diff --git a/netspeed/src/backend.c b/netspeed/src/backend.c index afbdea2e..110173d6 100644 --- a/netspeed/src/backend.c +++ b/netspeed/src/backend.c @@ -59,27 +59,27 @@ struct nl80211_state { #endif /* HAVE_NL */ gboolean -is_dummy_device(const char* device) +is_dummy_device (const char* device) { - glibtop_netload netload; - glibtop_get_netload(&netload, device); - - if (netload.if_flags & (1 << GLIBTOP_IF_FLAGS_LOOPBACK)) - return TRUE; - - /* Skip interfaces without any IPv4/IPv6 address (or - those with only a LINK ipv6 addr) However we need to - be able to exclude these while still keeping the - value so when they get online (with NetworkManager - for example) we don't get a suddent peak. Once we're - able to get this, ignoring down interfaces will be - possible too. */ - if (!(netload.flags & (1 << GLIBTOP_NETLOAD_ADDRESS6) - && netload.scope6 != GLIBTOP_IF_IN6_SCOPE_LINK) - && !(netload.flags & (1 << GLIBTOP_NETLOAD_ADDRESS))) - return TRUE; - - return FALSE; + glibtop_netload netload; + glibtop_get_netload (&netload, device); + + if (netload.if_flags & (1 << GLIBTOP_IF_FLAGS_LOOPBACK)) + return TRUE; + + /* Skip interfaces without any IPv4/IPv6 address (or + those with only a LINK ipv6 addr) However we need to + be able to exclude these while still keeping the + value so when they get online (with NetworkManager + for example) we don't get a suddent peak. Once we're + able to get this, ignoring down interfaces will be + possible too. */ + if (!(netload.flags & (1 << GLIBTOP_NETLOAD_ADDRESS6) + && netload.scope6 != GLIBTOP_IF_IN6_SCOPE_LINK) + && !(netload.flags & (1 << GLIBTOP_NETLOAD_ADDRESS))) + return TRUE; + + return FALSE; } @@ -88,62 +88,63 @@ is_dummy_device(const char* device) * TODO: drop it, use glibtop_get_netlist directly / gchar** */ GList* -get_available_devices(void) +get_available_devices (void) { - glibtop_netlist buf; - char **devices, **dev; - GList *device_glist = NULL; + glibtop_netlist buf; + char **devices, **dev; + GList *device_glist = NULL; - devices = glibtop_get_netlist(&buf); + devices = glibtop_get_netlist (&buf); - for(dev = devices; *dev; ++dev) { - device_glist = g_list_prepend(device_glist, g_strdup(*dev)); - } + for (dev = devices; *dev; ++dev) { + device_glist = g_list_prepend (device_glist, g_strdup (*dev)); + } - g_strfreev(devices); + g_strfreev (devices); - return device_glist; + return device_glist; } const gchar* -get_default_route(void) +get_default_route (void) { - FILE *fp; - static char device[50]; + FILE *fp; + static char device[50]; - fp = fopen("/proc/net/route", "r"); + fp = fopen ("/proc/net/route", "r"); - if (fp == NULL) return NULL; + if (fp == NULL) return NULL; - while (!feof(fp)) { - char buffer[1024]; - unsigned int ip, gw, flags, ref, use, metric, mask, mtu, window, irtt; - int retval; - char *rv; + while (!feof (fp)) { + char buffer[1024]; + unsigned int ip, gw, flags, ref, use, metric, mask, mtu, window, irtt; + int retval; + char *rv; - rv = fgets(buffer, 1024, fp); - if (!rv) { - break; - } + rv = fgets (buffer, 1024, fp); + if (!rv) { + break; + } - retval = sscanf(buffer, "%49s %x %x %x %u %u %u %x %u %u %u", - device, &ip, &gw, &flags, &ref, &use, &metric, &mask, &mtu, &window, &irtt); + retval = sscanf (buffer, "%49s %x %x %x %u %u %u %x %u %u %u", + device, &ip, &gw, &flags, &ref, &use, &metric, + &mask, &mtu, &window, &irtt); - if (retval != 11) continue; + if (retval != 11) continue; - if (ip == 0 && !is_dummy_device(device)) { - fclose(fp); - return device; - } - } - fclose(fp); - return NULL; + if (ip == 0 && !is_dummy_device (device)) { + fclose (fp); + return device; + } + } + fclose (fp); + return NULL; } void -free_devices_list(GList *list) +free_devices_list (GList *list) { - g_list_free_full (list, g_free); + g_list_free_full (list, g_free); } /* Frees a DevInfo struct and all the stuff it contains @@ -175,13 +176,13 @@ get_ptp_info (DevInfo *devinfo) if ((fd = socket (AF_INET, SOCK_STREAM, 0)) < 0) return; - if (ioctl(fd, SIOCGIFDSTADDR, &request) >= 0) { + if (ioctl (fd, SIOCGIFDSTADDR, &request) >= 0) { struct sockaddr_in* addr; addr = (struct sockaddr_in*)&request.ifr_dstaddr; devinfo->ptpip = addr->sin_addr.s_addr; } - close(fd); + close (fd); } void @@ -192,7 +193,7 @@ get_device_info (const char *device, glibtop_netload netload; gboolean ptp = FALSE; - g_assert(device); + g_assert (device); *info = g_new0 (DevInfo, 1); devinfo = *info; @@ -211,11 +212,11 @@ get_device_info (const char *device, else if (netload.if_flags & (1L << GLIBTOP_IF_FLAGS_WIRELESS)) { devinfo->type = DEV_WIRELESS; } - else if(netload.if_flags & (1L << GLIBTOP_IF_FLAGS_POINTOPOINT)) { - if (g_str_has_prefix(device, "plip")) { + else if (netload.if_flags & (1L << GLIBTOP_IF_FLAGS_POINTOPOINT)) { + if (g_str_has_prefix (device, "plip")) { devinfo->type = DEV_PLIP; } - else if (g_str_has_prefix(device, "sl")) { + else if (g_str_has_prefix (device, "sl")) { devinfo->type = DEV_SLIP; } else { @@ -268,63 +269,67 @@ gboolean compare_device_info (const DevInfo *a, const DevInfo *b) { - g_assert(a && b); - g_assert(a->name && b->name); - - if (!g_str_equal(a->name, b->name)) return TRUE; - if (a->ip != b->ip) return TRUE; - /* Ignore hwaddr, ptpip and netmask... I think this is ok */ - if (a->up != b->up) return TRUE; - if (a->running != b->running) return TRUE; - - return FALSE; + g_assert (a && b); + g_assert (a->name && b->name); + + if (!g_str_equal (a->name, b->name)) + return TRUE; + if (a->ip != b->ip) + return TRUE; + /* Ignore hwaddr, ptpip and netmask... I think this is ok */ + if (a->up != b->up) + return TRUE; + if (a->running != b->running) + return TRUE; + + return FALSE; } #ifdef HAVE_IW void get_wireless_info (DevInfo *devinfo) { - int fd; - int newqual; - wireless_info info = {0}; + int fd; + int newqual; + wireless_info info = {0}; - fd = iw_sockets_open (); + fd = iw_sockets_open (); - if (fd < 0) - return; + if (fd < 0) + return; - if (iw_get_basic_config (fd, devinfo->name, &info.b) < 0) - goto out; + if (iw_get_basic_config (fd, devinfo->name, &info.b) < 0) + goto out; - if (info.b.has_essid) { - if ((!devinfo->essid) || (strcmp (devinfo->essid, info.b.essid) != 0)) { - devinfo->essid = g_strdup (info.b.essid); - } - } else { - devinfo->essid = NULL; - } + if (info.b.has_essid) { + if ((!devinfo->essid) || (strcmp (devinfo->essid, info.b.essid) != 0)) { + devinfo->essid = g_strdup (info.b.essid); + } + } else { + devinfo->essid = NULL; + } - if (iw_get_stats (fd, devinfo->name, &info.stats, &info.range, info.has_range) >= 0) - info.has_stats = 1; + if (iw_get_stats (fd, devinfo->name, &info.stats, &info.range, info.has_range) >= 0) + info.has_stats = 1; - if (info.has_stats) { - if ((iw_get_range_info(fd, devinfo->name, &info.range) >= 0) && (info.range.max_qual.qual > 0)) { - newqual = 0.5f + (100.0f * info.stats.qual.qual) / (1.0f * info.range.max_qual.qual); - } else { - newqual = info.stats.qual.qual; - } + if (info.has_stats) { + if ((iw_get_range_info (fd, devinfo->name, &info.range) >= 0) && (info.range.max_qual.qual > 0)) { + newqual = 0.5f + (100.0f * info.stats.qual.qual) / (1.0f * info.range.max_qual.qual); + } else { + newqual = info.stats.qual.qual; + } - newqual = CLAMP(newqual, 0, 100); - if (devinfo->qual != newqual) - devinfo->qual = newqual; + newqual = CLAMP (newqual, 0, 100); + if (devinfo->qual != newqual) + devinfo->qual = newqual; - } else { - devinfo->qual = 0; - } + } else { + devinfo->qual = 0; + } - goto out; + goto out; out: - if (fd != -1) - close (fd); + if (fd != -1) + close (fd); } #endif /* HAVE_IW */ @@ -408,10 +413,14 @@ scan_cb (struct nl_msg *msg, g_warning ("failed to parse nested attributes!"); return NL_SKIP; } - if (!bss[NL80211_BSS_BSSID]) return NL_SKIP; - if (!bss[NL80211_BSS_STATUS]) return NL_SKIP; + if (!bss[NL80211_BSS_BSSID]) + return NL_SKIP; + if (!bss[NL80211_BSS_STATUS]) + return NL_SKIP; + + if (nla_get_u32 (bss[NL80211_BSS_STATUS]) != NL80211_BSS_STATUS_ASSOCIATED) + return NL_SKIP; - if (nla_get_u32 (bss[NL80211_BSS_STATUS]) != NL80211_BSS_STATUS_ASSOCIATED) return NL_SKIP; memcpy (devinfo->station_mac_addr, nla_data (bss[NL80211_BSS_BSSID]), ETH_ALEN); return NL_SKIP; @@ -472,10 +481,10 @@ parse_bitrate (struct nlattr *bitrate_attr, pos += snprintf (pos, buflen - (pos - buf), _(" HE-MCS %d"), nla_get_u8 (rinfo[NL80211_RATE_INFO_HE_MCS])); if (rinfo[NL80211_RATE_INFO_HE_NSS]) - pos += snprintf(pos, buflen - (pos - buf), + pos += snprintf (pos, buflen - (pos - buf), _(" HE-NSS %d"), nla_get_u8 (rinfo[NL80211_RATE_INFO_HE_NSS])); if (rinfo[NL80211_RATE_INFO_HE_GI]) - pos += snprintf(pos, buflen - (pos - buf), + pos += snprintf (pos, buflen - (pos - buf), _(" HE-GI %d"), nla_get_u8 (rinfo[NL80211_RATE_INFO_HE_GI])); if (rinfo[NL80211_RATE_INFO_HE_DCM]) snprintf (pos, buflen - (pos - buf), @@ -512,8 +521,8 @@ station_cb (struct nl_msg *msg, return NL_SKIP; } if (nla_parse_nested (sinfo, NL80211_STA_INFO_MAX, - tb[NL80211_ATTR_STA_INFO], - stats_policy)) { + tb[NL80211_ATTR_STA_INFO], + stats_policy)) { g_warning ("failed to parse nested attributes!\n"); return NL_SKIP; } @@ -610,7 +619,7 @@ iface_cb (struct nl_msg *msg, struct nlattr *tb_msg[NL80211_ATTR_MAX + 1]; nla_parse (tb_msg, NL80211_ATTR_MAX, genlmsg_attrdata (gnlh, 0), - genlmsg_attrlen(gnlh, 0), NULL); + genlmsg_attrlen (gnlh, 0), NULL); if (tb_msg[NL80211_ATTR_MAC]) { memcpy (devinfo->hwaddr, nla_data (tb_msg[NL80211_ATTR_MAC]), ETH_ALEN); diff --git a/netspeed/src/backend.h b/netspeed/src/backend.h index b0e79704..536bf862 100644 --- a/netspeed/src/backend.h +++ b/netspeed/src/backend.h @@ -82,25 +82,25 @@ typedef struct { } DevInfo; GList* -get_available_devices(void); +get_available_devices (void); const gchar* -get_default_route(void); +get_default_route (void); gboolean -is_dummy_device(const char* device); +is_dummy_device (const char* device); void -free_devices_list(GList *list); +free_devices_list (GList *list); void -free_device_info(DevInfo *devinfo); +free_device_info (DevInfo *devinfo); void -get_device_info(const char *device, DevInfo **info); +get_device_info (const char *device, DevInfo **info); gboolean -compare_device_info(const DevInfo *a, const DevInfo *b); +compare_device_info (const DevInfo *a, const DevInfo *b); void get_wireless_info (DevInfo *devinfo); diff --git a/netspeed/src/ieee80211.h b/netspeed/src/ieee80211.h index 87456084..ccfeb9ed 100644 --- a/netspeed/src/ieee80211.h +++ b/netspeed/src/ieee80211.h @@ -21,13 +21,12 @@ * @tx_params: TX parameters */ struct ieee80211_mcs_info { - __u8 rx_mask[IEEE80211_HT_MCS_MASK_LEN]; - __u16 rx_highest; - __u8 tx_params; - __u8 reserved[3]; + __u8 rx_mask[IEEE80211_HT_MCS_MASK_LEN]; + __u16 rx_highest; + __u8 tx_params; + __u8 reserved[3]; } __attribute__ ((packed)); - /** * struct ieee80211_ht_cap - HT capabilities * @@ -35,27 +34,27 @@ struct ieee80211_mcs_info { * described in 802.11n D5.0 7.3.2.57 */ struct ieee80211_ht_cap { - __u16 cap_info; - __u8 ampdu_params_info; + __u16 cap_info; + __u8 ampdu_params_info; - /* 16 bytes MCS information */ - struct ieee80211_mcs_info mcs; + /* 16 bytes MCS information */ + struct ieee80211_mcs_info mcs; - __u16 extended_ht_cap_info; - __u32 tx_BF_cap_info; - __u8 antenna_selection_info; + __u16 extended_ht_cap_info; + __u32 tx_BF_cap_info; + __u8 antenna_selection_info; } __attribute__ ((packed)); struct ieee80211_vht_mcs_info { - __u16 rx_vht_mcs; - __u16 rx_highest; - __u16 tx_vht_mcs; - __u16 tx_highest; + __u16 rx_vht_mcs; + __u16 rx_highest; + __u16 tx_vht_mcs; + __u16 tx_highest; } __attribute__ ((packed)); struct ieee80211_vht_cap { - __u32 cap_info; - struct ieee80211_vht_mcs_info mcs; + __u32 cap_info; + struct ieee80211_vht_mcs_info mcs; } __attribute__ ((packed)); #endif /* __IEEE80211 */ diff --git a/netspeed/src/netspeed.c b/netspeed/src/netspeed.c index a8eb1cc3..7683928c 100644 --- a/netspeed/src/netspeed.c +++ b/netspeed/src/netspeed.c @@ -146,10 +146,11 @@ typedef struct } MateNetspeedApplet; static void -update_tooltip(MateNetspeedApplet* applet); +update_tooltip (MateNetspeedApplet* applet); static void -device_change_cb(GtkComboBox *combo, MateNetspeedApplet *applet); +device_change_cb (GtkComboBox *combo, + MateNetspeedApplet *applet); /* Adds a Pango markup "foreground" to a bytestring */ @@ -254,7 +255,7 @@ change_icons (MateNetspeedApplet *applet) gtk_widget_hide (applet->dev_pix); } - cairo_surface_destroy(dev); + cairo_surface_destroy (dev); } /* Here some rearangement of the icons and the labels occurs @@ -262,126 +263,128 @@ change_icons (MateNetspeedApplet *applet) * or just the sum */ static void -applet_change_size_or_orient(MatePanelApplet *applet_widget, int arg1, MateNetspeedApplet *applet) +applet_change_size_or_orient (MatePanelApplet *applet_widget, + int arg1, + MateNetspeedApplet *applet) { - int size; - MatePanelAppletOrient orient; - - g_assert(applet); - - size = mate_panel_applet_get_size(applet_widget); - orient = mate_panel_applet_get_orient(applet_widget); - - g_object_ref(applet->pix_box); - g_object_ref(applet->in_pix); - g_object_ref(applet->in_label); - g_object_ref(applet->out_pix); - g_object_ref(applet->out_label); - g_object_ref(applet->sum_label); - - if (applet->in_box) { - gtk_container_remove(GTK_CONTAINER(applet->in_box), applet->in_label); - gtk_container_remove(GTK_CONTAINER(applet->in_box), applet->in_pix); - gtk_widget_destroy(applet->in_box); - } - if (applet->out_box) { - gtk_container_remove(GTK_CONTAINER(applet->out_box), applet->out_label); - gtk_container_remove(GTK_CONTAINER(applet->out_box), applet->out_pix); - gtk_widget_destroy(applet->out_box); - } - if (applet->sum_box) { - gtk_container_remove(GTK_CONTAINER(applet->sum_box), applet->sum_label); - gtk_widget_destroy(applet->sum_box); - } - if (applet->box) { - gtk_container_remove(GTK_CONTAINER(applet->box), applet->pix_box); - gtk_widget_destroy(applet->box); - } - - if (orient == MATE_PANEL_APPLET_ORIENT_LEFT || orient == MATE_PANEL_APPLET_ORIENT_RIGHT) { - applet->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - applet->speed_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - if (size > 64) { - applet->sum_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); - applet->in_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); - applet->out_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); - } else { - applet->sum_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - applet->in_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - applet->out_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - } - applet->labels_dont_shrink = FALSE; - } else { - applet->in_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); - applet->out_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); - applet->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); - applet->sum_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); - if (size < 48) { - applet->speed_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); - applet->labels_dont_shrink = TRUE; - } else { - applet->speed_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - applet->labels_dont_shrink = !applet->show_sum; - } - } - - gtk_box_pack_start(GTK_BOX(applet->in_box), applet->in_pix, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(applet->in_box), applet->in_label, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(applet->out_box), applet->out_pix, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(applet->out_box), applet->out_label, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(applet->sum_box), applet->sum_label, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(applet->box), applet->pix_box, FALSE, FALSE, 0); - - g_object_unref(applet->pix_box); - g_object_unref(applet->in_pix); - g_object_unref(applet->in_label); - g_object_unref(applet->out_pix); - g_object_unref(applet->out_label); - g_object_unref(applet->sum_label); - - if (applet->show_sum) { - gtk_box_pack_start(GTK_BOX(applet->speed_box), applet->sum_box, TRUE, TRUE, 0); - } else { - gtk_box_pack_start(GTK_BOX(applet->speed_box), applet->in_box, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(applet->speed_box), applet->out_box, TRUE, TRUE, 0); - } - gtk_box_pack_start(GTK_BOX(applet->box), applet->speed_box, TRUE, TRUE, 0); - - gtk_widget_show_all(applet->box); - if (!applet->show_icon) { - gtk_widget_hide(applet->dev_pix); - } - gtk_container_add(GTK_CONTAINER(applet->applet), applet->box); - - change_icons (applet); + int size; + MatePanelAppletOrient orient; + + g_assert (applet); + + size = mate_panel_applet_get_size (applet_widget); + orient = mate_panel_applet_get_orient (applet_widget); + + g_object_ref (applet->pix_box); + g_object_ref (applet->in_pix); + g_object_ref (applet->in_label); + g_object_ref (applet->out_pix); + g_object_ref (applet->out_label); + g_object_ref (applet->sum_label); + + if (applet->in_box) { + gtk_container_remove (GTK_CONTAINER (applet->in_box), applet->in_label); + gtk_container_remove (GTK_CONTAINER (applet->in_box), applet->in_pix); + gtk_widget_destroy (applet->in_box); + } + if (applet->out_box) { + gtk_container_remove (GTK_CONTAINER (applet->out_box), applet->out_label); + gtk_container_remove (GTK_CONTAINER (applet->out_box), applet->out_pix); + gtk_widget_destroy (applet->out_box); + } + if (applet->sum_box) { + gtk_container_remove (GTK_CONTAINER (applet->sum_box), applet->sum_label); + gtk_widget_destroy (applet->sum_box); + } + if (applet->box) { + gtk_container_remove (GTK_CONTAINER (applet->box), applet->pix_box); + gtk_widget_destroy (applet->box); + } + + if (orient == MATE_PANEL_APPLET_ORIENT_LEFT || orient == MATE_PANEL_APPLET_ORIENT_RIGHT) { + applet->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + applet->speed_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + if (size > 64) { + applet->sum_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + applet->in_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); + applet->out_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); + } else { + applet->sum_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + applet->in_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + applet->out_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + } + applet->labels_dont_shrink = FALSE; + } else { + applet->in_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); + applet->out_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); + applet->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); + applet->sum_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + if (size < 48) { + applet->speed_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); + applet->labels_dont_shrink = TRUE; + } else { + applet->speed_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + applet->labels_dont_shrink = !applet->show_sum; + } + } + + gtk_box_pack_start (GTK_BOX (applet->in_box), applet->in_pix, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (applet->in_box), applet->in_label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (applet->out_box), applet->out_pix, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (applet->out_box), applet->out_label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (applet->sum_box), applet->sum_label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (applet->box), applet->pix_box, FALSE, FALSE, 0); + + g_object_unref (applet->pix_box); + g_object_unref (applet->in_pix); + g_object_unref (applet->in_label); + g_object_unref (applet->out_pix); + g_object_unref (applet->out_label); + g_object_unref (applet->sum_label); + + if (applet->show_sum) { + gtk_box_pack_start (GTK_BOX (applet->speed_box), applet->sum_box, TRUE, TRUE, 0); + } else { + gtk_box_pack_start (GTK_BOX (applet->speed_box), applet->in_box, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (applet->speed_box), applet->out_box, TRUE, TRUE, 0); + } + gtk_box_pack_start (GTK_BOX (applet->box), applet->speed_box, TRUE, TRUE, 0); + + gtk_widget_show_all (applet->box); + if (!applet->show_icon) { + gtk_widget_hide (applet->dev_pix); + } + gtk_container_add (GTK_CONTAINER (applet->applet), applet->box); + + change_icons (applet); } /* Change visibility of signal quality icon for wireless devices */ static void -change_quality_icon(MateNetspeedApplet *applet) +change_quality_icon (MateNetspeedApplet *applet) { - if (applet->devinfo->type == DEV_WIRELESS && - applet->devinfo->up && applet->show_quality_icon) { - gtk_widget_show(applet->qual_pix); - } else { - gtk_widget_hide(applet->qual_pix); - } + if (applet->devinfo->type == DEV_WIRELESS && + applet->devinfo->up && applet->show_quality_icon) { + gtk_widget_show (applet->qual_pix); + } else { + gtk_widget_hide (applet->qual_pix); + } } static void -update_quality_icon(MateNetspeedApplet *applet) +update_quality_icon (MateNetspeedApplet *applet) { - if (!applet->show_quality_icon) { - return; - } + if (!applet->show_quality_icon) { + return; + } - unsigned int q; + unsigned int q; - q = (applet->devinfo->qual); - q /= 25; - q = MIN (q, 3); /* q out of range would crash when accessing qual_surfaces[q] */ - gtk_image_set_from_surface (GTK_IMAGE(applet->qual_pix), applet->qual_surfaces[q]); + q = (applet->devinfo->qual); + q /= 25; + q = MIN (q, 3); /* q out of range would crash when accessing qual_surfaces[q] */ + gtk_image_set_from_surface (GTK_IMAGE (applet->qual_pix), applet->qual_surfaces[q]); } static void @@ -429,10 +432,10 @@ icon_theme_changed_cb (GtkIconTheme *icon_theme, { MateNetspeedApplet *applet = (MateNetspeedApplet*)user_data; - init_quality_surfaces(user_data); + init_quality_surfaces (user_data); if (applet->devinfo->type == DEV_WIRELESS && applet->devinfo->up) - update_quality_icon(user_data); - change_icons(user_data); + update_quality_icon (user_data); + change_icons (user_data); } #define IEC_KIBI_DBL 1024.0 @@ -467,7 +470,7 @@ format_transfer_rate (gchar *out, unit = bits ? /* translators: Gibibit (short) */ N_("Gibit/s") : /* translators: Gibibyte (short) */ N_("GiB/s"); } - g_snprintf (out, MAX_FORMAT_SIZE, format, bytes, gettext(unit)); + g_snprintf (out, MAX_FORMAT_SIZE, format, bytes, gettext (unit)); } /* Converts a number of bytes into a human @@ -475,7 +478,8 @@ format_transfer_rate (gchar *out, * The string has to be freed */ static char* -bps_to_string(double bytes, gboolean bits) +bps_to_string (double bytes, + gboolean bits) { char res[MAX_FORMAT_SIZE]; format_transfer_rate (res, bytes, bits); @@ -486,134 +490,136 @@ bps_to_string(double bytes, gboolean bits) * Some really black magic is going on in here ;-) */ static void -redraw_graph(MateNetspeedApplet *applet, cairo_t *cr) +redraw_graph (MateNetspeedApplet *applet, + cairo_t *cr) { - GtkWidget *da = GTK_WIDGET(applet->drawingarea); - GtkStyleContext *stylecontext = gtk_widget_get_style_context (da); - GdkWindow *real_window = gtk_widget_get_window (da); - GdkPoint in_points[GRAPH_VALUES], out_points[GRAPH_VALUES]; - PangoLayout *layout; - PangoRectangle logical_rect; - char *text; - int i, offset, w, h; - double max_val; - double dash[2] = { 1.0, 2.0 }; - - w = gdk_window_get_width (real_window); - h = gdk_window_get_height (real_window); - - /* the graph hight should be: hight/2 <= applet->max_graph < hight */ - for (max_val = 1; max_val < applet->max_graph; max_val *= 2) ; - - /* calculate the polygons (GdkPoint[]) for the graphs */ - offset = 0; - for (i = (applet->index_graph + 1) % GRAPH_VALUES; applet->in_graph[i] < 0; i = (i + 1) % GRAPH_VALUES) - offset++; - for (i = offset + 1; i < GRAPH_VALUES; i++) - { - int index = (applet->index_graph + i) % GRAPH_VALUES; - out_points[i].x = in_points[i].x = ((w - 6) * i) / GRAPH_VALUES + 4; - in_points[i].y = h - 6 - (int)((h - 8) * applet->in_graph[index] / max_val); - out_points[i].y = h - 6 - (int)((h - 8) * applet->out_graph[index] / max_val); - } - in_points[offset].x = out_points[offset].x = ((w - 6) * offset) / GRAPH_VALUES + 4; - in_points[offset].y = in_points[(offset + 1) % GRAPH_VALUES].y; - out_points[offset].y = out_points[(offset + 1) % GRAPH_VALUES].y; - - /* draw the background */ - cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); - cairo_rectangle (cr, 02, 2, w - 6, h - 6); - cairo_fill (cr); - - cairo_set_line_width(cr, 1.0); - cairo_set_dash (cr, dash, 2, 0); - - cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); - cairo_rectangle (cr, 2, 2, w - 6, h - 6); - cairo_stroke (cr); - - for (i = 0; i < GRAPH_LINES; i++) { - int y = 2 + ((h - 6) * i) / GRAPH_LINES; - cairo_move_to (cr, 2, y); - cairo_line_to (cr, w - 4, y); - } - cairo_stroke (cr); - - /* draw the polygons */ - cairo_set_dash (cr, dash, 0, 1); - cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); - cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND); - - gdk_cairo_set_source_rgba (cr, &applet->in_color); - for (i = offset; i < GRAPH_VALUES; i++) { - cairo_line_to (cr, in_points[i].x, in_points[i].y); - } - cairo_stroke (cr); - - gdk_cairo_set_source_rgba (cr, &applet->out_color); - for (i = offset; i < GRAPH_VALUES; i++) { - cairo_line_to (cr, out_points[i].x, out_points[i].y); - } - cairo_stroke (cr); - - text = bps_to_string (max_val, applet->show_bits); - add_markup_fgcolor(&text, "black"); - layout = gtk_widget_create_pango_layout (da, NULL); - pango_layout_set_markup(layout, text, -1); - g_free (text); - gtk_render_layout(stylecontext, cr, 3, 2, layout); - g_object_unref(G_OBJECT(layout)); - - text = bps_to_string (0.0, applet->show_bits); - add_markup_fgcolor(&text, "black"); - layout = gtk_widget_create_pango_layout (da, NULL); - pango_layout_set_markup(layout, text, -1); - pango_layout_get_pixel_extents (layout, NULL, &logical_rect); - g_free (text); - gtk_render_layout(stylecontext, cr, 3, h - 4 - logical_rect.height, layout); - g_object_unref(G_OBJECT(layout)); + GtkWidget *da = GTK_WIDGET (applet->drawingarea); + GtkStyleContext *stylecontext = gtk_widget_get_style_context (da); + GdkWindow *real_window = gtk_widget_get_window (da); + GdkPoint in_points[GRAPH_VALUES], out_points[GRAPH_VALUES]; + PangoLayout *layout; + PangoRectangle logical_rect; + char *text; + int i, offset, w, h; + double max_val; + double dash[2] = { 1.0, 2.0 }; + + w = gdk_window_get_width (real_window); + h = gdk_window_get_height (real_window); + + /* the graph hight should be: hight/2 <= applet->max_graph < hight */ + for (max_val = 1; max_val < applet->max_graph; max_val *= 2) ; + + /* calculate the polygons (GdkPoint[]) for the graphs */ + offset = 0; + for (i = (applet->index_graph + 1) % GRAPH_VALUES; applet->in_graph[i] < 0; i = (i + 1) % GRAPH_VALUES) + offset++; + for (i = offset + 1; i < GRAPH_VALUES; i++) + { + int index = (applet->index_graph + i) % GRAPH_VALUES; + out_points[i].x = in_points[i].x = ((w - 6) * i) / GRAPH_VALUES + 4; + in_points[i].y = h - 6 - (int)((h - 8) * applet->in_graph[index] / max_val); + out_points[i].y = h - 6 - (int)((h - 8) * applet->out_graph[index] / max_val); + } + in_points[offset].x = out_points[offset].x = ((w - 6) * offset) / GRAPH_VALUES + 4; + in_points[offset].y = in_points[(offset + 1) % GRAPH_VALUES].y; + out_points[offset].y = out_points[(offset + 1) % GRAPH_VALUES].y; + + /* draw the background */ + cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); + cairo_rectangle (cr, 02, 2, w - 6, h - 6); + cairo_fill (cr); + + cairo_set_line_width (cr, 1.0); + cairo_set_dash (cr, dash, 2, 0); + + cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); + cairo_rectangle (cr, 2, 2, w - 6, h - 6); + cairo_stroke (cr); + + for (i = 0; i < GRAPH_LINES; i++) { + int y = 2 + ((h - 6) * i) / GRAPH_LINES; + cairo_move_to (cr, 2, y); + cairo_line_to (cr, w - 4, y); + } + cairo_stroke (cr); + + /* draw the polygons */ + cairo_set_dash (cr, dash, 0, 1); + cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); + cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND); + + gdk_cairo_set_source_rgba (cr, &applet->in_color); + for (i = offset; i < GRAPH_VALUES; i++) { + cairo_line_to (cr, in_points[i].x, in_points[i].y); + } + cairo_stroke (cr); + + gdk_cairo_set_source_rgba (cr, &applet->out_color); + for (i = offset; i < GRAPH_VALUES; i++) { + cairo_line_to (cr, out_points[i].x, out_points[i].y); + } + cairo_stroke (cr); + + text = bps_to_string (max_val, applet->show_bits); + add_markup_fgcolor (&text, "black"); + layout = gtk_widget_create_pango_layout (da, NULL); + pango_layout_set_markup (layout, text, -1); + g_free (text); + gtk_render_layout (stylecontext, cr, 3, 2, layout); + g_object_unref (G_OBJECT (layout)); + + text = bps_to_string (0.0, applet->show_bits); + add_markup_fgcolor (&text, "black"); + layout = gtk_widget_create_pango_layout (da, NULL); + pango_layout_set_markup (layout, text, -1); + pango_layout_get_pixel_extents (layout, NULL, &logical_rect); + g_free (text); + gtk_render_layout (stylecontext, cr, 3, h - 4 - logical_rect.height, layout); + g_object_unref (G_OBJECT (layout)); } static gboolean -set_applet_devinfo(MateNetspeedApplet* applet, const char* iface) +set_applet_devinfo (MateNetspeedApplet* applet, + const char* iface) { - DevInfo *info; + DevInfo *info; - get_device_info (iface, &info); + get_device_info (iface, &info); - if (info->running) { - free_device_info(applet->devinfo); - applet->devinfo = info; - applet->device_has_changed = TRUE; - return TRUE; - } + if (info->running) { + free_device_info (applet->devinfo); + applet->devinfo = info; + applet->device_has_changed = TRUE; + return TRUE; + } - free_device_info (info); - return FALSE; + free_device_info (info); + return FALSE; } /* Find the first available device, that is running and != lo */ static void -search_for_up_if(MateNetspeedApplet *applet) +search_for_up_if (MateNetspeedApplet *applet) { - const gchar *default_route; - GList *devices, *tmp; - - default_route = get_default_route(); - - if (default_route != NULL) { - if (set_applet_devinfo(applet, default_route)) - return; - } - - devices = get_available_devices(); - for (tmp = devices; tmp; tmp = g_list_next(tmp)) { - if (is_dummy_device(tmp->data)) - continue; - if (set_applet_devinfo(applet, tmp->data)) - break; - } - free_devices_list(devices); + const gchar *default_route; + GList *devices, *tmp; + + default_route = get_default_route (); + + if (default_route != NULL) { + if (set_applet_devinfo (applet, default_route)) + return; + } + + devices = get_available_devices (); + for (tmp = devices; tmp; tmp = g_list_next (tmp)) { + if (is_dummy_device (tmp->data)) + continue; + if (set_applet_devinfo (applet, tmp->data)) + break; + } + free_devices_list (devices); } static char * @@ -736,7 +742,7 @@ fill_details_dialog (MateNetspeedApplet *applet) text = g_strdup_printf ("%d %%", applet->devinfo->qual); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->signalbar), quality); gtk_progress_bar_set_text (GTK_PROGRESS_BAR (applet->signalbar), text); - g_free(text); + g_free (text); gtk_label_set_text (GTK_LABEL (applet->essid_text), applet->devinfo->essid); @@ -829,8 +835,8 @@ update_applet (MateNetspeedApplet *applet) applet->in_graph[applet->index_graph] = inrate; applet->out_graph[applet->index_graph] = outrate; - applet->max_graph = MAX(inrate, applet->max_graph); - applet->max_graph = MAX(outrate, applet->max_graph); + applet->max_graph = MAX (inrate, applet->max_graph); + applet->max_graph = MAX (outrate, applet->max_graph); format_transfer_rate (applet->devinfo->rx_rate, inrate, applet->show_bits); format_transfer_rate (applet->devinfo->tx_rate, outrate, applet->show_bits); @@ -845,7 +851,7 @@ update_applet (MateNetspeedApplet *applet) if (applet->devinfo->type == DEV_WIRELESS) { if (applet->devinfo->up) - update_quality_icon(applet); + update_quality_icon (applet); if (applet->signalbar) { float quality; @@ -858,7 +864,7 @@ update_applet (MateNetspeedApplet *applet) text = g_strdup_printf ("%d %%", applet->devinfo->qual); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->signalbar), quality); gtk_progress_bar_set_text (GTK_PROGRESS_BAR (applet->signalbar), text); - g_free(text); + g_free (text); } #ifdef HAVE_NL /* Refresh the value of Connected Time */ @@ -907,7 +913,7 @@ update_applet (MateNetspeedApplet *applet) G_FORMAT_SIZE_IEC_UNITS); gtk_label_set_text (GTK_LABEL (applet->outbytes_text), outbytes); - g_free (outbytes); + g_free (outbytes); } /* Redraw the graph of the Infodialog */ @@ -938,63 +944,64 @@ update_applet (MateNetspeedApplet *applet) if (!change_device_now) { const gchar *default_route; - default_route = get_default_route(); + default_route = get_default_route (); change_device_now = (default_route != NULL && strcmp (default_route, applet->devinfo->name)); } if (change_device_now) { - search_for_up_if(applet); + search_for_up_if (applet); } } } static gboolean -timeout_function(MateNetspeedApplet *applet) +timeout_function (MateNetspeedApplet *applet) { - if (!applet) - return FALSE; - if (!applet->timeout_id) - return FALSE; + if (!applet) + return FALSE; + if (!applet->timeout_id) + return FALSE; - update_applet(applet); - return TRUE; + update_applet (applet); + return TRUE; } /* Display a section of netspeed help */ static void -display_help (GtkWidget *dialog, const gchar *section) +display_help (GtkWidget *dialog, + const gchar *section) { - GError *error = NULL; - gboolean ret; - char *uri; - - if (section) - uri = g_strdup_printf ("help:mate-netspeed-applet/%s", section); - else - uri = g_strdup ("help:mate-netspeed-applet"); - - ret = gtk_show_uri_on_window (NULL, - uri, - gtk_get_current_event_time (), - &error); - g_free (uri); - - if (ret == FALSE) { - GtkWidget *error_dialog = gtk_message_dialog_new (NULL, - GTK_DIALOG_MODAL, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_OK, - _("There was an error displaying help:\n%s"), - error->message); - g_signal_connect (error_dialog, "response", - G_CALLBACK (gtk_widget_destroy), NULL); - - gtk_window_set_resizable (GTK_WINDOW (error_dialog), FALSE); - gtk_window_set_screen (GTK_WINDOW (error_dialog), gtk_widget_get_screen (dialog)); - gtk_widget_show (error_dialog); - g_error_free (error); - } + GError *error = NULL; + gboolean ret; + char *uri; + + if (section) + uri = g_strdup_printf ("help:mate-netspeed-applet/%s", section); + else + uri = g_strdup ("help:mate-netspeed-applet"); + + ret = gtk_show_uri_on_window (NULL, + uri, + gtk_get_current_event_time (), + &error); + g_free (uri); + + if (ret == FALSE) { + GtkWidget *error_dialog = gtk_message_dialog_new (NULL, + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + _("There was an error displaying help:\n%s"), + error->message); + g_signal_connect (error_dialog, "response", + G_CALLBACK (gtk_widget_destroy), NULL); + + gtk_window_set_resizable (GTK_WINDOW (error_dialog), FALSE); + gtk_window_set_screen (GTK_WINDOW (error_dialog), gtk_widget_get_screen (dialog)); + gtk_widget_show (error_dialog); + g_error_free (error); + } } /* Opens gnome help application @@ -1009,132 +1016,140 @@ help_cb (GtkAction *action, /* Just the about window... If it's already open, just fokus it */ static void -about_cb(GtkAction *action, gpointer data) +about_cb (GtkAction *action, + gpointer data) { - const char *authors[] = - { - "Jörgen Scheibengruber <[email protected]>", - "Dennis Cranston <[email protected]>", - "Pedro Villavicencio Garrido <[email protected]>", - "Benoît Dejean <[email protected]>", - "Stefano Karapetsas <[email protected]>", - "Perberos <[email protected]>", - NULL - }; - - gtk_show_about_dialog (NULL, - "title", _("About MATE Netspeed"), - "version", VERSION, - "copyright", _("Copyright \xc2\xa9 2002-2003 Jörgen Scheibengruber\n" - "Copyright \xc2\xa9 2011-2014 Stefano Karapetsas\n" - "Copyright \xc2\xa9 2015-2020 MATE developers"), - "comments", _("A little applet that displays some information on the traffic on the specified network device"), - "authors", authors, - "documenters", NULL, - "translator-credits", _("translator-credits"), - "website", "http://www.mate-desktop.org/", - "logo-icon-name", LOGO_ICON, - NULL); - + const char *authors[] = + { + "Jörgen Scheibengruber <[email protected]>", + "Dennis Cranston <[email protected]>", + "Pedro Villavicencio Garrido <[email protected]>", + "Benoît Dejean <[email protected]>", + "Stefano Karapetsas <[email protected]>", + "Perberos <[email protected]>", + NULL + }; + + gtk_show_about_dialog (NULL, + "title", _("About MATE Netspeed"), + "version", VERSION, + "copyright", _("Copyright \xc2\xa9 2002-2003 Jörgen Scheibengruber\n" + "Copyright \xc2\xa9 2011-2014 Stefano Karapetsas\n" + "Copyright \xc2\xa9 2015-2020 MATE developers"), + "comments", _("A little applet that displays some information on the traffic on the specified network device"), + "authors", authors, + "documenters", NULL, + "translator-credits", _("translator-credits"), + "website", "http://www.mate-desktop.org/", + "logo-icon-name", LOGO_ICON, + NULL); } /* this basically just retrieves the new devicestring - * and then calls applet_device_change() and change_icons() + * and then calls applet_device_change () and change_icons () */ static void -device_change_cb(GtkComboBox *combo, MateNetspeedApplet *applet) +device_change_cb (GtkComboBox *combo, + MateNetspeedApplet *applet) { - GList *devices; - int i, active; - - g_assert(combo); - devices = g_object_get_data(G_OBJECT(combo), "devices"); - active = gtk_combo_box_get_active(combo); - g_assert(active > -1); - - if (0 == active) { - if (applet->auto_change_device) - return; - applet->auto_change_device = TRUE; - } else { - applet->auto_change_device = FALSE; - for (i = 1; i < active; i++) { - devices = g_list_next(devices); - } - if (g_str_equal(devices->data, applet->devinfo->name)) - return; - free_device_info (applet->devinfo); - get_device_info (devices->data, &applet->devinfo); - } - - applet->device_has_changed = TRUE; - update_applet(applet); + GList *devices; + int i, active; + + g_assert (combo); + devices = g_object_get_data (G_OBJECT (combo), "devices"); + active = gtk_combo_box_get_active (combo); + g_assert (active > -1); + + if (0 == active) { + if (applet->auto_change_device) + return; + applet->auto_change_device = TRUE; + } else { + applet->auto_change_device = FALSE; + for (i = 1; i < active; i++) { + devices = g_list_next (devices); + } + if (g_str_equal (devices->data, applet->devinfo->name)) + return; + free_device_info (applet->devinfo); + get_device_info (devices->data, &applet->devinfo); + } + + applet->device_has_changed = TRUE; + update_applet (applet); } /* Handle preference dialog response event */ static void -pref_response_cb (GtkDialog *dialog, gint id, gpointer data) +pref_response_cb (GtkDialog *dialog, + gint id, + gpointer data) { MateNetspeedApplet *applet = data; - if(id == GTK_RESPONSE_HELP){ + if (id == GTK_RESPONSE_HELP) { display_help (GTK_WIDGET (dialog), "netspeed_applet-settings"); - return; + return; } g_settings_delay (applet->gsettings); g_settings_set_string (applet->gsettings, "device", applet->devinfo->name); g_settings_set_boolean (applet->gsettings, "auto-change-device", applet->auto_change_device); g_settings_apply (applet->gsettings); - gtk_widget_destroy(GTK_WIDGET(applet->settings)); + gtk_widget_destroy (GTK_WIDGET (applet->settings)); applet->settings = NULL; } /* Called when the showsum checkbutton is toggled... */ static void -showsum_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet) +showsum_change_cb (GtkToggleButton *togglebutton, + MateNetspeedApplet *applet) { - applet->show_sum = gtk_toggle_button_get_active(togglebutton); - applet_change_size_or_orient(applet->applet, -1, (gpointer)applet); - change_icons(applet); + applet->show_sum = gtk_toggle_button_get_active (togglebutton); + applet_change_size_or_orient (applet->applet, -1, (gpointer) applet); + change_icons (applet); } /* Called when the showbits checkbutton is toggled... */ static void -showbits_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet) +showbits_change_cb (GtkToggleButton *togglebutton, + MateNetspeedApplet *applet) { - applet->show_bits = gtk_toggle_button_get_active(togglebutton); + applet->show_bits = gtk_toggle_button_get_active (togglebutton); } /* Called when the showicon checkbutton is toggled... */ static void -showicon_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet) +showicon_change_cb (GtkToggleButton *togglebutton, + MateNetspeedApplet *applet) { - applet->show_icon = gtk_toggle_button_get_active(togglebutton); - change_icons(applet); + applet->show_icon = gtk_toggle_button_get_active (togglebutton); + change_icons (applet); } /* Called when the showqualityicon checkbutton is toggled... */ static void -showqualityicon_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet) +showqualityicon_change_cb (GtkToggleButton *togglebutton, + MateNetspeedApplet *applet) { - applet->show_quality_icon = gtk_toggle_button_get_active(togglebutton); - change_quality_icon(applet); + applet->show_quality_icon = gtk_toggle_button_get_active (togglebutton); + change_quality_icon (applet); } /* Called when the changeicon checkbutton is toggled... */ static void -changeicon_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet) +changeicon_change_cb (GtkToggleButton *togglebutton, + MateNetspeedApplet *applet) { - applet->change_icon = gtk_toggle_button_get_active(togglebutton); - change_icons(applet); + applet->change_icon = gtk_toggle_button_get_active (togglebutton); + change_icons (applet); } /* Creates the settings dialog @@ -1145,104 +1160,126 @@ static void settings_cb (GtkAction *action, gpointer data) { - GtkBuilder *builder; - MateNetspeedApplet *applet = (MateNetspeedApplet*)data; - GList *ptr, *devices; - int i, active = -1; - - g_assert(applet); - - if (applet->settings) - { - gtk_window_present(GTK_WINDOW(applet->settings)); - return; - } - - builder = gtk_builder_new_from_resource (NETSPEED_RESOURCE_PATH "netspeed-preferences.ui"); - - applet->settings = GET_DIALOG ("preferences_dialog"); - applet->network_device_combo = GET_WIDGET ("network_device_combo"); - - gtk_window_set_screen(GTK_WINDOW(applet->settings), - gtk_widget_get_screen(GTK_WIDGET(applet->settings))); - - gtk_dialog_set_default_response(GTK_DIALOG(applet->settings), GTK_RESPONSE_CLOSE); - - g_settings_bind (applet->gsettings, "show-sum", gtk_builder_get_object (builder, "show_sum_checkbutton"), "active", G_SETTINGS_BIND_DEFAULT); - g_settings_bind (applet->gsettings, "show-bits", gtk_builder_get_object (builder, "show_bits_checkbutton"), "active", G_SETTINGS_BIND_DEFAULT); - g_settings_bind (applet->gsettings, "show-icon", gtk_builder_get_object (builder, "show_icon_checkbutton"), "active", G_SETTINGS_BIND_DEFAULT); - g_settings_bind (applet->gsettings, "show-quality-icon", gtk_builder_get_object (builder, "show_quality_icon_checkbutton"), "active", G_SETTINGS_BIND_DEFAULT); - g_settings_bind (applet->gsettings, "change-icon", gtk_builder_get_object (builder, "change_icon_checkbutton"), "active", G_SETTINGS_BIND_DEFAULT); - - /* Default means device with default route set */ - gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(applet->network_device_combo), _("Default")); - ptr = devices = get_available_devices(); - for (i = 0; ptr; ptr = g_list_next(ptr)) { - gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(applet->network_device_combo), ptr->data); - if (g_str_equal(ptr->data, applet->devinfo->name)) active = (i + 1); - ++i; - } - if (active < 0 || applet->auto_change_device) { - active = 0; - } - gtk_combo_box_set_active(GTK_COMBO_BOX(applet->network_device_combo), active); - g_object_set_data_full(G_OBJECT(applet->network_device_combo), "devices", devices, (GDestroyNotify)free_devices_list); - - /* signals */ - gtk_builder_add_callback_symbols (builder, - "on_network_device_combo_changed", G_CALLBACK (device_change_cb), - "on_show_sum_checkbutton_toggled", G_CALLBACK (showsum_change_cb), - "on_show_bits_checkbutton_toggled", G_CALLBACK(showbits_change_cb), - "on_change_icon_checkbutton_toggled", G_CALLBACK (changeicon_change_cb), - "on_show_icon_checkbutton_toggled", G_CALLBACK (showicon_change_cb), - "on_show_quality_icon_checkbutton_toggled", G_CALLBACK (showqualityicon_change_cb), - "on_preferences_dialog_response", G_CALLBACK(pref_response_cb), - NULL); - gtk_builder_connect_signals (builder, applet); - - g_object_unref (builder); - - gtk_widget_show_all(GTK_WIDGET(applet->settings)); + GtkBuilder *builder; + MateNetspeedApplet *applet = (MateNetspeedApplet*)data; + GList *ptr, *devices; + int i, active = -1; + + g_assert (applet); + + if (applet->settings) + { + gtk_window_present (GTK_WINDOW (applet->settings)); + return; + } + + builder = gtk_builder_new_from_resource (NETSPEED_RESOURCE_PATH "netspeed-preferences.ui"); + + applet->settings = GET_DIALOG ("preferences_dialog"); + applet->network_device_combo = GET_WIDGET ("network_device_combo"); + + gtk_window_set_screen (GTK_WINDOW (applet->settings), + gtk_widget_get_screen (GTK_WIDGET (applet->settings))); + + gtk_dialog_set_default_response (GTK_DIALOG (applet->settings), GTK_RESPONSE_CLOSE); + + g_settings_bind (applet->gsettings, "show-sum", + gtk_builder_get_object (builder, "show_sum_checkbutton"), + "active", G_SETTINGS_BIND_DEFAULT); + + g_settings_bind (applet->gsettings, "show-bits", + gtk_builder_get_object (builder, "show_bits_checkbutton"), + "active", G_SETTINGS_BIND_DEFAULT); + + g_settings_bind (applet->gsettings, "show-icon", + gtk_builder_get_object (builder, "show_icon_checkbutton"), + "active", G_SETTINGS_BIND_DEFAULT); + + g_settings_bind (applet->gsettings, "show-quality-icon", + gtk_builder_get_object (builder, "show_quality_icon_checkbutton"), + "active", G_SETTINGS_BIND_DEFAULT); + + g_settings_bind (applet->gsettings, "change-icon", + gtk_builder_get_object (builder, "change_icon_checkbutton"), + "active", G_SETTINGS_BIND_DEFAULT); + + /* Default means device with default route set */ + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (applet->network_device_combo), + _("Default")); + ptr = devices = get_available_devices (); + for (i = 0; ptr; ptr = g_list_next (ptr)) { + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (applet->network_device_combo), + ptr->data); + if (g_str_equal (ptr->data, applet->devinfo->name)) + active = (i + 1); + ++i; + } + if (active < 0 || applet->auto_change_device) { + active = 0; + } + gtk_combo_box_set_active (GTK_COMBO_BOX (applet->network_device_combo), active); + g_object_set_data_full (G_OBJECT (applet->network_device_combo), "devices", + devices, (GDestroyNotify)free_devices_list); + + /* signals */ + gtk_builder_add_callback_symbols (builder, + "on_network_device_combo_changed", G_CALLBACK (device_change_cb), + "on_show_sum_checkbutton_toggled", G_CALLBACK (showsum_change_cb), + "on_show_bits_checkbutton_toggled", G_CALLBACK (showbits_change_cb), + "on_change_icon_checkbutton_toggled", G_CALLBACK (changeicon_change_cb), + "on_show_icon_checkbutton_toggled", G_CALLBACK (showicon_change_cb), + "on_show_quality_icon_checkbutton_toggled", G_CALLBACK (showqualityicon_change_cb), + "on_preferences_dialog_response", G_CALLBACK (pref_response_cb), + NULL); + gtk_builder_connect_signals (builder, applet); + + g_object_unref (builder); + + gtk_widget_show_all (GTK_WIDGET (applet->settings)); } static gboolean -da_draw(GtkWidget *widget, cairo_t *cr, gpointer data) +da_draw (GtkWidget *widget, + cairo_t *cr, + gpointer data) { - MateNetspeedApplet *applet = (MateNetspeedApplet*)data; + MateNetspeedApplet *applet = (MateNetspeedApplet*) data; - redraw_graph(applet, cr); + redraw_graph (applet, cr); - return FALSE; + return FALSE; } static void -incolor_changed_cb (GtkColorChooser *button, gpointer data) +incolor_changed_cb (GtkColorChooser *button, + gpointer data) { - MateNetspeedApplet *applet = (MateNetspeedApplet*)data; - GdkRGBA color; - gchar *string; + MateNetspeedApplet *applet = (MateNetspeedApplet*) data; + GdkRGBA color; + gchar *string; - gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &color); - applet->in_color = color; + gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &color); + applet->in_color = color; - string = gdk_rgba_to_string (&color); - g_settings_set_string (applet->gsettings, "in-color", string); - g_free (string); + string = gdk_rgba_to_string (&color); + g_settings_set_string (applet->gsettings, "in-color", string); + g_free (string); } static void -outcolor_changed_cb (GtkColorChooser *button, gpointer data) +outcolor_changed_cb (GtkColorChooser *button, + gpointer data) { - MateNetspeedApplet *applet = (MateNetspeedApplet*)data; - GdkRGBA color; - gchar *string; + MateNetspeedApplet *applet = (MateNetspeedApplet*)data; + GdkRGBA color; + gchar *string; - gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &color); - applet->out_color = color; + gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &color); + applet->out_color = color; - string = gdk_rgba_to_string (&color); - g_settings_set_string (applet->gsettings, "out-color", string); - g_free (string); + string = gdk_rgba_to_string (&color); + g_settings_set_string (applet->gsettings, "out-color", string); + g_free (string); } /* Handle info dialog response event @@ -1258,7 +1295,7 @@ info_response_cb (GtkDialog *dialog, return; } - gtk_widget_destroy(GTK_WIDGET(applet->details)); + gtk_widget_destroy (GTK_WIDGET (applet->details)); applet->details = NULL; applet->drawingarea = NULL; @@ -1290,10 +1327,10 @@ showinfo_cb (GtkAction *action, GtkBuilder *builder; MateNetspeedApplet *applet = (MateNetspeedApplet*)data; - g_assert(applet); + g_assert (applet); if (applet->details) { - gtk_window_present(GTK_WINDOW(applet->details)); + gtk_window_present (GTK_WINDOW (applet->details)); return; } @@ -1340,14 +1377,14 @@ showinfo_cb (GtkAction *action, } static const GtkActionEntry mate_netspeed_applet_menu_actions [] = { - { "MateNetspeedAppletDetails", "dialog-information", N_("Device _Details"), - NULL, NULL, G_CALLBACK (showinfo_cb) }, - { "MateNetspeedAppletProperties", "document-properties", N_("Preferences..."), - NULL, NULL, G_CALLBACK (settings_cb) }, - { "MateNetspeedAppletHelp", "help-browser", N_("Help"), - NULL, NULL, G_CALLBACK (help_cb) }, - { "MateNetspeedAppletAbout", "help-about", N_("About..."), - NULL, NULL, G_CALLBACK (about_cb) } + { "MateNetspeedAppletDetails", "dialog-information", N_("Device _Details"), + NULL, NULL, G_CALLBACK (showinfo_cb) }, + { "MateNetspeedAppletProperties", "document-properties", N_("Preferences..."), + NULL, NULL, G_CALLBACK (settings_cb) }, + { "MateNetspeedAppletHelp", "help-browser", N_("Help"), + NULL, NULL, G_CALLBACK (help_cb) }, + { "MateNetspeedAppletAbout", "help-about", N_("About..."), + NULL, NULL, G_CALLBACK (about_cb) } }; /* Block the size_request signal emit by the label if the @@ -1357,14 +1394,16 @@ static const GtkActionEntry mate_netspeed_applet_menu_actions [] = { * "jumping around" in the mate_panel which looks uggly */ static void -label_size_allocate_cb(GtkWidget *widget, GtkAllocation *allocation, MateNetspeedApplet *applet) +label_size_allocate_cb (GtkWidget *widget, + GtkAllocation *allocation, + MateNetspeedApplet *applet) { - if (applet->labels_dont_shrink) { - if (allocation->width <= applet->width) - allocation->width = applet->width; - else - applet->width = allocation->width; - } + if (applet->labels_dont_shrink) { + if (allocation->width <= applet->width) + allocation->width = applet->width; + else + applet->width = allocation->width; + } } static gboolean @@ -1421,7 +1460,7 @@ applet_button_press (GtkWidget *widget, g_error_free (error); } - g_free(command); + g_free (command); } } } @@ -1436,7 +1475,7 @@ static void applet_destroy (MatePanelApplet *applet_widget, MateNetspeedApplet *applet) { - g_assert(applet); + g_assert (applet); if (applet->icon_theme != NULL) { g_signal_handlers_disconnect_by_func (applet->icon_theme, @@ -1469,10 +1508,10 @@ update_tooltip (MateNetspeedApplet* applet) if (!applet->show_tooltip) return; - tooltip = g_string_new(""); + tooltip = g_string_new (""); if (!applet->devinfo->running) - g_string_printf(tooltip, _("%s is down"), applet->devinfo->name); + g_string_printf (tooltip, _("%s is down"), applet->devinfo->name); else { char ipv4_text [INET_ADDRSTRLEN]; char ipv6_text [INET6_ADDRSTRLEN]; @@ -1491,18 +1530,18 @@ update_tooltip (MateNetspeedApplet* applet) } if (applet->show_sum) { - g_string_printf(tooltip, - _("%s: %s\nin: %s out: %s"), - applet->devinfo->name, - ip, - applet->devinfo->rx_rate, - applet->devinfo->tx_rate); + g_string_printf (tooltip, + _("%s: %s\nin: %s out: %s"), + applet->devinfo->name, + ip, + applet->devinfo->rx_rate, + applet->devinfo->tx_rate); } else { - g_string_printf(tooltip, - _("%s: %s\nsum: %s"), - applet->devinfo->name, - ip, - applet->devinfo->sum_rate); + g_string_printf (tooltip, + _("%s: %s\nsum: %s"), + applet->devinfo->name, + ip, + applet->devinfo->sum_rate); } #ifdef HAVE_NL if (applet->devinfo->type == DEV_WIRELESS) @@ -1529,216 +1568,218 @@ update_tooltip (MateNetspeedApplet* applet) static gboolean -mate_netspeed_enter_cb(GtkWidget *widget, GdkEventCrossing *event, gpointer data) +mate_netspeed_enter_cb (GtkWidget *widget, + GdkEventCrossing *event, + gpointer data) { - MateNetspeedApplet *applet = data; + MateNetspeedApplet *applet = data; - applet->show_tooltip = TRUE; - update_tooltip(applet); + applet->show_tooltip = TRUE; + update_tooltip (applet); - return TRUE; + return TRUE; } static gboolean -mate_netspeed_leave_cb(GtkWidget *widget, GdkEventCrossing *event, gpointer data) +mate_netspeed_leave_cb (GtkWidget *widget, + GdkEventCrossing *event, + gpointer data) { - MateNetspeedApplet *applet = data; + MateNetspeedApplet *applet = data; - applet->show_tooltip = FALSE; - return TRUE; + applet->show_tooltip = FALSE; + return TRUE; } /* The "main" function of the applet */ static gboolean -mate_netspeed_applet_factory(MatePanelApplet *applet_widget, const gchar *iid, gpointer data) +mate_netspeed_applet_factory (MatePanelApplet *applet_widget, + const gchar *iid, + gpointer data) { - MateNetspeedApplet *applet; - int i; - GtkWidget *spacer, *spacer_box; - GtkActionGroup *action_group; - - if (strcmp (iid, "NetspeedApplet")) - return FALSE; - - glibtop_init(); - g_set_application_name (_("MATE Netspeed")); - - /* Alloc the applet. The "NULL-setting" is really redudant - * but aren't we paranoid? - */ - applet = g_new0 (MateNetspeedApplet, 1); - applet->applet = applet_widget; - applet->icon_theme = gtk_icon_theme_get_default (); - - /* Set the default colors of the graph - */ - applet->in_color.red = 0xdf00; - applet->in_color.green = 0x2800; - applet->in_color.blue = 0x4700; - applet->out_color.red = 0x3700; - applet->out_color.green = 0x2800; - applet->out_color.blue = 0xdf00; - - for (i = 0; i < GRAPH_VALUES; i++) - { - applet->in_graph[i] = -1; - applet->out_graph[i] = -1; - } - - applet->gsettings = mate_panel_applet_settings_new (applet_widget, "org.mate.panel.applet.netspeed"); - - /* Get stored settings from gsettings - */ - applet->show_sum = g_settings_get_boolean (applet->gsettings, "show-sum"); - applet->show_bits = g_settings_get_boolean (applet->gsettings, "show-bits"); - applet->show_icon = g_settings_get_boolean (applet->gsettings, "show-icon"); - applet->show_quality_icon = g_settings_get_boolean (applet->gsettings, "show-quality-icon"); - applet->change_icon = g_settings_get_boolean (applet->gsettings, "change-icon"); - applet->auto_change_device = g_settings_get_boolean (applet->gsettings, "auto-change-device"); - - char *tmp = NULL; - tmp = g_settings_get_string (applet->gsettings, "device"); - if (tmp && strcmp(tmp, "")) - { - get_device_info(tmp, &applet->devinfo); - g_free(tmp); - } - - tmp = g_settings_get_string (applet->gsettings, "up-command"); - if (tmp && strcmp(tmp, "")) - { - applet->up_cmd = g_strdup(tmp); - g_free(tmp); - } - - tmp = g_settings_get_string (applet->gsettings, "down-command"); - if (tmp && strcmp(tmp, "")) - { - applet->down_cmd = g_strdup(tmp); - g_free(tmp); - } - - tmp = g_settings_get_string (applet->gsettings, "in-color"); - if (tmp) - { - gdk_rgba_parse (&applet->in_color, tmp); - g_free(tmp); - } - - tmp = g_settings_get_string (applet->gsettings, "out-color"); - if (tmp) - { - gdk_rgba_parse (&applet->out_color, tmp); - g_free(tmp); - } - - if (!applet->devinfo) { - GList *ptr, *devices = get_available_devices(); - ptr = devices; - while (ptr) { - if (!g_str_equal(ptr->data, "lo")) { - get_device_info(ptr->data, &applet->devinfo); - break; - } - ptr = g_list_next(ptr); - } - free_devices_list(devices); - } - if (!applet->devinfo) - get_device_info("lo", &applet->devinfo); - applet->device_has_changed = TRUE; - - applet->in_label = gtk_label_new(""); - applet->out_label = gtk_label_new(""); - applet->sum_label = gtk_label_new(""); - - applet->in_pix = gtk_image_new(); - applet->out_pix = gtk_image_new(); - applet->dev_pix = gtk_image_new(); - applet->qual_pix = gtk_image_new(); - - applet->pix_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - spacer = gtk_label_new(""); - gtk_box_pack_start(GTK_BOX(applet->pix_box), spacer, TRUE, TRUE, 0); - spacer = gtk_label_new(""); - gtk_box_pack_end(GTK_BOX(applet->pix_box), spacer, TRUE, TRUE, 0); - - spacer_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); - gtk_box_pack_start(GTK_BOX(applet->pix_box), spacer_box, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(spacer_box), applet->qual_pix, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(spacer_box), applet->dev_pix, FALSE, FALSE, 0); - - init_quality_surfaces(applet); - - applet_change_size_or_orient(applet_widget, -1, (gpointer)applet); - gtk_widget_show_all(GTK_WIDGET(applet_widget)); - update_applet(applet); - - mate_panel_applet_set_flags(applet_widget, MATE_PANEL_APPLET_EXPAND_MINOR); - - applet->timeout_id = g_timeout_add (REFRESH_TIME, - (GSourceFunc)timeout_function, - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet_widget), "change_size", - G_CALLBACK(applet_change_size_or_orient), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet->icon_theme), "changed", - G_CALLBACK(icon_theme_changed_cb), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet_widget), "change_orient", - G_CALLBACK(applet_change_size_or_orient), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet->in_label), "size_allocate", - G_CALLBACK(label_size_allocate_cb), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet->out_label), "size_allocate", - G_CALLBACK(label_size_allocate_cb), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet->sum_label), "size_allocate", - G_CALLBACK(label_size_allocate_cb), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet_widget), "destroy", - G_CALLBACK(applet_destroy), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet_widget), "button-press-event", - G_CALLBACK(applet_button_press), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet_widget), "leave_notify_event", - G_CALLBACK(mate_netspeed_leave_cb), - (gpointer)applet); - - g_signal_connect(G_OBJECT(applet_widget), "enter_notify_event", - G_CALLBACK(mate_netspeed_enter_cb), - (gpointer)applet); - - action_group = gtk_action_group_new ("Netspeed Applet Actions"); - gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); - gtk_action_group_add_actions (action_group, + MateNetspeedApplet *applet; + int i; + GtkWidget *spacer, *spacer_box; + GtkActionGroup *action_group; + + if (strcmp (iid, "NetspeedApplet")) + return FALSE; + + glibtop_init (); + g_set_application_name (_("MATE Netspeed")); + + /* Alloc the applet. The "NULL-setting" is really redudant + * but aren't we paranoid? + */ + applet = g_new0 (MateNetspeedApplet, 1); + applet->applet = applet_widget; + applet->icon_theme = gtk_icon_theme_get_default (); + + /* Set the default colors of the graph + */ + applet->in_color.red = 0xdf00; + applet->in_color.green = 0x2800; + applet->in_color.blue = 0x4700; + applet->out_color.red = 0x3700; + applet->out_color.green = 0x2800; + applet->out_color.blue = 0xdf00; + + for (i = 0; i < GRAPH_VALUES; i++) + { + applet->in_graph[i] = -1; + applet->out_graph[i] = -1; + } + + applet->gsettings = mate_panel_applet_settings_new (applet_widget, "org.mate.panel.applet.netspeed"); + + /* Get stored settings from gsettings + */ + applet->show_sum = g_settings_get_boolean (applet->gsettings, "show-sum"); + applet->show_bits = g_settings_get_boolean (applet->gsettings, "show-bits"); + applet->show_icon = g_settings_get_boolean (applet->gsettings, "show-icon"); + applet->show_quality_icon = g_settings_get_boolean (applet->gsettings, "show-quality-icon"); + applet->change_icon = g_settings_get_boolean (applet->gsettings, "change-icon"); + applet->auto_change_device = g_settings_get_boolean (applet->gsettings, "auto-change-device"); + + char *tmp = NULL; + tmp = g_settings_get_string (applet->gsettings, "device"); + if (tmp && strcmp (tmp, "")) { + get_device_info (tmp, &applet->devinfo); + g_free (tmp); + } + + tmp = g_settings_get_string (applet->gsettings, "up-command"); + if (tmp && strcmp (tmp, "")) { + applet->up_cmd = g_strdup (tmp); + g_free (tmp); + } + + tmp = g_settings_get_string (applet->gsettings, "down-command"); + if (tmp && strcmp (tmp, "")) { + applet->down_cmd = g_strdup (tmp); + g_free (tmp); + } + + tmp = g_settings_get_string (applet->gsettings, "in-color"); + if (tmp) { + gdk_rgba_parse (&applet->in_color, tmp); + g_free (tmp); + } + + tmp = g_settings_get_string (applet->gsettings, "out-color"); + if (tmp) { + gdk_rgba_parse (&applet->out_color, tmp); + g_free (tmp); + } + + if (!applet->devinfo) { + GList *ptr, *devices = get_available_devices (); + ptr = devices; + while (ptr) { + if (!g_str_equal (ptr->data, "lo")) { + get_device_info (ptr->data, &applet->devinfo); + break; + } + ptr = g_list_next (ptr); + } + free_devices_list (devices); + } + if (!applet->devinfo) + get_device_info ("lo", &applet->devinfo); + + applet->device_has_changed = TRUE; + + applet->in_label = gtk_label_new (""); + applet->out_label = gtk_label_new (""); + applet->sum_label = gtk_label_new (""); + + applet->in_pix = gtk_image_new (); + applet->out_pix = gtk_image_new (); + applet->dev_pix = gtk_image_new (); + applet->qual_pix = gtk_image_new (); + + applet->pix_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + spacer = gtk_label_new (""); + gtk_box_pack_start (GTK_BOX (applet->pix_box), spacer, TRUE, TRUE, 0); + spacer = gtk_label_new (""); + gtk_box_pack_end (GTK_BOX (applet->pix_box), spacer, TRUE, TRUE, 0); + + spacer_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + gtk_box_pack_start (GTK_BOX (applet->pix_box), spacer_box, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (spacer_box), applet->qual_pix, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (spacer_box), applet->dev_pix, FALSE, FALSE, 0); + + init_quality_surfaces (applet); + + applet_change_size_or_orient (applet_widget, -1, (gpointer)applet); + gtk_widget_show_all (GTK_WIDGET (applet_widget)); + update_applet (applet); + + mate_panel_applet_set_flags (applet_widget, MATE_PANEL_APPLET_EXPAND_MINOR); + + applet->timeout_id = g_timeout_add (REFRESH_TIME, + (GSourceFunc)timeout_function, + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet_widget), "change_size", + G_CALLBACK (applet_change_size_or_orient), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet->icon_theme), "changed", + G_CALLBACK (icon_theme_changed_cb), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet_widget), "change_orient", + G_CALLBACK (applet_change_size_or_orient), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet->in_label), "size_allocate", + G_CALLBACK (label_size_allocate_cb), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet->out_label), "size_allocate", + G_CALLBACK (label_size_allocate_cb), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet->sum_label), "size_allocate", + G_CALLBACK (label_size_allocate_cb), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet_widget), "destroy", + G_CALLBACK (applet_destroy), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet_widget), "button-press-event", + G_CALLBACK (applet_button_press), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet_widget), "leave_notify_event", + G_CALLBACK (mate_netspeed_leave_cb), + (gpointer)applet); + + g_signal_connect (G_OBJECT (applet_widget), "enter_notify_event", + G_CALLBACK (mate_netspeed_enter_cb), + (gpointer)applet); + + action_group = gtk_action_group_new ("Netspeed Applet Actions"); + gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); + gtk_action_group_add_actions (action_group, mate_netspeed_applet_menu_actions, G_N_ELEMENTS (mate_netspeed_applet_menu_actions), applet); - mate_panel_applet_setup_menu_from_resource (MATE_PANEL_APPLET (applet->applet), - NETSPEED_RESOURCE_PATH "netspeed-menu.xml", - action_group); + mate_panel_applet_setup_menu_from_resource (MATE_PANEL_APPLET (applet->applet), + NETSPEED_RESOURCE_PATH "netspeed-menu.xml", + action_group); - g_object_unref (action_group); + g_object_unref (action_group); - return TRUE; + return TRUE; } -MATE_PANEL_APPLET_OUT_PROCESS_FACTORY("NetspeedAppletFactory", - PANEL_TYPE_APPLET, - "NetspeedApplet", - mate_netspeed_applet_factory, - NULL) +MATE_PANEL_APPLET_OUT_PROCESS_FACTORY ("NetspeedAppletFactory", + PANEL_TYPE_APPLET, + "NetspeedApplet", + mate_netspeed_applet_factory, + NULL) diff --git a/netspeed/src/nl80211.h b/netspeed/src/nl80211.h index beee59c8..c4150290 100644 --- a/netspeed/src/nl80211.h +++ b/netspeed/src/nl80211.h @@ -10,7 +10,7 @@ * Copyright 2008, 2009 Luis R. Rodriguez <[email protected]> * Copyright 2008 Jouni Malinen <[email protected]> * Copyright 2008 Colin McCabe <[email protected]> - * Copyright 2015-2017 Intel Deutschland GmbH + * Copyright 2015-2017 Intel Deutschland GmbH * Copyright (C) 2018-2019 Intel Corporation * * Permission to use, copy, modify, and/or distribute this software for any @@ -44,18 +44,18 @@ #define NL80211_GENL_NAME "nl80211" -#define NL80211_MULTICAST_GROUP_CONFIG "config" -#define NL80211_MULTICAST_GROUP_SCAN "scan" -#define NL80211_MULTICAST_GROUP_REG "regulatory" -#define NL80211_MULTICAST_GROUP_MLME "mlme" -#define NL80211_MULTICAST_GROUP_VENDOR "vendor" -#define NL80211_MULTICAST_GROUP_NAN "nan" -#define NL80211_MULTICAST_GROUP_TESTMODE "testmode" +#define NL80211_MULTICAST_GROUP_CONFIG "config" +#define NL80211_MULTICAST_GROUP_SCAN "scan" +#define NL80211_MULTICAST_GROUP_REG "regulatory" +#define NL80211_MULTICAST_GROUP_MLME "mlme" +#define NL80211_MULTICAST_GROUP_VENDOR "vendor" +#define NL80211_MULTICAST_GROUP_NAN "nan" +#define NL80211_MULTICAST_GROUP_TESTMODE "testmode" -#define NL80211_EDMG_BW_CONFIG_MIN 4 -#define NL80211_EDMG_BW_CONFIG_MAX 15 -#define NL80211_EDMG_CHANNELS_MIN 1 -#define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */ +#define NL80211_EDMG_BW_CONFIG_MIN 4 +#define NL80211_EDMG_BW_CONFIG_MAX 15 +#define NL80211_EDMG_CHANNELS_MIN 1 +#define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */ /** * DOC: Station handling @@ -211,10 +211,10 @@ * eventually do a key derivation as per IEEE 802.11ai. The below additional * parameters should be given to driver in %NL80211_CMD_CONNECT and/or in * %NL80211_CMD_UPDATE_CONNECT_PARAMS. - * %NL80211_ATTR_FILS_ERP_USERNAME - used to construct keyname_nai - * %NL80211_ATTR_FILS_ERP_REALM - used to construct keyname_nai - * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used to construct erp message - * %NL80211_ATTR_FILS_ERP_RRK - used to generate the rIK and rMSK + * %NL80211_ATTR_FILS_ERP_USERNAME - used to construct keyname_nai + * %NL80211_ATTR_FILS_ERP_REALM - used to construct keyname_nai + * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used to construct erp message + * %NL80211_ATTR_FILS_ERP_RRK - used to generate the rIK and rMSK * rIK should be used to generate an authentication tag on the ERP message and * rMSK should be used to derive a PMKSA. * rIK, rMSK should be generated and keyname_nai, sequence number should be used @@ -223,10 +223,10 @@ * When FILS shared key authentication is completed, driver needs to provide the * below additional parameters to userspace, which can be either after setting * up a connection or after roaming. - * %NL80211_ATTR_FILS_KEK - used for key renewal - * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used in further EAP-RP exchanges - * %NL80211_ATTR_PMKID - used to identify the PMKSA used/generated - * %Nl80211_ATTR_PMK - used to update PMKSA cache in userspace + * %NL80211_ATTR_FILS_KEK - used for key renewal + * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used in further EAP-RP exchanges + * %NL80211_ATTR_PMKID - used to identify the PMKSA used/generated + * %Nl80211_ATTR_PMK - used to update PMKSA cache in userspace * The PMKSA can be maintained in userspace persistently so that it can be used * later after reboots or wifi turn off/on also. * @@ -254,1082 +254,1082 @@ * @NL80211_CMD_UNSPEC: unspecified command to catch errors * * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request - * to get a list of all present wiphys. + * to get a list of all present wiphys. * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or - * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, - * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the - * attributes determining the channel width; this is used for setting - * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT, - * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, - * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. - * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL - * instead, the support here is for backward compatibility only. + * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, + * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the + * attributes determining the channel width; this is used for setting + * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT, + * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, + * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. + * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL + * instead, the support here is for backward compatibility only. * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request - * or rename notification. Has attributes %NL80211_ATTR_WIPHY and - * %NL80211_ATTR_WIPHY_NAME. + * or rename notification. Has attributes %NL80211_ATTR_WIPHY and + * %NL80211_ATTR_WIPHY_NAME. * @NL80211_CMD_DEL_WIPHY: Wiphy deleted. Has attributes - * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME. + * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME. * * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration; - * either a dump request for all interfaces or a specific get with a - * single %NL80211_ATTR_IFINDEX is supported. + * either a dump request for all interfaces or a specific get with a + * single %NL80211_ATTR_IFINDEX is supported. * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires - * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE. + * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE. * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response - * to %NL80211_CMD_GET_INTERFACE. Has %NL80211_ATTR_IFINDEX, - * %NL80211_ATTR_WIPHY and %NL80211_ATTR_IFTYPE attributes. Can also - * be sent from userspace to request creation of a new virtual interface, - * then requires attributes %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFTYPE and - * %NL80211_ATTR_IFNAME. + * to %NL80211_CMD_GET_INTERFACE. Has %NL80211_ATTR_IFINDEX, + * %NL80211_ATTR_WIPHY and %NL80211_ATTR_IFTYPE attributes. Can also + * be sent from userspace to request creation of a new virtual interface, + * then requires attributes %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFTYPE and + * %NL80211_ATTR_IFNAME. * @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes - * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from - * userspace to request deletion of a virtual interface, then requires - * attribute %NL80211_ATTR_IFINDEX. + * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from + * userspace to request deletion of a virtual interface, then requires + * attribute %NL80211_ATTR_IFINDEX. * * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified - * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. + * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT, - * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD. + * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD. * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA, - * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER, - * and %NL80211_ATTR_KEY_SEQ attributes. + * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER, + * and %NL80211_ATTR_KEY_SEQ attributes. * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX - * or %NL80211_ATTR_MAC. + * or %NL80211_ATTR_MAC. * * @NL80211_CMD_GET_BEACON: (not used) * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface - * using the %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL - * attributes. For drivers that generate the beacon and probe responses - * internally, the following attributes must be provided: %NL80211_ATTR_IE, - * %NL80211_ATTR_IE_PROBE_RESP and %NL80211_ATTR_IE_ASSOC_RESP. + * using the %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL + * attributes. For drivers that generate the beacon and probe responses + * internally, the following attributes must be provided: %NL80211_ATTR_IE, + * %NL80211_ATTR_IE_PROBE_RESP and %NL80211_ATTR_IE_ASSOC_RESP. * @NL80211_CMD_START_AP: Start AP operation on an AP interface, parameters - * are like for %NL80211_CMD_SET_BEACON, and additionally parameters that - * do not change are used, these include %NL80211_ATTR_BEACON_INTERVAL, - * %NL80211_ATTR_DTIM_PERIOD, %NL80211_ATTR_SSID, - * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE, - * %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS, - * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY, - * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT, - * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS. - * The channel to use can be set on the interface or be given using the - * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width. + * are like for %NL80211_CMD_SET_BEACON, and additionally parameters that + * do not change are used, these include %NL80211_ATTR_BEACON_INTERVAL, + * %NL80211_ATTR_DTIM_PERIOD, %NL80211_ATTR_SSID, + * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE, + * %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS, + * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY, + * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT, + * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS. + * The channel to use can be set on the interface or be given using the + * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width. * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP * * @NL80211_CMD_GET_STATION: Get station attributes for station identified by - * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. + * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. * @NL80211_CMD_SET_STATION: Set station attributes for station identified by - * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. + * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX. * @NL80211_CMD_NEW_STATION: Add a station with given attributes to the - * the interface identified by %NL80211_ATTR_IFINDEX. + * the interface identified by %NL80211_ATTR_IFINDEX. * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC - * or, if no MAC address given, all stations, on the interface identified - * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and - * %NL80211_ATTR_REASON_CODE can optionally be used to specify which type - * of disconnection indication should be sent to the station - * (Deauthentication or Disassociation frame and reason code for that - * frame). + * or, if no MAC address given, all stations, on the interface identified + * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and + * %NL80211_ATTR_REASON_CODE can optionally be used to specify which type + * of disconnection indication should be sent to the station + * (Deauthentication or Disassociation frame and reason code for that + * frame). * * @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to - * destination %NL80211_ATTR_MAC on the interface identified by - * %NL80211_ATTR_IFINDEX. + * destination %NL80211_ATTR_MAC on the interface identified by + * %NL80211_ATTR_IFINDEX. * @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to - * destination %NL80211_ATTR_MAC on the interface identified by - * %NL80211_ATTR_IFINDEX. + * destination %NL80211_ATTR_MAC on the interface identified by + * %NL80211_ATTR_IFINDEX. * @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by - * %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP. + * %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP. * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by - * %NL80211_ATTR_MAC. + * %NL80211_ATTR_MAC. * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the - * the interface identified by %NL80211_ATTR_IFINDEX. + * the interface identified by %NL80211_ATTR_IFINDEX. * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC - * or, if no MAC address given, all mesh paths, on the interface identified - * by %NL80211_ATTR_IFINDEX. + * or, if no MAC address given, all mesh paths, on the interface identified + * by %NL80211_ATTR_IFINDEX. * @NL80211_CMD_SET_BSS: Set BSS attributes for BSS identified by - * %NL80211_ATTR_IFINDEX. + * %NL80211_ATTR_IFINDEX. * * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set - * regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device - * has a private regulatory domain, it will be returned. Otherwise, the - * global regdomain will be returned. - * A device will have a private regulatory domain if it uses the - * regulatory_hint() API. Even when a private regdomain is used the channel - * information will still be mended according to further hints from - * the regulatory core to help with compliance. A dump version of this API - * is now available which will returns the global regdomain as well as - * all private regdomains of present wiphys (for those that have it). - * If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then - * its private regdomain is the only valid one for it. The regulatory - * core is not used to help with compliance in this case. + * regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device + * has a private regulatory domain, it will be returned. Otherwise, the + * global regdomain will be returned. + * A device will have a private regulatory domain if it uses the + * regulatory_hint() API. Even when a private regdomain is used the channel + * information will still be mended according to further hints from + * the regulatory core to help with compliance. A dump version of this API + * is now available which will returns the global regdomain as well as + * all private regdomains of present wiphys (for those that have it). + * If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then + * its private regdomain is the only valid one for it. The regulatory + * core is not used to help with compliance in this case. * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command - * after being queried by the kernel. CRDA replies by sending a regulatory - * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our - * current alpha2 if it found a match. It also provides - * NL80211_ATTR_REG_RULE_FLAGS, and a set of regulatory rules. Each - * regulatory rule is a nested set of attributes given by - * %NL80211_ATTR_REG_RULE_FREQ_[START|END] and - * %NL80211_ATTR_FREQ_RANGE_MAX_BW with an attached power rule given by - * %NL80211_ATTR_REG_RULE_POWER_MAX_ANT_GAIN and - * %NL80211_ATTR_REG_RULE_POWER_MAX_EIRP. + * after being queried by the kernel. CRDA replies by sending a regulatory + * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our + * current alpha2 if it found a match. It also provides + * NL80211_ATTR_REG_RULE_FLAGS, and a set of regulatory rules. Each + * regulatory rule is a nested set of attributes given by + * %NL80211_ATTR_REG_RULE_FREQ_[START|END] and + * %NL80211_ATTR_FREQ_RANGE_MAX_BW with an attached power rule given by + * %NL80211_ATTR_REG_RULE_POWER_MAX_ANT_GAIN and + * %NL80211_ATTR_REG_RULE_POWER_MAX_EIRP. * @NL80211_CMD_REQ_SET_REG: ask the wireless core to set the regulatory domain - * to the specified ISO/IEC 3166-1 alpha2 country code. The core will - * store this as a valid request and then query userspace for it. + * to the specified ISO/IEC 3166-1 alpha2 country code. The core will + * store this as a valid request and then query userspace for it. * * @NL80211_CMD_GET_MESH_CONFIG: Get mesh networking properties for the - * interface identified by %NL80211_ATTR_IFINDEX + * interface identified by %NL80211_ATTR_IFINDEX * * @NL80211_CMD_SET_MESH_CONFIG: Set mesh networking properties for the - * interface identified by %NL80211_ATTR_IFINDEX + * interface identified by %NL80211_ATTR_IFINDEX * * @NL80211_CMD_SET_MGMT_EXTRA_IE: Set extra IEs for management frames. The - * interface is identified with %NL80211_ATTR_IFINDEX and the management - * frame subtype with %NL80211_ATTR_MGMT_SUBTYPE. The extra IE data to be - * added to the end of the specified management frame is specified with - * %NL80211_ATTR_IE. If the command succeeds, the requested data will be - * added to all specified management frames generated by - * kernel/firmware/driver. - * Note: This command has been removed and it is only reserved at this - * point to avoid re-using existing command number. The functionality this - * command was planned for has been provided with cleaner design with the - * option to specify additional IEs in NL80211_CMD_TRIGGER_SCAN, - * NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE, - * NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE. + * interface is identified with %NL80211_ATTR_IFINDEX and the management + * frame subtype with %NL80211_ATTR_MGMT_SUBTYPE. The extra IE data to be + * added to the end of the specified management frame is specified with + * %NL80211_ATTR_IE. If the command succeeds, the requested data will be + * added to all specified management frames generated by + * kernel/firmware/driver. + * Note: This command has been removed and it is only reserved at this + * point to avoid re-using existing command number. The functionality this + * command was planned for has been provided with cleaner design with the + * option to specify additional IEs in NL80211_CMD_TRIGGER_SCAN, + * NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE, + * NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE. * * @NL80211_CMD_GET_SCAN: get scan results * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters - * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the - * probe requests at CCK rate or not. %NL80211_ATTR_BSSID can be used to - * specify a BSSID to scan for; if not included, the wildcard BSSID will - * be used. + * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the + * probe requests at CCK rate or not. %NL80211_ATTR_BSSID can be used to + * specify a BSSID to scan for; if not included, the wildcard BSSID will + * be used. * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to - * NL80211_CMD_GET_SCAN and on the "scan" multicast group) + * NL80211_CMD_GET_SCAN and on the "scan" multicast group) * @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons, - * partial scan results may be available + * partial scan results may be available * * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain - * intervals and certain number of cycles, as specified by - * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is - * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified, - * scheduled scan will run in an infinite loop with the specified interval. - * These attributes are mutually exculsive, - * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if - * NL80211_ATTR_SCHED_SCAN_PLANS is defined. - * If for some reason scheduled scan is aborted by the driver, all scan - * plans are canceled (including scan plans that did not start yet). - * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS) - * are passed, they are used in the probe requests. For - * broadcast, a broadcast SSID must be passed (ie. an empty - * string). If no SSID is passed, no probe requests are sent and - * a passive scan is performed. %NL80211_ATTR_SCAN_FREQUENCIES, - * if passed, define which channels should be scanned; if not - * passed, all channels allowed for the current regulatory domain - * are used. Extra IEs can also be passed from the userspace by - * using the %NL80211_ATTR_IE attribute. The first cycle of the - * scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY - * is supplied. If the device supports multiple concurrent scheduled - * scans, it will allow such when the caller provides the flag attribute - * %NL80211_ATTR_SCHED_SCAN_MULTI to indicate user-space support for it. + * intervals and certain number of cycles, as specified by + * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is + * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified, + * scheduled scan will run in an infinite loop with the specified interval. + * These attributes are mutually exculsive, + * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if + * NL80211_ATTR_SCHED_SCAN_PLANS is defined. + * If for some reason scheduled scan is aborted by the driver, all scan + * plans are canceled (including scan plans that did not start yet). + * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS) + * are passed, they are used in the probe requests. For + * broadcast, a broadcast SSID must be passed (ie. an empty + * string). If no SSID is passed, no probe requests are sent and + * a passive scan is performed. %NL80211_ATTR_SCAN_FREQUENCIES, + * if passed, define which channels should be scanned; if not + * passed, all channels allowed for the current regulatory domain + * are used. Extra IEs can also be passed from the userspace by + * using the %NL80211_ATTR_IE attribute. The first cycle of the + * scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY + * is supplied. If the device supports multiple concurrent scheduled + * scans, it will allow such when the caller provides the flag attribute + * %NL80211_ATTR_SCHED_SCAN_MULTI to indicate user-space support for it. * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if - * scheduled scan is not running. The caller may assume that as soon - * as the call returns, it is safe to start a new scheduled scan again. + * scheduled scan is not running. The caller may assume that as soon + * as the call returns, it is safe to start a new scheduled scan again. * @NL80211_CMD_SCHED_SCAN_RESULTS: indicates that there are scheduled scan - * results available. + * results available. * @NL80211_CMD_SCHED_SCAN_STOPPED: indicates that the scheduled scan has - * stopped. The driver may issue this event at any time during a - * scheduled scan. One reason for stopping the scan is if the hardware - * does not support starting an association or a normal scan while running - * a scheduled scan. This event is also sent when the - * %NL80211_CMD_STOP_SCHED_SCAN command is received or when the interface - * is brought down while a scheduled scan was running. + * stopped. The driver may issue this event at any time during a + * scheduled scan. One reason for stopping the scan is if the hardware + * does not support starting an association or a normal scan while running + * a scheduled scan. This event is also sent when the + * %NL80211_CMD_STOP_SCHED_SCAN command is received or when the interface + * is brought down while a scheduled scan was running. * * @NL80211_CMD_GET_SURVEY: get survey resuls, e.g. channel occupation * or noise level * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to - * NL80211_CMD_GET_SURVEY and on the "scan" multicast group) + * NL80211_CMD_GET_SURVEY and on the "scan" multicast group) * * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry using %NL80211_ATTR_MAC - * (for the BSSID), %NL80211_ATTR_PMKID, and optionally %NL80211_ATTR_PMK - * (PMK is used for PTKSA derivation in case of FILS shared key offload) or - * using %NL80211_ATTR_SSID, %NL80211_ATTR_FILS_CACHE_ID, - * %NL80211_ATTR_PMKID, and %NL80211_ATTR_PMK in case of FILS - * authentication where %NL80211_ATTR_FILS_CACHE_ID is the identifier - * advertized by a FILS capable AP identifying the scope of PMKSA in an - * ESS. + * (for the BSSID), %NL80211_ATTR_PMKID, and optionally %NL80211_ATTR_PMK + * (PMK is used for PTKSA derivation in case of FILS shared key offload) or + * using %NL80211_ATTR_SSID, %NL80211_ATTR_FILS_CACHE_ID, + * %NL80211_ATTR_PMKID, and %NL80211_ATTR_PMK in case of FILS + * authentication where %NL80211_ATTR_FILS_CACHE_ID is the identifier + * advertized by a FILS capable AP identifying the scope of PMKSA in an + * ESS. * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC - * (for the BSSID) and %NL80211_ATTR_PMKID or using %NL80211_ATTR_SSID, - * %NL80211_ATTR_FILS_CACHE_ID, and %NL80211_ATTR_PMKID in case of FILS - * authentication. + * (for the BSSID) and %NL80211_ATTR_PMKID or using %NL80211_ATTR_SSID, + * %NL80211_ATTR_FILS_CACHE_ID, and %NL80211_ATTR_PMKID in case of FILS + * authentication. * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries. * * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain - * has been changed and provides details of the request information - * that caused the change such as who initiated the regulatory request - * (%NL80211_ATTR_REG_INITIATOR), the wiphy_idx - * (%NL80211_ATTR_REG_ALPHA2) on which the request was made from if - * the initiator was %NL80211_REGDOM_SET_BY_COUNTRY_IE or - * %NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain - * set (%NL80211_ATTR_REG_TYPE), if the type of regulatory domain is - * %NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on - * to (%NL80211_ATTR_REG_ALPHA2). + * has been changed and provides details of the request information + * that caused the change such as who initiated the regulatory request + * (%NL80211_ATTR_REG_INITIATOR), the wiphy_idx + * (%NL80211_ATTR_REG_ALPHA2) on which the request was made from if + * the initiator was %NL80211_REGDOM_SET_BY_COUNTRY_IE or + * %NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain + * set (%NL80211_ATTR_REG_TYPE), if the type of regulatory domain is + * %NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on + * to (%NL80211_ATTR_REG_ALPHA2). * @NL80211_CMD_REG_BEACON_HINT: indicates to userspace that an AP beacon - * has been found while world roaming thus enabling active scan or - * any mode of operation that initiates TX (beacons) on a channel - * where we would not have been able to do either before. As an example - * if you are world roaming (regulatory domain set to world or if your - * driver is using a custom world roaming regulatory domain) and while - * doing a passive scan on the 5 GHz band you find an AP there (if not - * on a DFS channel) you will now be able to actively scan for that AP - * or use AP mode on your card on that same channel. Note that this will - * never be used for channels 1-11 on the 2 GHz band as they are always - * enabled world wide. This beacon hint is only sent if your device had - * either disabled active scanning or beaconing on a channel. We send to - * userspace the wiphy on which we removed a restriction from - * (%NL80211_ATTR_WIPHY) and the channel on which this occurred - * before (%NL80211_ATTR_FREQ_BEFORE) and after (%NL80211_ATTR_FREQ_AFTER) - * the beacon hint was processed. + * has been found while world roaming thus enabling active scan or + * any mode of operation that initiates TX (beacons) on a channel + * where we would not have been able to do either before. As an example + * if you are world roaming (regulatory domain set to world or if your + * driver is using a custom world roaming regulatory domain) and while + * doing a passive scan on the 5 GHz band you find an AP there (if not + * on a DFS channel) you will now be able to actively scan for that AP + * or use AP mode on your card on that same channel. Note that this will + * never be used for channels 1-11 on the 2 GHz band as they are always + * enabled world wide. This beacon hint is only sent if your device had + * either disabled active scanning or beaconing on a channel. We send to + * userspace the wiphy on which we removed a restriction from + * (%NL80211_ATTR_WIPHY) and the channel on which this occurred + * before (%NL80211_ATTR_FREQ_BEFORE) and after (%NL80211_ATTR_FREQ_AFTER) + * the beacon hint was processed. * * @NL80211_CMD_AUTHENTICATE: authentication request and notification. - * This command is used both as a command (request to authenticate) and - * as an event on the "mlme" multicast group indicating completion of the - * authentication process. - * When used as a command, %NL80211_ATTR_IFINDEX is used to identify the - * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and - * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify - * the SSID (mainly for association, but is included in authentication - * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used - * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE - * is used to specify the authentication type. %NL80211_ATTR_IE is used to - * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs) - * to be added to the frame. - * When used as an event, this reports reception of an Authentication - * frame in station and IBSS modes when the local MLME processed the - * frame, i.e., it was for the local STA and was received in correct - * state. This is similar to MLME-AUTHENTICATE.confirm primitive in the - * MLME SAP interface (kernel providing MLME, userspace SME). The - * included %NL80211_ATTR_FRAME attribute contains the management frame - * (including both the header and frame body, but not FCS). This event is - * also used to indicate if the authentication attempt timed out. In that - * case the %NL80211_ATTR_FRAME attribute is replaced with a - * %NL80211_ATTR_TIMED_OUT flag (and %NL80211_ATTR_MAC to indicate which - * pending authentication timed out). + * This command is used both as a command (request to authenticate) and + * as an event on the "mlme" multicast group indicating completion of the + * authentication process. + * When used as a command, %NL80211_ATTR_IFINDEX is used to identify the + * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and + * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify + * the SSID (mainly for association, but is included in authentication + * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used + * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE + * is used to specify the authentication type. %NL80211_ATTR_IE is used to + * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs) + * to be added to the frame. + * When used as an event, this reports reception of an Authentication + * frame in station and IBSS modes when the local MLME processed the + * frame, i.e., it was for the local STA and was received in correct + * state. This is similar to MLME-AUTHENTICATE.confirm primitive in the + * MLME SAP interface (kernel providing MLME, userspace SME). The + * included %NL80211_ATTR_FRAME attribute contains the management frame + * (including both the header and frame body, but not FCS). This event is + * also used to indicate if the authentication attempt timed out. In that + * case the %NL80211_ATTR_FRAME attribute is replaced with a + * %NL80211_ATTR_TIMED_OUT flag (and %NL80211_ATTR_MAC to indicate which + * pending authentication timed out). * @NL80211_CMD_ASSOCIATE: association request and notification; like - * NL80211_CMD_AUTHENTICATE but for Association and Reassociation - * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request, - * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives). The - * %NL80211_ATTR_PREV_BSSID attribute is used to specify whether the - * request is for the initial association to an ESS (that attribute not - * included) or for reassociation within the ESS (that attribute is - * included). + * NL80211_CMD_AUTHENTICATE but for Association and Reassociation + * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request, + * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives). The + * %NL80211_ATTR_PREV_BSSID attribute is used to specify whether the + * request is for the initial association to an ESS (that attribute not + * included) or for reassociation within the ESS (that attribute is + * included). * @NL80211_CMD_DEAUTHENTICATE: deauthentication request and notification; like - * NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to - * MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication - * primitives). + * NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to + * MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication + * primitives). * @NL80211_CMD_DISASSOCIATE: disassociation request and notification; like - * NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to - * MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives). + * NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to + * MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives). * * @NL80211_CMD_MICHAEL_MIC_FAILURE: notification of a locally detected Michael - * MIC (part of TKIP) failure; sent on the "mlme" multicast group; the - * event includes %NL80211_ATTR_MAC to describe the source MAC address of - * the frame with invalid MIC, %NL80211_ATTR_KEY_TYPE to show the key - * type, %NL80211_ATTR_KEY_IDX to indicate the key identifier, and - * %NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this - * event matches with MLME-MICHAELMICFAILURE.indication() primitive + * MIC (part of TKIP) failure; sent on the "mlme" multicast group; the + * event includes %NL80211_ATTR_MAC to describe the source MAC address of + * the frame with invalid MIC, %NL80211_ATTR_KEY_TYPE to show the key + * type, %NL80211_ATTR_KEY_IDX to indicate the key identifier, and + * %NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this + * event matches with MLME-MICHAELMICFAILURE.indication() primitive * * @NL80211_CMD_JOIN_IBSS: Join a new IBSS -- given at least an SSID and a - * FREQ attribute (for the initial frequency if no peer can be found) - * and optionally a MAC (as BSSID) and FREQ_FIXED attribute if those - * should be fixed rather than automatically determined. Can only be - * executed on a network interface that is UP, and fixed BSSID/FREQ - * may be rejected. Another optional parameter is the beacon interval, - * given in the %NL80211_ATTR_BEACON_INTERVAL attribute, which if not - * given defaults to 100 TU (102.4ms). + * FREQ attribute (for the initial frequency if no peer can be found) + * and optionally a MAC (as BSSID) and FREQ_FIXED attribute if those + * should be fixed rather than automatically determined. Can only be + * executed on a network interface that is UP, and fixed BSSID/FREQ + * may be rejected. Another optional parameter is the beacon interval, + * given in the %NL80211_ATTR_BEACON_INTERVAL attribute, which if not + * given defaults to 100 TU (102.4ms). * @NL80211_CMD_LEAVE_IBSS: Leave the IBSS -- no special arguments, the IBSS is - * determined by the network interface. + * determined by the network interface. * * @NL80211_CMD_TESTMODE: testmode command, takes a wiphy (or ifindex) attribute - * to identify the device, and the TESTDATA blob attribute to pass through - * to the driver. + * to identify the device, and the TESTDATA blob attribute to pass through + * to the driver. * * @NL80211_CMD_CONNECT: connection request and notification; this command - * requests to connect to a specified network but without separating - * auth and assoc steps. For this, you need to specify the SSID in a - * %NL80211_ATTR_SSID attribute, and can optionally specify the association - * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP, - * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, - * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, - * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, - * %NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and - * %NL80211_ATTR_WIPHY_FREQ_HINT. - * If included, %NL80211_ATTR_MAC and %NL80211_ATTR_WIPHY_FREQ are - * restrictions on BSS selection, i.e., they effectively prevent roaming - * within the ESS. %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT - * can be included to provide a recommendation of the initial BSS while - * allowing the driver to roam to other BSSes within the ESS and also to - * ignore this recommendation if the indicated BSS is not ideal. Only one - * set of BSSID,frequency parameters is used (i.e., either the enforcing - * %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict - * %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT). - * %NL80211_ATTR_PREV_BSSID can be used to request a reassociation within - * the ESS in case the device is already associated and an association with - * a different BSS is desired. - * Background scan period can optionally be - * specified in %NL80211_ATTR_BG_SCAN_PERIOD, - * if not specified default background scan configuration - * in driver is used and if period value is 0, bg scan will be disabled. - * This attribute is ignored if driver does not support roam scan. - * It is also sent as an event, with the BSSID and response IEs when the - * connection is established or failed to be established. This can be - * determined by the %NL80211_ATTR_STATUS_CODE attribute (0 = success, - * non-zero = failure). If %NL80211_ATTR_TIMED_OUT is included in the - * event, the connection attempt failed due to not being able to initiate - * authentication/association or not receiving a response from the AP. - * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as - * well to remain backwards compatible. - * When establishing a security association, drivers that support 4 way - * handshake offload should send %NL80211_CMD_PORT_AUTHORIZED event when - * the 4 way handshake is completed successfully. + * requests to connect to a specified network but without separating + * auth and assoc steps. For this, you need to specify the SSID in a + * %NL80211_ATTR_SSID attribute, and can optionally specify the association + * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP, + * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, + * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, + * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, + * %NL80211_ATTR_CONTROL_PORT_OVER_NL80211, %NL80211_ATTR_MAC_HINT, and + * %NL80211_ATTR_WIPHY_FREQ_HINT. + * If included, %NL80211_ATTR_MAC and %NL80211_ATTR_WIPHY_FREQ are + * restrictions on BSS selection, i.e., they effectively prevent roaming + * within the ESS. %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT + * can be included to provide a recommendation of the initial BSS while + * allowing the driver to roam to other BSSes within the ESS and also to + * ignore this recommendation if the indicated BSS is not ideal. Only one + * set of BSSID,frequency parameters is used (i.e., either the enforcing + * %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict + * %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT). + * %NL80211_ATTR_PREV_BSSID can be used to request a reassociation within + * the ESS in case the device is already associated and an association with + * a different BSS is desired. + * Background scan period can optionally be + * specified in %NL80211_ATTR_BG_SCAN_PERIOD, + * if not specified default background scan configuration + * in driver is used and if period value is 0, bg scan will be disabled. + * This attribute is ignored if driver does not support roam scan. + * It is also sent as an event, with the BSSID and response IEs when the + * connection is established or failed to be established. This can be + * determined by the %NL80211_ATTR_STATUS_CODE attribute (0 = success, + * non-zero = failure). If %NL80211_ATTR_TIMED_OUT is included in the + * event, the connection attempt failed due to not being able to initiate + * authentication/association or not receiving a response from the AP. + * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as + * well to remain backwards compatible. + * When establishing a security association, drivers that support 4 way + * handshake offload should send %NL80211_CMD_PORT_AUTHORIZED event when + * the 4 way handshake is completed successfully. * @NL80211_CMD_ROAM: Notification indicating the card/driver roamed by itself. - * When a security association was established with the new AP (e.g. if - * the FT protocol was used for roaming or the driver completed the 4 way - * handshake), this event should be followed by an - * %NL80211_CMD_PORT_AUTHORIZED event. + * When a security association was established with the new AP (e.g. if + * the FT protocol was used for roaming or the driver completed the 4 way + * handshake), this event should be followed by an + * %NL80211_CMD_PORT_AUTHORIZED event. * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify - * userspace that a connection was dropped by the AP or due to other - * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and - * %NL80211_ATTR_REASON_CODE attributes are used. + * userspace that a connection was dropped by the AP or due to other + * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and + * %NL80211_ATTR_REASON_CODE attributes are used. * * @NL80211_CMD_SET_WIPHY_NETNS: Set a wiphy's netns. Note that all devices - * associated with this wiphy must be down and will follow. + * associated with this wiphy must be down and will follow. * * @NL80211_CMD_REMAIN_ON_CHANNEL: Request to remain awake on the specified - * channel for the specified amount of time. This can be used to do - * off-channel operations like transmit a Public Action frame and wait for - * a response while being associated to an AP on another channel. - * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus - * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the - * frequency for the operation. - * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds - * to remain on the channel. This command is also used as an event to - * notify when the requested duration starts (it may take a while for the - * driver to schedule this time due to other concurrent needs for the - * radio). - * When called, this operation returns a cookie (%NL80211_ATTR_COOKIE) - * that will be included with any events pertaining to this request; - * the cookie is also used to cancel the request. + * channel for the specified amount of time. This can be used to do + * off-channel operations like transmit a Public Action frame and wait for + * a response while being associated to an AP on another channel. + * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus + * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the + * frequency for the operation. + * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds + * to remain on the channel. This command is also used as an event to + * notify when the requested duration starts (it may take a while for the + * driver to schedule this time due to other concurrent needs for the + * radio). + * When called, this operation returns a cookie (%NL80211_ATTR_COOKIE) + * that will be included with any events pertaining to this request; + * the cookie is also used to cancel the request. * @NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL: This command can be used to cancel a - * pending remain-on-channel duration if the desired operation has been - * completed prior to expiration of the originally requested duration. - * %NL80211_ATTR_WIPHY or %NL80211_ATTR_IFINDEX is used to specify the - * radio. The %NL80211_ATTR_COOKIE attribute must be given as well to - * uniquely identify the request. - * This command is also used as an event to notify when a requested - * remain-on-channel duration has expired. + * pending remain-on-channel duration if the desired operation has been + * completed prior to expiration of the originally requested duration. + * %NL80211_ATTR_WIPHY or %NL80211_ATTR_IFINDEX is used to specify the + * radio. The %NL80211_ATTR_COOKIE attribute must be given as well to + * uniquely identify the request. + * This command is also used as an event to notify when a requested + * remain-on-channel duration has expired. * * @NL80211_CMD_SET_TX_BITRATE_MASK: Set the mask of rates to be used in TX - * rate selection. %NL80211_ATTR_IFINDEX is used to specify the interface - * and @NL80211_ATTR_TX_RATES the set of allowed rates. + * rate selection. %NL80211_ATTR_IFINDEX is used to specify the interface + * and @NL80211_ATTR_TX_RATES the set of allowed rates. * * @NL80211_CMD_REGISTER_FRAME: Register for receiving certain mgmt frames - * (via @NL80211_CMD_FRAME) for processing in userspace. This command - * requires an interface index, a frame type attribute (optional for - * backward compatibility reasons, if not given assumes action frames) - * and a match attribute containing the first few bytes of the frame - * that should match, e.g. a single byte for only a category match or - * four bytes for vendor frames including the OUI. The registration - * cannot be dropped, but is removed automatically when the netlink - * socket is closed. Multiple registrations can be made. + * (via @NL80211_CMD_FRAME) for processing in userspace. This command + * requires an interface index, a frame type attribute (optional for + * backward compatibility reasons, if not given assumes action frames) + * and a match attribute containing the first few bytes of the frame + * that should match, e.g. a single byte for only a category match or + * four bytes for vendor frames including the OUI. The registration + * cannot be dropped, but is removed automatically when the netlink + * socket is closed. Multiple registrations can be made. * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for - * backward compatibility + * backward compatibility * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This - * command is used both as a request to transmit a management frame and - * as an event indicating reception of a frame that was not processed in - * kernel code, but is for us (i.e., which may need to be processed in a - * user space application). %NL80211_ATTR_FRAME is used to specify the - * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used - * to indicate on which channel the frame is to be transmitted or was - * received. If this channel is not the current channel (remain-on-channel - * or the operational channel) the device will switch to the given channel - * and transmit the frame, optionally waiting for a response for the time - * specified using %NL80211_ATTR_DURATION. When called, this operation - * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the - * TX status event pertaining to the TX request. - * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the - * management frames at CCK rate or not in 2GHz band. - * %NL80211_ATTR_CSA_C_OFFSETS_TX is an array of offsets to CSA - * counters which will be updated to the current value. This attribute - * is used during CSA period. + * command is used both as a request to transmit a management frame and + * as an event indicating reception of a frame that was not processed in + * kernel code, but is for us (i.e., which may need to be processed in a + * user space application). %NL80211_ATTR_FRAME is used to specify the + * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used + * to indicate on which channel the frame is to be transmitted or was + * received. If this channel is not the current channel (remain-on-channel + * or the operational channel) the device will switch to the given channel + * and transmit the frame, optionally waiting for a response for the time + * specified using %NL80211_ATTR_DURATION. When called, this operation + * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the + * TX status event pertaining to the TX request. + * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the + * management frames at CCK rate or not in 2GHz band. + * %NL80211_ATTR_CSA_C_OFFSETS_TX is an array of offsets to CSA + * counters which will be updated to the current value. This attribute + * is used during CSA period. * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this - * command may be used with the corresponding cookie to cancel the wait - * time if it is known that it is no longer necessary. This command is - * also sent as an event whenever the driver has completed the off-channel - * wait time. + * command may be used with the corresponding cookie to cancel the wait + * time if it is known that it is no longer necessary. This command is + * also sent as an event whenever the driver has completed the off-channel + * wait time. * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility. * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame - * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies - * the TX command and %NL80211_ATTR_FRAME includes the contents of the - * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged - * the frame. + * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies + * the TX command and %NL80211_ATTR_FRAME includes the contents of the + * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged + * the frame. * @NL80211_CMD_ACTION_TX_STATUS: Alias for @NL80211_CMD_FRAME_TX_STATUS for - * backward compatibility. + * backward compatibility. * * @NL80211_CMD_SET_POWER_SAVE: Set powersave, using %NL80211_ATTR_PS_STATE * @NL80211_CMD_GET_POWER_SAVE: Get powersave status in %NL80211_ATTR_PS_STATE * * @NL80211_CMD_SET_CQM: Connection quality monitor configuration. This command - * is used to configure connection quality monitoring notification trigger - * levels. + * is used to configure connection quality monitoring notification trigger + * levels. * @NL80211_CMD_NOTIFY_CQM: Connection quality monitor notification. This - * command is used as an event to indicate the that a trigger level was - * reached. + * command is used as an event to indicate the that a trigger level was + * reached. * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ - * and the attributes determining channel width) the given interface - * (identifed by %NL80211_ATTR_IFINDEX) shall operate on. - * In case multiple channels are supported by the device, the mechanism - * with which it switches channels is implementation-defined. - * When a monitor interface is given, it can only switch channel while - * no other interfaces are operating to avoid disturbing the operation - * of any other interfaces, and other interfaces will again take - * precedence when they are used. + * and the attributes determining channel width) the given interface + * (identifed by %NL80211_ATTR_IFINDEX) shall operate on. + * In case multiple channels are supported by the device, the mechanism + * with which it switches channels is implementation-defined. + * When a monitor interface is given, it can only switch channel while + * no other interfaces are operating to avoid disturbing the operation + * of any other interfaces, and other interfaces will again take + * precedence when they are used. * * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface. * * @NL80211_CMD_SET_MULTICAST_TO_UNICAST: Configure if this AP should perform - * multicast to unicast conversion. When enabled, all multicast packets - * with ethertype ARP, IPv4 or IPv6 (possibly within an 802.1Q header) - * will be sent out to each station once with the destination (multicast) - * MAC address replaced by the station's MAC address. Note that this may - * break certain expectations of the receiver, e.g. the ability to drop - * unicast IP packets encapsulated in multicast L2 frames, or the ability - * to not send destination unreachable messages in such cases. - * This can only be toggled per BSS. Configure this on an interface of - * type %NL80211_IFTYPE_AP. It applies to all its VLAN interfaces - * (%NL80211_IFTYPE_AP_VLAN), except for those in 4addr (WDS) mode. - * If %NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED is not present with this - * command, the feature is disabled. + * multicast to unicast conversion. When enabled, all multicast packets + * with ethertype ARP, IPv4 or IPv6 (possibly within an 802.1Q header) + * will be sent out to each station once with the destination (multicast) + * MAC address replaced by the station's MAC address. Note that this may + * break certain expectations of the receiver, e.g. the ability to drop + * unicast IP packets encapsulated in multicast L2 frames, or the ability + * to not send destination unreachable messages in such cases. + * This can only be toggled per BSS. Configure this on an interface of + * type %NL80211_IFTYPE_AP. It applies to all its VLAN interfaces + * (%NL80211_IFTYPE_AP_VLAN), except for those in 4addr (WDS) mode. + * If %NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED is not present with this + * command, the feature is disabled. * * @NL80211_CMD_JOIN_MESH: Join a mesh. The mesh ID must be given, and initial - * mesh config parameters may be given. + * mesh config parameters may be given. * @NL80211_CMD_LEAVE_MESH: Leave the mesh network -- no special arguments, the - * network is determined by the network interface. + * network is determined by the network interface. * * @NL80211_CMD_UNPROT_DEAUTHENTICATE: Unprotected deauthentication frame - * notification. This event is used to indicate that an unprotected - * deauthentication frame was dropped when MFP is in use. + * notification. This event is used to indicate that an unprotected + * deauthentication frame was dropped when MFP is in use. * @NL80211_CMD_UNPROT_DISASSOCIATE: Unprotected disassociation frame - * notification. This event is used to indicate that an unprotected - * disassociation frame was dropped when MFP is in use. + * notification. This event is used to indicate that an unprotected + * disassociation frame was dropped when MFP is in use. * * @NL80211_CMD_NEW_PEER_CANDIDATE: Notification on the reception of a - * beacon or probe response from a compatible mesh peer. This is only - * sent while no station information (sta_info) exists for the new peer - * candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH, - * @NL80211_MESH_SETUP_USERSPACE_AMPE, or - * @NL80211_MESH_SETUP_USERSPACE_MPM is set. On reception of this - * notification, userspace may decide to create a new station - * (@NL80211_CMD_NEW_STATION). To stop this notification from - * reoccurring, the userspace authentication daemon may want to create the - * new station with the AUTHENTICATED flag unset and maybe change it later - * depending on the authentication result. + * beacon or probe response from a compatible mesh peer. This is only + * sent while no station information (sta_info) exists for the new peer + * candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH, + * @NL80211_MESH_SETUP_USERSPACE_AMPE, or + * @NL80211_MESH_SETUP_USERSPACE_MPM is set. On reception of this + * notification, userspace may decide to create a new station + * (@NL80211_CMD_NEW_STATION). To stop this notification from + * reoccurring, the userspace authentication daemon may want to create the + * new station with the AUTHENTICATED flag unset and maybe change it later + * depending on the authentication result. * * @NL80211_CMD_GET_WOWLAN: get Wake-on-Wireless-LAN (WoWLAN) settings. * @NL80211_CMD_SET_WOWLAN: set Wake-on-Wireless-LAN (WoWLAN) settings. - * Since wireless is more complex than wired ethernet, it supports - * various triggers. These triggers can be configured through this - * command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For - * more background information, see - * http://wireless.kernel.org/en/users/Documentation/WoWLAN. - * The @NL80211_CMD_SET_WOWLAN command can also be used as a notification - * from the driver reporting the wakeup reason. In this case, the - * @NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason - * for the wakeup, if it was caused by wireless. If it is not present - * in the wakeup notification, the wireless device didn't cause the - * wakeup but reports that it was woken up. + * Since wireless is more complex than wired ethernet, it supports + * various triggers. These triggers can be configured through this + * command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For + * more background information, see + * http://wireless.kernel.org/en/users/Documentation/WoWLAN. + * The @NL80211_CMD_SET_WOWLAN command can also be used as a notification + * from the driver reporting the wakeup reason. In this case, the + * @NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason + * for the wakeup, if it was caused by wireless. If it is not present + * in the wakeup notification, the wireless device didn't cause the + * wakeup but reports that it was woken up. * * @NL80211_CMD_SET_REKEY_OFFLOAD: This command is used give the driver - * the necessary information for supporting GTK rekey offload. This - * feature is typically used during WoWLAN. The configuration data - * is contained in %NL80211_ATTR_REKEY_DATA (which is nested and - * contains the data in sub-attributes). After rekeying happened, - * this command may also be sent by the driver as an MLME event to - * inform userspace of the new replay counter. + * the necessary information for supporting GTK rekey offload. This + * feature is typically used during WoWLAN. The configuration data + * is contained in %NL80211_ATTR_REKEY_DATA (which is nested and + * contains the data in sub-attributes). After rekeying happened, + * this command may also be sent by the driver as an MLME event to + * inform userspace of the new replay counter. * * @NL80211_CMD_PMKSA_CANDIDATE: This is used as an event to inform userspace - * of PMKSA caching dandidates. + * of PMKSA caching dandidates. * * @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup). - * In addition, this can be used as an event to request userspace to take - * actions on TDLS links (set up a new link or tear down an existing one). - * In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested - * operation, %NL80211_ATTR_MAC contains the peer MAC address, and - * %NL80211_ATTR_REASON_CODE the reason code to be used (only with - * %NL80211_TDLS_TEARDOWN). + * In addition, this can be used as an event to request userspace to take + * actions on TDLS links (set up a new link or tear down an existing one). + * In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested + * operation, %NL80211_ATTR_MAC contains the peer MAC address, and + * %NL80211_ATTR_REASON_CODE the reason code to be used (only with + * %NL80211_TDLS_TEARDOWN). * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. The - * %NL80211_ATTR_TDLS_ACTION attribute determines the type of frame to be - * sent. Public Action codes (802.11-2012 8.1.5.1) will be sent as - * 802.11 management frames, while TDLS action codes (802.11-2012 - * 8.5.13.1) will be encapsulated and sent as data frames. The currently - * supported Public Action code is %WLAN_PUB_ACTION_TDLS_DISCOVER_RES - * and the currently supported TDLS actions codes are given in - * &enum ieee80211_tdls_actioncode. + * %NL80211_ATTR_TDLS_ACTION attribute determines the type of frame to be + * sent. Public Action codes (802.11-2012 8.1.5.1) will be sent as + * 802.11 management frames, while TDLS action codes (802.11-2012 + * 8.5.13.1) will be encapsulated and sent as data frames. The currently + * supported Public Action code is %WLAN_PUB_ACTION_TDLS_DISCOVER_RES + * and the currently supported TDLS actions codes are given in + * &enum ieee80211_tdls_actioncode. * * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP - * (or GO) interface (i.e. hostapd) to ask for unexpected frames to - * implement sending deauth to stations that send unexpected class 3 - * frames. Also used as the event sent by the kernel when such a frame - * is received. - * For the event, the %NL80211_ATTR_MAC attribute carries the TA and - * other attributes like the interface index are present. - * If used as the command it must have an interface index and you can - * only unsubscribe from the event by closing the socket. Subscription - * is also for %NL80211_CMD_UNEXPECTED_4ADDR_FRAME events. + * (or GO) interface (i.e. hostapd) to ask for unexpected frames to + * implement sending deauth to stations that send unexpected class 3 + * frames. Also used as the event sent by the kernel when such a frame + * is received. + * For the event, the %NL80211_ATTR_MAC attribute carries the TA and + * other attributes like the interface index are present. + * If used as the command it must have an interface index and you can + * only unsubscribe from the event by closing the socket. Subscription + * is also for %NL80211_CMD_UNEXPECTED_4ADDR_FRAME events. * * @NL80211_CMD_UNEXPECTED_4ADDR_FRAME: Sent as an event indicating that the - * associated station identified by %NL80211_ATTR_MAC sent a 4addr frame - * and wasn't already in a 4-addr VLAN. The event will be sent similarly - * to the %NL80211_CMD_UNEXPECTED_FRAME event, to the same listener. + * associated station identified by %NL80211_ATTR_MAC sent a 4addr frame + * and wasn't already in a 4-addr VLAN. The event will be sent similarly + * to the %NL80211_CMD_UNEXPECTED_FRAME event, to the same listener. * * @NL80211_CMD_PROBE_CLIENT: Probe an associated station on an AP interface - * by sending a null data frame to it and reporting when the frame is - * acknowleged. This is used to allow timing out inactive clients. Uses - * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_MAC. The command returns a - * direct reply with an %NL80211_ATTR_COOKIE that is later used to match - * up the event with the request. The event includes the same data and - * has %NL80211_ATTR_ACK set if the frame was ACKed. + * by sending a null data frame to it and reporting when the frame is + * acknowleged. This is used to allow timing out inactive clients. Uses + * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_MAC. The command returns a + * direct reply with an %NL80211_ATTR_COOKIE that is later used to match + * up the event with the request. The event includes the same data and + * has %NL80211_ATTR_ACK set if the frame was ACKed. * * @NL80211_CMD_REGISTER_BEACONS: Register this socket to receive beacons from - * other BSSes when any interfaces are in AP mode. This helps implement - * OLBC handling in hostapd. Beacons are reported in %NL80211_CMD_FRAME - * messages. Note that per PHY only one application may register. + * other BSSes when any interfaces are in AP mode. This helps implement + * OLBC handling in hostapd. Beacons are reported in %NL80211_CMD_FRAME + * messages. Note that per PHY only one application may register. * * @NL80211_CMD_SET_NOACK_MAP: sets a bitmap for the individual TIDs whether - * No Acknowledgement Policy should be applied. + * No Acknowledgement Policy should be applied. * * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels - * independently of the userspace SME, send this event indicating - * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the - * attributes determining channel width. This indication may also be - * sent when a remotely-initiated switch (e.g., when a STA receives a CSA - * from the remote AP) is completed; + * independently of the userspace SME, send this event indicating + * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the + * attributes determining channel width. This indication may also be + * sent when a remotely-initiated switch (e.g., when a STA receives a CSA + * from the remote AP) is completed; * * @NL80211_CMD_CH_SWITCH_STARTED_NOTIFY: Notify that a channel switch - * has been started on an interface, regardless of the initiator - * (ie. whether it was requested from a remote device or - * initiated on our own). It indicates that - * %NL80211_ATTR_IFINDEX will be on %NL80211_ATTR_WIPHY_FREQ - * after %NL80211_ATTR_CH_SWITCH_COUNT TBTT's. The userspace may - * decide to react to this indication by requesting other - * interfaces to change channel as well. + * has been started on an interface, regardless of the initiator + * (ie. whether it was requested from a remote device or + * initiated on our own). It indicates that + * %NL80211_ATTR_IFINDEX will be on %NL80211_ATTR_WIPHY_FREQ + * after %NL80211_ATTR_CH_SWITCH_COUNT TBTT's. The userspace may + * decide to react to this indication by requesting other + * interfaces to change channel as well. * * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by - * its %NL80211_ATTR_WDEV identifier. It must have been created with - * %NL80211_CMD_NEW_INTERFACE previously. After it has been started, the - * P2P Device can be used for P2P operations, e.g. remain-on-channel and - * public action frame TX. + * its %NL80211_ATTR_WDEV identifier. It must have been created with + * %NL80211_CMD_NEW_INTERFACE previously. After it has been started, the + * P2P Device can be used for P2P operations, e.g. remain-on-channel and + * public action frame TX. * @NL80211_CMD_STOP_P2P_DEVICE: Stop the given P2P Device, identified by - * its %NL80211_ATTR_WDEV identifier. + * its %NL80211_ATTR_WDEV identifier. * * @NL80211_CMD_CONN_FAILED: connection request to an AP failed; used to - * notify userspace that AP has rejected the connection request from a - * station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON - * is used for this. + * notify userspace that AP has rejected the connection request from a + * station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON + * is used for this. * * @NL80211_CMD_SET_MCAST_RATE: Change the rate used to send multicast frames - * for IBSS or MESH vif. + * for IBSS or MESH vif. * * @NL80211_CMD_SET_MAC_ACL: sets ACL for MAC address based access control. - * This is to be used with the drivers advertising the support of MAC - * address based access control. List of MAC addresses is passed in - * %NL80211_ATTR_MAC_ADDRS and ACL policy is passed in - * %NL80211_ATTR_ACL_POLICY. Driver will enable ACL with this list, if it - * is not already done. The new list will replace any existing list. Driver - * will clear its ACL when the list of MAC addresses passed is empty. This - * command is used in AP/P2P GO mode. Driver has to make sure to clear its - * ACL list during %NL80211_CMD_STOP_AP. + * This is to be used with the drivers advertising the support of MAC + * address based access control. List of MAC addresses is passed in + * %NL80211_ATTR_MAC_ADDRS and ACL policy is passed in + * %NL80211_ATTR_ACL_POLICY. Driver will enable ACL with this list, if it + * is not already done. The new list will replace any existing list. Driver + * will clear its ACL when the list of MAC addresses passed is empty. This + * command is used in AP/P2P GO mode. Driver has to make sure to clear its + * ACL list during %NL80211_CMD_STOP_AP. * * @NL80211_CMD_RADAR_DETECT: Start a Channel availability check (CAC). Once - * a radar is detected or the channel availability scan (CAC) has finished - * or was aborted, or a radar was detected, usermode will be notified with - * this event. This command is also used to notify userspace about radars - * while operating on this channel. - * %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the - * event. + * a radar is detected or the channel availability scan (CAC) has finished + * or was aborted, or a radar was detected, usermode will be notified with + * this event. This command is also used to notify userspace about radars + * while operating on this channel. + * %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the + * event. * * @NL80211_CMD_GET_PROTOCOL_FEATURES: Get global nl80211 protocol features, - * i.e. features for the nl80211 protocol rather than device features. - * Returns the features in the %NL80211_ATTR_PROTOCOL_FEATURES bitmap. + * i.e. features for the nl80211 protocol rather than device features. + * Returns the features in the %NL80211_ATTR_PROTOCOL_FEATURES bitmap. * * @NL80211_CMD_UPDATE_FT_IES: Pass down the most up-to-date Fast Transition - * Information Element to the WLAN driver + * Information Element to the WLAN driver * * @NL80211_CMD_FT_EVENT: Send a Fast transition event from the WLAN driver - * to the supplicant. This will carry the target AP's MAC address along - * with the relevant Information Elements. This event is used to report - * received FT IEs (MDIE, FTIE, RSN IE, TIE, RICIE). + * to the supplicant. This will carry the target AP's MAC address along + * with the relevant Information Elements. This event is used to report + * received FT IEs (MDIE, FTIE, RSN IE, TIE, RICIE). * * @NL80211_CMD_CRIT_PROTOCOL_START: Indicates user-space will start running - * a critical protocol that needs more reliability in the connection to - * complete. + * a critical protocol that needs more reliability in the connection to + * complete. * * @NL80211_CMD_CRIT_PROTOCOL_STOP: Indicates the connection reliability can - * return back to normal. + * return back to normal. * * @NL80211_CMD_GET_COALESCE: Get currently supported coalesce rules. * @NL80211_CMD_SET_COALESCE: Configure coalesce rules or clear existing rules. * * @NL80211_CMD_CHANNEL_SWITCH: Perform a channel switch by announcing the - * the new channel information (Channel Switch Announcement - CSA) - * in the beacon for some time (as defined in the - * %NL80211_ATTR_CH_SWITCH_COUNT parameter) and then change to the - * new channel. Userspace provides the new channel information (using - * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel - * width). %NL80211_ATTR_CH_SWITCH_BLOCK_TX may be supplied to inform - * other station that transmission must be blocked until the channel - * switch is complete. + * the new channel information (Channel Switch Announcement - CSA) + * in the beacon for some time (as defined in the + * %NL80211_ATTR_CH_SWITCH_COUNT parameter) and then change to the + * new channel. Userspace provides the new channel information (using + * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel + * width). %NL80211_ATTR_CH_SWITCH_BLOCK_TX may be supplied to inform + * other station that transmission must be blocked until the channel + * switch is complete. * * @NL80211_CMD_VENDOR: Vendor-specified command/event. The command is specified - * by the %NL80211_ATTR_VENDOR_ID attribute and a sub-command in - * %NL80211_ATTR_VENDOR_SUBCMD. Parameter(s) can be transported in - * %NL80211_ATTR_VENDOR_DATA. - * For feature advertisement, the %NL80211_ATTR_VENDOR_DATA attribute is - * used in the wiphy data as a nested attribute containing descriptions - * (&struct nl80211_vendor_cmd_info) of the supported vendor commands. - * This may also be sent as an event with the same attributes. + * by the %NL80211_ATTR_VENDOR_ID attribute and a sub-command in + * %NL80211_ATTR_VENDOR_SUBCMD. Parameter(s) can be transported in + * %NL80211_ATTR_VENDOR_DATA. + * For feature advertisement, the %NL80211_ATTR_VENDOR_DATA attribute is + * used in the wiphy data as a nested attribute containing descriptions + * (&struct nl80211_vendor_cmd_info) of the supported vendor commands. + * This may also be sent as an event with the same attributes. * * @NL80211_CMD_SET_QOS_MAP: Set Interworking QoS mapping for IP DSCP values. - * The QoS mapping information is included in %NL80211_ATTR_QOS_MAP. If - * that attribute is not included, QoS mapping is disabled. Since this - * QoS mapping is relevant for IP packets, it is only valid during an - * association. This is cleared on disassociation and AP restart. + * The QoS mapping information is included in %NL80211_ATTR_QOS_MAP. If + * that attribute is not included, QoS mapping is disabled. Since this + * QoS mapping is relevant for IP packets, it is only valid during an + * association. This is cleared on disassociation and AP restart. * * @NL80211_CMD_ADD_TX_TS: Ask the kernel to add a traffic stream for the given - * %NL80211_ATTR_TSID and %NL80211_ATTR_MAC with %NL80211_ATTR_USER_PRIO - * and %NL80211_ATTR_ADMITTED_TIME parameters. - * Note that the action frame handshake with the AP shall be handled by - * userspace via the normal management RX/TX framework, this only sets - * up the TX TS in the driver/device. - * If the admitted time attribute is not added then the request just checks - * if a subsequent setup could be successful, the intent is to use this to - * avoid setting up a session with the AP when local restrictions would - * make that impossible. However, the subsequent "real" setup may still - * fail even if the check was successful. + * %NL80211_ATTR_TSID and %NL80211_ATTR_MAC with %NL80211_ATTR_USER_PRIO + * and %NL80211_ATTR_ADMITTED_TIME parameters. + * Note that the action frame handshake with the AP shall be handled by + * userspace via the normal management RX/TX framework, this only sets + * up the TX TS in the driver/device. + * If the admitted time attribute is not added then the request just checks + * if a subsequent setup could be successful, the intent is to use this to + * avoid setting up a session with the AP when local restrictions would + * make that impossible. However, the subsequent "real" setup may still + * fail even if the check was successful. * @NL80211_CMD_DEL_TX_TS: Remove an existing TS with the %NL80211_ATTR_TSID - * and %NL80211_ATTR_MAC parameters. It isn't necessary to call this - * before removing a station entry entirely, or before disassociating - * or similar, cleanup will happen in the driver/device in this case. + * and %NL80211_ATTR_MAC parameters. It isn't necessary to call this + * before removing a station entry entirely, or before disassociating + * or similar, cleanup will happen in the driver/device in this case. * * @NL80211_CMD_GET_MPP: Get mesh path attributes for mesh proxy path to - * destination %NL80211_ATTR_MAC on the interface identified by - * %NL80211_ATTR_IFINDEX. + * destination %NL80211_ATTR_MAC on the interface identified by + * %NL80211_ATTR_IFINDEX. * * @NL80211_CMD_JOIN_OCB: Join the OCB network. The center frequency and - * bandwidth of a channel must be given. + * bandwidth of a channel must be given. * @NL80211_CMD_LEAVE_OCB: Leave the OCB network -- no special arguments, the - * network is determined by the network interface. + * network is determined by the network interface. * * @NL80211_CMD_TDLS_CHANNEL_SWITCH: Start channel-switching with a TDLS peer, - * identified by the %NL80211_ATTR_MAC parameter. A target channel is - * provided via %NL80211_ATTR_WIPHY_FREQ and other attributes determining - * channel width/type. The target operating class is given via - * %NL80211_ATTR_OPER_CLASS. - * The driver is responsible for continually initiating channel-switching - * operations and returning to the base channel for communication with the - * AP. + * identified by the %NL80211_ATTR_MAC parameter. A target channel is + * provided via %NL80211_ATTR_WIPHY_FREQ and other attributes determining + * channel width/type. The target operating class is given via + * %NL80211_ATTR_OPER_CLASS. + * The driver is responsible for continually initiating channel-switching + * operations and returning to the base channel for communication with the + * AP. * @NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH: Stop channel-switching with a TDLS - * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel - * when this command completes. + * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel + * when this command completes. * * @NL80211_CMD_WIPHY_REG_CHANGE: Similar to %NL80211_CMD_REG_CHANGE, but used - * as an event to indicate changes for devices with wiphy-specific regdom - * management. + * as an event to indicate changes for devices with wiphy-specific regdom + * management. * * @NL80211_CMD_ABORT_SCAN: Stop an ongoing scan. Returns -ENOENT if a scan is - * not running. The driver indicates the status of the scan through - * cfg80211_scan_done(). + * not running. The driver indicates the status of the scan through + * cfg80211_scan_done(). * * @NL80211_CMD_START_NAN: Start NAN operation, identified by its - * %NL80211_ATTR_WDEV interface. This interface must have been - * previously created with %NL80211_CMD_NEW_INTERFACE. After it - * has been started, the NAN interface will create or join a - * cluster. This command must have a valid - * %NL80211_ATTR_NAN_MASTER_PREF attribute and optional - * %NL80211_ATTR_BANDS attributes. If %NL80211_ATTR_BANDS is - * omitted or set to 0, it means don't-care and the device will - * decide what to use. After this command NAN functions can be - * added. + * %NL80211_ATTR_WDEV interface. This interface must have been + * previously created with %NL80211_CMD_NEW_INTERFACE. After it + * has been started, the NAN interface will create or join a + * cluster. This command must have a valid + * %NL80211_ATTR_NAN_MASTER_PREF attribute and optional + * %NL80211_ATTR_BANDS attributes. If %NL80211_ATTR_BANDS is + * omitted or set to 0, it means don't-care and the device will + * decide what to use. After this command NAN functions can be + * added. * @NL80211_CMD_STOP_NAN: Stop the NAN operation, identified by - * its %NL80211_ATTR_WDEV interface. + * its %NL80211_ATTR_WDEV interface. * @NL80211_CMD_ADD_NAN_FUNCTION: Add a NAN function. The function is defined - * with %NL80211_ATTR_NAN_FUNC nested attribute. When called, this - * operation returns the strictly positive and unique instance id - * (%NL80211_ATTR_NAN_FUNC_INST_ID) and a cookie (%NL80211_ATTR_COOKIE) - * of the function upon success. - * Since instance ID's can be re-used, this cookie is the right - * way to identify the function. This will avoid races when a termination - * event is handled by the user space after it has already added a new - * function that got the same instance id from the kernel as the one - * which just terminated. - * This cookie may be used in NAN events even before the command - * returns, so userspace shouldn't process NAN events until it processes - * the response to this command. - * Look at %NL80211_ATTR_SOCKET_OWNER as well. + * with %NL80211_ATTR_NAN_FUNC nested attribute. When called, this + * operation returns the strictly positive and unique instance id + * (%NL80211_ATTR_NAN_FUNC_INST_ID) and a cookie (%NL80211_ATTR_COOKIE) + * of the function upon success. + * Since instance ID's can be re-used, this cookie is the right + * way to identify the function. This will avoid races when a termination + * event is handled by the user space after it has already added a new + * function that got the same instance id from the kernel as the one + * which just terminated. + * This cookie may be used in NAN events even before the command + * returns, so userspace shouldn't process NAN events until it processes + * the response to this command. + * Look at %NL80211_ATTR_SOCKET_OWNER as well. * @NL80211_CMD_DEL_NAN_FUNCTION: Delete a NAN function by cookie. - * This command is also used as a notification sent when a NAN function is - * terminated. This will contain a %NL80211_ATTR_NAN_FUNC_INST_ID - * and %NL80211_ATTR_COOKIE attributes. + * This command is also used as a notification sent when a NAN function is + * terminated. This will contain a %NL80211_ATTR_NAN_FUNC_INST_ID + * and %NL80211_ATTR_COOKIE attributes. * @NL80211_CMD_CHANGE_NAN_CONFIG: Change current NAN - * configuration. NAN must be operational (%NL80211_CMD_START_NAN - * was executed). It must contain at least one of the following - * attributes: %NL80211_ATTR_NAN_MASTER_PREF, - * %NL80211_ATTR_BANDS. If %NL80211_ATTR_BANDS is omitted, the - * current configuration is not changed. If it is present but - * set to zero, the configuration is changed to don't-care - * (i.e. the device can decide what to do). + * configuration. NAN must be operational (%NL80211_CMD_START_NAN + * was executed). It must contain at least one of the following + * attributes: %NL80211_ATTR_NAN_MASTER_PREF, + * %NL80211_ATTR_BANDS. If %NL80211_ATTR_BANDS is omitted, the + * current configuration is not changed. If it is present but + * set to zero, the configuration is changed to don't-care + * (i.e. the device can decide what to do). * @NL80211_CMD_NAN_FUNC_MATCH: Notification sent when a match is reported. - * This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and - * %NL80211_ATTR_COOKIE. + * This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and + * %NL80211_ATTR_COOKIE. * * @NL80211_CMD_UPDATE_CONNECT_PARAMS: Update one or more connect parameters - * for subsequent roaming cases if the driver or firmware uses internal - * BSS selection. This command can be issued only while connected and it - * does not result in a change for the current association. Currently, - * only the %NL80211_ATTR_IE data is used and updated with this command. + * for subsequent roaming cases if the driver or firmware uses internal + * BSS selection. This command can be issued only while connected and it + * does not result in a change for the current association. Currently, + * only the %NL80211_ATTR_IE data is used and updated with this command. * * @NL80211_CMD_SET_PMK: For offloaded 4-Way handshake, set the PMK or PMK-R0 - * for the given authenticator address (specified with %NL80211_ATTR_MAC). - * When %NL80211_ATTR_PMKR0_NAME is set, %NL80211_ATTR_PMK specifies the - * PMK-R0, otherwise it specifies the PMK. + * for the given authenticator address (specified with %NL80211_ATTR_MAC). + * When %NL80211_ATTR_PMKR0_NAME is set, %NL80211_ATTR_PMK specifies the + * PMK-R0, otherwise it specifies the PMK. * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously - * configured PMK for the authenticator address identified by - * %NL80211_ATTR_MAC. + * configured PMK for the authenticator address identified by + * %NL80211_ATTR_MAC. * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates that the 4 way - * handshake was completed successfully by the driver. The BSSID is - * specified with %NL80211_ATTR_MAC. Drivers that support 4 way handshake - * offload should send this event after indicating 802.11 association with - * %NL80211_CMD_CONNECT or %NL80211_CMD_ROAM. If the 4 way handshake failed - * %NL80211_CMD_DISCONNECT should be indicated instead. + * handshake was completed successfully by the driver. The BSSID is + * specified with %NL80211_ATTR_MAC. Drivers that support 4 way handshake + * offload should send this event after indicating 802.11 association with + * %NL80211_CMD_CONNECT or %NL80211_CMD_ROAM. If the 4 way handshake failed + * %NL80211_CMD_DISCONNECT should be indicated instead. * * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request - * and RX notification. This command is used both as a request to transmit - * a control port frame and as a notification that a control port frame - * has been received. %NL80211_ATTR_FRAME is used to specify the - * frame contents. The frame is the raw EAPoL data, without ethernet or - * 802.11 headers. - * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, - * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added - * indicating the protocol type of the received frame; whether the frame - * was received unencrypted and the MAC address of the peer respectively. + * and RX notification. This command is used both as a request to transmit + * a control port frame and as a notification that a control port frame + * has been received. %NL80211_ATTR_FRAME is used to specify the + * frame contents. The frame is the raw EAPoL data, without ethernet or + * 802.11 headers. + * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, + * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added + * indicating the protocol type of the received frame; whether the frame + * was received unencrypted and the MAC address of the peer respectively. * * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded. * * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host - * drivers that do not define separate commands for authentication and - * association, but rely on user space for the authentication to happen. - * This interface acts both as the event request (driver to user space) - * to trigger the authentication and command response (userspace to - * driver) to indicate the authentication status. - * - * User space uses the %NL80211_CMD_CONNECT command to the host driver to - * trigger a connection. The host driver selects a BSS and further uses - * this interface to offload only the authentication part to the user - * space. Authentication frames are passed between the driver and user - * space through the %NL80211_CMD_FRAME interface. Host driver proceeds - * further with the association after getting successful authentication - * status. User space indicates the authentication status through - * %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH - * command interface. - * - * Host driver reports this status on an authentication failure to the - * user space through the connect result as the user space would have - * initiated the connection through the connect request. + * drivers that do not define separate commands for authentication and + * association, but rely on user space for the authentication to happen. + * This interface acts both as the event request (driver to user space) + * to trigger the authentication and command response (userspace to + * driver) to indicate the authentication status. + * + * User space uses the %NL80211_CMD_CONNECT command to the host driver to + * trigger a connection. The host driver selects a BSS and further uses + * this interface to offload only the authentication part to the user + * space. Authentication frames are passed between the driver and user + * space through the %NL80211_CMD_FRAME interface. Host driver proceeds + * further with the association after getting successful authentication + * status. User space indicates the authentication status through + * %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH + * command interface. + * + * Host driver reports this status on an authentication failure to the + * user space through the connect result as the user space would have + * initiated the connection through the connect request. * * @NL80211_CMD_STA_OPMODE_CHANGED: An event that notify station's - * ht opmode or vht opmode changes using any of %NL80211_ATTR_SMPS_MODE, - * %NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its - * address(specified in %NL80211_ATTR_MAC). + * ht opmode or vht opmode changes using any of %NL80211_ATTR_SMPS_MODE, + * %NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its + * address(specified in %NL80211_ATTR_MAC). * * @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in - * the %NL80211_ATTR_FTM_RESPONDER_STATS attribute. + * the %NL80211_ATTR_FTM_RESPONDER_STATS attribute. * * @NL80211_CMD_PEER_MEASUREMENT_START: start a (set of) peer measurement(s) - * with the given parameters, which are encapsulated in the nested - * %NL80211_ATTR_PEER_MEASUREMENTS attribute. Optionally, MAC address - * randomization may be enabled and configured by specifying the - * %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes. - * If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute. - * A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in - * the netlink extended ack message. - * - * To cancel a measurement, close the socket that requested it. - * - * Measurement results are reported to the socket that requested the - * measurement using @NL80211_CMD_PEER_MEASUREMENT_RESULT when they - * become available, so applications must ensure a large enough socket - * buffer size. - * - * Depending on driver support it may or may not be possible to start - * multiple concurrent measurements. + * with the given parameters, which are encapsulated in the nested + * %NL80211_ATTR_PEER_MEASUREMENTS attribute. Optionally, MAC address + * randomization may be enabled and configured by specifying the + * %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes. + * If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute. + * A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in + * the netlink extended ack message. + * + * To cancel a measurement, close the socket that requested it. + * + * Measurement results are reported to the socket that requested the + * measurement using @NL80211_CMD_PEER_MEASUREMENT_RESULT when they + * become available, so applications must ensure a large enough socket + * buffer size. + * + * Depending on driver support it may or may not be possible to start + * multiple concurrent measurements. * @NL80211_CMD_PEER_MEASUREMENT_RESULT: This command number is used for the - * result notification from the driver to the requesting socket. + * result notification from the driver to the requesting socket. * @NL80211_CMD_PEER_MEASUREMENT_COMPLETE: Notification only, indicating that - * the measurement completed, using the measurement cookie - * (%NL80211_ATTR_COOKIE). + * the measurement completed, using the measurement cookie + * (%NL80211_ATTR_COOKIE). * * @NL80211_CMD_NOTIFY_RADAR: Notify the kernel that a radar signal was - * detected and reported by a neighboring device on the channel - * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes - * determining the width and type. + * detected and reported by a neighboring device on the channel + * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes + * determining the width and type. * * @NL80211_CMD_UPDATE_OWE_INFO: This interface allows the host driver to - * offload OWE processing to user space. This intends to support - * OWE AKM by the host drivers that implement SME but rely - * on the user space for the cryptographic/DH IE processing in AP mode. + * offload OWE processing to user space. This intends to support + * OWE AKM by the host drivers that implement SME but rely + * on the user space for the cryptographic/DH IE processing in AP mode. * * @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric - * refreshing, is that from one mesh point we be able to send some data - * frames to other mesh points which are not currently selected as a - * primary traffic path, but which are only 1 hop away. The absence of - * the primary path to the chosen node makes it necessary to apply some - * form of marking on a chosen packet stream so that the packets can be - * properly steered to the selected node for testing, and not by the - * regular mesh path lookup. Further, the packets must be of type data - * so that the rate control (often embedded in firmware) is used for - * rate selection. - * - * Here attribute %NL80211_ATTR_MAC is used to specify connected mesh - * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame - * content. The frame is ethernet data. + * refreshing, is that from one mesh point we be able to send some data + * frames to other mesh points which are not currently selected as a + * primary traffic path, but which are only 1 hop away. The absence of + * the primary path to the chosen node makes it necessary to apply some + * form of marking on a chosen packet stream so that the packets can be + * properly steered to the selected node for testing, and not by the + * regular mesh path lookup. Further, the packets must be of type data + * so that the rate control (often embedded in firmware) is used for + * rate selection. + * + * Here attribute %NL80211_ATTR_MAC is used to specify connected mesh + * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame + * content. The frame is ethernet data. * * @NL80211_CMD_MAX: highest used command number * @__NL80211_CMD_AFTER_LAST: internal use */ enum nl80211_commands { /* don't change the order or add anything between, this is ABI! */ - NL80211_CMD_UNSPEC, + NL80211_CMD_UNSPEC, - NL80211_CMD_GET_WIPHY, /* can dump */ - NL80211_CMD_SET_WIPHY, - NL80211_CMD_NEW_WIPHY, - NL80211_CMD_DEL_WIPHY, + NL80211_CMD_GET_WIPHY, /* can dump */ + NL80211_CMD_SET_WIPHY, + NL80211_CMD_NEW_WIPHY, + NL80211_CMD_DEL_WIPHY, - NL80211_CMD_GET_INTERFACE, /* can dump */ - NL80211_CMD_SET_INTERFACE, - NL80211_CMD_NEW_INTERFACE, - NL80211_CMD_DEL_INTERFACE, + NL80211_CMD_GET_INTERFACE, /* can dump */ + NL80211_CMD_SET_INTERFACE, + NL80211_CMD_NEW_INTERFACE, + NL80211_CMD_DEL_INTERFACE, - NL80211_CMD_GET_KEY, - NL80211_CMD_SET_KEY, - NL80211_CMD_NEW_KEY, - NL80211_CMD_DEL_KEY, + NL80211_CMD_GET_KEY, + NL80211_CMD_SET_KEY, + NL80211_CMD_NEW_KEY, + NL80211_CMD_DEL_KEY, - NL80211_CMD_GET_BEACON, - NL80211_CMD_SET_BEACON, - NL80211_CMD_START_AP, - NL80211_CMD_NEW_BEACON = NL80211_CMD_START_AP, - NL80211_CMD_STOP_AP, - NL80211_CMD_DEL_BEACON = NL80211_CMD_STOP_AP, + NL80211_CMD_GET_BEACON, + NL80211_CMD_SET_BEACON, + NL80211_CMD_START_AP, + NL80211_CMD_NEW_BEACON = NL80211_CMD_START_AP, + NL80211_CMD_STOP_AP, + NL80211_CMD_DEL_BEACON = NL80211_CMD_STOP_AP, - NL80211_CMD_GET_STATION, - NL80211_CMD_SET_STATION, - NL80211_CMD_NEW_STATION, - NL80211_CMD_DEL_STATION, + NL80211_CMD_GET_STATION, + NL80211_CMD_SET_STATION, + NL80211_CMD_NEW_STATION, + NL80211_CMD_DEL_STATION, - NL80211_CMD_GET_MPATH, - NL80211_CMD_SET_MPATH, - NL80211_CMD_NEW_MPATH, - NL80211_CMD_DEL_MPATH, + NL80211_CMD_GET_MPATH, + NL80211_CMD_SET_MPATH, + NL80211_CMD_NEW_MPATH, + NL80211_CMD_DEL_MPATH, - NL80211_CMD_SET_BSS, + NL80211_CMD_SET_BSS, - NL80211_CMD_SET_REG, - NL80211_CMD_REQ_SET_REG, + NL80211_CMD_SET_REG, + NL80211_CMD_REQ_SET_REG, - NL80211_CMD_GET_MESH_CONFIG, - NL80211_CMD_SET_MESH_CONFIG, + NL80211_CMD_GET_MESH_CONFIG, + NL80211_CMD_SET_MESH_CONFIG, - NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */, + NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */, - NL80211_CMD_GET_REG, + NL80211_CMD_GET_REG, - NL80211_CMD_GET_SCAN, - NL80211_CMD_TRIGGER_SCAN, - NL80211_CMD_NEW_SCAN_RESULTS, - NL80211_CMD_SCAN_ABORTED, + NL80211_CMD_GET_SCAN, + NL80211_CMD_TRIGGER_SCAN, + NL80211_CMD_NEW_SCAN_RESULTS, + NL80211_CMD_SCAN_ABORTED, - NL80211_CMD_REG_CHANGE, + NL80211_CMD_REG_CHANGE, - NL80211_CMD_AUTHENTICATE, - NL80211_CMD_ASSOCIATE, - NL80211_CMD_DEAUTHENTICATE, - NL80211_CMD_DISASSOCIATE, + NL80211_CMD_AUTHENTICATE, + NL80211_CMD_ASSOCIATE, + NL80211_CMD_DEAUTHENTICATE, + NL80211_CMD_DISASSOCIATE, - NL80211_CMD_MICHAEL_MIC_FAILURE, + NL80211_CMD_MICHAEL_MIC_FAILURE, - NL80211_CMD_REG_BEACON_HINT, + NL80211_CMD_REG_BEACON_HINT, - NL80211_CMD_JOIN_IBSS, - NL80211_CMD_LEAVE_IBSS, + NL80211_CMD_JOIN_IBSS, + NL80211_CMD_LEAVE_IBSS, - NL80211_CMD_TESTMODE, + NL80211_CMD_TESTMODE, - NL80211_CMD_CONNECT, - NL80211_CMD_ROAM, - NL80211_CMD_DISCONNECT, + NL80211_CMD_CONNECT, + NL80211_CMD_ROAM, + NL80211_CMD_DISCONNECT, - NL80211_CMD_SET_WIPHY_NETNS, + NL80211_CMD_SET_WIPHY_NETNS, - NL80211_CMD_GET_SURVEY, - NL80211_CMD_NEW_SURVEY_RESULTS, + NL80211_CMD_GET_SURVEY, + NL80211_CMD_NEW_SURVEY_RESULTS, - NL80211_CMD_SET_PMKSA, - NL80211_CMD_DEL_PMKSA, - NL80211_CMD_FLUSH_PMKSA, + NL80211_CMD_SET_PMKSA, + NL80211_CMD_DEL_PMKSA, + NL80211_CMD_FLUSH_PMKSA, - NL80211_CMD_REMAIN_ON_CHANNEL, - NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL, + NL80211_CMD_REMAIN_ON_CHANNEL, + NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL, - NL80211_CMD_SET_TX_BITRATE_MASK, + NL80211_CMD_SET_TX_BITRATE_MASK, - NL80211_CMD_REGISTER_FRAME, - NL80211_CMD_REGISTER_ACTION = NL80211_CMD_REGISTER_FRAME, - NL80211_CMD_FRAME, - NL80211_CMD_ACTION = NL80211_CMD_FRAME, - NL80211_CMD_FRAME_TX_STATUS, - NL80211_CMD_ACTION_TX_STATUS = NL80211_CMD_FRAME_TX_STATUS, + NL80211_CMD_REGISTER_FRAME, + NL80211_CMD_REGISTER_ACTION = NL80211_CMD_REGISTER_FRAME, + NL80211_CMD_FRAME, + NL80211_CMD_ACTION = NL80211_CMD_FRAME, + NL80211_CMD_FRAME_TX_STATUS, + NL80211_CMD_ACTION_TX_STATUS = NL80211_CMD_FRAME_TX_STATUS, - NL80211_CMD_SET_POWER_SAVE, - NL80211_CMD_GET_POWER_SAVE, + NL80211_CMD_SET_POWER_SAVE, + NL80211_CMD_GET_POWER_SAVE, - NL80211_CMD_SET_CQM, - NL80211_CMD_NOTIFY_CQM, + NL80211_CMD_SET_CQM, + NL80211_CMD_NOTIFY_CQM, - NL80211_CMD_SET_CHANNEL, - NL80211_CMD_SET_WDS_PEER, + NL80211_CMD_SET_CHANNEL, + NL80211_CMD_SET_WDS_PEER, - NL80211_CMD_FRAME_WAIT_CANCEL, + NL80211_CMD_FRAME_WAIT_CANCEL, - NL80211_CMD_JOIN_MESH, - NL80211_CMD_LEAVE_MESH, + NL80211_CMD_JOIN_MESH, + NL80211_CMD_LEAVE_MESH, - NL80211_CMD_UNPROT_DEAUTHENTICATE, - NL80211_CMD_UNPROT_DISASSOCIATE, + NL80211_CMD_UNPROT_DEAUTHENTICATE, + NL80211_CMD_UNPROT_DISASSOCIATE, - NL80211_CMD_NEW_PEER_CANDIDATE, + NL80211_CMD_NEW_PEER_CANDIDATE, - NL80211_CMD_GET_WOWLAN, - NL80211_CMD_SET_WOWLAN, + NL80211_CMD_GET_WOWLAN, + NL80211_CMD_SET_WOWLAN, - NL80211_CMD_START_SCHED_SCAN, - NL80211_CMD_STOP_SCHED_SCAN, - NL80211_CMD_SCHED_SCAN_RESULTS, - NL80211_CMD_SCHED_SCAN_STOPPED, + NL80211_CMD_START_SCHED_SCAN, + NL80211_CMD_STOP_SCHED_SCAN, + NL80211_CMD_SCHED_SCAN_RESULTS, + NL80211_CMD_SCHED_SCAN_STOPPED, - NL80211_CMD_SET_REKEY_OFFLOAD, + NL80211_CMD_SET_REKEY_OFFLOAD, - NL80211_CMD_PMKSA_CANDIDATE, + NL80211_CMD_PMKSA_CANDIDATE, - NL80211_CMD_TDLS_OPER, - NL80211_CMD_TDLS_MGMT, + NL80211_CMD_TDLS_OPER, + NL80211_CMD_TDLS_MGMT, - NL80211_CMD_UNEXPECTED_FRAME, + NL80211_CMD_UNEXPECTED_FRAME, - NL80211_CMD_PROBE_CLIENT, + NL80211_CMD_PROBE_CLIENT, - NL80211_CMD_REGISTER_BEACONS, + NL80211_CMD_REGISTER_BEACONS, - NL80211_CMD_UNEXPECTED_4ADDR_FRAME, + NL80211_CMD_UNEXPECTED_4ADDR_FRAME, - NL80211_CMD_SET_NOACK_MAP, + NL80211_CMD_SET_NOACK_MAP, - NL80211_CMD_CH_SWITCH_NOTIFY, + NL80211_CMD_CH_SWITCH_NOTIFY, - NL80211_CMD_START_P2P_DEVICE, - NL80211_CMD_STOP_P2P_DEVICE, + NL80211_CMD_START_P2P_DEVICE, + NL80211_CMD_STOP_P2P_DEVICE, - NL80211_CMD_CONN_FAILED, + NL80211_CMD_CONN_FAILED, - NL80211_CMD_SET_MCAST_RATE, + NL80211_CMD_SET_MCAST_RATE, - NL80211_CMD_SET_MAC_ACL, + NL80211_CMD_SET_MAC_ACL, - NL80211_CMD_RADAR_DETECT, + NL80211_CMD_RADAR_DETECT, - NL80211_CMD_GET_PROTOCOL_FEATURES, + NL80211_CMD_GET_PROTOCOL_FEATURES, - NL80211_CMD_UPDATE_FT_IES, - NL80211_CMD_FT_EVENT, + NL80211_CMD_UPDATE_FT_IES, + NL80211_CMD_FT_EVENT, - NL80211_CMD_CRIT_PROTOCOL_START, - NL80211_CMD_CRIT_PROTOCOL_STOP, + NL80211_CMD_CRIT_PROTOCOL_START, + NL80211_CMD_CRIT_PROTOCOL_STOP, - NL80211_CMD_GET_COALESCE, - NL80211_CMD_SET_COALESCE, + NL80211_CMD_GET_COALESCE, + NL80211_CMD_SET_COALESCE, - NL80211_CMD_CHANNEL_SWITCH, + NL80211_CMD_CHANNEL_SWITCH, - NL80211_CMD_VENDOR, + NL80211_CMD_VENDOR, - NL80211_CMD_SET_QOS_MAP, + NL80211_CMD_SET_QOS_MAP, - NL80211_CMD_ADD_TX_TS, - NL80211_CMD_DEL_TX_TS, + NL80211_CMD_ADD_TX_TS, + NL80211_CMD_DEL_TX_TS, - NL80211_CMD_GET_MPP, + NL80211_CMD_GET_MPP, - NL80211_CMD_JOIN_OCB, - NL80211_CMD_LEAVE_OCB, + NL80211_CMD_JOIN_OCB, + NL80211_CMD_LEAVE_OCB, - NL80211_CMD_CH_SWITCH_STARTED_NOTIFY, + NL80211_CMD_CH_SWITCH_STARTED_NOTIFY, - NL80211_CMD_TDLS_CHANNEL_SWITCH, - NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, + NL80211_CMD_TDLS_CHANNEL_SWITCH, + NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, - NL80211_CMD_WIPHY_REG_CHANGE, + NL80211_CMD_WIPHY_REG_CHANGE, - NL80211_CMD_ABORT_SCAN, + NL80211_CMD_ABORT_SCAN, - NL80211_CMD_START_NAN, - NL80211_CMD_STOP_NAN, - NL80211_CMD_ADD_NAN_FUNCTION, - NL80211_CMD_DEL_NAN_FUNCTION, - NL80211_CMD_CHANGE_NAN_CONFIG, - NL80211_CMD_NAN_MATCH, + NL80211_CMD_START_NAN, + NL80211_CMD_STOP_NAN, + NL80211_CMD_ADD_NAN_FUNCTION, + NL80211_CMD_DEL_NAN_FUNCTION, + NL80211_CMD_CHANGE_NAN_CONFIG, + NL80211_CMD_NAN_MATCH, - NL80211_CMD_SET_MULTICAST_TO_UNICAST, + NL80211_CMD_SET_MULTICAST_TO_UNICAST, - NL80211_CMD_UPDATE_CONNECT_PARAMS, + NL80211_CMD_UPDATE_CONNECT_PARAMS, - NL80211_CMD_SET_PMK, - NL80211_CMD_DEL_PMK, + NL80211_CMD_SET_PMK, + NL80211_CMD_DEL_PMK, - NL80211_CMD_PORT_AUTHORIZED, + NL80211_CMD_PORT_AUTHORIZED, - NL80211_CMD_RELOAD_REGDB, + NL80211_CMD_RELOAD_REGDB, - NL80211_CMD_EXTERNAL_AUTH, + NL80211_CMD_EXTERNAL_AUTH, - NL80211_CMD_STA_OPMODE_CHANGED, + NL80211_CMD_STA_OPMODE_CHANGED, - NL80211_CMD_CONTROL_PORT_FRAME, + NL80211_CMD_CONTROL_PORT_FRAME, - NL80211_CMD_GET_FTM_RESPONDER_STATS, + NL80211_CMD_GET_FTM_RESPONDER_STATS, - NL80211_CMD_PEER_MEASUREMENT_START, - NL80211_CMD_PEER_MEASUREMENT_RESULT, - NL80211_CMD_PEER_MEASUREMENT_COMPLETE, + NL80211_CMD_PEER_MEASUREMENT_START, + NL80211_CMD_PEER_MEASUREMENT_RESULT, + NL80211_CMD_PEER_MEASUREMENT_COMPLETE, - NL80211_CMD_NOTIFY_RADAR, + NL80211_CMD_NOTIFY_RADAR, - NL80211_CMD_UPDATE_OWE_INFO, + NL80211_CMD_UPDATE_OWE_INFO, - NL80211_CMD_PROBE_MESH_LINK, + NL80211_CMD_PROBE_MESH_LINK, - /* add new commands above here */ + /* add new commands above here */ - /* used to define NL80211_CMD_MAX below */ - __NL80211_CMD_AFTER_LAST, - NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 + /* used to define NL80211_CMD_MAX below */ + __NL80211_CMD_AFTER_LAST, + NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 }; /* @@ -1358,68 +1358,68 @@ enum nl80211_commands { * @NL80211_ATTR_UNSPEC: unspecified attribute to catch errors * * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf. - * /sys/class/ieee80211/<phyname>/index + * /sys/class/ieee80211/<phyname>/index * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters * @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz, - * defines the channel together with the (deprecated) - * %NL80211_ATTR_WIPHY_CHANNEL_TYPE attribute or the attributes - * %NL80211_ATTR_CHANNEL_WIDTH and if needed %NL80211_ATTR_CENTER_FREQ1 - * and %NL80211_ATTR_CENTER_FREQ2 + * defines the channel together with the (deprecated) + * %NL80211_ATTR_WIPHY_CHANNEL_TYPE attribute or the attributes + * %NL80211_ATTR_CHANNEL_WIDTH and if needed %NL80211_ATTR_CENTER_FREQ1 + * and %NL80211_ATTR_CENTER_FREQ2 * @NL80211_ATTR_CHANNEL_WIDTH: u32 attribute containing one of the values - * of &enum nl80211_chan_width, describing the channel width. See the - * documentation of the enum for more information. + * of &enum nl80211_chan_width, describing the channel width. See the + * documentation of the enum for more information. * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the - * channel, used for anything but 20 MHz bandwidth + * channel, used for anything but 20 MHz bandwidth * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the - * channel, used only for 80+80 MHz bandwidth + * channel, used only for 80+80 MHz bandwidth * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ - * if HT20 or HT40 are to be used (i.e., HT disabled if not included): - * NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including - * this attribute) - * NL80211_CHAN_HT20 = HT20 only - * NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel - * NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel - * This attribute is now deprecated. + * if HT20 or HT40 are to be used (i.e., HT disabled if not included): + * NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including + * this attribute) + * NL80211_CHAN_HT20 = HT20 only + * NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel + * NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel + * This attribute is now deprecated. * @NL80211_ATTR_WIPHY_RETRY_SHORT: TX retry limit for frames whose length is - * less than or equal to the RTS threshold; allowed range: 1..255; - * dot11ShortRetryLimit; u8 + * less than or equal to the RTS threshold; allowed range: 1..255; + * dot11ShortRetryLimit; u8 * @NL80211_ATTR_WIPHY_RETRY_LONG: TX retry limit for frames whose length is - * greater than the RTS threshold; allowed range: 1..255; - * dot11ShortLongLimit; u8 + * greater than the RTS threshold; allowed range: 1..255; + * dot11ShortLongLimit; u8 * @NL80211_ATTR_WIPHY_FRAG_THRESHOLD: fragmentation threshold, i.e., maximum - * length in octets for frames; allowed range: 256..8000, disable - * fragmentation with (u32)-1; dot11FragmentationThreshold; u32 + * length in octets for frames; allowed range: 256..8000, disable + * fragmentation with (u32)-1; dot11FragmentationThreshold; u32 * @NL80211_ATTR_WIPHY_RTS_THRESHOLD: RTS threshold (TX frames with length - * larger than or equal to this use RTS/CTS handshake); allowed range: - * 0..65536, disable with (u32)-1; dot11RTSThreshold; u32 + * larger than or equal to this use RTS/CTS handshake); allowed range: + * 0..65536, disable with (u32)-1; dot11RTSThreshold; u32 * @NL80211_ATTR_WIPHY_COVERAGE_CLASS: Coverage Class as defined by IEEE 802.11 - * section 7.3.2.9; dot11CoverageClass; u8 + * section 7.3.2.9; dot11CoverageClass; u8 * * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on * @NL80211_ATTR_IFNAME: network interface name * @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype * * @NL80211_ATTR_WDEV: wireless device identifier, used for pseudo-devices - * that don't have a netdev (u64) + * that don't have a netdev (u64) * * @NL80211_ATTR_MAC: MAC address (various uses) * * @NL80211_ATTR_KEY_DATA: (temporal) key data; for TKIP this consists of - * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC - * keys + * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC + * keys * @NL80211_ATTR_KEY_IDX: key ID (u8, 0-3) * @NL80211_ATTR_KEY_CIPHER: key cipher suite (u32, as defined by IEEE 802.11 - * section 7.3.2.25.1, e.g. 0x000FAC04) + * section 7.3.2.25.1, e.g. 0x000FAC04) * @NL80211_ATTR_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and - * CCMP keys, each six bytes in little endian + * CCMP keys, each six bytes in little endian * @NL80211_ATTR_KEY_DEFAULT: Flag attribute indicating the key is default key * @NL80211_ATTR_KEY_DEFAULT_MGMT: Flag attribute indicating the key is the - * default management key + * default management key * @NL80211_ATTR_CIPHER_SUITES_PAIRWISE: For crypto settings for connect or - * other commands, indicates which pairwise cipher suites are used + * other commands, indicates which pairwise cipher suites are used * @NL80211_ATTR_CIPHER_SUITE_GROUP: For crypto settings for connect or - * other commands, indicates which group cipher suite is used + * other commands, indicates which group cipher suite is used * * @NL80211_ATTR_BEACON_INTERVAL: beacon interval in TU * @NL80211_ATTR_DTIM_PERIOD: DTIM period for beaconing @@ -1428,460 +1428,460 @@ enum nl80211_commands { * * @NL80211_ATTR_STA_AID: Association ID for the station (u16) * @NL80211_ATTR_STA_FLAGS: flags, nested element with NLA_FLAG attributes of - * &enum nl80211_sta_flags (deprecated, use %NL80211_ATTR_STA_FLAGS2) + * &enum nl80211_sta_flags (deprecated, use %NL80211_ATTR_STA_FLAGS2) * @NL80211_ATTR_STA_LISTEN_INTERVAL: listen interval as defined by - * IEEE 802.11 7.3.1.6 (u16). + * IEEE 802.11 7.3.1.6 (u16). * @NL80211_ATTR_STA_SUPPORTED_RATES: supported rates, array of supported - * rates as defined by IEEE 802.11 7.3.2.2 but without the length - * restriction (at most %NL80211_MAX_SUPP_RATES). + * rates as defined by IEEE 802.11 7.3.2.2 but without the length + * restriction (at most %NL80211_MAX_SUPP_RATES). * @NL80211_ATTR_STA_VLAN: interface index of VLAN interface to move station - * to, or the AP interface the station was originally added to to. + * to, or the AP interface the station was originally added to to. * @NL80211_ATTR_STA_INFO: information about a station, part of station info - * given for %NL80211_CMD_GET_STATION, nested attribute containing - * info as possible, see &enum nl80211_sta_info. + * given for %NL80211_CMD_GET_STATION, nested attribute containing + * info as possible, see &enum nl80211_sta_info. * * @NL80211_ATTR_WIPHY_BANDS: Information about an operating bands, - * consisting of a nested array. + * consisting of a nested array. * * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes). * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link - * (see &enum nl80211_plink_action). + * (see &enum nl80211_plink_action). * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path. * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path - * info given for %NL80211_CMD_GET_MPATH, nested attribute described at - * &enum nl80211_mpath_info. + * info given for %NL80211_CMD_GET_MPATH, nested attribute described at + * &enum nl80211_mpath_info. * * @NL80211_ATTR_MNTR_FLAGS: flags, nested element with NLA_FLAG attributes of - * &enum nl80211_mntr_flags. + * &enum nl80211_mntr_flags. * * @NL80211_ATTR_REG_ALPHA2: an ISO-3166-alpha2 country code for which the - * current regulatory domain should be set to or is already set to. - * For example, 'CR', for Costa Rica. This attribute is used by the kernel - * to query the CRDA to retrieve one regulatory domain. This attribute can - * also be used by userspace to query the kernel for the currently set - * regulatory domain. We chose an alpha2 as that is also used by the - * IEEE-802.11 country information element to identify a country. - * Users can also simply ask the wireless core to set regulatory domain - * to a specific alpha2. + * current regulatory domain should be set to or is already set to. + * For example, 'CR', for Costa Rica. This attribute is used by the kernel + * to query the CRDA to retrieve one regulatory domain. This attribute can + * also be used by userspace to query the kernel for the currently set + * regulatory domain. We chose an alpha2 as that is also used by the + * IEEE-802.11 country information element to identify a country. + * Users can also simply ask the wireless core to set regulatory domain + * to a specific alpha2. * @NL80211_ATTR_REG_RULES: a nested array of regulatory domain regulatory - * rules. + * rules. * * @NL80211_ATTR_BSS_CTS_PROT: whether CTS protection is enabled (u8, 0 or 1) * @NL80211_ATTR_BSS_SHORT_PREAMBLE: whether short preamble is enabled - * (u8, 0 or 1) + * (u8, 0 or 1) * @NL80211_ATTR_BSS_SHORT_SLOT_TIME: whether short slot time enabled - * (u8, 0 or 1) + * (u8, 0 or 1) * @NL80211_ATTR_BSS_BASIC_RATES: basic rates, array of basic - * rates in format defined by IEEE 802.11 7.3.2.2 but without the length - * restriction (at most %NL80211_MAX_SUPP_RATES). + * rates in format defined by IEEE 802.11 7.3.2.2 but without the length + * restriction (at most %NL80211_MAX_SUPP_RATES). * * @NL80211_ATTR_HT_CAPABILITY: HT Capability information element (from - * association request when used with NL80211_CMD_NEW_STATION) + * association request when used with NL80211_CMD_NEW_STATION) * * @NL80211_ATTR_SUPPORTED_IFTYPES: nested attribute containing all - * supported interface types, each a flag attribute with the number - * of the interface mode. + * supported interface types, each a flag attribute with the number + * of the interface mode. * * @NL80211_ATTR_MGMT_SUBTYPE: Management frame subtype for - * %NL80211_CMD_SET_MGMT_EXTRA_IE. + * %NL80211_CMD_SET_MGMT_EXTRA_IE. * * @NL80211_ATTR_IE: Information element(s) data (used, e.g., with - * %NL80211_CMD_SET_MGMT_EXTRA_IE). + * %NL80211_CMD_SET_MGMT_EXTRA_IE). * * @NL80211_ATTR_MAX_NUM_SCAN_SSIDS: number of SSIDs you can scan with - * a single scan request, a wiphy attribute. + * a single scan request, a wiphy attribute. * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS: number of SSIDs you can - * scan with a single scheduled scan request, a wiphy attribute. + * scan with a single scheduled scan request, a wiphy attribute. * @NL80211_ATTR_MAX_SCAN_IE_LEN: maximum length of information elements - * that can be added to a scan request + * that can be added to a scan request * @NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: maximum length of information - * elements that can be added to a scheduled scan request + * elements that can be added to a scheduled scan request * @NL80211_ATTR_MAX_MATCH_SETS: maximum number of sets that can be - * used with @NL80211_ATTR_SCHED_SCAN_MATCH, a wiphy attribute. + * used with @NL80211_ATTR_SCHED_SCAN_MATCH, a wiphy attribute. * * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz) * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive - * scanning and include a zero-length SSID (wildcard) for wildcard scan + * scanning and include a zero-length SSID (wildcard) for wildcard scan * @NL80211_ATTR_BSS: scan result BSS * * @NL80211_ATTR_REG_INITIATOR: indicates who requested the regulatory domain - * currently in effect. This could be any of the %NL80211_REGDOM_SET_BY_* + * currently in effect. This could be any of the %NL80211_REGDOM_SET_BY_* * @NL80211_ATTR_REG_TYPE: indicates the type of the regulatory domain currently - * set. This can be one of the nl80211_reg_type (%NL80211_REGDOM_TYPE_*) + * set. This can be one of the nl80211_reg_type (%NL80211_REGDOM_TYPE_*) * * @NL80211_ATTR_SUPPORTED_COMMANDS: wiphy attribute that specifies - * an array of command numbers (i.e. a mapping index to command number) - * that the driver for the given wiphy supports. + * an array of command numbers (i.e. a mapping index to command number) + * that the driver for the given wiphy supports. * * @NL80211_ATTR_FRAME: frame data (binary attribute), including frame header - * and body, but not FCS; used, e.g., with NL80211_CMD_AUTHENTICATE and - * NL80211_CMD_ASSOCIATE events + * and body, but not FCS; used, e.g., with NL80211_CMD_AUTHENTICATE and + * NL80211_CMD_ASSOCIATE events * @NL80211_ATTR_SSID: SSID (binary attribute, 0..32 octets) * @NL80211_ATTR_AUTH_TYPE: AuthenticationType, see &enum nl80211_auth_type, - * represented as a u32 + * represented as a u32 * @NL80211_ATTR_REASON_CODE: ReasonCode for %NL80211_CMD_DEAUTHENTICATE and - * %NL80211_CMD_DISASSOCIATE, u16 + * %NL80211_CMD_DISASSOCIATE, u16 * * @NL80211_ATTR_KEY_TYPE: Key Type, see &enum nl80211_key_type, represented as - * a u32 + * a u32 * * @NL80211_ATTR_FREQ_BEFORE: A channel which has suffered a regulatory change - * due to considerations from a beacon hint. This attribute reflects - * the state of the channel _before_ the beacon hint processing. This - * attributes consists of a nested attribute containing - * NL80211_FREQUENCY_ATTR_* + * due to considerations from a beacon hint. This attribute reflects + * the state of the channel _before_ the beacon hint processing. This + * attributes consists of a nested attribute containing + * NL80211_FREQUENCY_ATTR_* * @NL80211_ATTR_FREQ_AFTER: A channel which has suffered a regulatory change - * due to considerations from a beacon hint. This attribute reflects - * the state of the channel _after_ the beacon hint processing. This - * attributes consists of a nested attribute containing - * NL80211_FREQUENCY_ATTR_* + * due to considerations from a beacon hint. This attribute reflects + * the state of the channel _after_ the beacon hint processing. This + * attributes consists of a nested attribute containing + * NL80211_FREQUENCY_ATTR_* * * @NL80211_ATTR_CIPHER_SUITES: a set of u32 values indicating the supported - * cipher suites + * cipher suites * * @NL80211_ATTR_FREQ_FIXED: a flag indicating the IBSS should not try to look - * for other networks on different channels + * for other networks on different channels * * @NL80211_ATTR_TIMED_OUT: a flag indicating than an operation timed out; this - * is used, e.g., with %NL80211_CMD_AUTHENTICATE event + * is used, e.g., with %NL80211_CMD_AUTHENTICATE event * * @NL80211_ATTR_USE_MFP: Whether management frame protection (IEEE 802.11w) is - * used for the association (&enum nl80211_mfp, represented as a u32); - * this attribute can be used with %NL80211_CMD_ASSOCIATE and - * %NL80211_CMD_CONNECT requests. %NL80211_MFP_OPTIONAL is not allowed for - * %NL80211_CMD_ASSOCIATE since user space SME is expected and hence, it - * must have decided whether to use management frame protection or not. - * Setting %NL80211_MFP_OPTIONAL with a %NL80211_CMD_CONNECT request will - * let the driver (or the firmware) decide whether to use MFP or not. + * used for the association (&enum nl80211_mfp, represented as a u32); + * this attribute can be used with %NL80211_CMD_ASSOCIATE and + * %NL80211_CMD_CONNECT requests. %NL80211_MFP_OPTIONAL is not allowed for + * %NL80211_CMD_ASSOCIATE since user space SME is expected and hence, it + * must have decided whether to use management frame protection or not. + * Setting %NL80211_MFP_OPTIONAL with a %NL80211_CMD_CONNECT request will + * let the driver (or the firmware) decide whether to use MFP or not. * * @NL80211_ATTR_STA_FLAGS2: Attribute containing a - * &struct nl80211_sta_flag_update. + * &struct nl80211_sta_flag_update. * * @NL80211_ATTR_CONTROL_PORT: A flag indicating whether user space controls - * IEEE 802.1X port, i.e., sets/clears %NL80211_STA_FLAG_AUTHORIZED, in - * station mode. If the flag is included in %NL80211_CMD_ASSOCIATE - * request, the driver will assume that the port is unauthorized until - * authorized by user space. Otherwise, port is marked authorized by - * default in station mode. + * IEEE 802.1X port, i.e., sets/clears %NL80211_STA_FLAG_AUTHORIZED, in + * station mode. If the flag is included in %NL80211_CMD_ASSOCIATE + * request, the driver will assume that the port is unauthorized until + * authorized by user space. Otherwise, port is marked authorized by + * default in station mode. * @NL80211_ATTR_CONTROL_PORT_ETHERTYPE: A 16-bit value indicating the - * ethertype that will be used for key negotiation. It can be - * specified with the associate and connect commands. If it is not - * specified, the value defaults to 0x888E (PAE, 802.1X). This - * attribute is also used as a flag in the wiphy information to - * indicate that protocols other than PAE are supported. + * ethertype that will be used for key negotiation. It can be + * specified with the associate and connect commands. If it is not + * specified, the value defaults to 0x888E (PAE, 802.1X). This + * attribute is also used as a flag in the wiphy information to + * indicate that protocols other than PAE are supported. * @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with - * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom - * ethertype frames used for key negotiation must not be encrypted. + * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom + * ethertype frames used for key negotiation must not be encrypted. * @NL80211_ATTR_CONTROL_PORT_OVER_NL80211: A flag indicating whether control - * port frames (e.g. of type given in %NL80211_ATTR_CONTROL_PORT_ETHERTYPE) - * will be sent directly to the network interface or sent via the NL80211 - * socket. If this attribute is missing, then legacy behavior of sending - * control port frames directly to the network interface is used. If the - * flag is included, then control port frames are sent over NL80211 instead - * using %CMD_CONTROL_PORT_FRAME. If control port routing over NL80211 is - * to be used then userspace must also use the %NL80211_ATTR_SOCKET_OWNER - * flag. + * port frames (e.g. of type given in %NL80211_ATTR_CONTROL_PORT_ETHERTYPE) + * will be sent directly to the network interface or sent via the NL80211 + * socket. If this attribute is missing, then legacy behavior of sending + * control port frames directly to the network interface is used. If the + * flag is included, then control port frames are sent over NL80211 instead + * using %CMD_CONTROL_PORT_FRAME. If control port routing over NL80211 is + * to be used then userspace must also use the %NL80211_ATTR_SOCKET_OWNER + * flag. * * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. - * We recommend using nested, driver-specific attributes within this. + * We recommend using nested, driver-specific attributes within this. * * @NL80211_ATTR_DISCONNECTED_BY_AP: A flag indicating that the DISCONNECT - * event was due to the AP disconnecting the station, and not due to - * a local disconnect request. + * event was due to the AP disconnecting the station, and not due to + * a local disconnect request. * @NL80211_ATTR_STATUS_CODE: StatusCode for the %NL80211_CMD_CONNECT - * event (u16) + * event (u16) * @NL80211_ATTR_PRIVACY: Flag attribute, used with connect(), indicating - * that protected APs should be used. This is also used with NEW_BEACON to - * indicate that the BSS is to use protection. + * that protected APs should be used. This is also used with NEW_BEACON to + * indicate that the BSS is to use protection. * * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT, ASSOCIATE, and NEW_BEACON - * to indicate which unicast key ciphers will be used with the connection - * (an array of u32). + * to indicate which unicast key ciphers will be used with the connection + * (an array of u32). * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT, ASSOCIATE, and NEW_BEACON to - * indicate which group key cipher will be used with the connection (a - * u32). + * indicate which group key cipher will be used with the connection (a + * u32). * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT, ASSOCIATE, and NEW_BEACON to - * indicate which WPA version(s) the AP we want to associate with is using - * (a u32 with flags from &enum nl80211_wpa_versions). + * indicate which WPA version(s) the AP we want to associate with is using + * (a u32 with flags from &enum nl80211_wpa_versions). * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to - * indicate which key management algorithm(s) to use (an array of u32). - * This attribute is also sent in response to @NL80211_CMD_GET_WIPHY, - * indicating the supported AKM suites, intended for specific drivers which - * implement SME and have constraints on which AKMs are supported and also - * the cases where an AKM support is offloaded to the driver/firmware. - * If there is no such notification from the driver, user space should - * assume the driver supports all the AKM suites. + * indicate which key management algorithm(s) to use (an array of u32). + * This attribute is also sent in response to @NL80211_CMD_GET_WIPHY, + * indicating the supported AKM suites, intended for specific drivers which + * implement SME and have constraints on which AKMs are supported and also + * the cases where an AKM support is offloaded to the driver/firmware. + * If there is no such notification from the driver, user space should + * assume the driver supports all the AKM suites. * * @NL80211_ATTR_REQ_IE: (Re)association request information elements as - * sent out by the card, for ROAM and successful CONNECT events. + * sent out by the card, for ROAM and successful CONNECT events. * @NL80211_ATTR_RESP_IE: (Re)association response information elements as - * sent by peer, for ROAM and successful CONNECT events. + * sent by peer, for ROAM and successful CONNECT events. * * @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used in ASSOCIATE and CONNECT - * commands to specify a request to reassociate within an ESS, i.e., to use - * Reassociate Request frame (with the value of this attribute in the - * Current AP address field) instead of Association Request frame which is - * used for the initial association to an ESS. + * commands to specify a request to reassociate within an ESS, i.e., to use + * Reassociate Request frame (with the value of this attribute in the + * Current AP address field) instead of Association Request frame which is + * used for the initial association to an ESS. * * @NL80211_ATTR_KEY: key information in a nested attribute with - * %NL80211_KEY_* sub-attributes + * %NL80211_KEY_* sub-attributes * @NL80211_ATTR_KEYS: array of keys for static WEP keys for connect() - * and join_ibss(), key information is in a nested attribute each - * with %NL80211_KEY_* sub-attributes + * and join_ibss(), key information is in a nested attribute each + * with %NL80211_KEY_* sub-attributes * * @NL80211_ATTR_PID: Process ID of a network namespace. * * @NL80211_ATTR_GENERATION: Used to indicate consistent snapshots for - * dumps. This number increases whenever the object list being - * dumped changes, and as such userspace can verify that it has - * obtained a complete and consistent snapshot by verifying that - * all dump messages contain the same generation number. If it - * changed then the list changed and the dump should be repeated - * completely from scratch. + * dumps. This number increases whenever the object list being + * dumped changes, and as such userspace can verify that it has + * obtained a complete and consistent snapshot by verifying that + * all dump messages contain the same generation number. If it + * changed then the list changed and the dump should be repeated + * completely from scratch. * * @NL80211_ATTR_4ADDR: Use 4-address frames on a virtual interface * * @NL80211_ATTR_SURVEY_INFO: survey information about a channel, part of - * the survey response for %NL80211_CMD_GET_SURVEY, nested attribute - * containing info as possible, see &enum survey_info. + * the survey response for %NL80211_CMD_GET_SURVEY, nested attribute + * containing info as possible, see &enum survey_info. * * @NL80211_ATTR_PMKID: PMK material for PMKSA caching. * @NL80211_ATTR_MAX_NUM_PMKIDS: maximum number of PMKIDs a firmware can - * cache, a wiphy attribute. + * cache, a wiphy attribute. * * @NL80211_ATTR_DURATION: Duration of an operation in milliseconds, u32. * @NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION: Device attribute that - * specifies the maximum duration that can be requested with the - * remain-on-channel operation, in milliseconds, u32. + * specifies the maximum duration that can be requested with the + * remain-on-channel operation, in milliseconds, u32. * * @NL80211_ATTR_COOKIE: Generic 64-bit cookie to identify objects. * * @NL80211_ATTR_TX_RATES: Nested set of attributes - * (enum nl80211_tx_rate_attributes) describing TX rates per band. The - * enum nl80211_band value is used as the index (nla_type() of the nested - * data. If a band is not included, it will be configured to allow all - * rates based on negotiated supported rates information. This attribute - * is used with %NL80211_CMD_SET_TX_BITRATE_MASK and with starting AP, - * and joining mesh networks (not IBSS yet). In the later case, it must - * specify just a single bitrate, which is to be used for the beacon. - * The driver must also specify support for this with the extended - * features NL80211_EXT_FEATURE_BEACON_RATE_LEGACY, - * NL80211_EXT_FEATURE_BEACON_RATE_HT and - * NL80211_EXT_FEATURE_BEACON_RATE_VHT. + * (enum nl80211_tx_rate_attributes) describing TX rates per band. The + * enum nl80211_band value is used as the index (nla_type() of the nested + * data. If a band is not included, it will be configured to allow all + * rates based on negotiated supported rates information. This attribute + * is used with %NL80211_CMD_SET_TX_BITRATE_MASK and with starting AP, + * and joining mesh networks (not IBSS yet). In the later case, it must + * specify just a single bitrate, which is to be used for the beacon. + * The driver must also specify support for this with the extended + * features NL80211_EXT_FEATURE_BEACON_RATE_LEGACY, + * NL80211_EXT_FEATURE_BEACON_RATE_HT and + * NL80211_EXT_FEATURE_BEACON_RATE_VHT. * * @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain - * at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME. + * at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME. * @NL80211_ATTR_FRAME_TYPE: A u16 indicating the frame type/subtype for the - * @NL80211_CMD_REGISTER_FRAME command. + * @NL80211_CMD_REGISTER_FRAME command. * @NL80211_ATTR_TX_FRAME_TYPES: wiphy capability attribute, which is a - * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing - * information about which frame types can be transmitted with - * %NL80211_CMD_FRAME. + * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing + * information about which frame types can be transmitted with + * %NL80211_CMD_FRAME. * @NL80211_ATTR_RX_FRAME_TYPES: wiphy capability attribute, which is a - * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing - * information about which frame types can be registered for RX. + * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing + * information about which frame types can be registered for RX. * * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was - * acknowledged by the recipient. + * acknowledged by the recipient. * * @NL80211_ATTR_PS_STATE: powersave state, using &enum nl80211_ps_state values. * * @NL80211_ATTR_CQM: connection quality monitor configuration in a - * nested attribute with %NL80211_ATTR_CQM_* sub-attributes. + * nested attribute with %NL80211_ATTR_CQM_* sub-attributes. * * @NL80211_ATTR_LOCAL_STATE_CHANGE: Flag attribute to indicate that a command - * is requesting a local authentication/association state change without - * invoking actual management frame exchange. This can be used with - * NL80211_CMD_AUTHENTICATE, NL80211_CMD_DEAUTHENTICATE, - * NL80211_CMD_DISASSOCIATE. + * is requesting a local authentication/association state change without + * invoking actual management frame exchange. This can be used with + * NL80211_CMD_AUTHENTICATE, NL80211_CMD_DEAUTHENTICATE, + * NL80211_CMD_DISASSOCIATE. * * @NL80211_ATTR_AP_ISOLATE: (AP mode) Do not forward traffic between stations - * connected to this BSS. + * connected to this BSS. * * @NL80211_ATTR_WIPHY_TX_POWER_SETTING: Transmit power setting type. See - * &enum nl80211_tx_power_setting for possible values. + * &enum nl80211_tx_power_setting for possible values. * @NL80211_ATTR_WIPHY_TX_POWER_LEVEL: Transmit power level in signed mBm units. - * This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING - * for non-automatic settings. + * This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING + * for non-automatic settings. * * @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly - * means support for per-station GTKs. + * means support for per-station GTKs. * * @NL80211_ATTR_WIPHY_ANTENNA_TX: Bitmap of allowed antennas for transmitting. - * This can be used to mask out antennas which are not attached or should - * not be used for transmitting. If an antenna is not selected in this - * bitmap the hardware is not allowed to transmit on this antenna. - * - * Each bit represents one antenna, starting with antenna 1 at the first - * bit. Depending on which antennas are selected in the bitmap, 802.11n - * drivers can derive which chainmasks to use (if all antennas belonging to - * a particular chain are disabled this chain should be disabled) and if - * a chain has diversity antennas wether diversity should be used or not. - * HT capabilities (STBC, TX Beamforming, Antenna selection) can be - * derived from the available chains after applying the antenna mask. - * Non-802.11n drivers can derive wether to use diversity or not. - * Drivers may reject configurations or RX/TX mask combinations they cannot - * support by returning -EINVAL. + * This can be used to mask out antennas which are not attached or should + * not be used for transmitting. If an antenna is not selected in this + * bitmap the hardware is not allowed to transmit on this antenna. + * + * Each bit represents one antenna, starting with antenna 1 at the first + * bit. Depending on which antennas are selected in the bitmap, 802.11n + * drivers can derive which chainmasks to use (if all antennas belonging to + * a particular chain are disabled this chain should be disabled) and if + * a chain has diversity antennas wether diversity should be used or not. + * HT capabilities (STBC, TX Beamforming, Antenna selection) can be + * derived from the available chains after applying the antenna mask. + * Non-802.11n drivers can derive wether to use diversity or not. + * Drivers may reject configurations or RX/TX mask combinations they cannot + * support by returning -EINVAL. * * @NL80211_ATTR_WIPHY_ANTENNA_RX: Bitmap of allowed antennas for receiving. - * This can be used to mask out antennas which are not attached or should - * not be used for receiving. If an antenna is not selected in this bitmap - * the hardware should not be configured to receive on this antenna. - * For a more detailed description see @NL80211_ATTR_WIPHY_ANTENNA_TX. + * This can be used to mask out antennas which are not attached or should + * not be used for receiving. If an antenna is not selected in this bitmap + * the hardware should not be configured to receive on this antenna. + * For a more detailed description see @NL80211_ATTR_WIPHY_ANTENNA_TX. * * @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX: Bitmap of antennas which are available - * for configuration as TX antennas via the above parameters. + * for configuration as TX antennas via the above parameters. * * @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX: Bitmap of antennas which are available - * for configuration as RX antennas via the above parameters. + * for configuration as RX antennas via the above parameters. * * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS * * @NL80211_ATTR_OFFCHANNEL_TX_OK: For management frame TX, the frame may be - * transmitted on another channel when the channel given doesn't match - * the current channel. If the current channel doesn't match and this - * flag isn't set, the frame will be rejected. This is also used as an - * nl80211 capability flag. + * transmitted on another channel when the channel given doesn't match + * the current channel. If the current channel doesn't match and this + * flag isn't set, the frame will be rejected. This is also used as an + * nl80211 capability flag. * * @NL80211_ATTR_BSS_HT_OPMODE: HT operation mode (u16) * * @NL80211_ATTR_KEY_DEFAULT_TYPES: A nested attribute containing flags - * attributes, specifying what a key should be set as default as. - * See &enum nl80211_key_default_types. + * attributes, specifying what a key should be set as default as. + * See &enum nl80211_key_default_types. * * @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be - * changed once the mesh is active. + * changed once the mesh is active. * @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute - * containing attributes from &enum nl80211_meshconf_params. + * containing attributes from &enum nl80211_meshconf_params. * @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver - * allows auth frames in a mesh to be passed to userspace for processing via - * the @NL80211_MESH_SETUP_USERSPACE_AUTH flag. + * allows auth frames in a mesh to be passed to userspace for processing via + * the @NL80211_MESH_SETUP_USERSPACE_AUTH flag. * @NL80211_ATTR_STA_PLINK_STATE: The state of a mesh peer link as defined in - * &enum nl80211_plink_state. Used when userspace is driving the peer link - * management state machine. @NL80211_MESH_SETUP_USERSPACE_AMPE or - * @NL80211_MESH_SETUP_USERSPACE_MPM must be enabled. + * &enum nl80211_plink_state. Used when userspace is driving the peer link + * management state machine. @NL80211_MESH_SETUP_USERSPACE_AMPE or + * @NL80211_MESH_SETUP_USERSPACE_MPM must be enabled. * * @NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED: indicates, as part of the wiphy - * capabilities, the supported WoWLAN triggers + * capabilities, the supported WoWLAN triggers * @NL80211_ATTR_WOWLAN_TRIGGERS: used by %NL80211_CMD_SET_WOWLAN to - * indicate which WoW triggers should be enabled. This is also - * used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN - * triggers. + * indicate which WoW triggers should be enabled. This is also + * used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN + * triggers. * * @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan - * cycles, in msecs. + * cycles, in msecs. * * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more - * sets of attributes to match during scheduled scans. Only BSSs - * that match any of the sets will be reported. These are - * pass-thru filter rules. - * For a match to succeed, the BSS must match all attributes of a - * set. Since not every hardware supports matching all types of - * attributes, there is no guarantee that the reported BSSs are - * fully complying with the match sets and userspace needs to be - * able to ignore them by itself. - * Thus, the implementation is somewhat hardware-dependent, but - * this is only an optimization and the userspace application - * needs to handle all the non-filtered results anyway. - * If the match attributes don't make sense when combined with - * the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID - * is included in the probe request, but the match attributes - * will never let it go through), -EINVAL may be returned. - * If omitted, no filtering is done. + * sets of attributes to match during scheduled scans. Only BSSs + * that match any of the sets will be reported. These are + * pass-thru filter rules. + * For a match to succeed, the BSS must match all attributes of a + * set. Since not every hardware supports matching all types of + * attributes, there is no guarantee that the reported BSSs are + * fully complying with the match sets and userspace needs to be + * able to ignore them by itself. + * Thus, the implementation is somewhat hardware-dependent, but + * this is only an optimization and the userspace application + * needs to handle all the non-filtered results anyway. + * If the match attributes don't make sense when combined with + * the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID + * is included in the probe request, but the match attributes + * will never let it go through), -EINVAL may be returned. + * If omitted, no filtering is done. * * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported - * interface combinations. In each nested item, it contains attributes - * defined in &enum nl80211_if_combination_attrs. + * interface combinations. In each nested item, it contains attributes + * defined in &enum nl80211_if_combination_attrs. * @NL80211_ATTR_SOFTWARE_IFTYPES: Nested attribute (just like - * %NL80211_ATTR_SUPPORTED_IFTYPES) containing the interface types that - * are managed in software: interfaces of these types aren't subject to - * any restrictions in their number or combinations. + * %NL80211_ATTR_SUPPORTED_IFTYPES) containing the interface types that + * are managed in software: interfaces of these types aren't subject to + * any restrictions in their number or combinations. * * @NL80211_ATTR_REKEY_DATA: nested attribute containing the information - * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data. + * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data. * * @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan, - * nested array attribute containing an entry for each band, with the entry - * being a list of supported rates as defined by IEEE 802.11 7.3.2.2 but - * without the length restriction (at most %NL80211_MAX_SUPP_RATES). + * nested array attribute containing an entry for each band, with the entry + * being a list of supported rates as defined by IEEE 802.11 7.3.2.2 but + * without the length restriction (at most %NL80211_MAX_SUPP_RATES). * * @NL80211_ATTR_HIDDEN_SSID: indicates whether SSID is to be hidden from Beacon - * and Probe Response (when response to wildcard Probe Request); see - * &enum nl80211_hidden_ssid, represented as a u32 + * and Probe Response (when response to wildcard Probe Request); see + * &enum nl80211_hidden_ssid, represented as a u32 * * @NL80211_ATTR_IE_PROBE_RESP: Information element(s) for Probe Response frame. - * This is used with %NL80211_CMD_NEW_BEACON and %NL80211_CMD_SET_BEACON to - * provide extra IEs (e.g., WPS/P2P IE) into Probe Response frames when the - * driver (or firmware) replies to Probe Request frames. + * This is used with %NL80211_CMD_NEW_BEACON and %NL80211_CMD_SET_BEACON to + * provide extra IEs (e.g., WPS/P2P IE) into Probe Response frames when the + * driver (or firmware) replies to Probe Request frames. * @NL80211_ATTR_IE_ASSOC_RESP: Information element(s) for (Re)Association - * Response frames. This is used with %NL80211_CMD_NEW_BEACON and - * %NL80211_CMD_SET_BEACON to provide extra IEs (e.g., WPS/P2P IE) into - * (Re)Association Response frames when the driver (or firmware) replies to - * (Re)Association Request frames. + * Response frames. This is used with %NL80211_CMD_NEW_BEACON and + * %NL80211_CMD_SET_BEACON to provide extra IEs (e.g., WPS/P2P IE) into + * (Re)Association Response frames when the driver (or firmware) replies to + * (Re)Association Request frames. * * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration - * of the station, see &enum nl80211_sta_wme_attr. + * of the station, see &enum nl80211_sta_wme_attr. * @NL80211_ATTR_SUPPORT_AP_UAPSD: the device supports uapsd when working - * as AP. + * as AP. * * @NL80211_ATTR_ROAM_SUPPORT: Indicates whether the firmware is capable of - * roaming to another AP in the same ESS if the signal lever is low. + * roaming to another AP in the same ESS if the signal lever is low. * * @NL80211_ATTR_PMKSA_CANDIDATE: Nested attribute containing the PMKSA caching - * candidate information, see &enum nl80211_pmksa_candidate_attr. + * candidate information, see &enum nl80211_pmksa_candidate_attr. * * @NL80211_ATTR_TX_NO_CCK_RATE: Indicates whether to use CCK rate or not - * for management frames transmission. In order to avoid p2p probe/action - * frames are being transmitted at CCK rate in 2GHz band, the user space - * applications use this attribute. - * This attribute is used with %NL80211_CMD_TRIGGER_SCAN and - * %NL80211_CMD_FRAME commands. + * for management frames transmission. In order to avoid p2p probe/action + * frames are being transmitted at CCK rate in 2GHz band, the user space + * applications use this attribute. + * This attribute is used with %NL80211_CMD_TRIGGER_SCAN and + * %NL80211_CMD_FRAME commands. * * @NL80211_ATTR_TDLS_ACTION: Low level TDLS action code (e.g. link setup - * request, link setup confirm, link teardown, etc.). Values are - * described in the TDLS (802.11z) specification. + * request, link setup confirm, link teardown, etc.). Values are + * described in the TDLS (802.11z) specification. * @NL80211_ATTR_TDLS_DIALOG_TOKEN: Non-zero token for uniquely identifying a - * TDLS conversation between two devices. + * TDLS conversation between two devices. * @NL80211_ATTR_TDLS_OPERATION: High level TDLS operation; see - * &enum nl80211_tdls_operation, represented as a u8. + * &enum nl80211_tdls_operation, represented as a u8. * @NL80211_ATTR_TDLS_SUPPORT: A flag indicating the device can operate - * as a TDLS peer sta. + * as a TDLS peer sta. * @NL80211_ATTR_TDLS_EXTERNAL_SETUP: The TDLS discovery/setup and teardown - * procedures should be performed by sending TDLS packets via - * %NL80211_CMD_TDLS_MGMT. Otherwise %NL80211_CMD_TDLS_OPER should be - * used for asking the driver to perform a TDLS operation. + * procedures should be performed by sending TDLS packets via + * %NL80211_CMD_TDLS_MGMT. Otherwise %NL80211_CMD_TDLS_OPER should be + * used for asking the driver to perform a TDLS operation. * * @NL80211_ATTR_DEVICE_AP_SME: This u32 attribute may be listed for devices - * that have AP support to indicate that they have the AP SME integrated - * with support for the features listed in this attribute, see - * &enum nl80211_ap_sme_features. + * that have AP support to indicate that they have the AP SME integrated + * with support for the features listed in this attribute, see + * &enum nl80211_ap_sme_features. * * @NL80211_ATTR_DONT_WAIT_FOR_ACK: Used with %NL80211_CMD_FRAME, this tells - * the driver to not wait for an acknowledgement. Note that due to this, - * it will also not give a status callback nor return a cookie. This is - * mostly useful for probe responses to save airtime. + * the driver to not wait for an acknowledgement. Note that due to this, + * it will also not give a status callback nor return a cookie. This is + * mostly useful for probe responses to save airtime. * * @NL80211_ATTR_FEATURE_FLAGS: This u32 attribute contains flags from - * &enum nl80211_feature_flags and is advertised in wiphy information. + * &enum nl80211_feature_flags and is advertised in wiphy information. * @NL80211_ATTR_PROBE_RESP_OFFLOAD: Indicates that the HW responds to probe - * requests while operating in AP-mode. - * This attribute holds a bitmap of the supported protocols for - * offloading (see &enum nl80211_probe_resp_offload_support_attr). + * requests while operating in AP-mode. + * This attribute holds a bitmap of the supported protocols for + * offloading (see &enum nl80211_probe_resp_offload_support_attr). * * @NL80211_ATTR_PROBE_RESP: Probe Response template data. Contains the entire - * probe-response frame. The DA field in the 802.11 header is zero-ed out, - * to be filled by the FW. + * probe-response frame. The DA field in the 802.11 header is zero-ed out, + * to be filled by the FW. * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable - * this feature. Currently, only supported in mac80211 drivers. + * this feature. Currently, only supported in mac80211 drivers. * @NL80211_ATTR_HT_CAPABILITY_MASK: Specify which bits of the - * ATTR_HT_CAPABILITY to which attention should be paid. - * Currently, only mac80211 NICs support this feature. - * The values that may be configured are: - * MCS rates, MAX-AMSDU, HT-20-40 and HT_CAP_SGI_40 - * AMPDU density and AMPDU factor. - * All values are treated as suggestions and may be ignored - * by the driver as required. The actual values may be seen in - * the station debugfs ht_caps file. + * ATTR_HT_CAPABILITY to which attention should be paid. + * Currently, only mac80211 NICs support this feature. + * The values that may be configured are: + * MCS rates, MAX-AMSDU, HT-20-40 and HT_CAP_SGI_40 + * AMPDU density and AMPDU factor. + * All values are treated as suggestions and may be ignored + * by the driver as required. The actual values may be seen in + * the station debugfs ht_caps file. * * @NL80211_ATTR_DFS_REGION: region for regulatory rules which this country * abides to when initiating radiation on DFS channels. A country maps @@ -1891,487 +1891,487 @@ enum nl80211_commands { * up to 16 TIDs. * * @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be - * used by the drivers which has MLME in firmware and does not have support - * to report per station tx/rx activity to free up the station entry from - * the list. This needs to be used when the driver advertises the - * capability to timeout the stations. + * used by the drivers which has MLME in firmware and does not have support + * to report per station tx/rx activity to free up the station entry from + * the list. This needs to be used when the driver advertises the + * capability to timeout the stations. * * @NL80211_ATTR_RX_SIGNAL_DBM: signal strength in dBm (as a 32-bit int); - * this attribute is (depending on the driver capabilities) added to - * received frames indicated with %NL80211_CMD_FRAME. + * this attribute is (depending on the driver capabilities) added to + * received frames indicated with %NL80211_CMD_FRAME. * * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds * or 0 to disable background scan. * * @NL80211_ATTR_USER_REG_HINT_TYPE: type of regulatory hint passed from - * userspace. If unset it is assumed the hint comes directly from - * a user. If set code could specify exactly what type of source - * was used to provide the hint. For the different types of - * allowed user regulatory hints see nl80211_user_reg_hint_type. + * userspace. If unset it is assumed the hint comes directly from + * a user. If set code could specify exactly what type of source + * was used to provide the hint. For the different types of + * allowed user regulatory hints see nl80211_user_reg_hint_type. * * @NL80211_ATTR_CONN_FAILED_REASON: The reason for which AP has rejected - * the connection request from a station. nl80211_connect_failed_reason - * enum has different reasons of connection failure. + * the connection request from a station. nl80211_connect_failed_reason + * enum has different reasons of connection failure. * * @NL80211_ATTR_AUTH_DATA: Fields and elements in Authentication frames. - * This contains the authentication frame body (non-IE and IE data), - * excluding the Authentication algorithm number, i.e., starting at the - * Authentication transaction sequence number field. It is used with - * authentication algorithms that need special fields to be added into - * the frames (SAE and FILS). Currently, only the SAE cases use the - * initial two fields (Authentication transaction sequence number and - * Status code). However, those fields are included in the attribute data - * for all authentication algorithms to keep the attribute definition - * consistent. + * This contains the authentication frame body (non-IE and IE data), + * excluding the Authentication algorithm number, i.e., starting at the + * Authentication transaction sequence number field. It is used with + * authentication algorithms that need special fields to be added into + * the frames (SAE and FILS). Currently, only the SAE cases use the + * initial two fields (Authentication transaction sequence number and + * Status code). However, those fields are included in the attribute data + * for all authentication algorithms to keep the attribute definition + * consistent. * * @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from - * association request when used with NL80211_CMD_NEW_STATION) + * association request when used with NL80211_CMD_NEW_STATION) * * @NL80211_ATTR_SCAN_FLAGS: scan request control flags (u32) * * @NL80211_ATTR_P2P_CTWINDOW: P2P GO Client Traffic Window (u8), used with - * the START_AP and SET_BSS commands + * the START_AP and SET_BSS commands * @NL80211_ATTR_P2P_OPPPS: P2P GO opportunistic PS (u8), used with the - * START_AP and SET_BSS commands. This can have the values 0 or 1; - * if not given in START_AP 0 is assumed, if not given in SET_BSS - * no change is made. + * START_AP and SET_BSS commands. This can have the values 0 or 1; + * if not given in START_AP 0 is assumed, if not given in SET_BSS + * no change is made. * * @NL80211_ATTR_LOCAL_MESH_POWER_MODE: local mesh STA link-specific power mode - * defined in &enum nl80211_mesh_power_mode. + * defined in &enum nl80211_mesh_power_mode. * * @NL80211_ATTR_ACL_POLICY: ACL policy, see &enum nl80211_acl_policy, - * carried in a u32 attribute + * carried in a u32 attribute * * @NL80211_ATTR_MAC_ADDRS: Array of nested MAC addresses, used for - * MAC ACL. + * MAC ACL. * * @NL80211_ATTR_MAC_ACL_MAX: u32 attribute to advertise the maximum - * number of MAC addresses that a device can support for MAC - * ACL. + * number of MAC addresses that a device can support for MAC + * ACL. * * @NL80211_ATTR_RADAR_EVENT: Type of radar event for notification to userspace, - * contains a value of enum nl80211_radar_event (u32). + * contains a value of enum nl80211_radar_event (u32). * * @NL80211_ATTR_EXT_CAPA: 802.11 extended capabilities that the kernel driver - * has and handles. The format is the same as the IE contents. See - * 802.11-2012 8.4.2.29 for more information. + * has and handles. The format is the same as the IE contents. See + * 802.11-2012 8.4.2.29 for more information. * @NL80211_ATTR_EXT_CAPA_MASK: Extended capabilities that the kernel driver - * has set in the %NL80211_ATTR_EXT_CAPA value, for multibit fields. + * has set in the %NL80211_ATTR_EXT_CAPA value, for multibit fields. * * @NL80211_ATTR_STA_CAPABILITY: Station capabilities (u16) are advertised to - * the driver, e.g., to enable TDLS power save (PU-APSD). + * the driver, e.g., to enable TDLS power save (PU-APSD). * * @NL80211_ATTR_STA_EXT_CAPABILITY: Station extended capabilities are - * advertised to the driver, e.g., to enable TDLS off channel operations - * and PU-APSD. + * advertised to the driver, e.g., to enable TDLS off channel operations + * and PU-APSD. * * @NL80211_ATTR_PROTOCOL_FEATURES: global nl80211 feature flags, see - * &enum nl80211_protocol_features, the attribute is a u32. + * &enum nl80211_protocol_features, the attribute is a u32. * * @NL80211_ATTR_SPLIT_WIPHY_DUMP: flag attribute, userspace supports - * receiving the data for a single wiphy split across multiple - * messages, given with wiphy dump message + * receiving the data for a single wiphy split across multiple + * messages, given with wiphy dump message * * @NL80211_ATTR_MDID: Mobility Domain Identifier * * @NL80211_ATTR_IE_RIC: Resource Information Container Information - * Element + * Element * * @NL80211_ATTR_CRIT_PROT_ID: critical protocol identifier requiring increased - * reliability, see &enum nl80211_crit_proto_id (u16). + * reliability, see &enum nl80211_crit_proto_id (u16). * @NL80211_ATTR_MAX_CRIT_PROT_DURATION: duration in milliseconds in which - * the connection should have increased reliability (u16). + * the connection should have increased reliability (u16). * * @NL80211_ATTR_PEER_AID: Association ID for the peer TDLS station (u16). - * This is similar to @NL80211_ATTR_STA_AID but with a difference of being - * allowed to be used with the first @NL80211_CMD_SET_STATION command to - * update a TDLS peer STA entry. + * This is similar to @NL80211_ATTR_STA_AID but with a difference of being + * allowed to be used with the first @NL80211_CMD_SET_STATION command to + * update a TDLS peer STA entry. * * @NL80211_ATTR_COALESCE_RULE: Coalesce rule information. * * @NL80211_ATTR_CH_SWITCH_COUNT: u32 attribute specifying the number of TBTT's - * until the channel switch event. + * until the channel switch event. * @NL80211_ATTR_CH_SWITCH_BLOCK_TX: flag attribute specifying that transmission - * must be blocked on the current channel (before the channel switch - * operation). + * must be blocked on the current channel (before the channel switch + * operation). * @NL80211_ATTR_CSA_IES: Nested set of attributes containing the IE information - * for the time while performing a channel switch. + * for the time while performing a channel switch. * @NL80211_ATTR_CSA_C_OFF_BEACON: An array of offsets (u16) to the channel - * switch counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL). + * switch counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL). * @NL80211_ATTR_CSA_C_OFF_PRESP: An array of offsets (u16) to the channel - * switch counters in the probe response (%NL80211_ATTR_PROBE_RESP). + * switch counters in the probe response (%NL80211_ATTR_PROBE_RESP). * * @NL80211_ATTR_RXMGMT_FLAGS: flags for nl80211_send_mgmt(), u32. - * As specified in the &enum nl80211_rxmgmt_flags. + * As specified in the &enum nl80211_rxmgmt_flags. * * @NL80211_ATTR_STA_SUPPORTED_CHANNELS: array of supported channels. * * @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported - * supported operating classes. + * supported operating classes. * * @NL80211_ATTR_HANDLE_DFS: A flag indicating whether user space - * controls DFS operation in IBSS mode. If the flag is included in - * %NL80211_CMD_JOIN_IBSS request, the driver will allow use of DFS - * channels and reports radar events to userspace. Userspace is required - * to react to radar events, e.g. initiate a channel switch or leave the - * IBSS network. + * controls DFS operation in IBSS mode. If the flag is included in + * %NL80211_CMD_JOIN_IBSS request, the driver will allow use of DFS + * channels and reports radar events to userspace. Userspace is required + * to react to radar events, e.g. initiate a channel switch or leave the + * IBSS network. * * @NL80211_ATTR_SUPPORT_5_MHZ: A flag indicating that the device supports - * 5 MHz channel bandwidth. + * 5 MHz channel bandwidth. * @NL80211_ATTR_SUPPORT_10_MHZ: A flag indicating that the device supports - * 10 MHz channel bandwidth. + * 10 MHz channel bandwidth. * * @NL80211_ATTR_OPMODE_NOTIF: Operating mode field from Operating Mode - * Notification Element based on association request when used with - * %NL80211_CMD_NEW_STATION or %NL80211_CMD_SET_STATION (only when - * %NL80211_FEATURE_FULL_AP_CLIENT_STATE is supported, or with TDLS); - * u8 attribute. + * Notification Element based on association request when used with + * %NL80211_CMD_NEW_STATION or %NL80211_CMD_SET_STATION (only when + * %NL80211_FEATURE_FULL_AP_CLIENT_STATE is supported, or with TDLS); + * u8 attribute. * * @NL80211_ATTR_VENDOR_ID: The vendor ID, either a 24-bit OUI or, if - * %NL80211_VENDOR_ID_IS_LINUX is set, a special Linux ID (not used yet) + * %NL80211_VENDOR_ID_IS_LINUX is set, a special Linux ID (not used yet) * @NL80211_ATTR_VENDOR_SUBCMD: vendor sub-command * @NL80211_ATTR_VENDOR_DATA: data for the vendor command, if any; this - * attribute is also used for vendor command feature advertisement + * attribute is also used for vendor command feature advertisement * @NL80211_ATTR_VENDOR_EVENTS: used for event list advertising in the wiphy - * info, containing a nested array of possible events + * info, containing a nested array of possible events * * @NL80211_ATTR_QOS_MAP: IP DSCP mapping for Interworking QoS mapping. This - * data is in the format defined for the payload of the QoS Map Set element - * in IEEE Std 802.11-2012, 8.4.2.97. + * data is in the format defined for the payload of the QoS Map Set element + * in IEEE Std 802.11-2012, 8.4.2.97. * * @NL80211_ATTR_MAC_HINT: MAC address recommendation as initial BSS * @NL80211_ATTR_WIPHY_FREQ_HINT: frequency of the recommended initial BSS * * @NL80211_ATTR_MAX_AP_ASSOC_STA: Device attribute that indicates how many - * associated stations are supported in AP mode (including P2P GO); u32. - * Since drivers may not have a fixed limit on the maximum number (e.g., - * other concurrent operations may affect this), drivers are allowed to - * advertise values that cannot always be met. In such cases, an attempt - * to add a new station entry with @NL80211_CMD_NEW_STATION may fail. + * associated stations are supported in AP mode (including P2P GO); u32. + * Since drivers may not have a fixed limit on the maximum number (e.g., + * other concurrent operations may affect this), drivers are allowed to + * advertise values that cannot always be met. In such cases, an attempt + * to add a new station entry with @NL80211_CMD_NEW_STATION may fail. * * @NL80211_ATTR_CSA_C_OFFSETS_TX: An array of csa counter offsets (u16) which - * should be updated when the frame is transmitted. + * should be updated when the frame is transmitted. * @NL80211_ATTR_MAX_CSA_COUNTERS: U8 attribute used to advertise the maximum - * supported number of csa counters. + * supported number of csa counters. * * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32. - * As specified in the &enum nl80211_tdls_peer_capability. + * As specified in the &enum nl80211_tdls_peer_capability. * * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface - * creation then the new interface will be owned by the netlink socket - * that created it and will be destroyed when the socket is closed. - * If set during scheduled scan start then the new scan req will be - * owned by the netlink socket that created it and the scheduled scan will - * be stopped when the socket is closed. - * If set during configuration of regulatory indoor operation then the - * regulatory indoor configuration would be owned by the netlink socket - * that configured the indoor setting, and the indoor operation would be - * cleared when the socket is closed. - * If set during NAN interface creation, the interface will be destroyed - * if the socket is closed just like any other interface. Moreover, NAN - * notifications will be sent in unicast to that socket. Without this - * attribute, the notifications will be sent to the %NL80211_MCGRP_NAN - * multicast group. - * If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the - * station will deauthenticate when the socket is closed. - * If set during %NL80211_CMD_JOIN_IBSS the IBSS will be automatically - * torn down when the socket is closed. - * If set during %NL80211_CMD_JOIN_MESH the mesh setup will be - * automatically torn down when the socket is closed. - * If set during %NL80211_CMD_START_AP the AP will be automatically - * disabled when the socket is closed. + * creation then the new interface will be owned by the netlink socket + * that created it and will be destroyed when the socket is closed. + * If set during scheduled scan start then the new scan req will be + * owned by the netlink socket that created it and the scheduled scan will + * be stopped when the socket is closed. + * If set during configuration of regulatory indoor operation then the + * regulatory indoor configuration would be owned by the netlink socket + * that configured the indoor setting, and the indoor operation would be + * cleared when the socket is closed. + * If set during NAN interface creation, the interface will be destroyed + * if the socket is closed just like any other interface. Moreover, NAN + * notifications will be sent in unicast to that socket. Without this + * attribute, the notifications will be sent to the %NL80211_MCGRP_NAN + * multicast group. + * If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the + * station will deauthenticate when the socket is closed. + * If set during %NL80211_CMD_JOIN_IBSS the IBSS will be automatically + * torn down when the socket is closed. + * If set during %NL80211_CMD_JOIN_MESH the mesh setup will be + * automatically torn down when the socket is closed. + * If set during %NL80211_CMD_START_AP the AP will be automatically + * disabled when the socket is closed. * * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is - * the TDLS link initiator. + * the TDLS link initiator. * * @NL80211_ATTR_USE_RRM: flag for indicating whether the current connection - * shall support Radio Resource Measurements (11k). This attribute can be - * used with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests. - * User space applications are expected to use this flag only if the - * underlying device supports these minimal RRM features: - * %NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES, - * %NL80211_FEATURE_QUIET, - * Or, if global RRM is supported, see: - * %NL80211_EXT_FEATURE_RRM - * If this flag is used, driver must add the Power Capabilities IE to the - * association request. In addition, it must also set the RRM capability - * flag in the association request's Capability Info field. + * shall support Radio Resource Measurements (11k). This attribute can be + * used with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests. + * User space applications are expected to use this flag only if the + * underlying device supports these minimal RRM features: + * %NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES, + * %NL80211_FEATURE_QUIET, + * Or, if global RRM is supported, see: + * %NL80211_EXT_FEATURE_RRM + * If this flag is used, driver must add the Power Capabilities IE to the + * association request. In addition, it must also set the RRM capability + * flag in the association request's Capability Info field. * * @NL80211_ATTR_WIPHY_DYN_ACK: flag attribute used to enable ACK timeout - * estimation algorithm (dynack). In order to activate dynack - * %NL80211_FEATURE_ACKTO_ESTIMATION feature flag must be set by lower - * drivers to indicate dynack capability. Dynack is automatically disabled - * setting valid value for coverage class. + * estimation algorithm (dynack). In order to activate dynack + * %NL80211_FEATURE_ACKTO_ESTIMATION feature flag must be set by lower + * drivers to indicate dynack capability. Dynack is automatically disabled + * setting valid value for coverage class. * * @NL80211_ATTR_TSID: a TSID value (u8 attribute) * @NL80211_ATTR_USER_PRIO: user priority value (u8 attribute) * @NL80211_ATTR_ADMITTED_TIME: admitted time in units of 32 microseconds - * (per second) (u16 attribute) + * (per second) (u16 attribute) * * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see - * &enum nl80211_smps_mode. + * &enum nl80211_smps_mode. * * @NL80211_ATTR_OPER_CLASS: operating class * * @NL80211_ATTR_MAC_MASK: MAC address mask * * @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating this device - * is self-managing its regulatory information and any regulatory domain - * obtained from it is coming from the device's wiphy and not the global - * cfg80211 regdomain. + * is self-managing its regulatory information and any regulatory domain + * obtained from it is coming from the device's wiphy and not the global + * cfg80211 regdomain. * * @NL80211_ATTR_EXT_FEATURES: extended feature flags contained in a byte - * array. The feature flags are identified by their bit index (see &enum - * nl80211_ext_feature_index). The bit index is ordered starting at the - * least-significant bit of the first byte in the array, ie. bit index 0 - * is located at bit 0 of byte 0. bit index 25 would be located at bit 1 - * of byte 3 (u8 array). + * array. The feature flags are identified by their bit index (see &enum + * nl80211_ext_feature_index). The bit index is ordered starting at the + * least-significant bit of the first byte in the array, ie. bit index 0 + * is located at bit 0 of byte 0. bit index 25 would be located at bit 1 + * of byte 3 (u8 array). * * @NL80211_ATTR_SURVEY_RADIO_STATS: Request overall radio statistics to be - * returned along with other survey data. If set, @NL80211_CMD_GET_SURVEY - * may return a survey entry without a channel indicating global radio - * statistics (only some values are valid and make sense.) - * For devices that don't return such an entry even then, the information - * should be contained in the result as the sum of the respective counters - * over all channels. + * returned along with other survey data. If set, @NL80211_CMD_GET_SURVEY + * may return a survey entry without a channel indicating global radio + * statistics (only some values are valid and make sense.) + * For devices that don't return such an entry even then, the information + * should be contained in the result as the sum of the respective counters + * over all channels. * * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a - * scheduled scan is started. Or the delay before a WoWLAN - * net-detect scan is started, counting from the moment the - * system is suspended. This value is a u32, in seconds. + * scheduled scan is started. Or the delay before a WoWLAN + * net-detect scan is started, counting from the moment the + * system is suspended. This value is a u32, in seconds. * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device * is operating in an indoor environment. * * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: maximum number of scan plans for - * scheduled scan supported by the device (u32), a wiphy attribute. + * scheduled scan supported by the device (u32), a wiphy attribute. * @NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: maximum interval (in seconds) for - * a scan plan (u32), a wiphy attribute. + * a scan plan (u32), a wiphy attribute. * @NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: maximum number of iterations in - * a scan plan (u32), a wiphy attribute. + * a scan plan (u32), a wiphy attribute. * @NL80211_ATTR_SCHED_SCAN_PLANS: a list of scan plans for scheduled scan. - * Each scan plan defines the number of scan iterations and the interval - * between scans. The last scan plan will always run infinitely, - * thus it must not specify the number of iterations, only the interval - * between scans. The scan plans are executed sequentially. - * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan. + * Each scan plan defines the number of scan iterations and the interval + * between scans. The last scan plan will always run infinitely, + * thus it must not specify the number of iterations, only the interval + * between scans. The scan plans are executed sequentially. + * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan. * @NL80211_ATTR_PBSS: flag attribute. If set it means operate - * in a PBSS. Specified in %NL80211_CMD_CONNECT to request - * connecting to a PCP, and in %NL80211_CMD_START_AP to start - * a PCP instead of AP. Relevant for DMG networks only. + * in a PBSS. Specified in %NL80211_CMD_CONNECT to request + * connecting to a PCP, and in %NL80211_CMD_START_AP to start + * a PCP instead of AP. Relevant for DMG networks only. * @NL80211_ATTR_BSS_SELECT: nested attribute for driver supporting the - * BSS selection feature. When used with %NL80211_CMD_GET_WIPHY it contains - * attributes according &enum nl80211_bss_select_attr to indicate what - * BSS selection behaviours are supported. When used with %NL80211_CMD_CONNECT - * it contains the behaviour-specific attribute containing the parameters for - * BSS selection to be done by driver and/or firmware. + * BSS selection feature. When used with %NL80211_CMD_GET_WIPHY it contains + * attributes according &enum nl80211_bss_select_attr to indicate what + * BSS selection behaviours are supported. When used with %NL80211_CMD_CONNECT + * it contains the behaviour-specific attribute containing the parameters for + * BSS selection to be done by driver and/or firmware. * * @NL80211_ATTR_STA_SUPPORT_P2P_PS: whether P2P PS mechanism supported - * or not. u8, one of the values of &enum nl80211_sta_p2p_ps_status + * or not. u8, one of the values of &enum nl80211_sta_p2p_ps_status * * @NL80211_ATTR_PAD: attribute used for padding for 64-bit alignment * * @NL80211_ATTR_IFTYPE_EXT_CAPA: Nested attribute of the following attributes: - * %NL80211_ATTR_IFTYPE, %NL80211_ATTR_EXT_CAPA, - * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per - * interface type. + * %NL80211_ATTR_IFTYPE, %NL80211_ATTR_EXT_CAPA, + * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per + * interface type. * * @NL80211_ATTR_MU_MIMO_GROUP_DATA: array of 24 bytes that defines a MU-MIMO - * groupID for monitor mode. - * The first 8 bytes are a mask that defines the membership in each - * group (there are 64 groups, group 0 and 63 are reserved), - * each bit represents a group and set to 1 for being a member in - * that group and 0 for not being a member. - * The remaining 16 bytes define the position in each group: 2 bits for - * each group. - * (smaller group numbers represented on most significant bits and bigger - * group numbers on least significant bits.) - * This attribute is used only if all interfaces are in monitor mode. - * Set this attribute in order to monitor packets using the given MU-MIMO - * groupID data. - * to turn off that feature set all the bits of the groupID to zero. + * groupID for monitor mode. + * The first 8 bytes are a mask that defines the membership in each + * group (there are 64 groups, group 0 and 63 are reserved), + * each bit represents a group and set to 1 for being a member in + * that group and 0 for not being a member. + * The remaining 16 bytes define the position in each group: 2 bits for + * each group. + * (smaller group numbers represented on most significant bits and bigger + * group numbers on least significant bits.) + * This attribute is used only if all interfaces are in monitor mode. + * Set this attribute in order to monitor packets using the given MU-MIMO + * groupID data. + * to turn off that feature set all the bits of the groupID to zero. * @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR: mac address for the sniffer to follow - * when using MU-MIMO air sniffer. - * to turn that feature off set an invalid mac address - * (e.g. FF:FF:FF:FF:FF:FF) + * when using MU-MIMO air sniffer. + * to turn that feature off set an invalid mac address + * (e.g. FF:FF:FF:FF:FF:FF) * * @NL80211_ATTR_SCAN_START_TIME_TSF: The time at which the scan was actually - * started (u64). The time is the TSF of the BSS the interface that - * requested the scan is connected to (if available, otherwise this - * attribute must not be included). + * started (u64). The time is the TSF of the BSS the interface that + * requested the scan is connected to (if available, otherwise this + * attribute must not be included). * @NL80211_ATTR_SCAN_START_TIME_TSF_BSSID: The BSS according to which - * %NL80211_ATTR_SCAN_START_TIME_TSF is set. + * %NL80211_ATTR_SCAN_START_TIME_TSF is set. * @NL80211_ATTR_MEASUREMENT_DURATION: measurement duration in TUs (u16). If - * %NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY is not set, this is the - * maximum measurement duration allowed. This attribute is used with - * measurement requests. It can also be used with %NL80211_CMD_TRIGGER_SCAN - * if the scan is used for beacon report radio measurement. + * %NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY is not set, this is the + * maximum measurement duration allowed. This attribute is used with + * measurement requests. It can also be used with %NL80211_CMD_TRIGGER_SCAN + * if the scan is used for beacon report radio measurement. * @NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY: flag attribute that indicates - * that the duration specified with %NL80211_ATTR_MEASUREMENT_DURATION is - * mandatory. If this flag is not set, the duration is the maximum duration - * and the actual measurement duration may be shorter. + * that the duration specified with %NL80211_ATTR_MEASUREMENT_DURATION is + * mandatory. If this flag is not set, the duration is the maximum duration + * and the actual measurement duration may be shorter. * * @NL80211_ATTR_MESH_PEER_AID: Association ID for the mesh peer (u16). This is - * used to pull the stored data for mesh peer in power save state. + * used to pull the stored data for mesh peer in power save state. * * @NL80211_ATTR_NAN_MASTER_PREF: the master preference to be used by - * %NL80211_CMD_START_NAN and optionally with - * %NL80211_CMD_CHANGE_NAN_CONFIG. Its type is u8 and it can't be 0. - * Also, values 1 and 255 are reserved for certification purposes and - * should not be used during a normal device operation. + * %NL80211_CMD_START_NAN and optionally with + * %NL80211_CMD_CHANGE_NAN_CONFIG. Its type is u8 and it can't be 0. + * Also, values 1 and 255 are reserved for certification purposes and + * should not be used during a normal device operation. * @NL80211_ATTR_BANDS: operating bands configuration. This is a u32 - * bitmask of BIT(NL80211_BAND_*) as described in %enum - * nl80211_band. For instance, for NL80211_BAND_2GHZ, bit 0 - * would be set. This attribute is used with - * %NL80211_CMD_START_NAN and %NL80211_CMD_CHANGE_NAN_CONFIG, and - * it is optional. If no bands are set, it means don't-care and - * the device will decide what to use. + * bitmask of BIT(NL80211_BAND_*) as described in %enum + * nl80211_band. For instance, for NL80211_BAND_2GHZ, bit 0 + * would be set. This attribute is used with + * %NL80211_CMD_START_NAN and %NL80211_CMD_CHANGE_NAN_CONFIG, and + * it is optional. If no bands are set, it means don't-care and + * the device will decide what to use. * @NL80211_ATTR_NAN_FUNC: a function that can be added to NAN. See - * &enum nl80211_nan_func_attributes for description of this nested - * attribute. + * &enum nl80211_nan_func_attributes for description of this nested + * attribute. * @NL80211_ATTR_NAN_MATCH: used to report a match. This is a nested attribute. - * See &enum nl80211_nan_match_attributes. + * See &enum nl80211_nan_match_attributes. * @NL80211_ATTR_FILS_KEK: KEK for FILS (Re)Association Request/Response frame - * protection. + * protection. * @NL80211_ATTR_FILS_NONCES: Nonces (part of AAD) for FILS (Re)Association - * Request/Response frame protection. This attribute contains the 16 octet - * STA Nonce followed by 16 octets of AP Nonce. + * Request/Response frame protection. This attribute contains the 16 octet + * STA Nonce followed by 16 octets of AP Nonce. * * @NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED: Indicates whether or not multicast - * packets should be send out as unicast to all stations (flag attribute). + * packets should be send out as unicast to all stations (flag attribute). * * @NL80211_ATTR_BSSID: The BSSID of the AP. Note that %NL80211_ATTR_MAC is also - * used in various commands/events for specifying the BSSID. + * used in various commands/events for specifying the BSSID. * * @NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI: Relative RSSI threshold by which - * other BSSs has to be better or slightly worse than the current - * connected BSS so that they get reported to user space. - * This will give an opportunity to userspace to consider connecting to - * other matching BSSs which have better or slightly worse RSSI than - * the current connected BSS by using an offloaded operation to avoid - * unnecessary wakeups. + * other BSSs has to be better or slightly worse than the current + * connected BSS so that they get reported to user space. + * This will give an opportunity to userspace to consider connecting to + * other matching BSSs which have better or slightly worse RSSI than + * the current connected BSS by using an offloaded operation to avoid + * unnecessary wakeups. * * @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in - * the specified band is to be adjusted before doing - * %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparison to figure out - * better BSSs. The attribute value is a packed structure - * value as specified by &struct nl80211_bss_select_rssi_adjust. + * the specified band is to be adjusted before doing + * %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparison to figure out + * better BSSs. The attribute value is a packed structure + * value as specified by &struct nl80211_bss_select_rssi_adjust. * * @NL80211_ATTR_TIMEOUT_REASON: The reason for which an operation timed out. - * u32 attribute with an &enum nl80211_timeout_reason value. This is used, - * e.g., with %NL80211_CMD_CONNECT event. + * u32 attribute with an &enum nl80211_timeout_reason value. This is used, + * e.g., with %NL80211_CMD_CONNECT event. * * @NL80211_ATTR_FILS_ERP_USERNAME: EAP Re-authentication Protocol (ERP) - * username part of NAI used to refer keys rRK and rIK. This is used with - * %NL80211_CMD_CONNECT. + * username part of NAI used to refer keys rRK and rIK. This is used with + * %NL80211_CMD_CONNECT. * * @NL80211_ATTR_FILS_ERP_REALM: EAP Re-authentication Protocol (ERP) realm part - * of NAI specifying the domain name of the ER server. This is used with - * %NL80211_CMD_CONNECT. + * of NAI specifying the domain name of the ER server. This is used with + * %NL80211_CMD_CONNECT. * * @NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM: Unsigned 16-bit ERP next sequence number - * to use in ERP messages. This is used in generating the FILS wrapped data - * for FILS authentication and is used with %NL80211_CMD_CONNECT. + * to use in ERP messages. This is used in generating the FILS wrapped data + * for FILS authentication and is used with %NL80211_CMD_CONNECT. * * @NL80211_ATTR_FILS_ERP_RRK: ERP re-authentication Root Key (rRK) for the - * NAI specified by %NL80211_ATTR_FILS_ERP_USERNAME and - * %NL80211_ATTR_FILS_ERP_REALM. This is used for generating rIK and rMSK - * from successful FILS authentication and is used with - * %NL80211_CMD_CONNECT. + * NAI specified by %NL80211_ATTR_FILS_ERP_USERNAME and + * %NL80211_ATTR_FILS_ERP_REALM. This is used for generating rIK and rMSK + * from successful FILS authentication and is used with + * %NL80211_CMD_CONNECT. * * @NL80211_ATTR_FILS_CACHE_ID: A 2-octet identifier advertized by a FILS AP - * identifying the scope of PMKSAs. This is used with - * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA. + * identifying the scope of PMKSAs. This is used with + * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA. * * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with - * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID. - * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way - * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is - * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute - * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well. + * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID. + * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way + * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is + * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute + * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well. * * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to - * indicate that it supports multiple active scheduled scan requests. + * indicate that it supports multiple active scheduled scan requests. * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled - * scan request that may be active for the device (u32). + * scan request that may be active for the device (u32). * * @NL80211_ATTR_WANT_1X_4WAY_HS: flag attribute which user-space can include - * in %NL80211_CMD_CONNECT to indicate that for 802.1X authentication it - * wants to use the supported offload of the 4-way handshake. + * in %NL80211_CMD_CONNECT to indicate that for 802.1X authentication it + * wants to use the supported offload of the 4-way handshake. * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT. * @NL80211_ATTR_PORT_AUTHORIZED: (reserved) * * @NL80211_ATTR_EXTERNAL_AUTH_ACTION: Identify the requested external - * authentication operation (u32 attribute with an - * &enum nl80211_external_auth_action value). This is used with the - * %NL80211_CMD_EXTERNAL_AUTH request event. + * authentication operation (u32 attribute with an + * &enum nl80211_external_auth_action value). This is used with the + * %NL80211_CMD_EXTERNAL_AUTH request event. * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user - * space supports external authentication. This attribute shall be used - * with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver - * may offload authentication processing to user space if this capability - * is indicated in the respective requests from the user space. + * space supports external authentication. This attribute shall be used + * with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver + * may offload authentication processing to user space if this capability + * is indicated in the respective requests from the user space. * * @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this - * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED. + * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED. * * @NL80211_ATTR_TXQ_STATS: TXQ statistics (nested attribute, see &enum * nl80211_txq_stats) * @NL80211_ATTR_TXQ_LIMIT: Total packet limit for the TXQ queues for this phy. * The smaller of this and the memory limit is enforced. * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory memory limit (in bytes) for the - * TXQ queues for this phy. The smaller of this and the packet limit is - * enforced. + * TXQ queues for this phy. The smaller of this and the packet limit is + * enforced. * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes - * a flow is assigned on each round of the DRR scheduler. + * a flow is assigned on each round of the DRR scheduler. * @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from - * association request when used with NL80211_CMD_NEW_STATION). Can be set - * only if %NL80211_STA_FLAG_WME is set. + * association request when used with NL80211_CMD_NEW_STATION). Can be set + * only if %NL80211_STA_FLAG_WME is set. * * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include - * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing - * measurement (FTM) responder functionality and containing parameters as - * possible, see &enum nl80211_ftm_responder_attr + * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing + * measurement (FTM) responder functionality and containing parameters as + * possible, see &enum nl80211_ftm_responder_attr * * @NL80211_ATTR_FTM_RESPONDER_STATS: Nested attribute with FTM responder - * statistics, see &enum nl80211_ftm_responder_stats. + * statistics, see &enum nl80211_ftm_responder_stats. * * @NL80211_ATTR_TIMEOUT: Timeout for the given operation in milliseconds (u32), - * if the attribute is not given no timeout is requested. Note that 0 is an - * invalid value. + * if the attribute is not given no timeout is requested. Note that 0 is an + * invalid value. * * @NL80211_ATTR_PEER_MEASUREMENTS: peer measurements request (and result) - * data, uses nested attributes specified in - * &enum nl80211_peer_measurement_attrs. - * This is also used for capability advertisement in the wiphy information, - * with the appropriate sub-attributes. + * data, uses nested attributes specified in + * &enum nl80211_peer_measurement_attrs. + * This is also used for capability advertisement in the wiphy information, + * with the appropriate sub-attributes. * * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime - * scheduler. + * scheduler. * * @NL80211_ATTR_STA_TX_POWER_SETTING: Transmit power setting type (u8) for - * station associated with the AP. See &enum nl80211_tx_power_setting for - * possible values. + * station associated with the AP. See &enum nl80211_tx_power_setting for + * possible values. * @NL80211_ATTR_STA_TX_POWER: Transmit power level (s16) in dBm units. This - * allows to set Tx power for a station. If this attribute is not included, - * the default per-interface tx power setting will be overriding. Driver - * should be picking up the lowest tx power, either tx power per-interface - * or per-station. + * allows to set Tx power for a station. If this attribute is not included, + * the default per-interface tx power setting will be overriding. Driver + * should be picking up the lowest tx power, either tx power per-interface + * or per-station. * * @NL80211_ATTR_SAE_PASSWORD: attribute for passing SAE password material. It - * is used with %NL80211_CMD_CONNECT to provide password for offloading - * SAE authentication for WPA3-Personal networks. + * is used with %NL80211_CMD_CONNECT to provide password for offloading + * SAE authentication for WPA3-Personal networks. * * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support. * * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection - * functionality. + * functionality. * * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz - * channel(s) that are allowed to be used for EDMG transmissions. - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute) + * channel(s) that are allowed to be used for EDMG transmissions. + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute) * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes - * the allowed channel bandwidth configurations. (u8 attribute) - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. + * the allowed channel bandwidth configurations. (u8 attribute) + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. * * @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NL80211_ATTR_MAX: highest attribute number currently defined @@ -2379,472 +2379,471 @@ enum nl80211_commands { */ enum nl80211_attrs { /* don't change the order or add anything between, this is ABI! */ - NL80211_ATTR_UNSPEC, + NL80211_ATTR_UNSPEC, - NL80211_ATTR_WIPHY, - NL80211_ATTR_WIPHY_NAME, + NL80211_ATTR_WIPHY, + NL80211_ATTR_WIPHY_NAME, - NL80211_ATTR_IFINDEX, - NL80211_ATTR_IFNAME, - NL80211_ATTR_IFTYPE, + NL80211_ATTR_IFINDEX, + NL80211_ATTR_IFNAME, + NL80211_ATTR_IFTYPE, - NL80211_ATTR_MAC, + NL80211_ATTR_MAC, - NL80211_ATTR_KEY_DATA, - NL80211_ATTR_KEY_IDX, - NL80211_ATTR_KEY_CIPHER, - NL80211_ATTR_KEY_SEQ, - NL80211_ATTR_KEY_DEFAULT, + NL80211_ATTR_KEY_DATA, + NL80211_ATTR_KEY_IDX, + NL80211_ATTR_KEY_CIPHER, + NL80211_ATTR_KEY_SEQ, + NL80211_ATTR_KEY_DEFAULT, - NL80211_ATTR_BEACON_INTERVAL, - NL80211_ATTR_DTIM_PERIOD, - NL80211_ATTR_BEACON_HEAD, - NL80211_ATTR_BEACON_TAIL, + NL80211_ATTR_BEACON_INTERVAL, + NL80211_ATTR_DTIM_PERIOD, + NL80211_ATTR_BEACON_HEAD, + NL80211_ATTR_BEACON_TAIL, - NL80211_ATTR_STA_AID, - NL80211_ATTR_STA_FLAGS, - NL80211_ATTR_STA_LISTEN_INTERVAL, - NL80211_ATTR_STA_SUPPORTED_RATES, - NL80211_ATTR_STA_VLAN, - NL80211_ATTR_STA_INFO, + NL80211_ATTR_STA_AID, + NL80211_ATTR_STA_FLAGS, + NL80211_ATTR_STA_LISTEN_INTERVAL, + NL80211_ATTR_STA_SUPPORTED_RATES, + NL80211_ATTR_STA_VLAN, + NL80211_ATTR_STA_INFO, - NL80211_ATTR_WIPHY_BANDS, + NL80211_ATTR_WIPHY_BANDS, - NL80211_ATTR_MNTR_FLAGS, + NL80211_ATTR_MNTR_FLAGS, - NL80211_ATTR_MESH_ID, - NL80211_ATTR_STA_PLINK_ACTION, - NL80211_ATTR_MPATH_NEXT_HOP, - NL80211_ATTR_MPATH_INFO, + NL80211_ATTR_MESH_ID, + NL80211_ATTR_STA_PLINK_ACTION, + NL80211_ATTR_MPATH_NEXT_HOP, + NL80211_ATTR_MPATH_INFO, - NL80211_ATTR_BSS_CTS_PROT, - NL80211_ATTR_BSS_SHORT_PREAMBLE, - NL80211_ATTR_BSS_SHORT_SLOT_TIME, + NL80211_ATTR_BSS_CTS_PROT, + NL80211_ATTR_BSS_SHORT_PREAMBLE, + NL80211_ATTR_BSS_SHORT_SLOT_TIME, - NL80211_ATTR_HT_CAPABILITY, + NL80211_ATTR_HT_CAPABILITY, - NL80211_ATTR_SUPPORTED_IFTYPES, + NL80211_ATTR_SUPPORTED_IFTYPES, - NL80211_ATTR_REG_ALPHA2, - NL80211_ATTR_REG_RULES, + NL80211_ATTR_REG_ALPHA2, + NL80211_ATTR_REG_RULES, - NL80211_ATTR_MESH_CONFIG, + NL80211_ATTR_MESH_CONFIG, - NL80211_ATTR_BSS_BASIC_RATES, + NL80211_ATTR_BSS_BASIC_RATES, - NL80211_ATTR_WIPHY_TXQ_PARAMS, - NL80211_ATTR_WIPHY_FREQ, - NL80211_ATTR_WIPHY_CHANNEL_TYPE, + NL80211_ATTR_WIPHY_TXQ_PARAMS, + NL80211_ATTR_WIPHY_FREQ, + NL80211_ATTR_WIPHY_CHANNEL_TYPE, - NL80211_ATTR_KEY_DEFAULT_MGMT, + NL80211_ATTR_KEY_DEFAULT_MGMT, - NL80211_ATTR_MGMT_SUBTYPE, - NL80211_ATTR_IE, + NL80211_ATTR_MGMT_SUBTYPE, + NL80211_ATTR_IE, - NL80211_ATTR_MAX_NUM_SCAN_SSIDS, + NL80211_ATTR_MAX_NUM_SCAN_SSIDS, - NL80211_ATTR_SCAN_FREQUENCIES, - NL80211_ATTR_SCAN_SSIDS, - NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */ - NL80211_ATTR_BSS, + NL80211_ATTR_SCAN_FREQUENCIES, + NL80211_ATTR_SCAN_SSIDS, + NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */ + NL80211_ATTR_BSS, - NL80211_ATTR_REG_INITIATOR, - NL80211_ATTR_REG_TYPE, + NL80211_ATTR_REG_INITIATOR, + NL80211_ATTR_REG_TYPE, - NL80211_ATTR_SUPPORTED_COMMANDS, + NL80211_ATTR_SUPPORTED_COMMANDS, - NL80211_ATTR_FRAME, - NL80211_ATTR_SSID, - NL80211_ATTR_AUTH_TYPE, - NL80211_ATTR_REASON_CODE, + NL80211_ATTR_FRAME, + NL80211_ATTR_SSID, + NL80211_ATTR_AUTH_TYPE, + NL80211_ATTR_REASON_CODE, - NL80211_ATTR_KEY_TYPE, + NL80211_ATTR_KEY_TYPE, - NL80211_ATTR_MAX_SCAN_IE_LEN, - NL80211_ATTR_CIPHER_SUITES, + NL80211_ATTR_MAX_SCAN_IE_LEN, + NL80211_ATTR_CIPHER_SUITES, - NL80211_ATTR_FREQ_BEFORE, - NL80211_ATTR_FREQ_AFTER, + NL80211_ATTR_FREQ_BEFORE, + NL80211_ATTR_FREQ_AFTER, - NL80211_ATTR_FREQ_FIXED, + NL80211_ATTR_FREQ_FIXED, + NL80211_ATTR_WIPHY_RETRY_SHORT, + NL80211_ATTR_WIPHY_RETRY_LONG, + NL80211_ATTR_WIPHY_FRAG_THRESHOLD, + NL80211_ATTR_WIPHY_RTS_THRESHOLD, - NL80211_ATTR_WIPHY_RETRY_SHORT, - NL80211_ATTR_WIPHY_RETRY_LONG, - NL80211_ATTR_WIPHY_FRAG_THRESHOLD, - NL80211_ATTR_WIPHY_RTS_THRESHOLD, + NL80211_ATTR_TIMED_OUT, - NL80211_ATTR_TIMED_OUT, + NL80211_ATTR_USE_MFP, - NL80211_ATTR_USE_MFP, + NL80211_ATTR_STA_FLAGS2, - NL80211_ATTR_STA_FLAGS2, + NL80211_ATTR_CONTROL_PORT, - NL80211_ATTR_CONTROL_PORT, + NL80211_ATTR_TESTDATA, - NL80211_ATTR_TESTDATA, + NL80211_ATTR_PRIVACY, - NL80211_ATTR_PRIVACY, + NL80211_ATTR_DISCONNECTED_BY_AP, + NL80211_ATTR_STATUS_CODE, - NL80211_ATTR_DISCONNECTED_BY_AP, - NL80211_ATTR_STATUS_CODE, + NL80211_ATTR_CIPHER_SUITES_PAIRWISE, + NL80211_ATTR_CIPHER_SUITE_GROUP, + NL80211_ATTR_WPA_VERSIONS, + NL80211_ATTR_AKM_SUITES, - NL80211_ATTR_CIPHER_SUITES_PAIRWISE, - NL80211_ATTR_CIPHER_SUITE_GROUP, - NL80211_ATTR_WPA_VERSIONS, - NL80211_ATTR_AKM_SUITES, + NL80211_ATTR_REQ_IE, + NL80211_ATTR_RESP_IE, - NL80211_ATTR_REQ_IE, - NL80211_ATTR_RESP_IE, + NL80211_ATTR_PREV_BSSID, - NL80211_ATTR_PREV_BSSID, + NL80211_ATTR_KEY, + NL80211_ATTR_KEYS, - NL80211_ATTR_KEY, - NL80211_ATTR_KEYS, + NL80211_ATTR_PID, - NL80211_ATTR_PID, + NL80211_ATTR_4ADDR, - NL80211_ATTR_4ADDR, + NL80211_ATTR_SURVEY_INFO, - NL80211_ATTR_SURVEY_INFO, + NL80211_ATTR_PMKID, + NL80211_ATTR_MAX_NUM_PMKIDS, - NL80211_ATTR_PMKID, - NL80211_ATTR_MAX_NUM_PMKIDS, + NL80211_ATTR_DURATION, - NL80211_ATTR_DURATION, + NL80211_ATTR_COOKIE, - NL80211_ATTR_COOKIE, + NL80211_ATTR_WIPHY_COVERAGE_CLASS, - NL80211_ATTR_WIPHY_COVERAGE_CLASS, + NL80211_ATTR_TX_RATES, - NL80211_ATTR_TX_RATES, + NL80211_ATTR_FRAME_MATCH, - NL80211_ATTR_FRAME_MATCH, + NL80211_ATTR_ACK, - NL80211_ATTR_ACK, + NL80211_ATTR_PS_STATE, - NL80211_ATTR_PS_STATE, + NL80211_ATTR_CQM, - NL80211_ATTR_CQM, + NL80211_ATTR_LOCAL_STATE_CHANGE, - NL80211_ATTR_LOCAL_STATE_CHANGE, + NL80211_ATTR_AP_ISOLATE, - NL80211_ATTR_AP_ISOLATE, + NL80211_ATTR_WIPHY_TX_POWER_SETTING, + NL80211_ATTR_WIPHY_TX_POWER_LEVEL, - NL80211_ATTR_WIPHY_TX_POWER_SETTING, - NL80211_ATTR_WIPHY_TX_POWER_LEVEL, + NL80211_ATTR_TX_FRAME_TYPES, + NL80211_ATTR_RX_FRAME_TYPES, + NL80211_ATTR_FRAME_TYPE, - NL80211_ATTR_TX_FRAME_TYPES, - NL80211_ATTR_RX_FRAME_TYPES, - NL80211_ATTR_FRAME_TYPE, + NL80211_ATTR_CONTROL_PORT_ETHERTYPE, + NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, - NL80211_ATTR_CONTROL_PORT_ETHERTYPE, - NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, + NL80211_ATTR_SUPPORT_IBSS_RSN, - NL80211_ATTR_SUPPORT_IBSS_RSN, + NL80211_ATTR_WIPHY_ANTENNA_TX, + NL80211_ATTR_WIPHY_ANTENNA_RX, - NL80211_ATTR_WIPHY_ANTENNA_TX, - NL80211_ATTR_WIPHY_ANTENNA_RX, + NL80211_ATTR_MCAST_RATE, - NL80211_ATTR_MCAST_RATE, + NL80211_ATTR_OFFCHANNEL_TX_OK, - NL80211_ATTR_OFFCHANNEL_TX_OK, + NL80211_ATTR_BSS_HT_OPMODE, - NL80211_ATTR_BSS_HT_OPMODE, + NL80211_ATTR_KEY_DEFAULT_TYPES, - NL80211_ATTR_KEY_DEFAULT_TYPES, + NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION, - NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION, + NL80211_ATTR_MESH_SETUP, - NL80211_ATTR_MESH_SETUP, + NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX, + NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX, - NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX, - NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX, + NL80211_ATTR_SUPPORT_MESH_AUTH, + NL80211_ATTR_STA_PLINK_STATE, - NL80211_ATTR_SUPPORT_MESH_AUTH, - NL80211_ATTR_STA_PLINK_STATE, + NL80211_ATTR_WOWLAN_TRIGGERS, + NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, - NL80211_ATTR_WOWLAN_TRIGGERS, - NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, + NL80211_ATTR_SCHED_SCAN_INTERVAL, - NL80211_ATTR_SCHED_SCAN_INTERVAL, + NL80211_ATTR_INTERFACE_COMBINATIONS, + NL80211_ATTR_SOFTWARE_IFTYPES, - NL80211_ATTR_INTERFACE_COMBINATIONS, - NL80211_ATTR_SOFTWARE_IFTYPES, + NL80211_ATTR_REKEY_DATA, - NL80211_ATTR_REKEY_DATA, + NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS, + NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN, - NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS, - NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN, + NL80211_ATTR_SCAN_SUPP_RATES, - NL80211_ATTR_SCAN_SUPP_RATES, + NL80211_ATTR_HIDDEN_SSID, - NL80211_ATTR_HIDDEN_SSID, + NL80211_ATTR_IE_PROBE_RESP, + NL80211_ATTR_IE_ASSOC_RESP, - NL80211_ATTR_IE_PROBE_RESP, - NL80211_ATTR_IE_ASSOC_RESP, + NL80211_ATTR_STA_WME, + NL80211_ATTR_SUPPORT_AP_UAPSD, - NL80211_ATTR_STA_WME, - NL80211_ATTR_SUPPORT_AP_UAPSD, + NL80211_ATTR_ROAM_SUPPORT, - NL80211_ATTR_ROAM_SUPPORT, + NL80211_ATTR_SCHED_SCAN_MATCH, + NL80211_ATTR_MAX_MATCH_SETS, - NL80211_ATTR_SCHED_SCAN_MATCH, - NL80211_ATTR_MAX_MATCH_SETS, + NL80211_ATTR_PMKSA_CANDIDATE, - NL80211_ATTR_PMKSA_CANDIDATE, + NL80211_ATTR_TX_NO_CCK_RATE, - NL80211_ATTR_TX_NO_CCK_RATE, + NL80211_ATTR_TDLS_ACTION, + NL80211_ATTR_TDLS_DIALOG_TOKEN, + NL80211_ATTR_TDLS_OPERATION, + NL80211_ATTR_TDLS_SUPPORT, + NL80211_ATTR_TDLS_EXTERNAL_SETUP, - NL80211_ATTR_TDLS_ACTION, - NL80211_ATTR_TDLS_DIALOG_TOKEN, - NL80211_ATTR_TDLS_OPERATION, - NL80211_ATTR_TDLS_SUPPORT, - NL80211_ATTR_TDLS_EXTERNAL_SETUP, + NL80211_ATTR_DEVICE_AP_SME, - NL80211_ATTR_DEVICE_AP_SME, + NL80211_ATTR_DONT_WAIT_FOR_ACK, - NL80211_ATTR_DONT_WAIT_FOR_ACK, + NL80211_ATTR_FEATURE_FLAGS, - NL80211_ATTR_FEATURE_FLAGS, + NL80211_ATTR_PROBE_RESP_OFFLOAD, - NL80211_ATTR_PROBE_RESP_OFFLOAD, + NL80211_ATTR_PROBE_RESP, - NL80211_ATTR_PROBE_RESP, + NL80211_ATTR_DFS_REGION, - NL80211_ATTR_DFS_REGION, + NL80211_ATTR_DISABLE_HT, + NL80211_ATTR_HT_CAPABILITY_MASK, - NL80211_ATTR_DISABLE_HT, - NL80211_ATTR_HT_CAPABILITY_MASK, + NL80211_ATTR_NOACK_MAP, - NL80211_ATTR_NOACK_MAP, + NL80211_ATTR_INACTIVITY_TIMEOUT, - NL80211_ATTR_INACTIVITY_TIMEOUT, + NL80211_ATTR_RX_SIGNAL_DBM, - NL80211_ATTR_RX_SIGNAL_DBM, + NL80211_ATTR_BG_SCAN_PERIOD, - NL80211_ATTR_BG_SCAN_PERIOD, + NL80211_ATTR_WDEV, - NL80211_ATTR_WDEV, + NL80211_ATTR_USER_REG_HINT_TYPE, - NL80211_ATTR_USER_REG_HINT_TYPE, + NL80211_ATTR_CONN_FAILED_REASON, - NL80211_ATTR_CONN_FAILED_REASON, + NL80211_ATTR_AUTH_DATA, - NL80211_ATTR_AUTH_DATA, + NL80211_ATTR_VHT_CAPABILITY, - NL80211_ATTR_VHT_CAPABILITY, + NL80211_ATTR_SCAN_FLAGS, - NL80211_ATTR_SCAN_FLAGS, + NL80211_ATTR_CHANNEL_WIDTH, + NL80211_ATTR_CENTER_FREQ1, + NL80211_ATTR_CENTER_FREQ2, - NL80211_ATTR_CHANNEL_WIDTH, - NL80211_ATTR_CENTER_FREQ1, - NL80211_ATTR_CENTER_FREQ2, + NL80211_ATTR_P2P_CTWINDOW, + NL80211_ATTR_P2P_OPPPS, - NL80211_ATTR_P2P_CTWINDOW, - NL80211_ATTR_P2P_OPPPS, + NL80211_ATTR_LOCAL_MESH_POWER_MODE, - NL80211_ATTR_LOCAL_MESH_POWER_MODE, + NL80211_ATTR_ACL_POLICY, - NL80211_ATTR_ACL_POLICY, + NL80211_ATTR_MAC_ADDRS, - NL80211_ATTR_MAC_ADDRS, + NL80211_ATTR_MAC_ACL_MAX, - NL80211_ATTR_MAC_ACL_MAX, + NL80211_ATTR_RADAR_EVENT, - NL80211_ATTR_RADAR_EVENT, + NL80211_ATTR_EXT_CAPA, + NL80211_ATTR_EXT_CAPA_MASK, - NL80211_ATTR_EXT_CAPA, - NL80211_ATTR_EXT_CAPA_MASK, + NL80211_ATTR_STA_CAPABILITY, + NL80211_ATTR_STA_EXT_CAPABILITY, - NL80211_ATTR_STA_CAPABILITY, - NL80211_ATTR_STA_EXT_CAPABILITY, + NL80211_ATTR_PROTOCOL_FEATURES, + NL80211_ATTR_SPLIT_WIPHY_DUMP, - NL80211_ATTR_PROTOCOL_FEATURES, - NL80211_ATTR_SPLIT_WIPHY_DUMP, + NL80211_ATTR_DISABLE_VHT, + NL80211_ATTR_VHT_CAPABILITY_MASK, - NL80211_ATTR_DISABLE_VHT, - NL80211_ATTR_VHT_CAPABILITY_MASK, + NL80211_ATTR_MDID, + NL80211_ATTR_IE_RIC, - NL80211_ATTR_MDID, - NL80211_ATTR_IE_RIC, + NL80211_ATTR_CRIT_PROT_ID, + NL80211_ATTR_MAX_CRIT_PROT_DURATION, - NL80211_ATTR_CRIT_PROT_ID, - NL80211_ATTR_MAX_CRIT_PROT_DURATION, + NL80211_ATTR_PEER_AID, - NL80211_ATTR_PEER_AID, + NL80211_ATTR_COALESCE_RULE, - NL80211_ATTR_COALESCE_RULE, + NL80211_ATTR_CH_SWITCH_COUNT, + NL80211_ATTR_CH_SWITCH_BLOCK_TX, + NL80211_ATTR_CSA_IES, + NL80211_ATTR_CSA_C_OFF_BEACON, + NL80211_ATTR_CSA_C_OFF_PRESP, - NL80211_ATTR_CH_SWITCH_COUNT, - NL80211_ATTR_CH_SWITCH_BLOCK_TX, - NL80211_ATTR_CSA_IES, - NL80211_ATTR_CSA_C_OFF_BEACON, - NL80211_ATTR_CSA_C_OFF_PRESP, + NL80211_ATTR_RXMGMT_FLAGS, - NL80211_ATTR_RXMGMT_FLAGS, + NL80211_ATTR_STA_SUPPORTED_CHANNELS, - NL80211_ATTR_STA_SUPPORTED_CHANNELS, + NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES, - NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES, + NL80211_ATTR_HANDLE_DFS, - NL80211_ATTR_HANDLE_DFS, + NL80211_ATTR_SUPPORT_5_MHZ, + NL80211_ATTR_SUPPORT_10_MHZ, - NL80211_ATTR_SUPPORT_5_MHZ, - NL80211_ATTR_SUPPORT_10_MHZ, + NL80211_ATTR_OPMODE_NOTIF, - NL80211_ATTR_OPMODE_NOTIF, + NL80211_ATTR_VENDOR_ID, + NL80211_ATTR_VENDOR_SUBCMD, + NL80211_ATTR_VENDOR_DATA, + NL80211_ATTR_VENDOR_EVENTS, - NL80211_ATTR_VENDOR_ID, - NL80211_ATTR_VENDOR_SUBCMD, - NL80211_ATTR_VENDOR_DATA, - NL80211_ATTR_VENDOR_EVENTS, + NL80211_ATTR_QOS_MAP, - NL80211_ATTR_QOS_MAP, + NL80211_ATTR_MAC_HINT, + NL80211_ATTR_WIPHY_FREQ_HINT, - NL80211_ATTR_MAC_HINT, - NL80211_ATTR_WIPHY_FREQ_HINT, + NL80211_ATTR_MAX_AP_ASSOC_STA, - NL80211_ATTR_MAX_AP_ASSOC_STA, + NL80211_ATTR_TDLS_PEER_CAPABILITY, - NL80211_ATTR_TDLS_PEER_CAPABILITY, + NL80211_ATTR_SOCKET_OWNER, - NL80211_ATTR_SOCKET_OWNER, + NL80211_ATTR_CSA_C_OFFSETS_TX, + NL80211_ATTR_MAX_CSA_COUNTERS, - NL80211_ATTR_CSA_C_OFFSETS_TX, - NL80211_ATTR_MAX_CSA_COUNTERS, + NL80211_ATTR_TDLS_INITIATOR, - NL80211_ATTR_TDLS_INITIATOR, + NL80211_ATTR_USE_RRM, - NL80211_ATTR_USE_RRM, + NL80211_ATTR_WIPHY_DYN_ACK, - NL80211_ATTR_WIPHY_DYN_ACK, + NL80211_ATTR_TSID, + NL80211_ATTR_USER_PRIO, + NL80211_ATTR_ADMITTED_TIME, - NL80211_ATTR_TSID, - NL80211_ATTR_USER_PRIO, - NL80211_ATTR_ADMITTED_TIME, + NL80211_ATTR_SMPS_MODE, - NL80211_ATTR_SMPS_MODE, + NL80211_ATTR_OPER_CLASS, - NL80211_ATTR_OPER_CLASS, + NL80211_ATTR_MAC_MASK, - NL80211_ATTR_MAC_MASK, + NL80211_ATTR_WIPHY_SELF_MANAGED_REG, - NL80211_ATTR_WIPHY_SELF_MANAGED_REG, + NL80211_ATTR_EXT_FEATURES, - NL80211_ATTR_EXT_FEATURES, + NL80211_ATTR_SURVEY_RADIO_STATS, - NL80211_ATTR_SURVEY_RADIO_STATS, + NL80211_ATTR_NETNS_FD, - NL80211_ATTR_NETNS_FD, + NL80211_ATTR_SCHED_SCAN_DELAY, - NL80211_ATTR_SCHED_SCAN_DELAY, + NL80211_ATTR_REG_INDOOR, - NL80211_ATTR_REG_INDOOR, + NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS, + NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL, + NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS, + NL80211_ATTR_SCHED_SCAN_PLANS, - NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS, - NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL, - NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS, - NL80211_ATTR_SCHED_SCAN_PLANS, + NL80211_ATTR_PBSS, - NL80211_ATTR_PBSS, + NL80211_ATTR_BSS_SELECT, - NL80211_ATTR_BSS_SELECT, + NL80211_ATTR_STA_SUPPORT_P2P_PS, - NL80211_ATTR_STA_SUPPORT_P2P_PS, + NL80211_ATTR_PAD, - NL80211_ATTR_PAD, + NL80211_ATTR_IFTYPE_EXT_CAPA, - NL80211_ATTR_IFTYPE_EXT_CAPA, + NL80211_ATTR_MU_MIMO_GROUP_DATA, + NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR, - NL80211_ATTR_MU_MIMO_GROUP_DATA, - NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR, + NL80211_ATTR_SCAN_START_TIME_TSF, + NL80211_ATTR_SCAN_START_TIME_TSF_BSSID, + NL80211_ATTR_MEASUREMENT_DURATION, + NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY, - NL80211_ATTR_SCAN_START_TIME_TSF, - NL80211_ATTR_SCAN_START_TIME_TSF_BSSID, - NL80211_ATTR_MEASUREMENT_DURATION, - NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY, + NL80211_ATTR_MESH_PEER_AID, - NL80211_ATTR_MESH_PEER_AID, + NL80211_ATTR_NAN_MASTER_PREF, + NL80211_ATTR_BANDS, + NL80211_ATTR_NAN_FUNC, + NL80211_ATTR_NAN_MATCH, - NL80211_ATTR_NAN_MASTER_PREF, - NL80211_ATTR_BANDS, - NL80211_ATTR_NAN_FUNC, - NL80211_ATTR_NAN_MATCH, + NL80211_ATTR_FILS_KEK, + NL80211_ATTR_FILS_NONCES, - NL80211_ATTR_FILS_KEK, - NL80211_ATTR_FILS_NONCES, + NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED, - NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED, + NL80211_ATTR_BSSID, - NL80211_ATTR_BSSID, + NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI, + NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST, - NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI, - NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST, + NL80211_ATTR_TIMEOUT_REASON, - NL80211_ATTR_TIMEOUT_REASON, + NL80211_ATTR_FILS_ERP_USERNAME, + NL80211_ATTR_FILS_ERP_REALM, + NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM, + NL80211_ATTR_FILS_ERP_RRK, + NL80211_ATTR_FILS_CACHE_ID, - NL80211_ATTR_FILS_ERP_USERNAME, - NL80211_ATTR_FILS_ERP_REALM, - NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM, - NL80211_ATTR_FILS_ERP_RRK, - NL80211_ATTR_FILS_CACHE_ID, + NL80211_ATTR_PMK, - NL80211_ATTR_PMK, + NL80211_ATTR_SCHED_SCAN_MULTI, + NL80211_ATTR_SCHED_SCAN_MAX_REQS, - NL80211_ATTR_SCHED_SCAN_MULTI, - NL80211_ATTR_SCHED_SCAN_MAX_REQS, + NL80211_ATTR_WANT_1X_4WAY_HS, + NL80211_ATTR_PMKR0_NAME, + NL80211_ATTR_PORT_AUTHORIZED, - NL80211_ATTR_WANT_1X_4WAY_HS, - NL80211_ATTR_PMKR0_NAME, - NL80211_ATTR_PORT_AUTHORIZED, + NL80211_ATTR_EXTERNAL_AUTH_ACTION, + NL80211_ATTR_EXTERNAL_AUTH_SUPPORT, - NL80211_ATTR_EXTERNAL_AUTH_ACTION, - NL80211_ATTR_EXTERNAL_AUTH_SUPPORT, + NL80211_ATTR_NSS, + NL80211_ATTR_ACK_SIGNAL, - NL80211_ATTR_NSS, - NL80211_ATTR_ACK_SIGNAL, + NL80211_ATTR_CONTROL_PORT_OVER_NL80211, - NL80211_ATTR_CONTROL_PORT_OVER_NL80211, + NL80211_ATTR_TXQ_STATS, + NL80211_ATTR_TXQ_LIMIT, + NL80211_ATTR_TXQ_MEMORY_LIMIT, + NL80211_ATTR_TXQ_QUANTUM, - NL80211_ATTR_TXQ_STATS, - NL80211_ATTR_TXQ_LIMIT, - NL80211_ATTR_TXQ_MEMORY_LIMIT, - NL80211_ATTR_TXQ_QUANTUM, + NL80211_ATTR_HE_CAPABILITY, - NL80211_ATTR_HE_CAPABILITY, + NL80211_ATTR_FTM_RESPONDER, - NL80211_ATTR_FTM_RESPONDER, + NL80211_ATTR_FTM_RESPONDER_STATS, - NL80211_ATTR_FTM_RESPONDER_STATS, + NL80211_ATTR_TIMEOUT, - NL80211_ATTR_TIMEOUT, + NL80211_ATTR_PEER_MEASUREMENTS, - NL80211_ATTR_PEER_MEASUREMENTS, + NL80211_ATTR_AIRTIME_WEIGHT, + NL80211_ATTR_STA_TX_POWER_SETTING, + NL80211_ATTR_STA_TX_POWER, - NL80211_ATTR_AIRTIME_WEIGHT, - NL80211_ATTR_STA_TX_POWER_SETTING, - NL80211_ATTR_STA_TX_POWER, + NL80211_ATTR_SAE_PASSWORD, - NL80211_ATTR_SAE_PASSWORD, + NL80211_ATTR_TWT_RESPONDER, - NL80211_ATTR_TWT_RESPONDER, + NL80211_ATTR_HE_OBSS_PD, - NL80211_ATTR_HE_OBSS_PD, + NL80211_ATTR_WIPHY_EDMG_CHANNELS, + NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, - NL80211_ATTR_WIPHY_EDMG_CHANNELS, - NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, + /* add attributes here, update the policy in nl80211.c */ - /* add attributes here, update the policy in nl80211.c */ - - __NL80211_ATTR_AFTER_LAST, - NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST, - NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 + __NL80211_ATTR_AFTER_LAST, + NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST, + NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 }; /* source-level API compatibility */ #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION -#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG +#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG #define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER #define NL80211_ATTR_SAE_DATA NL80211_ATTR_AUTH_DATA @@ -2874,27 +2873,27 @@ enum nl80211_attrs { #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS -#define NL80211_WIPHY_NAME_MAXLEN 64 +#define NL80211_WIPHY_NAME_MAXLEN 64 -#define NL80211_MAX_SUPP_RATES 32 -#define NL80211_MAX_SUPP_HT_RATES 77 -#define NL80211_MAX_SUPP_REG_RULES 128 -#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 -#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 -#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 -#define NL80211_HT_CAPABILITY_LEN 26 -#define NL80211_VHT_CAPABILITY_LEN 12 +#define NL80211_MAX_SUPP_RATES 32 +#define NL80211_MAX_SUPP_HT_RATES 77 +#define NL80211_MAX_SUPP_REG_RULES 128 +#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 +#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 +#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 +#define NL80211_HT_CAPABILITY_LEN 26 +#define NL80211_VHT_CAPABILITY_LEN 12 #define NL80211_HE_MIN_CAPABILITY_LEN 16 #define NL80211_HE_MAX_CAPABILITY_LEN 54 -#define NL80211_MAX_NR_CIPHER_SUITES 5 -#define NL80211_MAX_NR_AKM_SUITES 2 +#define NL80211_MAX_NR_CIPHER_SUITES 5 +#define NL80211_MAX_NR_AKM_SUITES 2 -#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 +#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 /* default RSSI threshold for scan results if none specified. */ -#define NL80211_SCAN_RSSI_THOLD_OFF -300 +#define NL80211_SCAN_RSSI_THOLD_OFF -300 -#define NL80211_CQM_TXE_MAX_INTVL 1800 +#define NL80211_CQM_TXE_MAX_INTVL 1800 /** * enum nl80211_iftype - (virtual) interface types @@ -2904,19 +2903,19 @@ enum nl80211_attrs { * @NL80211_IFTYPE_STATION: managed BSS member * @NL80211_IFTYPE_AP: access point * @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points; VLAN interfaces - * are a bit special in that they must always be tied to a pre-existing - * AP type interface. + * are a bit special in that they must always be tied to a pre-existing + * AP type interface. * @NL80211_IFTYPE_WDS: wireless distribution interface * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames * @NL80211_IFTYPE_MESH_POINT: mesh point * @NL80211_IFTYPE_P2P_CLIENT: P2P client * @NL80211_IFTYPE_P2P_GO: P2P group owner * @NL80211_IFTYPE_P2P_DEVICE: P2P device interface type, this is not a netdev - * and therefore can't be created in the normal ways, use the - * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE - * commands to create and destroy one + * and therefore can't be created in the normal ways, use the + * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE + * commands to create and destroy one * @NL80211_IF_TYPE_OCB: Outside Context of a BSS - * This mode corresponds to the MIB variable dot11OCBActivated=true + * This mode corresponds to the MIB variable dot11OCBActivated=true * @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev) * @NL80211_IFTYPE_MAX: highest interface type number currently defined * @NUM_NL80211_IFTYPES: number of defined interface types @@ -2926,23 +2925,23 @@ enum nl80211_attrs { * */ enum nl80211_iftype { - NL80211_IFTYPE_UNSPECIFIED, - NL80211_IFTYPE_ADHOC, - NL80211_IFTYPE_STATION, - NL80211_IFTYPE_AP, - NL80211_IFTYPE_AP_VLAN, - NL80211_IFTYPE_WDS, - NL80211_IFTYPE_MONITOR, - NL80211_IFTYPE_MESH_POINT, - NL80211_IFTYPE_P2P_CLIENT, - NL80211_IFTYPE_P2P_GO, - NL80211_IFTYPE_P2P_DEVICE, - NL80211_IFTYPE_OCB, - NL80211_IFTYPE_NAN, - - /* keep last */ - NUM_NL80211_IFTYPES, - NL80211_IFTYPE_MAX = NUM_NL80211_IFTYPES - 1 + NL80211_IFTYPE_UNSPECIFIED, + NL80211_IFTYPE_ADHOC, + NL80211_IFTYPE_STATION, + NL80211_IFTYPE_AP, + NL80211_IFTYPE_AP_VLAN, + NL80211_IFTYPE_WDS, + NL80211_IFTYPE_MONITOR, + NL80211_IFTYPE_MESH_POINT, + NL80211_IFTYPE_P2P_CLIENT, + NL80211_IFTYPE_P2P_GO, + NL80211_IFTYPE_P2P_DEVICE, + NL80211_IFTYPE_OCB, + NL80211_IFTYPE_NAN, + + /* keep last */ + NUM_NL80211_IFTYPES, + NL80211_IFTYPE_MAX = NUM_NL80211_IFTYPES - 1 }; /** @@ -2954,34 +2953,34 @@ enum nl80211_iftype { * @__NL80211_STA_FLAG_INVALID: attribute number 0 is reserved * @NL80211_STA_FLAG_AUTHORIZED: station is authorized (802.1X) * @NL80211_STA_FLAG_SHORT_PREAMBLE: station is capable of receiving frames - * with short barker preamble + * with short barker preamble * @NL80211_STA_FLAG_WME: station is WME/QoS capable * @NL80211_STA_FLAG_MFP: station uses management frame protection * @NL80211_STA_FLAG_AUTHENTICATED: station is authenticated * @NL80211_STA_FLAG_TDLS_PEER: station is a TDLS peer -- this flag should - * only be used in managed mode (even in the flags mask). Note that the - * flag can't be changed, it is only valid while adding a station, and - * attempts to change it will silently be ignored (rather than rejected - * as errors.) + * only be used in managed mode (even in the flags mask). Note that the + * flag can't be changed, it is only valid while adding a station, and + * attempts to change it will silently be ignored (rather than rejected + * as errors.) * @NL80211_STA_FLAG_ASSOCIATED: station is associated; used with drivers - * that support %NL80211_FEATURE_FULL_AP_CLIENT_STATE to transition a - * previously added station into associated state + * that support %NL80211_FEATURE_FULL_AP_CLIENT_STATE to transition a + * previously added station into associated state * @NL80211_STA_FLAG_MAX: highest station flag number currently defined * @__NL80211_STA_FLAG_AFTER_LAST: internal use */ enum nl80211_sta_flags { - __NL80211_STA_FLAG_INVALID, - NL80211_STA_FLAG_AUTHORIZED, - NL80211_STA_FLAG_SHORT_PREAMBLE, - NL80211_STA_FLAG_WME, - NL80211_STA_FLAG_MFP, - NL80211_STA_FLAG_AUTHENTICATED, - NL80211_STA_FLAG_TDLS_PEER, - NL80211_STA_FLAG_ASSOCIATED, - - /* keep last */ - __NL80211_STA_FLAG_AFTER_LAST, - NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1 + __NL80211_STA_FLAG_INVALID, + NL80211_STA_FLAG_AUTHORIZED, + NL80211_STA_FLAG_SHORT_PREAMBLE, + NL80211_STA_FLAG_WME, + NL80211_STA_FLAG_MFP, + NL80211_STA_FLAG_AUTHENTICATED, + NL80211_STA_FLAG_TDLS_PEER, + NL80211_STA_FLAG_ASSOCIATED, + + /* keep last */ + __NL80211_STA_FLAG_AFTER_LAST, + NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1 }; /** @@ -2992,13 +2991,13 @@ enum nl80211_sta_flags { * @NUM_NL80211_P2P_PS_STATUS: number of values */ enum nl80211_sta_p2p_ps_status { - NL80211_P2P_PS_UNSUPPORTED = 0, - NL80211_P2P_PS_SUPPORTED, + NL80211_P2P_PS_UNSUPPORTED = 0, + NL80211_P2P_PS_SUPPORTED, - NUM_NL80211_P2P_PS_STATUS, + NUM_NL80211_P2P_PS_STATUS, }; -#define NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_TDLS_PEER +#define NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_TDLS_PEER /** * struct nl80211_sta_flag_update - station flags mask/set @@ -3008,8 +3007,8 @@ enum nl80211_sta_p2p_ps_status { * Both mask and set contain bits as per &enum nl80211_sta_flags. */ struct nl80211_sta_flag_update { - __u32 mask; - __u32 set; + __u32 mask; + __u32 set; } __attribute__((packed)); /** @@ -3019,9 +3018,9 @@ struct nl80211_sta_flag_update { * @NL80211_RATE_INFO_HE_GI_3_2: 3.2 usec */ enum nl80211_he_gi { - NL80211_RATE_INFO_HE_GI_0_8, - NL80211_RATE_INFO_HE_GI_1_6, - NL80211_RATE_INFO_HE_GI_3_2, + NL80211_RATE_INFO_HE_GI_0_8, + NL80211_RATE_INFO_HE_GI_1_6, + NL80211_RATE_INFO_HE_GI_3_2, }; /** @@ -3035,13 +3034,13 @@ enum nl80211_he_gi { * @NL80211_RATE_INFO_HE_RU_ALLOC_2x996: 2x996-tone RU allocation */ enum nl80211_he_ru_alloc { - NL80211_RATE_INFO_HE_RU_ALLOC_26, - NL80211_RATE_INFO_HE_RU_ALLOC_52, - NL80211_RATE_INFO_HE_RU_ALLOC_106, - NL80211_RATE_INFO_HE_RU_ALLOC_242, - NL80211_RATE_INFO_HE_RU_ALLOC_484, - NL80211_RATE_INFO_HE_RU_ALLOC_996, - NL80211_RATE_INFO_HE_RU_ALLOC_2x996, + NL80211_RATE_INFO_HE_RU_ALLOC_26, + NL80211_RATE_INFO_HE_RU_ALLOC_52, + NL80211_RATE_INFO_HE_RU_ALLOC_106, + NL80211_RATE_INFO_HE_RU_ALLOC_242, + NL80211_RATE_INFO_HE_RU_ALLOC_484, + NL80211_RATE_INFO_HE_RU_ALLOC_996, + NL80211_RATE_INFO_HE_RU_ALLOC_2x996, }; /** @@ -3068,46 +3067,46 @@ enum nl80211_he_ru_alloc { * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8) * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the - * same as 160 for purposes of the bitrates + * same as 160 for purposes of the bitrates * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate * @NL80211_RATE_INFO_10_MHZ_WIDTH: 10 MHz width - note that this is - * a legacy rate and will be reported as the actual bitrate, i.e. - * half the base (20 MHz) rate + * a legacy rate and will be reported as the actual bitrate, i.e. + * half the base (20 MHz) rate * @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is - * a legacy rate and will be reported as the actual bitrate, i.e. - * a quarter of the base (20 MHz) rate + * a legacy rate and will be reported as the actual bitrate, i.e. + * a quarter of the base (20 MHz) rate * @NL80211_RATE_INFO_HE_MCS: HE MCS index (u8, 0-11) * @NL80211_RATE_INFO_HE_NSS: HE NSS value (u8, 1-8) * @NL80211_RATE_INFO_HE_GI: HE guard interval identifier - * (u8, see &enum nl80211_he_gi) + * (u8, see &enum nl80211_he_gi) * @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1) * @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then - * non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc) + * non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc) * @__NL80211_RATE_INFO_AFTER_LAST: internal use */ enum nl80211_rate_info { - __NL80211_RATE_INFO_INVALID, - NL80211_RATE_INFO_BITRATE, - NL80211_RATE_INFO_MCS, - NL80211_RATE_INFO_40_MHZ_WIDTH, - NL80211_RATE_INFO_SHORT_GI, - NL80211_RATE_INFO_BITRATE32, - NL80211_RATE_INFO_VHT_MCS, - NL80211_RATE_INFO_VHT_NSS, - NL80211_RATE_INFO_80_MHZ_WIDTH, - NL80211_RATE_INFO_80P80_MHZ_WIDTH, - NL80211_RATE_INFO_160_MHZ_WIDTH, - NL80211_RATE_INFO_10_MHZ_WIDTH, - NL80211_RATE_INFO_5_MHZ_WIDTH, - NL80211_RATE_INFO_HE_MCS, - NL80211_RATE_INFO_HE_NSS, - NL80211_RATE_INFO_HE_GI, - NL80211_RATE_INFO_HE_DCM, - NL80211_RATE_INFO_HE_RU_ALLOC, - - /* keep last */ - __NL80211_RATE_INFO_AFTER_LAST, - NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1 + __NL80211_RATE_INFO_INVALID, + NL80211_RATE_INFO_BITRATE, + NL80211_RATE_INFO_MCS, + NL80211_RATE_INFO_40_MHZ_WIDTH, + NL80211_RATE_INFO_SHORT_GI, + NL80211_RATE_INFO_BITRATE32, + NL80211_RATE_INFO_VHT_MCS, + NL80211_RATE_INFO_VHT_NSS, + NL80211_RATE_INFO_80_MHZ_WIDTH, + NL80211_RATE_INFO_80P80_MHZ_WIDTH, + NL80211_RATE_INFO_160_MHZ_WIDTH, + NL80211_RATE_INFO_10_MHZ_WIDTH, + NL80211_RATE_INFO_5_MHZ_WIDTH, + NL80211_RATE_INFO_HE_MCS, + NL80211_RATE_INFO_HE_NSS, + NL80211_RATE_INFO_HE_GI, + NL80211_RATE_INFO_HE_DCM, + NL80211_RATE_INFO_HE_RU_ALLOC, + + /* keep last */ + __NL80211_RATE_INFO_AFTER_LAST, + NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1 }; /** @@ -3119,25 +3118,25 @@ enum nl80211_rate_info { * @__NL80211_STA_BSS_PARAM_INVALID: attribute number 0 is reserved * @NL80211_STA_BSS_PARAM_CTS_PROT: whether CTS protection is enabled (flag) * @NL80211_STA_BSS_PARAM_SHORT_PREAMBLE: whether short preamble is enabled - * (flag) + * (flag) * @NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME: whether short slot time is enabled - * (flag) + * (flag) * @NL80211_STA_BSS_PARAM_DTIM_PERIOD: DTIM period for beaconing (u8) * @NL80211_STA_BSS_PARAM_BEACON_INTERVAL: Beacon interval (u16) * @NL80211_STA_BSS_PARAM_MAX: highest sta_bss_param number currently defined * @__NL80211_STA_BSS_PARAM_AFTER_LAST: internal use */ enum nl80211_sta_bss_param { - __NL80211_STA_BSS_PARAM_INVALID, - NL80211_STA_BSS_PARAM_CTS_PROT, - NL80211_STA_BSS_PARAM_SHORT_PREAMBLE, - NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME, - NL80211_STA_BSS_PARAM_DTIM_PERIOD, - NL80211_STA_BSS_PARAM_BEACON_INTERVAL, - - /* keep last */ - __NL80211_STA_BSS_PARAM_AFTER_LAST, - NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1 + __NL80211_STA_BSS_PARAM_INVALID, + NL80211_STA_BSS_PARAM_CTS_PROT, + NL80211_STA_BSS_PARAM_SHORT_PREAMBLE, + NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME, + NL80211_STA_BSS_PARAM_DTIM_PERIOD, + NL80211_STA_BSS_PARAM_BEACON_INTERVAL, + + /* keep last */ + __NL80211_STA_BSS_PARAM_AFTER_LAST, + NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1 }; /** @@ -3149,30 +3148,30 @@ enum nl80211_sta_bss_param { * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) * @NL80211_STA_INFO_RX_BYTES: total received bytes (MPDU length) - * (u32, from this station) + * (u32, from this station) * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (MPDU length) - * (u32, to this station) + * (u32, to this station) * @NL80211_STA_INFO_RX_BYTES64: total received bytes (MPDU length) - * (u64, from this station) + * (u64, from this station) * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (MPDU length) - * (u64, to this station) + * (u64, to this station) * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute - * containing info as possible, see &enum nl80211_rate_info + * containing info as possible, see &enum nl80211_rate_info * @NL80211_STA_INFO_RX_PACKETS: total received packet (MSDUs and MMPDUs) - * (u32, from this station) + * (u32, from this station) * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (MSDUs and MMPDUs) - * (u32, to this station) + * (u32, to this station) * @NL80211_STA_INFO_TX_RETRIES: total retries (MPDUs) (u32, to this station) * @NL80211_STA_INFO_TX_FAILED: total failed packets (MPDUs) - * (u32, to this station) + * (u32, to this station) * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) * @NL80211_STA_INFO_LLID: the station's mesh LLID * @NL80211_STA_INFO_PLID: the station's mesh PLID * @NL80211_STA_INFO_PLINK_STATE: peer link state for the station - * (see %enum nl80211_plink_state) + * (see %enum nl80211_plink_state) * @NL80211_STA_INFO_RX_BITRATE: last unicast data frame rx rate, nested - * attribute, like NL80211_STA_INFO_TX_BITRATE. + * attribute, like NL80211_STA_INFO_TX_BITRATE. * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute * containing info as possible, see &enum nl80211_sta_bss_param * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected @@ -3182,126 +3181,125 @@ enum nl80211_sta_bss_param { * @NL80211_STA_INFO_LOCAL_PM: local mesh STA link-specific power mode * @NL80211_STA_INFO_PEER_PM: peer mesh STA link-specific power mode * @NL80211_STA_INFO_NONPEER_PM: neighbor mesh STA power save mode towards - * non-peer STA + * non-peer STA * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU - * Contains a nested array of signal strength attributes (u8, dBm) + * Contains a nested array of signal strength attributes (u8, dBm) * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average - * Same format as NL80211_STA_INFO_CHAIN_SIGNAL. + * Same format as NL80211_STA_INFO_CHAIN_SIGNAL. * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the - * 802.11 header (u32, kbps) + * 802.11 header (u32, kbps) * @NL80211_STA_INFO_RX_DROP_MISC: RX packets dropped for unspecified reasons - * (u64) + * (u64) * @NL80211_STA_INFO_BEACON_RX: number of beacons received from this peer (u64) * @NL80211_STA_INFO_BEACON_SIGNAL_AVG: signal strength average - * for beacons only (u8, dBm) + * for beacons only (u8, dBm) * @NL80211_STA_INFO_TID_STATS: per-TID statistics (see &enum nl80211_tid_stats) - * This is a nested attribute where each the inner attribute number is the - * TID+1 and the special TID 16 (i.e. value 17) is used for non-QoS frames; - * each one of those is again nested with &enum nl80211_tid_stats - * attributes carrying the actual values. + * This is a nested attribute where each the inner attribute number is the + * TID+1 and the special TID 16 (i.e. value 17) is used for non-QoS frames; + * each one of those is again nested with &enum nl80211_tid_stats + * attributes carrying the actual values. * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames - * received from the station (u64, usec) + * received from the station (u64, usec) * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm) * @NL80211_STA_INFO_ACK_SIGNAL_AVG: avg signal strength of ACK frames (s8, dBm) * @NL80211_STA_INFO_RX_MPDUS: total number of received packets (MPDUs) - * (u32, from this station) + * (u32, from this station) * @NL80211_STA_INFO_FCS_ERROR_COUNT: total number of packets (MPDUs) received - * with an FCS error (u32, from this station). This count may not include - * some packets with an FCS error due to TA corruption. Hence this counter - * might not be fully accurate. + * with an FCS error (u32, from this station). This count may not include + * some packets with an FCS error due to TA corruption. Hence this counter + * might not be fully accurate. * @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a - * mesh gate (u8, 0 or 1) + * mesh gate (u8, 0 or 1) * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames - * sent to the station (u64, usec) + * sent to the station (u64, usec) * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16) * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds) - * of STA's association + * of STA's association * @__NL80211_STA_INFO_AFTER_LAST: internal * @NL80211_STA_INFO_MAX: highest possible station info attribute */ enum nl80211_sta_info { - __NL80211_STA_INFO_INVALID, - NL80211_STA_INFO_INACTIVE_TIME, - NL80211_STA_INFO_RX_BYTES, - NL80211_STA_INFO_TX_BYTES, - NL80211_STA_INFO_LLID, - NL80211_STA_INFO_PLID, - NL80211_STA_INFO_PLINK_STATE, - NL80211_STA_INFO_SIGNAL, - NL80211_STA_INFO_TX_BITRATE, - NL80211_STA_INFO_RX_PACKETS, - NL80211_STA_INFO_TX_PACKETS, - NL80211_STA_INFO_TX_RETRIES, - NL80211_STA_INFO_TX_FAILED, - NL80211_STA_INFO_SIGNAL_AVG, - NL80211_STA_INFO_RX_BITRATE, - NL80211_STA_INFO_BSS_PARAM, - NL80211_STA_INFO_CONNECTED_TIME, - NL80211_STA_INFO_STA_FLAGS, - NL80211_STA_INFO_BEACON_LOSS, - NL80211_STA_INFO_T_OFFSET, - NL80211_STA_INFO_LOCAL_PM, - NL80211_STA_INFO_PEER_PM, - NL80211_STA_INFO_NONPEER_PM, - NL80211_STA_INFO_RX_BYTES64, - NL80211_STA_INFO_TX_BYTES64, - NL80211_STA_INFO_CHAIN_SIGNAL, - NL80211_STA_INFO_CHAIN_SIGNAL_AVG, - NL80211_STA_INFO_EXPECTED_THROUGHPUT, - NL80211_STA_INFO_RX_DROP_MISC, - NL80211_STA_INFO_BEACON_RX, - NL80211_STA_INFO_BEACON_SIGNAL_AVG, - NL80211_STA_INFO_TID_STATS, - NL80211_STA_INFO_RX_DURATION, - NL80211_STA_INFO_PAD, - NL80211_STA_INFO_ACK_SIGNAL, - NL80211_STA_INFO_ACK_SIGNAL_AVG, - NL80211_STA_INFO_RX_MPDUS, - NL80211_STA_INFO_FCS_ERROR_COUNT, - NL80211_STA_INFO_CONNECTED_TO_GATE, - NL80211_STA_INFO_TX_DURATION, - NL80211_STA_INFO_AIRTIME_WEIGHT, - NL80211_STA_INFO_AIRTIME_LINK_METRIC, - NL80211_STA_INFO_ASSOC_AT_BOOTTIME, - - /* keep last */ - __NL80211_STA_INFO_AFTER_LAST, - NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1 + __NL80211_STA_INFO_INVALID, + NL80211_STA_INFO_INACTIVE_TIME, + NL80211_STA_INFO_RX_BYTES, + NL80211_STA_INFO_TX_BYTES, + NL80211_STA_INFO_LLID, + NL80211_STA_INFO_PLID, + NL80211_STA_INFO_PLINK_STATE, + NL80211_STA_INFO_SIGNAL, + NL80211_STA_INFO_TX_BITRATE, + NL80211_STA_INFO_RX_PACKETS, + NL80211_STA_INFO_TX_PACKETS, + NL80211_STA_INFO_TX_RETRIES, + NL80211_STA_INFO_TX_FAILED, + NL80211_STA_INFO_SIGNAL_AVG, + NL80211_STA_INFO_RX_BITRATE, + NL80211_STA_INFO_BSS_PARAM, + NL80211_STA_INFO_CONNECTED_TIME, + NL80211_STA_INFO_STA_FLAGS, + NL80211_STA_INFO_BEACON_LOSS, + NL80211_STA_INFO_T_OFFSET, + NL80211_STA_INFO_LOCAL_PM, + NL80211_STA_INFO_PEER_PM, + NL80211_STA_INFO_NONPEER_PM, + NL80211_STA_INFO_RX_BYTES64, + NL80211_STA_INFO_TX_BYTES64, + NL80211_STA_INFO_CHAIN_SIGNAL, + NL80211_STA_INFO_CHAIN_SIGNAL_AVG, + NL80211_STA_INFO_EXPECTED_THROUGHPUT, + NL80211_STA_INFO_RX_DROP_MISC, + NL80211_STA_INFO_BEACON_RX, + NL80211_STA_INFO_BEACON_SIGNAL_AVG, + NL80211_STA_INFO_TID_STATS, + NL80211_STA_INFO_RX_DURATION, + NL80211_STA_INFO_PAD, + NL80211_STA_INFO_ACK_SIGNAL, + NL80211_STA_INFO_ACK_SIGNAL_AVG, + NL80211_STA_INFO_RX_MPDUS, + NL80211_STA_INFO_FCS_ERROR_COUNT, + NL80211_STA_INFO_CONNECTED_TO_GATE, + NL80211_STA_INFO_TX_DURATION, + NL80211_STA_INFO_AIRTIME_WEIGHT, + NL80211_STA_INFO_AIRTIME_LINK_METRIC, + NL80211_STA_INFO_ASSOC_AT_BOOTTIME, + + /* keep last */ + __NL80211_STA_INFO_AFTER_LAST, + NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1 }; /* we renamed this - stay compatible */ #define NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG NL80211_STA_INFO_ACK_SIGNAL_AVG - /** * enum nl80211_tid_stats - per TID statistics attributes * @__NL80211_TID_STATS_INVALID: attribute number 0 is reserved * @NL80211_TID_STATS_RX_MSDU: number of MSDUs received (u64) * @NL80211_TID_STATS_TX_MSDU: number of MSDUs transmitted (or - * attempted to transmit; u64) + * attempted to transmit; u64) * @NL80211_TID_STATS_TX_MSDU_RETRIES: number of retries for - * transmitted MSDUs (not counting the first attempt; u64) + * transmitted MSDUs (not counting the first attempt; u64) * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted - * MSDUs (u64) + * MSDUs (u64) * @NL80211_TID_STATS_PAD: attribute used for padding for 64-bit alignment * @NL80211_TID_STATS_TXQ_STATS: TXQ stats (nested attribute) * @NUM_NL80211_TID_STATS: number of attributes here * @NL80211_TID_STATS_MAX: highest numbered attribute here */ enum nl80211_tid_stats { - __NL80211_TID_STATS_INVALID, - NL80211_TID_STATS_RX_MSDU, - NL80211_TID_STATS_TX_MSDU, - NL80211_TID_STATS_TX_MSDU_RETRIES, - NL80211_TID_STATS_TX_MSDU_FAILED, - NL80211_TID_STATS_PAD, - NL80211_TID_STATS_TXQ_STATS, - - /* keep last */ - NUM_NL80211_TID_STATS, - NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1 + __NL80211_TID_STATS_INVALID, + NL80211_TID_STATS_RX_MSDU, + NL80211_TID_STATS_TX_MSDU, + NL80211_TID_STATS_TX_MSDU_RETRIES, + NL80211_TID_STATS_TX_MSDU_FAILED, + NL80211_TID_STATS_PAD, + NL80211_TID_STATS_TXQ_STATS, + + /* keep last */ + NUM_NL80211_TID_STATS, + NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1 }; /** @@ -3310,13 +3308,13 @@ enum nl80211_tid_stats { * @NUM_NL80211_TXQ_STATS: number of attributes here * @NL80211_TXQ_STATS_BACKLOG_BYTES: number of bytes currently backlogged * @NL80211_TXQ_STATS_BACKLOG_PACKETS: number of packets currently - * backlogged + * backlogged * @NL80211_TXQ_STATS_FLOWS: total number of new flows seen * @NL80211_TXQ_STATS_DROPS: total number of packet drops * @NL80211_TXQ_STATS_ECN_MARKS: total number of packet ECN marks * @NL80211_TXQ_STATS_OVERLIMIT: number of drops due to queue space overflow * @NL80211_TXQ_STATS_OVERMEMORY: number of drops due to memory limit overflow - * (only for per-phy stats) + * (only for per-phy stats) * @NL80211_TXQ_STATS_COLLISIONS: number of hash collisions * @NL80211_TXQ_STATS_TX_BYTES: total number of bytes dequeued from TXQ * @NL80211_TXQ_STATS_TX_PACKETS: total number of packets dequeued from TXQ @@ -3324,22 +3322,22 @@ enum nl80211_tid_stats { * @NL80211_TXQ_STATS_MAX: highest numbered attribute here */ enum nl80211_txq_stats { - __NL80211_TXQ_STATS_INVALID, - NL80211_TXQ_STATS_BACKLOG_BYTES, - NL80211_TXQ_STATS_BACKLOG_PACKETS, - NL80211_TXQ_STATS_FLOWS, - NL80211_TXQ_STATS_DROPS, - NL80211_TXQ_STATS_ECN_MARKS, - NL80211_TXQ_STATS_OVERLIMIT, - NL80211_TXQ_STATS_OVERMEMORY, - NL80211_TXQ_STATS_COLLISIONS, - NL80211_TXQ_STATS_TX_BYTES, - NL80211_TXQ_STATS_TX_PACKETS, - NL80211_TXQ_STATS_MAX_FLOWS, - - /* keep last */ - NUM_NL80211_TXQ_STATS, - NL80211_TXQ_STATS_MAX = NUM_NL80211_TXQ_STATS - 1 + __NL80211_TXQ_STATS_INVALID, + NL80211_TXQ_STATS_BACKLOG_BYTES, + NL80211_TXQ_STATS_BACKLOG_PACKETS, + NL80211_TXQ_STATS_FLOWS, + NL80211_TXQ_STATS_DROPS, + NL80211_TXQ_STATS_ECN_MARKS, + NL80211_TXQ_STATS_OVERLIMIT, + NL80211_TXQ_STATS_OVERMEMORY, + NL80211_TXQ_STATS_COLLISIONS, + NL80211_TXQ_STATS_TX_BYTES, + NL80211_TXQ_STATS_TX_PACKETS, + NL80211_TXQ_STATS_MAX_FLOWS, + + /* keep last */ + NUM_NL80211_TXQ_STATS, + NL80211_TXQ_STATS_MAX = NUM_NL80211_TXQ_STATS - 1 }; /** @@ -3352,11 +3350,11 @@ enum nl80211_txq_stats { * @NL80211_MPATH_FLAG_RESOLVED: the mesh path discovery process succeeded */ enum nl80211_mpath_flags { - NL80211_MPATH_FLAG_ACTIVE = 1<<0, - NL80211_MPATH_FLAG_RESOLVING = 1<<1, - NL80211_MPATH_FLAG_SN_VALID = 1<<2, - NL80211_MPATH_FLAG_FIXED = 1<<3, - NL80211_MPATH_FLAG_RESOLVED = 1<<4, + NL80211_MPATH_FLAG_ACTIVE = 1<<0, + NL80211_MPATH_FLAG_RESOLVING = 1<<1, + NL80211_MPATH_FLAG_SN_VALID = 1<<2, + NL80211_MPATH_FLAG_FIXED = 1<<3, + NL80211_MPATH_FLAG_RESOLVED = 1<<4, }; /** @@ -3371,30 +3369,30 @@ enum nl80211_mpath_flags { * @NL80211_MPATH_INFO_METRIC: metric (cost) of this mesh path * @NL80211_MPATH_INFO_EXPTIME: expiration time for the path, in msec from now * @NL80211_MPATH_INFO_FLAGS: mesh path flags, enumerated in - * &enum nl80211_mpath_flags; + * &enum nl80211_mpath_flags; * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination * @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number - * currently defined + * currently defined * @__NL80211_MPATH_INFO_AFTER_LAST: internal use */ enum nl80211_mpath_info { - __NL80211_MPATH_INFO_INVALID, - NL80211_MPATH_INFO_FRAME_QLEN, - NL80211_MPATH_INFO_SN, - NL80211_MPATH_INFO_METRIC, - NL80211_MPATH_INFO_EXPTIME, - NL80211_MPATH_INFO_FLAGS, - NL80211_MPATH_INFO_DISCOVERY_TIMEOUT, - NL80211_MPATH_INFO_DISCOVERY_RETRIES, - NL80211_MPATH_INFO_HOP_COUNT, - NL80211_MPATH_INFO_PATH_CHANGE, - - /* keep last */ - __NL80211_MPATH_INFO_AFTER_LAST, - NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1 + __NL80211_MPATH_INFO_INVALID, + NL80211_MPATH_INFO_FRAME_QLEN, + NL80211_MPATH_INFO_SN, + NL80211_MPATH_INFO_METRIC, + NL80211_MPATH_INFO_EXPTIME, + NL80211_MPATH_INFO_FLAGS, + NL80211_MPATH_INFO_DISCOVERY_TIMEOUT, + NL80211_MPATH_INFO_DISCOVERY_RETRIES, + NL80211_MPATH_INFO_HOP_COUNT, + NL80211_MPATH_INFO_PATH_CHANGE, + + /* keep last */ + __NL80211_MPATH_INFO_AFTER_LAST, + NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1 }; /** @@ -3416,65 +3414,65 @@ enum nl80211_mpath_info { * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use */ enum nl80211_band_iftype_attr { - __NL80211_BAND_IFTYPE_ATTR_INVALID, + __NL80211_BAND_IFTYPE_ATTR_INVALID, - NL80211_BAND_IFTYPE_ATTR_IFTYPES, - NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC, - NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, - NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, - NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, + NL80211_BAND_IFTYPE_ATTR_IFTYPES, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, + NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, - /* keep last */ - __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, - NL80211_BAND_IFTYPE_ATTR_MAX = __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1 + /* keep last */ + __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, + NL80211_BAND_IFTYPE_ATTR_MAX = __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1 }; /** * enum nl80211_band_attr - band attributes * @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved * @NL80211_BAND_ATTR_FREQS: supported frequencies in this band, - * an array of nested frequency attributes + * an array of nested frequency attributes * @NL80211_BAND_ATTR_RATES: supported bitrates in this band, - * an array of nested bitrate attributes + * an array of nested bitrate attributes * @NL80211_BAND_ATTR_HT_MCS_SET: 16-byte attribute containing the MCS set as - * defined in 802.11n + * defined in 802.11n * @NL80211_BAND_ATTR_HT_CAPA: HT capabilities, as in the HT information IE * @NL80211_BAND_ATTR_HT_AMPDU_FACTOR: A-MPDU factor, as in 11n * @NL80211_BAND_ATTR_HT_AMPDU_DENSITY: A-MPDU density, as in 11n * @NL80211_BAND_ATTR_VHT_MCS_SET: 32-byte attribute containing the MCS set as - * defined in 802.11ac + * defined in 802.11ac * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using - * attributes from &enum nl80211_band_iftype_attr + * attributes from &enum nl80211_band_iftype_attr * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz - * channel(s) that are allowed to be used for EDMG transmissions. - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. + * channel(s) that are allowed to be used for EDMG transmissions. + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes - * the allowed channel bandwidth configurations. - * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. + * the allowed channel bandwidth configurations. + * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined * @__NL80211_BAND_ATTR_AFTER_LAST: internal use */ enum nl80211_band_attr { - __NL80211_BAND_ATTR_INVALID, - NL80211_BAND_ATTR_FREQS, - NL80211_BAND_ATTR_RATES, + __NL80211_BAND_ATTR_INVALID, + NL80211_BAND_ATTR_FREQS, + NL80211_BAND_ATTR_RATES, - NL80211_BAND_ATTR_HT_MCS_SET, - NL80211_BAND_ATTR_HT_CAPA, - NL80211_BAND_ATTR_HT_AMPDU_FACTOR, - NL80211_BAND_ATTR_HT_AMPDU_DENSITY, + NL80211_BAND_ATTR_HT_MCS_SET, + NL80211_BAND_ATTR_HT_CAPA, + NL80211_BAND_ATTR_HT_AMPDU_FACTOR, + NL80211_BAND_ATTR_HT_AMPDU_DENSITY, - NL80211_BAND_ATTR_VHT_MCS_SET, - NL80211_BAND_ATTR_VHT_CAPA, - NL80211_BAND_ATTR_IFTYPE_DATA, + NL80211_BAND_ATTR_VHT_MCS_SET, + NL80211_BAND_ATTR_VHT_CAPA, + NL80211_BAND_ATTR_IFTYPE_DATA, - NL80211_BAND_ATTR_EDMG_CHANNELS, - NL80211_BAND_ATTR_EDMG_BW_CONFIG, + NL80211_BAND_ATTR_EDMG_CHANNELS, + NL80211_BAND_ATTR_EDMG_BW_CONFIG, - /* keep last */ - __NL80211_BAND_ATTR_AFTER_LAST, - NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 + /* keep last */ + __NL80211_BAND_ATTR_AFTER_LAST, + NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 }; #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA @@ -3491,15 +3489,15 @@ enum nl80211_band_attr { * @__NL80211_WMMR_LAST: Internal use. */ enum nl80211_wmm_rule { - __NL80211_WMMR_INVALID, - NL80211_WMMR_CW_MIN, - NL80211_WMMR_CW_MAX, - NL80211_WMMR_AIFSN, - NL80211_WMMR_TXOP, - - /* keep last */ - __NL80211_WMMR_LAST, - NL80211_WMMR_MAX = __NL80211_WMMR_LAST - 1 + __NL80211_WMMR_INVALID, + NL80211_WMMR_CW_MIN, + NL80211_WMMR_CW_MAX, + NL80211_WMMR_AIFSN, + NL80211_WMMR_TXOP, + + /* keep last */ + __NL80211_WMMR_LAST, + NL80211_WMMR_MAX = __NL80211_WMMR_LAST - 1 }; /** @@ -3507,55 +3505,55 @@ enum nl80211_wmm_rule { * @__NL80211_FREQUENCY_ATTR_INVALID: attribute number 0 is reserved * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz * @NL80211_FREQUENCY_ATTR_DISABLED: Channel is disabled in current - * regulatory domain. + * regulatory domain. * @NL80211_FREQUENCY_ATTR_NO_IR: no mechanisms that initiate radiation - * are permitted on this channel, this includes sending probe - * requests, or modes of operation that require beaconing. + * are permitted on this channel, this includes sending probe + * requests, or modes of operation that require beaconing. * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory - * on this channel in current regulatory domain. + * on this channel in current regulatory domain. * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm - * (100 * dBm). + * (100 * dBm). * @NL80211_FREQUENCY_ATTR_DFS_STATE: current state for DFS - * (enum nl80211_dfs_state) + * (enum nl80211_dfs_state) * @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long - * this channel is in this DFS state. + * this channel is in this DFS state. * @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this - * channel as the control channel + * channel as the control channel * @NL80211_FREQUENCY_ATTR_NO_HT40_PLUS: HT40+ isn't possible with this - * channel as the control channel + * channel as the control channel * @NL80211_FREQUENCY_ATTR_NO_80MHZ: any 80 MHz channel using this channel - * as the primary or any of the secondary channels isn't possible, - * this includes 80+80 channels + * as the primary or any of the secondary channels isn't possible, + * this includes 80+80 channels * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel - * using this channel as the primary or any of the secondary channels - * isn't possible + * using this channel as the primary or any of the secondary channels + * isn't possible * @NL80211_FREQUENCY_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds. * @NL80211_FREQUENCY_ATTR_INDOOR_ONLY: Only indoor use is permitted on this - * channel. A channel that has the INDOOR_ONLY attribute can only be - * used when there is a clear assessment that the device is operating in - * an indoor surroundings, i.e., it is connected to AC power (and not - * through portable DC inverters) or is under the control of a master - * that is acting as an AP and is connected to AC power. + * channel. A channel that has the INDOOR_ONLY attribute can only be + * used when there is a clear assessment that the device is operating in + * an indoor surroundings, i.e., it is connected to AC power (and not + * through portable DC inverters) or is under the control of a master + * that is acting as an AP and is connected to AC power. * @NL80211_FREQUENCY_ATTR_IR_CONCURRENT: IR operation is allowed on this - * channel if it's connected concurrently to a BSS on the same channel on - * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz - * band), and IEEE80211_CHAN_RADAR is not set. Instantiating a GO or TDLS - * off-channel on a channel that has the IR_CONCURRENT attribute set can be - * done when there is a clear assessment that the device is operating under - * the guidance of an authorized master, i.e., setting up a GO or TDLS - * off-channel while the device is also connected to an AP with DFS and - * radar detection on the UNII band (it is up to user-space, i.e., - * wpa_supplicant to perform the required verifications). Using this - * attribute for IR is disallowed for master interfaces (IBSS, AP). + * channel if it's connected concurrently to a BSS on the same channel on + * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz + * band), and IEEE80211_CHAN_RADAR is not set. Instantiating a GO or TDLS + * off-channel on a channel that has the IR_CONCURRENT attribute set can be + * done when there is a clear assessment that the device is operating under + * the guidance of an authorized master, i.e., setting up a GO or TDLS + * off-channel while the device is also connected to an AP with DFS and + * radar detection on the UNII band (it is up to user-space, i.e., + * wpa_supplicant to perform the required verifications). Using this + * attribute for IR is disallowed for master interfaces (IBSS, AP). * @NL80211_FREQUENCY_ATTR_NO_20MHZ: 20 MHz operation is not allowed - * on this channel in current regulatory domain. + * on this channel in current regulatory domain. * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed - * on this channel in current regulatory domain. + * on this channel in current regulatory domain. * @NL80211_FREQUENCY_ATTR_WMM: this channel has wmm limitations. - * This is a nested attribute that contains the wmm limitation per AC. - * (see &enum nl80211_wmm_rule) + * This is a nested attribute that contains the wmm limitation per AC. + * (see &enum nl80211_wmm_rule) * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number - * currently defined + * currently defined * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use * * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122 @@ -3564,196 +3562,196 @@ enum nl80211_wmm_rule { * NL80211_FREQUENCY_ATTR_IR_CONCURRENT. */ enum nl80211_frequency_attr { - __NL80211_FREQUENCY_ATTR_INVALID, - NL80211_FREQUENCY_ATTR_FREQ, - NL80211_FREQUENCY_ATTR_DISABLED, - NL80211_FREQUENCY_ATTR_NO_IR, - __NL80211_FREQUENCY_ATTR_NO_IBSS, - NL80211_FREQUENCY_ATTR_RADAR, - NL80211_FREQUENCY_ATTR_MAX_TX_POWER, - NL80211_FREQUENCY_ATTR_DFS_STATE, - NL80211_FREQUENCY_ATTR_DFS_TIME, - NL80211_FREQUENCY_ATTR_NO_HT40_MINUS, - NL80211_FREQUENCY_ATTR_NO_HT40_PLUS, - NL80211_FREQUENCY_ATTR_NO_80MHZ, - NL80211_FREQUENCY_ATTR_NO_160MHZ, - NL80211_FREQUENCY_ATTR_DFS_CAC_TIME, - NL80211_FREQUENCY_ATTR_INDOOR_ONLY, - NL80211_FREQUENCY_ATTR_IR_CONCURRENT, - NL80211_FREQUENCY_ATTR_NO_20MHZ, - NL80211_FREQUENCY_ATTR_NO_10MHZ, - NL80211_FREQUENCY_ATTR_WMM, - - /* keep last */ - __NL80211_FREQUENCY_ATTR_AFTER_LAST, - NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1 + __NL80211_FREQUENCY_ATTR_INVALID, + NL80211_FREQUENCY_ATTR_FREQ, + NL80211_FREQUENCY_ATTR_DISABLED, + NL80211_FREQUENCY_ATTR_NO_IR, + __NL80211_FREQUENCY_ATTR_NO_IBSS, + NL80211_FREQUENCY_ATTR_RADAR, + NL80211_FREQUENCY_ATTR_MAX_TX_POWER, + NL80211_FREQUENCY_ATTR_DFS_STATE, + NL80211_FREQUENCY_ATTR_DFS_TIME, + NL80211_FREQUENCY_ATTR_NO_HT40_MINUS, + NL80211_FREQUENCY_ATTR_NO_HT40_PLUS, + NL80211_FREQUENCY_ATTR_NO_80MHZ, + NL80211_FREQUENCY_ATTR_NO_160MHZ, + NL80211_FREQUENCY_ATTR_DFS_CAC_TIME, + NL80211_FREQUENCY_ATTR_INDOOR_ONLY, + NL80211_FREQUENCY_ATTR_IR_CONCURRENT, + NL80211_FREQUENCY_ATTR_NO_20MHZ, + NL80211_FREQUENCY_ATTR_NO_10MHZ, + NL80211_FREQUENCY_ATTR_WMM, + + /* keep last */ + __NL80211_FREQUENCY_ATTR_AFTER_LAST, + NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1 }; #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER -#define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR -#define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR -#define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR +#define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR +#define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR +#define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR #define NL80211_FREQUENCY_ATTR_GO_CONCURRENT \ - NL80211_FREQUENCY_ATTR_IR_CONCURRENT + NL80211_FREQUENCY_ATTR_IR_CONCURRENT /** * enum nl80211_bitrate_attr - bitrate attributes * @__NL80211_BITRATE_ATTR_INVALID: attribute number 0 is reserved * @NL80211_BITRATE_ATTR_RATE: Bitrate in units of 100 kbps * @NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE: Short preamble supported - * in 2.4 GHz band. + * in 2.4 GHz band. * @NL80211_BITRATE_ATTR_MAX: highest bitrate attribute number - * currently defined + * currently defined * @__NL80211_BITRATE_ATTR_AFTER_LAST: internal use */ enum nl80211_bitrate_attr { - __NL80211_BITRATE_ATTR_INVALID, - NL80211_BITRATE_ATTR_RATE, - NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE, + __NL80211_BITRATE_ATTR_INVALID, + NL80211_BITRATE_ATTR_RATE, + NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE, - /* keep last */ - __NL80211_BITRATE_ATTR_AFTER_LAST, - NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1 + /* keep last */ + __NL80211_BITRATE_ATTR_AFTER_LAST, + NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1 }; /** * enum nl80211_initiator - Indicates the initiator of a reg domain request * @NL80211_REGDOM_SET_BY_CORE: Core queried CRDA for a dynamic world - * regulatory domain. + * regulatory domain. * @NL80211_REGDOM_SET_BY_USER: User asked the wireless core to set the - * regulatory domain. + * regulatory domain. * @NL80211_REGDOM_SET_BY_DRIVER: a wireless drivers has hinted to the - * wireless core it thinks its knows the regulatory domain we should be in. + * wireless core it thinks its knows the regulatory domain we should be in. * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an - * 802.11 country information element with regulatory information it - * thinks we should consider. cfg80211 only processes the country - * code from the IE, and relies on the regulatory domain information - * structure passed by userspace (CRDA) from our wireless-regdb. - * If a channel is enabled but the country code indicates it should - * be disabled we disable the channel and re-enable it upon disassociation. + * 802.11 country information element with regulatory information it + * thinks we should consider. cfg80211 only processes the country + * code from the IE, and relies on the regulatory domain information + * structure passed by userspace (CRDA) from our wireless-regdb. + * If a channel is enabled but the country code indicates it should + * be disabled we disable the channel and re-enable it upon disassociation. */ enum nl80211_reg_initiator { - NL80211_REGDOM_SET_BY_CORE, - NL80211_REGDOM_SET_BY_USER, - NL80211_REGDOM_SET_BY_DRIVER, - NL80211_REGDOM_SET_BY_COUNTRY_IE, + NL80211_REGDOM_SET_BY_CORE, + NL80211_REGDOM_SET_BY_USER, + NL80211_REGDOM_SET_BY_DRIVER, + NL80211_REGDOM_SET_BY_COUNTRY_IE, }; /** * enum nl80211_reg_type - specifies the type of regulatory domain * @NL80211_REGDOM_TYPE_COUNTRY: the regulatory domain set is one that pertains - * to a specific country. When this is set you can count on the - * ISO / IEC 3166 alpha2 country code being valid. + * to a specific country. When this is set you can count on the + * ISO / IEC 3166 alpha2 country code being valid. * @NL80211_REGDOM_TYPE_WORLD: the regulatory set domain is the world regulatory - * domain. + * domain. * @NL80211_REGDOM_TYPE_CUSTOM_WORLD: the regulatory domain set is a custom - * driver specific world regulatory domain. These do not apply system-wide - * and are only applicable to the individual devices which have requested - * them to be applied. + * driver specific world regulatory domain. These do not apply system-wide + * and are only applicable to the individual devices which have requested + * them to be applied. * @NL80211_REGDOM_TYPE_INTERSECTION: the regulatory domain set is the product - * of an intersection between two regulatory domains -- the previously - * set regulatory domain on the system and the last accepted regulatory - * domain request to be processed. + * of an intersection between two regulatory domains -- the previously + * set regulatory domain on the system and the last accepted regulatory + * domain request to be processed. */ enum nl80211_reg_type { - NL80211_REGDOM_TYPE_COUNTRY, - NL80211_REGDOM_TYPE_WORLD, - NL80211_REGDOM_TYPE_CUSTOM_WORLD, - NL80211_REGDOM_TYPE_INTERSECTION, + NL80211_REGDOM_TYPE_COUNTRY, + NL80211_REGDOM_TYPE_WORLD, + NL80211_REGDOM_TYPE_CUSTOM_WORLD, + NL80211_REGDOM_TYPE_INTERSECTION, }; /** * enum nl80211_reg_rule_attr - regulatory rule attributes * @__NL80211_REG_RULE_ATTR_INVALID: attribute number 0 is reserved * @NL80211_ATTR_REG_RULE_FLAGS: a set of flags which specify additional - * considerations for a given frequency range. These are the - * &enum nl80211_reg_rule_flags. + * considerations for a given frequency range. These are the + * &enum nl80211_reg_rule_flags. * @NL80211_ATTR_FREQ_RANGE_START: starting frequencry for the regulatory - * rule in KHz. This is not a center of frequency but an actual regulatory - * band edge. + * rule in KHz. This is not a center of frequency but an actual regulatory + * band edge. * @NL80211_ATTR_FREQ_RANGE_END: ending frequency for the regulatory rule - * in KHz. This is not a center a frequency but an actual regulatory - * band edge. + * in KHz. This is not a center a frequency but an actual regulatory + * band edge. * @NL80211_ATTR_FREQ_RANGE_MAX_BW: maximum allowed bandwidth for this - * frequency range, in KHz. + * frequency range, in KHz. * @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN: the maximum allowed antenna gain - * for a given frequency range. The value is in mBi (100 * dBi). - * If you don't have one then don't send this. + * for a given frequency range. The value is in mBi (100 * dBi). + * If you don't have one then don't send this. * @NL80211_ATTR_POWER_RULE_MAX_EIRP: the maximum allowed EIRP for - * a given frequency range. The value is in mBm (100 * dBm). + * a given frequency range. The value is in mBm (100 * dBm). * @NL80211_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds. - * If not present or 0 default CAC time will be used. + * If not present or 0 default CAC time will be used. * @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number - * currently defined + * currently defined * @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use */ enum nl80211_reg_rule_attr { - __NL80211_REG_RULE_ATTR_INVALID, - NL80211_ATTR_REG_RULE_FLAGS, + __NL80211_REG_RULE_ATTR_INVALID, + NL80211_ATTR_REG_RULE_FLAGS, - NL80211_ATTR_FREQ_RANGE_START, - NL80211_ATTR_FREQ_RANGE_END, - NL80211_ATTR_FREQ_RANGE_MAX_BW, + NL80211_ATTR_FREQ_RANGE_START, + NL80211_ATTR_FREQ_RANGE_END, + NL80211_ATTR_FREQ_RANGE_MAX_BW, - NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN, - NL80211_ATTR_POWER_RULE_MAX_EIRP, + NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN, + NL80211_ATTR_POWER_RULE_MAX_EIRP, - NL80211_ATTR_DFS_CAC_TIME, + NL80211_ATTR_DFS_CAC_TIME, - /* keep last */ - __NL80211_REG_RULE_ATTR_AFTER_LAST, - NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 + /* keep last */ + __NL80211_REG_RULE_ATTR_AFTER_LAST, + NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 }; /** * enum nl80211_sched_scan_match_attr - scheduled scan match attributes * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching, - * only report BSS with matching SSID. - * (This cannot be used together with BSSID.) + * only report BSS with matching SSID. + * (This cannot be used together with BSSID.) * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a - * BSS in scan results. Filtering is turned off if not specified. Note that - * if this attribute is in a match set of its own, then it is treated as - * the default value for all matchsets with an SSID, rather than being a - * matchset of its own without an RSSI filter. This is due to problems with - * how this API was implemented in the past. Also, due to the same problem, - * the only way to create a matchset with only an RSSI filter (with this - * attribute) is if there's only a single matchset with the RSSI attribute. + * BSS in scan results. Filtering is turned off if not specified. Note that + * if this attribute is in a match set of its own, then it is treated as + * the default value for all matchsets with an SSID, rather than being a + * matchset of its own without an RSSI filter. This is due to problems with + * how this API was implemented in the past. Also, due to the same problem, + * the only way to create a matchset with only an RSSI filter (with this + * attribute) is if there's only a single matchset with the RSSI attribute. * @NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI: Flag indicating whether - * %NL80211_SCHED_SCAN_MATCH_ATTR_RSSI to be used as absolute RSSI or - * relative to current bss's RSSI. + * %NL80211_SCHED_SCAN_MATCH_ATTR_RSSI to be used as absolute RSSI or + * relative to current bss's RSSI. * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST: When present the RSSI level for - * BSS-es in the specified band is to be adjusted before doing - * RSSI-based BSS selection. The attribute value is a packed structure - * value as specified by &struct nl80211_bss_select_rssi_adjust. + * BSS-es in the specified band is to be adjusted before doing + * RSSI-based BSS selection. The attribute value is a packed structure + * value as specified by &struct nl80211_bss_select_rssi_adjust. * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching - * (this cannot be used together with SSID). + * (this cannot be used together with SSID). * @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the - * band specific minimum rssi thresholds for the bands defined in - * enum nl80211_band. The minimum rssi threshold value(s32) specific to a - * band shall be encapsulated in attribute with type value equals to one - * of the NL80211_BAND_* defined in enum nl80211_band. For example, the - * minimum rssi threshold value for 2.4GHZ band shall be encapsulated - * within an attribute of type NL80211_BAND_2GHZ. And one or more of such - * attributes will be nested within this attribute. + * band specific minimum rssi thresholds for the bands defined in + * enum nl80211_band. The minimum rssi threshold value(s32) specific to a + * band shall be encapsulated in attribute with type value equals to one + * of the NL80211_BAND_* defined in enum nl80211_band. For example, the + * minimum rssi threshold value for 2.4GHZ band shall be encapsulated + * within an attribute of type NL80211_BAND_2GHZ. And one or more of such + * attributes will be nested within this attribute. * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter - * attribute number currently defined + * attribute number currently defined * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use */ enum nl80211_sched_scan_match_attr { - __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, - - NL80211_SCHED_SCAN_MATCH_ATTR_SSID, - NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, - NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, - NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, - NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, - NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI, - - /* keep last */ - __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, - NL80211_SCHED_SCAN_MATCH_ATTR_MAX = - __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1 + __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, + + NL80211_SCHED_SCAN_MATCH_ATTR_SSID, + NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, + NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, + NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, + NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, + NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI, + + /* keep last */ + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, + NL80211_SCHED_SCAN_MATCH_ATTR_MAX = + __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1 }; /* only for backward compatibility */ @@ -3770,11 +3768,11 @@ enum nl80211_sched_scan_match_attr { * @NL80211_RRF_PTP_ONLY: this is only for Point To Point links * @NL80211_RRF_PTMP_ONLY: this is only for Point To Multi Point links * @NL80211_RRF_NO_IR: no mechanisms that initiate radiation are allowed, - * this includes probe requests or modes of operation that require - * beaconing. + * this includes probe requests or modes of operation that require + * beaconing. * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated - * base on contiguous rules and wider channels will be allowed to cross - * multiple contiguous/overlapping frequency ranges. + * base on contiguous rules and wider channels will be allowed to cross + * multiple contiguous/overlapping frequency ranges. * @NL80211_RRF_IR_CONCURRENT: See %NL80211_FREQUENCY_ATTR_IR_CONCURRENT * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation @@ -3782,32 +3780,32 @@ enum nl80211_sched_scan_match_attr { * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed */ enum nl80211_reg_rule_flags { - NL80211_RRF_NO_OFDM = 1<<0, - NL80211_RRF_NO_CCK = 1<<1, - NL80211_RRF_NO_INDOOR = 1<<2, - NL80211_RRF_NO_OUTDOOR = 1<<3, - NL80211_RRF_DFS = 1<<4, - NL80211_RRF_PTP_ONLY = 1<<5, - NL80211_RRF_PTMP_ONLY = 1<<6, - NL80211_RRF_NO_IR = 1<<7, - __NL80211_RRF_NO_IBSS = 1<<8, - NL80211_RRF_AUTO_BW = 1<<11, - NL80211_RRF_IR_CONCURRENT = 1<<12, - NL80211_RRF_NO_HT40MINUS = 1<<13, - NL80211_RRF_NO_HT40PLUS = 1<<14, - NL80211_RRF_NO_80MHZ = 1<<15, - NL80211_RRF_NO_160MHZ = 1<<16, + NL80211_RRF_NO_OFDM = 1<<0, + NL80211_RRF_NO_CCK = 1<<1, + NL80211_RRF_NO_INDOOR = 1<<2, + NL80211_RRF_NO_OUTDOOR = 1<<3, + NL80211_RRF_DFS = 1<<4, + NL80211_RRF_PTP_ONLY = 1<<5, + NL80211_RRF_PTMP_ONLY = 1<<6, + NL80211_RRF_NO_IR = 1<<7, + __NL80211_RRF_NO_IBSS = 1<<8, + NL80211_RRF_AUTO_BW = 1<<11, + NL80211_RRF_IR_CONCURRENT = 1<<12, + NL80211_RRF_NO_HT40MINUS = 1<<13, + NL80211_RRF_NO_HT40PLUS = 1<<14, + NL80211_RRF_NO_80MHZ = 1<<15, + NL80211_RRF_NO_160MHZ = 1<<16, }; -#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR -#define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR -#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR -#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\ - NL80211_RRF_NO_HT40PLUS) -#define NL80211_RRF_GO_CONCURRENT NL80211_RRF_IR_CONCURRENT +#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR +#define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR +#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR +#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\ + NL80211_RRF_NO_HT40PLUS) +#define NL80211_RRF_GO_CONCURRENT NL80211_RRF_IR_CONCURRENT /* For backport compatibility with older userspace */ -#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS) +#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS) /** * enum nl80211_dfs_regions - regulatory DFS regions @@ -3818,33 +3816,33 @@ enum nl80211_reg_rule_flags { * @NL80211_DFS_JP: Country follows DFS master rules from JP/MKK/Telec */ enum nl80211_dfs_regions { - NL80211_DFS_UNSET = 0, - NL80211_DFS_FCC = 1, - NL80211_DFS_ETSI = 2, - NL80211_DFS_JP = 3, + NL80211_DFS_UNSET = 0, + NL80211_DFS_FCC = 1, + NL80211_DFS_ETSI = 2, + NL80211_DFS_JP = 3, }; /** * enum nl80211_user_reg_hint_type - type of user regulatory hint * * @NL80211_USER_REG_HINT_USER: a user sent the hint. This is always - * assumed if the attribute is not set. + * assumed if the attribute is not set. * @NL80211_USER_REG_HINT_CELL_BASE: the hint comes from a cellular - * base station. Device drivers that have been tested to work - * properly to support this type of hint can enable these hints - * by setting the NL80211_FEATURE_CELL_BASE_REG_HINTS feature - * capability on the struct wiphy. The wireless core will - * ignore all cell base station hints until at least one device - * present has been registered with the wireless core that - * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a - * supported feature. + * base station. Device drivers that have been tested to work + * properly to support this type of hint can enable these hints + * by setting the NL80211_FEATURE_CELL_BASE_REG_HINTS feature + * capability on the struct wiphy. The wireless core will + * ignore all cell base station hints until at least one device + * present has been registered with the wireless core that + * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a + * supported feature. * @NL80211_USER_REG_HINT_INDOOR: a user sent an hint indicating that the - * platform is operating in an indoor environment. + * platform is operating in an indoor environment. */ enum nl80211_user_reg_hint_type { - NL80211_USER_REG_HINT_USER = 0, - NL80211_USER_REG_HINT_CELL_BASE = 1, - NL80211_USER_REG_HINT_INDOOR = 2, + NL80211_USER_REG_HINT_USER = 0, + NL80211_USER_REG_HINT_CELL_BASE = 1, + NL80211_USER_REG_HINT_INDOOR = 2, }; /** @@ -3858,49 +3856,49 @@ enum nl80211_user_reg_hint_type { * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used * @NL80211_SURVEY_INFO_TIME: amount of time (in ms) that the radio - * was turned on (on channel or globally) + * was turned on (on channel or globally) * @NL80211_SURVEY_INFO_TIME_BUSY: amount of the time the primary - * channel was sensed busy (either due to activity or energy detect) + * channel was sensed busy (either due to activity or energy detect) * @NL80211_SURVEY_INFO_TIME_EXT_BUSY: amount of time the extension - * channel was sensed busy + * channel was sensed busy * @NL80211_SURVEY_INFO_TIME_RX: amount of time the radio spent - * receiving data (on channel or globally) + * receiving data (on channel or globally) * @NL80211_SURVEY_INFO_TIME_TX: amount of time the radio spent - * transmitting data (on channel or globally) + * transmitting data (on channel or globally) * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan - * (on this channel or globally) + * (on this channel or globally) * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent - * receiving frames destined to the local BSS + * receiving frames destined to the local BSS * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number - * currently defined + * currently defined * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use */ enum nl80211_survey_info { - __NL80211_SURVEY_INFO_INVALID, - NL80211_SURVEY_INFO_FREQUENCY, - NL80211_SURVEY_INFO_NOISE, - NL80211_SURVEY_INFO_IN_USE, - NL80211_SURVEY_INFO_TIME, - NL80211_SURVEY_INFO_TIME_BUSY, - NL80211_SURVEY_INFO_TIME_EXT_BUSY, - NL80211_SURVEY_INFO_TIME_RX, - NL80211_SURVEY_INFO_TIME_TX, - NL80211_SURVEY_INFO_TIME_SCAN, - NL80211_SURVEY_INFO_PAD, - NL80211_SURVEY_INFO_TIME_BSS_RX, - - /* keep last */ - __NL80211_SURVEY_INFO_AFTER_LAST, - NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1 + __NL80211_SURVEY_INFO_INVALID, + NL80211_SURVEY_INFO_FREQUENCY, + NL80211_SURVEY_INFO_NOISE, + NL80211_SURVEY_INFO_IN_USE, + NL80211_SURVEY_INFO_TIME, + NL80211_SURVEY_INFO_TIME_BUSY, + NL80211_SURVEY_INFO_TIME_EXT_BUSY, + NL80211_SURVEY_INFO_TIME_RX, + NL80211_SURVEY_INFO_TIME_TX, + NL80211_SURVEY_INFO_TIME_SCAN, + NL80211_SURVEY_INFO_PAD, + NL80211_SURVEY_INFO_TIME_BSS_RX, + + /* keep last */ + __NL80211_SURVEY_INFO_AFTER_LAST, + NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1 }; /* keep old names for compatibility */ -#define NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_TIME -#define NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_TIME_BUSY -#define NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_EXT_BUSY -#define NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_TIME_RX -#define NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_TIME_TX +#define NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_TIME +#define NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_TIME_BUSY +#define NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_EXT_BUSY +#define NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_TIME_RX +#define NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_TIME_TX /** * enum nl80211_mntr_flags - monitor configuration flags @@ -3914,53 +3912,53 @@ enum nl80211_survey_info { * @NL80211_MNTR_FLAG_CONTROL: pass control frames * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering * @NL80211_MNTR_FLAG_COOK_FRAMES: report frames after processing. - * overrides all other flags. + * overrides all other flags. * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address - * and ACK incoming unicast packets. + * and ACK incoming unicast packets. * * @__NL80211_MNTR_FLAG_AFTER_LAST: internal use * @NL80211_MNTR_FLAG_MAX: highest possible monitor flag */ enum nl80211_mntr_flags { - __NL80211_MNTR_FLAG_INVALID, - NL80211_MNTR_FLAG_FCSFAIL, - NL80211_MNTR_FLAG_PLCPFAIL, - NL80211_MNTR_FLAG_CONTROL, - NL80211_MNTR_FLAG_OTHER_BSS, - NL80211_MNTR_FLAG_COOK_FRAMES, - NL80211_MNTR_FLAG_ACTIVE, - - /* keep last */ - __NL80211_MNTR_FLAG_AFTER_LAST, - NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1 + __NL80211_MNTR_FLAG_INVALID, + NL80211_MNTR_FLAG_FCSFAIL, + NL80211_MNTR_FLAG_PLCPFAIL, + NL80211_MNTR_FLAG_CONTROL, + NL80211_MNTR_FLAG_OTHER_BSS, + NL80211_MNTR_FLAG_COOK_FRAMES, + NL80211_MNTR_FLAG_ACTIVE, + + /* keep last */ + __NL80211_MNTR_FLAG_AFTER_LAST, + NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1 }; /** * enum nl80211_mesh_power_mode - mesh power save modes * * @NL80211_MESH_POWER_UNKNOWN: The mesh power mode of the mesh STA is - * not known or has not been set yet. + * not known or has not been set yet. * @NL80211_MESH_POWER_ACTIVE: Active mesh power mode. The mesh STA is - * in Awake state all the time. + * in Awake state all the time. * @NL80211_MESH_POWER_LIGHT_SLEEP: Light sleep mode. The mesh STA will - * alternate between Active and Doze states, but will wake up for - * neighbor's beacons. + * alternate between Active and Doze states, but will wake up for + * neighbor's beacons. * @NL80211_MESH_POWER_DEEP_SLEEP: Deep sleep mode. The mesh STA will - * alternate between Active and Doze states, but may not wake up - * for neighbor's beacons. + * alternate between Active and Doze states, but may not wake up + * for neighbor's beacons. * * @__NL80211_MESH_POWER_AFTER_LAST - internal use * @NL80211_MESH_POWER_MAX - highest possible power save level */ enum nl80211_mesh_power_mode { - NL80211_MESH_POWER_UNKNOWN, - NL80211_MESH_POWER_ACTIVE, - NL80211_MESH_POWER_LIGHT_SLEEP, - NL80211_MESH_POWER_DEEP_SLEEP, + NL80211_MESH_POWER_UNKNOWN, + NL80211_MESH_POWER_ACTIVE, + NL80211_MESH_POWER_LIGHT_SLEEP, + NL80211_MESH_POWER_DEEP_SLEEP, - __NL80211_MESH_POWER_AFTER_LAST, - NL80211_MESH_POWER_MAX = __NL80211_MESH_POWER_AFTER_LAST - 1 + __NL80211_MESH_POWER_AFTER_LAST, + NL80211_MESH_POWER_MAX = __NL80211_MESH_POWER_AFTER_LAST - 1 }; /** @@ -3972,145 +3970,145 @@ enum nl80211_mesh_power_mode { * @__NL80211_MESHCONF_INVALID: internal use * * @NL80211_MESHCONF_RETRY_TIMEOUT: specifies the initial retry timeout in - * millisecond units, used by the Peer Link Open message + * millisecond units, used by the Peer Link Open message * * @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the initial confirm timeout, in - * millisecond units, used by the peer link management to close a peer link + * millisecond units, used by the peer link management to close a peer link * * @NL80211_MESHCONF_HOLDING_TIMEOUT: specifies the holding timeout, in - * millisecond units + * millisecond units * * @NL80211_MESHCONF_MAX_PEER_LINKS: maximum number of peer links allowed - * on this mesh interface + * on this mesh interface * * @NL80211_MESHCONF_MAX_RETRIES: specifies the maximum number of peer link - * open retries that can be sent to establish a new peer link instance in a - * mesh + * open retries that can be sent to establish a new peer link instance in a + * mesh * * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh - * point. + * point. * * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically open - * peer links when we detect compatible mesh peers. Disabled if - * @NL80211_MESH_SETUP_USERSPACE_MPM or @NL80211_MESH_SETUP_USERSPACE_AMPE are - * set. + * peer links when we detect compatible mesh peers. Disabled if + * @NL80211_MESH_SETUP_USERSPACE_MPM or @NL80211_MESH_SETUP_USERSPACE_AMPE are + * set. * * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames - * containing a PREQ that an MP can send to a particular destination (path - * target) + * containing a PREQ that an MP can send to a particular destination (path + * target) * * @NL80211_MESHCONF_PATH_REFRESH_TIME: how frequently to refresh mesh paths - * (in milliseconds) + * (in milliseconds) * * @NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT: minimum length of time to wait - * until giving up on a path discovery (in milliseconds) + * until giving up on a path discovery (in milliseconds) * * @NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT: The time (in TUs) for which mesh - * points receiving a PREQ shall consider the forwarding information from - * the root to be valid. (TU = time unit) + * points receiving a PREQ shall consider the forwarding information from + * the root to be valid. (TU = time unit) * * @NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL: The minimum interval of time (in - * TUs) during which an MP can send only one action frame containing a PREQ - * reference element + * TUs) during which an MP can send only one action frame containing a PREQ + * reference element * * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs) - * that it takes for an HWMP information element to propagate across the - * mesh + * that it takes for an HWMP information element to propagate across the + * mesh * * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not * * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a - * source mesh point for path selection elements. + * source mesh point for path selection elements. * * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between - * root announcements are transmitted. + * root announcements are transmitted. * * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has - * access to a broader network beyond the MBSS. This is done via Root - * Announcement frames. + * access to a broader network beyond the MBSS. This is done via Root + * Announcement frames. * * @NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL: The minimum interval of time (in - * TUs) during which a mesh STA can send only one Action frame containing a - * PERR element. + * TUs) during which a mesh STA can send only one Action frame containing a + * PERR element. * * @NL80211_MESHCONF_FORWARDING: set Mesh STA as forwarding or non-forwarding - * or forwarding entity (default is TRUE - forwarding entity) + * or forwarding entity (default is TRUE - forwarding entity) * * @NL80211_MESHCONF_RSSI_THRESHOLD: RSSI threshold in dBm. This specifies the - * threshold for average signal strength of candidate station to establish - * a peer link. + * threshold for average signal strength of candidate station to establish + * a peer link. * * @NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR: maximum number of neighbors - * to synchronize to for 11s default synchronization method - * (see 11C.12.2.2) + * to synchronize to for 11s default synchronization method + * (see 11C.12.2.2) * * @NL80211_MESHCONF_HT_OPMODE: set mesh HT protection mode. * * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute * * @NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT: The time (in TUs) for - * which mesh STAs receiving a proactive PREQ shall consider the forwarding - * information to the root mesh STA to be valid. + * which mesh STAs receiving a proactive PREQ shall consider the forwarding + * information to the root mesh STA to be valid. * * @NL80211_MESHCONF_HWMP_ROOT_INTERVAL: The interval of time (in TUs) between - * proactive PREQs are transmitted. + * proactive PREQs are transmitted. * * @NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL: The minimum interval of time - * (in TUs) during which a mesh STA can send only one Action frame - * containing a PREQ element for root path confirmation. + * (in TUs) during which a mesh STA can send only one Action frame + * containing a PREQ element for root path confirmation. * * @NL80211_MESHCONF_POWER_MODE: Default mesh power mode for new peer links. - * type &enum nl80211_mesh_power_mode (u32) + * type &enum nl80211_mesh_power_mode (u32) * * @NL80211_MESHCONF_AWAKE_WINDOW: awake window duration (in TUs) * * @NL80211_MESHCONF_PLINK_TIMEOUT: If no tx activity is seen from a STA we've - * established peering with for longer than this time (in seconds), then - * remove it from the STA's list of peers. You may set this to 0 to disable - * the removal of the STA. Default is 30 minutes. + * established peering with for longer than this time (in seconds), then + * remove it from the STA's list of peers. You may set this to 0 to disable + * the removal of the STA. Default is 30 minutes. * * @NL80211_MESHCONF_CONNECTED_TO_GATE: If set to true then this mesh STA - * will advertise that it is connected to a gate in the mesh formation - * field. If left unset then the mesh formation field will only - * advertise such if there is an active root mesh path. + * will advertise that it is connected to a gate in the mesh formation + * field. If left unset then the mesh formation field will only + * advertise such if there is an active root mesh path. * * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use */ enum nl80211_meshconf_params { - __NL80211_MESHCONF_INVALID, - NL80211_MESHCONF_RETRY_TIMEOUT, - NL80211_MESHCONF_CONFIRM_TIMEOUT, - NL80211_MESHCONF_HOLDING_TIMEOUT, - NL80211_MESHCONF_MAX_PEER_LINKS, - NL80211_MESHCONF_MAX_RETRIES, - NL80211_MESHCONF_TTL, - NL80211_MESHCONF_AUTO_OPEN_PLINKS, - NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES, - NL80211_MESHCONF_PATH_REFRESH_TIME, - NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT, - NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT, - NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL, - NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, - NL80211_MESHCONF_HWMP_ROOTMODE, - NL80211_MESHCONF_ELEMENT_TTL, - NL80211_MESHCONF_HWMP_RANN_INTERVAL, - NL80211_MESHCONF_GATE_ANNOUNCEMENTS, - NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL, - NL80211_MESHCONF_FORWARDING, - NL80211_MESHCONF_RSSI_THRESHOLD, - NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR, - NL80211_MESHCONF_HT_OPMODE, - NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT, - NL80211_MESHCONF_HWMP_ROOT_INTERVAL, - NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL, - NL80211_MESHCONF_POWER_MODE, - NL80211_MESHCONF_AWAKE_WINDOW, - NL80211_MESHCONF_PLINK_TIMEOUT, - NL80211_MESHCONF_CONNECTED_TO_GATE, - - /* keep last */ - __NL80211_MESHCONF_ATTR_AFTER_LAST, - NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1 + __NL80211_MESHCONF_INVALID, + NL80211_MESHCONF_RETRY_TIMEOUT, + NL80211_MESHCONF_CONFIRM_TIMEOUT, + NL80211_MESHCONF_HOLDING_TIMEOUT, + NL80211_MESHCONF_MAX_PEER_LINKS, + NL80211_MESHCONF_MAX_RETRIES, + NL80211_MESHCONF_TTL, + NL80211_MESHCONF_AUTO_OPEN_PLINKS, + NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES, + NL80211_MESHCONF_PATH_REFRESH_TIME, + NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT, + NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT, + NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL, + NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, + NL80211_MESHCONF_HWMP_ROOTMODE, + NL80211_MESHCONF_ELEMENT_TTL, + NL80211_MESHCONF_HWMP_RANN_INTERVAL, + NL80211_MESHCONF_GATE_ANNOUNCEMENTS, + NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL, + NL80211_MESHCONF_FORWARDING, + NL80211_MESHCONF_RSSI_THRESHOLD, + NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR, + NL80211_MESHCONF_HT_OPMODE, + NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT, + NL80211_MESHCONF_HWMP_ROOT_INTERVAL, + NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL, + NL80211_MESHCONF_POWER_MODE, + NL80211_MESHCONF_AWAKE_WINDOW, + NL80211_MESHCONF_PLINK_TIMEOUT, + NL80211_MESHCONF_CONNECTED_TO_GATE, + + /* keep last */ + __NL80211_MESHCONF_ATTR_AFTER_LAST, + NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1 }; /** @@ -4122,60 +4120,60 @@ enum nl80211_meshconf_params { * @__NL80211_MESH_SETUP_INVALID: Internal use * * @NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL: Enable this option to use a - * vendor specific path selection algorithm or disable it to use the - * default HWMP. + * vendor specific path selection algorithm or disable it to use the + * default HWMP. * * @NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC: Enable this option to use a - * vendor specific path metric or disable it to use the default Airtime - * metric. + * vendor specific path metric or disable it to use the default Airtime + * metric. * * @NL80211_MESH_SETUP_IE: Information elements for this mesh, for instance, a - * robust security network ie, or a vendor specific information element - * that vendors will use to identify the path selection methods and - * metrics in use. + * robust security network ie, or a vendor specific information element + * that vendors will use to identify the path selection methods and + * metrics in use. * * @NL80211_MESH_SETUP_USERSPACE_AUTH: Enable this option if an authentication - * daemon will be authenticating mesh candidates. + * daemon will be authenticating mesh candidates. * * @NL80211_MESH_SETUP_USERSPACE_AMPE: Enable this option if an authentication - * daemon will be securing peer link frames. AMPE is a secured version of - * Mesh Peering Management (MPM) and is implemented with the assistance of - * a userspace daemon. When this flag is set, the kernel will send peer - * management frames to a userspace daemon that will implement AMPE - * functionality (security capabilities selection, key confirmation, and - * key management). When the flag is unset (default), the kernel can - * autonomously complete (unsecured) mesh peering without the need of a - * userspace daemon. + * daemon will be securing peer link frames. AMPE is a secured version of + * Mesh Peering Management (MPM) and is implemented with the assistance of + * a userspace daemon. When this flag is set, the kernel will send peer + * management frames to a userspace daemon that will implement AMPE + * functionality (security capabilities selection, key confirmation, and + * key management). When the flag is unset (default), the kernel can + * autonomously complete (unsecured) mesh peering without the need of a + * userspace daemon. * * @NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC: Enable this option to use a - * vendor specific synchronization method or disable it to use the default - * neighbor offset synchronization + * vendor specific synchronization method or disable it to use the default + * neighbor offset synchronization * * @NL80211_MESH_SETUP_USERSPACE_MPM: Enable this option if userspace will - * implement an MPM which handles peer allocation and state. + * implement an MPM which handles peer allocation and state. * * @NL80211_MESH_SETUP_AUTH_PROTOCOL: Inform the kernel of the authentication - * method (u8, as defined in IEEE 8.4.2.100.6, e.g. 0x1 for SAE). - * Default is no authentication method required. + * method (u8, as defined in IEEE 8.4.2.100.6, e.g. 0x1 for SAE). + * Default is no authentication method required. * * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number * * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use */ enum nl80211_mesh_setup_params { - __NL80211_MESH_SETUP_INVALID, - NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL, - NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC, - NL80211_MESH_SETUP_IE, - NL80211_MESH_SETUP_USERSPACE_AUTH, - NL80211_MESH_SETUP_USERSPACE_AMPE, - NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC, - NL80211_MESH_SETUP_USERSPACE_MPM, - NL80211_MESH_SETUP_AUTH_PROTOCOL, - - /* keep last */ - __NL80211_MESH_SETUP_ATTR_AFTER_LAST, - NL80211_MESH_SETUP_ATTR_MAX = __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1 + __NL80211_MESH_SETUP_INVALID, + NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL, + NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC, + NL80211_MESH_SETUP_IE, + NL80211_MESH_SETUP_USERSPACE_AUTH, + NL80211_MESH_SETUP_USERSPACE_AMPE, + NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC, + NL80211_MESH_SETUP_USERSPACE_MPM, + NL80211_MESH_SETUP_AUTH_PROTOCOL, + + /* keep last */ + __NL80211_MESH_SETUP_ATTR_AFTER_LAST, + NL80211_MESH_SETUP_ATTR_MAX = __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1 }; /** @@ -4183,78 +4181,78 @@ enum nl80211_mesh_setup_params { * @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved * @NL80211_TXQ_ATTR_AC: AC identifier (NL80211_AC_*) * @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning - * disabled + * disabled * @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form - * 2^n-1 in the range 1..32767] + * 2^n-1 in the range 1..32767] * @NL80211_TXQ_ATTR_CWMAX: Maximum contention window [a value of the form - * 2^n-1 in the range 1..32767] + * 2^n-1 in the range 1..32767] * @NL80211_TXQ_ATTR_AIFS: Arbitration interframe space [0..255] * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal * @NL80211_TXQ_ATTR_MAX: Maximum TXQ attribute number */ enum nl80211_txq_attr { - __NL80211_TXQ_ATTR_INVALID, - NL80211_TXQ_ATTR_AC, - NL80211_TXQ_ATTR_TXOP, - NL80211_TXQ_ATTR_CWMIN, - NL80211_TXQ_ATTR_CWMAX, - NL80211_TXQ_ATTR_AIFS, - - /* keep last */ - __NL80211_TXQ_ATTR_AFTER_LAST, - NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1 + __NL80211_TXQ_ATTR_INVALID, + NL80211_TXQ_ATTR_AC, + NL80211_TXQ_ATTR_TXOP, + NL80211_TXQ_ATTR_CWMIN, + NL80211_TXQ_ATTR_CWMAX, + NL80211_TXQ_ATTR_AIFS, + + /* keep last */ + __NL80211_TXQ_ATTR_AFTER_LAST, + NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1 }; enum nl80211_ac { - NL80211_AC_VO, - NL80211_AC_VI, - NL80211_AC_BE, - NL80211_AC_BK, - NL80211_NUM_ACS + NL80211_AC_VO, + NL80211_AC_VI, + NL80211_AC_BE, + NL80211_AC_BK, + NL80211_NUM_ACS }; /* backward compat */ -#define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC -#define NL80211_TXQ_Q_VO NL80211_AC_VO -#define NL80211_TXQ_Q_VI NL80211_AC_VI -#define NL80211_TXQ_Q_BE NL80211_AC_BE -#define NL80211_TXQ_Q_BK NL80211_AC_BK +#define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC +#define NL80211_TXQ_Q_VO NL80211_AC_VO +#define NL80211_TXQ_Q_VI NL80211_AC_VI +#define NL80211_TXQ_Q_BE NL80211_AC_BE +#define NL80211_TXQ_Q_BK NL80211_AC_BK /** * enum nl80211_channel_type - channel type * @NL80211_CHAN_NO_HT: 20 MHz, non-HT channel * @NL80211_CHAN_HT20: 20 MHz HT channel * @NL80211_CHAN_HT40MINUS: HT40 channel, secondary channel - * below the control channel + * below the control channel * @NL80211_CHAN_HT40PLUS: HT40 channel, secondary channel - * above the control channel + * above the control channel */ enum nl80211_channel_type { - NL80211_CHAN_NO_HT, - NL80211_CHAN_HT20, - NL80211_CHAN_HT40MINUS, - NL80211_CHAN_HT40PLUS + NL80211_CHAN_NO_HT, + NL80211_CHAN_HT20, + NL80211_CHAN_HT40MINUS, + NL80211_CHAN_HT40PLUS }; /** * enum nl80211_key_mode - Key mode * * @NL80211_KEY_RX_TX: (Default) - * Key can be used for Rx and Tx immediately + * Key can be used for Rx and Tx immediately * * The following modes can only be selected for unicast keys and when the * driver supports @NL80211_EXT_FEATURE_EXT_KEY_ID: * * @NL80211_KEY_NO_TX: Only allowed in combination with @NL80211_CMD_NEW_KEY: - * Unicast key can only be used for Rx, Tx not allowed, yet + * Unicast key can only be used for Rx, Tx not allowed, yet * @NL80211_KEY_SET_TX: Only allowed in combination with @NL80211_CMD_SET_KEY: - * The unicast key identified by idx and mac is cleared for Tx and becomes - * the preferred Tx key for the station. + * The unicast key identified by idx and mac is cleared for Tx and becomes + * the preferred Tx key for the station. */ enum nl80211_key_mode { - NL80211_KEY_RX_TX, - NL80211_KEY_NO_TX, - NL80211_KEY_SET_TX + NL80211_KEY_RX_TX, + NL80211_KEY_NO_TX, + NL80211_KEY_SET_TX }; /** @@ -4266,25 +4264,25 @@ enum nl80211_key_mode { * @NL80211_CHAN_WIDTH_20_NOHT: 20 MHz, non-HT channel * @NL80211_CHAN_WIDTH_20: 20 MHz HT channel * @NL80211_CHAN_WIDTH_40: 40 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 - * attribute must be provided as well + * attribute must be provided as well * @NL80211_CHAN_WIDTH_80: 80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 - * attribute must be provided as well + * attribute must be provided as well * @NL80211_CHAN_WIDTH_80P80: 80+80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 - * and %NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well + * and %NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well * @NL80211_CHAN_WIDTH_160: 160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 - * attribute must be provided as well + * attribute must be provided as well * @NL80211_CHAN_WIDTH_5: 5 MHz OFDM channel * @NL80211_CHAN_WIDTH_10: 10 MHz OFDM channel */ enum nl80211_chan_width { - NL80211_CHAN_WIDTH_20_NOHT, - NL80211_CHAN_WIDTH_20, - NL80211_CHAN_WIDTH_40, - NL80211_CHAN_WIDTH_80, - NL80211_CHAN_WIDTH_80P80, - NL80211_CHAN_WIDTH_160, - NL80211_CHAN_WIDTH_5, - NL80211_CHAN_WIDTH_10, + NL80211_CHAN_WIDTH_20_NOHT, + NL80211_CHAN_WIDTH_20, + NL80211_CHAN_WIDTH_40, + NL80211_CHAN_WIDTH_80, + NL80211_CHAN_WIDTH_80P80, + NL80211_CHAN_WIDTH_160, + NL80211_CHAN_WIDTH_5, + NL80211_CHAN_WIDTH_10, }; /** @@ -4297,9 +4295,9 @@ enum nl80211_chan_width { * @NL80211_BSS_CHAN_WIDTH_5: control channel is 5 MHz wide */ enum nl80211_bss_scan_width { - NL80211_BSS_CHAN_WIDTH_20, - NL80211_BSS_CHAN_WIDTH_10, - NL80211_BSS_CHAN_WIDTH_5, + NL80211_BSS_CHAN_WIDTH_20, + NL80211_BSS_CHAN_WIDTH_10, + NL80211_BSS_CHAN_WIDTH_5, }; /** @@ -4309,84 +4307,84 @@ enum nl80211_bss_scan_width { * @NL80211_BSS_BSSID: BSSID of the BSS (6 octets) * @NL80211_BSS_FREQUENCY: frequency in MHz (u32) * @NL80211_BSS_TSF: TSF of the received probe response/beacon (u64) - * (if @NL80211_BSS_PRESP_DATA is present then this is known to be - * from a probe response, otherwise it may be from the same beacon - * that the NL80211_BSS_BEACON_TSF will be from) + * (if @NL80211_BSS_PRESP_DATA is present then this is known to be + * from a probe response, otherwise it may be from the same beacon + * that the NL80211_BSS_BEACON_TSF will be from) * @NL80211_BSS_BEACON_INTERVAL: beacon interval of the (I)BSS (u16) * @NL80211_BSS_CAPABILITY: capability field (CPU order, u16) * @NL80211_BSS_INFORMATION_ELEMENTS: binary attribute containing the - * raw information elements from the probe response/beacon (bin); - * if the %NL80211_BSS_BEACON_IES attribute is present and the data is - * different then the IEs here are from a Probe Response frame; otherwise - * they are from a Beacon frame. - * However, if the driver does not indicate the source of the IEs, these - * IEs may be from either frame subtype. - * If present, the @NL80211_BSS_PRESP_DATA attribute indicates that the - * data here is known to be from a probe response, without any heuristics. + * raw information elements from the probe response/beacon (bin); + * if the %NL80211_BSS_BEACON_IES attribute is present and the data is + * different then the IEs here are from a Probe Response frame; otherwise + * they are from a Beacon frame. + * However, if the driver does not indicate the source of the IEs, these + * IEs may be from either frame subtype. + * If present, the @NL80211_BSS_PRESP_DATA attribute indicates that the + * data here is known to be from a probe response, without any heuristics. * @NL80211_BSS_SIGNAL_MBM: signal strength of probe response/beacon - * in mBm (100 * dBm) (s32) + * in mBm (100 * dBm) (s32) * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon - * in unspecified units, scaled to 0..100 (u8) + * in unspecified units, scaled to 0..100 (u8) * @NL80211_BSS_STATUS: status, if this BSS is "used" * @NL80211_BSS_SEEN_MS_AGO: age of this BSS entry in ms * @NL80211_BSS_BEACON_IES: binary attribute containing the raw information - * elements from a Beacon frame (bin); not present if no Beacon frame has - * yet been received + * elements from a Beacon frame (bin); not present if no Beacon frame has + * yet been received * @NL80211_BSS_CHAN_WIDTH: channel width of the control channel - * (u32, enum nl80211_bss_scan_width) + * (u32, enum nl80211_bss_scan_width) * @NL80211_BSS_BEACON_TSF: TSF of the last received beacon (u64) - * (not present if no beacon frame has been received yet) + * (not present if no beacon frame has been received yet) * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and - * @NL80211_BSS_TSF is known to be from a probe response (flag attribute) + * @NL80211_BSS_TSF is known to be from a probe response (flag attribute) * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry - * was last updated by a received frame. The value is expected to be - * accurate to about 10ms. (u64, nanoseconds) + * was last updated by a received frame. The value is expected to be + * accurate to about 10ms. (u64, nanoseconds) * @NL80211_BSS_PAD: attribute used for padding for 64-bit alignment * @NL80211_BSS_PARENT_TSF: the time at the start of reception of the first - * octet of the timestamp field of the last beacon/probe received for - * this BSS. The time is the TSF of the BSS specified by - * @NL80211_BSS_PARENT_BSSID. (u64). + * octet of the timestamp field of the last beacon/probe received for + * this BSS. The time is the TSF of the BSS specified by + * @NL80211_BSS_PARENT_BSSID. (u64). * @NL80211_BSS_PARENT_BSSID: the BSS according to which @NL80211_BSS_PARENT_TSF - * is set. + * is set. * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update. - * Contains a nested array of signal strength attributes (u8, dBm), - * using the nesting index as the antenna number. + * Contains a nested array of signal strength attributes (u8, dBm), + * using the nesting index as the antenna number. * @__NL80211_BSS_AFTER_LAST: internal * @NL80211_BSS_MAX: highest BSS attribute */ enum nl80211_bss { - __NL80211_BSS_INVALID, - NL80211_BSS_BSSID, - NL80211_BSS_FREQUENCY, - NL80211_BSS_TSF, - NL80211_BSS_BEACON_INTERVAL, - NL80211_BSS_CAPABILITY, - NL80211_BSS_INFORMATION_ELEMENTS, - NL80211_BSS_SIGNAL_MBM, - NL80211_BSS_SIGNAL_UNSPEC, - NL80211_BSS_STATUS, - NL80211_BSS_SEEN_MS_AGO, - NL80211_BSS_BEACON_IES, - NL80211_BSS_CHAN_WIDTH, - NL80211_BSS_BEACON_TSF, - NL80211_BSS_PRESP_DATA, - NL80211_BSS_LAST_SEEN_BOOTTIME, - NL80211_BSS_PAD, - NL80211_BSS_PARENT_TSF, - NL80211_BSS_PARENT_BSSID, - NL80211_BSS_CHAIN_SIGNAL, - - /* keep last */ - __NL80211_BSS_AFTER_LAST, - NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1 + __NL80211_BSS_INVALID, + NL80211_BSS_BSSID, + NL80211_BSS_FREQUENCY, + NL80211_BSS_TSF, + NL80211_BSS_BEACON_INTERVAL, + NL80211_BSS_CAPABILITY, + NL80211_BSS_INFORMATION_ELEMENTS, + NL80211_BSS_SIGNAL_MBM, + NL80211_BSS_SIGNAL_UNSPEC, + NL80211_BSS_STATUS, + NL80211_BSS_SEEN_MS_AGO, + NL80211_BSS_BEACON_IES, + NL80211_BSS_CHAN_WIDTH, + NL80211_BSS_BEACON_TSF, + NL80211_BSS_PRESP_DATA, + NL80211_BSS_LAST_SEEN_BOOTTIME, + NL80211_BSS_PAD, + NL80211_BSS_PARENT_TSF, + NL80211_BSS_PARENT_BSSID, + NL80211_BSS_CHAIN_SIGNAL, + + /* keep last */ + __NL80211_BSS_AFTER_LAST, + NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1 }; /** * enum nl80211_bss_status - BSS "status" * @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS. - * Note that this is no longer used since cfg80211 no longer - * keeps track of whether or not authentication was done with - * a given BSS. + * Note that this is no longer used since cfg80211 no longer + * keeps track of whether or not authentication was done with + * a given BSS. * @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS. * @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS. * @@ -4394,9 +4392,9 @@ enum nl80211_bss { * indicates the status the interface has wrt. this BSS. */ enum nl80211_bss_status { - NL80211_BSS_STATUS_AUTHENTICATED, - NL80211_BSS_STATUS_ASSOCIATED, - NL80211_BSS_STATUS_IBSS_JOINED, + NL80211_BSS_STATUS_AUTHENTICATED, + NL80211_BSS_STATUS_ASSOCIATED, + NL80211_BSS_STATUS_IBSS_JOINED, }; /** @@ -4413,23 +4411,23 @@ enum nl80211_bss_status { * @__NL80211_AUTHTYPE_NUM: internal * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by - * trying multiple times); this is invalid in netlink -- leave out - * the attribute for this on CONNECT commands. + * trying multiple times); this is invalid in netlink -- leave out + * the attribute for this on CONNECT commands. */ enum nl80211_auth_type { - NL80211_AUTHTYPE_OPEN_SYSTEM, - NL80211_AUTHTYPE_SHARED_KEY, - NL80211_AUTHTYPE_FT, - NL80211_AUTHTYPE_NETWORK_EAP, - NL80211_AUTHTYPE_SAE, - NL80211_AUTHTYPE_FILS_SK, - NL80211_AUTHTYPE_FILS_SK_PFS, - NL80211_AUTHTYPE_FILS_PK, - - /* keep last */ - __NL80211_AUTHTYPE_NUM, - NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1, - NL80211_AUTHTYPE_AUTOMATIC + NL80211_AUTHTYPE_OPEN_SYSTEM, + NL80211_AUTHTYPE_SHARED_KEY, + NL80211_AUTHTYPE_FT, + NL80211_AUTHTYPE_NETWORK_EAP, + NL80211_AUTHTYPE_SAE, + NL80211_AUTHTYPE_FILS_SK, + NL80211_AUTHTYPE_FILS_SK_PFS, + NL80211_AUTHTYPE_FILS_PK, + + /* keep last */ + __NL80211_AUTHTYPE_NUM, + NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1, + NL80211_AUTHTYPE_AUTOMATIC }; /** @@ -4440,11 +4438,11 @@ enum nl80211_auth_type { * @NUM_NL80211_KEYTYPES: number of defined key types */ enum nl80211_key_type { - NL80211_KEYTYPE_GROUP, - NL80211_KEYTYPE_PAIRWISE, - NL80211_KEYTYPE_PEERKEY, + NL80211_KEYTYPE_GROUP, + NL80211_KEYTYPE_PAIRWISE, + NL80211_KEYTYPE_PEERKEY, - NUM_NL80211_KEYTYPES + NUM_NL80211_KEYTYPES }; /** @@ -4454,118 +4452,118 @@ enum nl80211_key_type { * @NL80211_MFP_OPTIONAL: Management frame protection is optional */ enum nl80211_mfp { - NL80211_MFP_NO, - NL80211_MFP_REQUIRED, - NL80211_MFP_OPTIONAL, + NL80211_MFP_NO, + NL80211_MFP_REQUIRED, + NL80211_MFP_OPTIONAL, }; enum nl80211_wpa_versions { - NL80211_WPA_VERSION_1 = 1 << 0, - NL80211_WPA_VERSION_2 = 1 << 1, - NL80211_WPA_VERSION_3 = 1 << 2, + NL80211_WPA_VERSION_1 = 1 << 0, + NL80211_WPA_VERSION_2 = 1 << 1, + NL80211_WPA_VERSION_3 = 1 << 2, }; /** * enum nl80211_key_default_types - key default types * @__NL80211_KEY_DEFAULT_TYPE_INVALID: invalid * @NL80211_KEY_DEFAULT_TYPE_UNICAST: key should be used as default - * unicast key + * unicast key * @NL80211_KEY_DEFAULT_TYPE_MULTICAST: key should be used as default - * multicast key + * multicast key * @NUM_NL80211_KEY_DEFAULT_TYPES: number of default types */ enum nl80211_key_default_types { - __NL80211_KEY_DEFAULT_TYPE_INVALID, - NL80211_KEY_DEFAULT_TYPE_UNICAST, - NL80211_KEY_DEFAULT_TYPE_MULTICAST, + __NL80211_KEY_DEFAULT_TYPE_INVALID, + NL80211_KEY_DEFAULT_TYPE_UNICAST, + NL80211_KEY_DEFAULT_TYPE_MULTICAST, - NUM_NL80211_KEY_DEFAULT_TYPES + NUM_NL80211_KEY_DEFAULT_TYPES }; /** * enum nl80211_key_attributes - key attributes * @__NL80211_KEY_INVALID: invalid * @NL80211_KEY_DATA: (temporal) key data; for TKIP this consists of - * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC - * keys + * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC + * keys * @NL80211_KEY_IDX: key ID (u8, 0-3) * @NL80211_KEY_CIPHER: key cipher suite (u32, as defined by IEEE 802.11 - * section 7.3.2.25.1, e.g. 0x000FAC04) + * section 7.3.2.25.1, e.g. 0x000FAC04) * @NL80211_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and - * CCMP keys, each six bytes in little endian + * CCMP keys, each six bytes in little endian * @NL80211_KEY_DEFAULT: flag indicating default key * @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key * @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not - * specified the default depends on whether a MAC address was - * given with the command using the key or not (u32) + * specified the default depends on whether a MAC address was + * given with the command using the key or not (u32) * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags - * attributes, specifying what a key should be set as default as. - * See &enum nl80211_key_default_types. + * attributes, specifying what a key should be set as default as. + * See &enum nl80211_key_default_types. * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode. - * Defaults to @NL80211_KEY_RX_TX. + * Defaults to @NL80211_KEY_RX_TX. * * @__NL80211_KEY_AFTER_LAST: internal * @NL80211_KEY_MAX: highest key attribute */ enum nl80211_key_attributes { - __NL80211_KEY_INVALID, - NL80211_KEY_DATA, - NL80211_KEY_IDX, - NL80211_KEY_CIPHER, - NL80211_KEY_SEQ, - NL80211_KEY_DEFAULT, - NL80211_KEY_DEFAULT_MGMT, - NL80211_KEY_TYPE, - NL80211_KEY_DEFAULT_TYPES, - NL80211_KEY_MODE, - - /* keep last */ - __NL80211_KEY_AFTER_LAST, - NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1 + __NL80211_KEY_INVALID, + NL80211_KEY_DATA, + NL80211_KEY_IDX, + NL80211_KEY_CIPHER, + NL80211_KEY_SEQ, + NL80211_KEY_DEFAULT, + NL80211_KEY_DEFAULT_MGMT, + NL80211_KEY_TYPE, + NL80211_KEY_DEFAULT_TYPES, + NL80211_KEY_MODE, + + /* keep last */ + __NL80211_KEY_AFTER_LAST, + NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1 }; /** * enum nl80211_tx_rate_attributes - TX rate set attributes * @__NL80211_TXRATE_INVALID: invalid * @NL80211_TXRATE_LEGACY: Legacy (non-MCS) rates allowed for TX rate selection - * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with - * 1 = 500 kbps) but without the IE length restriction (at most - * %NL80211_MAX_SUPP_RATES in a single array). + * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with + * 1 = 500 kbps) but without the IE length restriction (at most + * %NL80211_MAX_SUPP_RATES in a single array). * @NL80211_TXRATE_HT: HT (MCS) rates allowed for TX rate selection - * in an array of MCS numbers. + * in an array of MCS numbers. * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection, - * see &struct nl80211_txrate_vht + * see &struct nl80211_txrate_vht * @NL80211_TXRATE_GI: configure GI, see &enum nl80211_txrate_gi * @__NL80211_TXRATE_AFTER_LAST: internal * @NL80211_TXRATE_MAX: highest TX rate attribute */ enum nl80211_tx_rate_attributes { - __NL80211_TXRATE_INVALID, - NL80211_TXRATE_LEGACY, - NL80211_TXRATE_HT, - NL80211_TXRATE_VHT, - NL80211_TXRATE_GI, - - /* keep last */ - __NL80211_TXRATE_AFTER_LAST, - NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 + __NL80211_TXRATE_INVALID, + NL80211_TXRATE_LEGACY, + NL80211_TXRATE_HT, + NL80211_TXRATE_VHT, + NL80211_TXRATE_GI, + + /* keep last */ + __NL80211_TXRATE_AFTER_LAST, + NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 }; #define NL80211_TXRATE_MCS NL80211_TXRATE_HT -#define NL80211_VHT_NSS_MAX 8 +#define NL80211_VHT_NSS_MAX 8 /** * struct nl80211_txrate_vht - VHT MCS/NSS txrate bitmap * @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.) */ struct nl80211_txrate_vht { - __u16 mcs[NL80211_VHT_NSS_MAX]; + __u16 mcs[NL80211_VHT_NSS_MAX]; }; enum nl80211_txrate_gi { - NL80211_TXRATE_DEFAULT_GI, - NL80211_TXRATE_FORCE_SGI, - NL80211_TXRATE_FORCE_LGI, + NL80211_TXRATE_DEFAULT_GI, + NL80211_TXRATE_FORCE_SGI, + NL80211_TXRATE_FORCE_LGI, }; /** @@ -4575,15 +4573,15 @@ enum nl80211_txrate_gi { * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz) * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz) * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace - * since newer kernel versions may support more bands + * since newer kernel versions may support more bands */ enum nl80211_band { - NL80211_BAND_2GHZ, - NL80211_BAND_5GHZ, - NL80211_BAND_60GHZ, - NL80211_BAND_6GHZ, + NL80211_BAND_2GHZ, + NL80211_BAND_5GHZ, + NL80211_BAND_60GHZ, + NL80211_BAND_6GHZ, - NUM_NL80211_BANDS, + NUM_NL80211_BANDS, }; /** @@ -4592,75 +4590,74 @@ enum nl80211_band { * @NL80211_PS_ENABLED: powersave is enabled */ enum nl80211_ps_state { - NL80211_PS_DISABLED, - NL80211_PS_ENABLED, + NL80211_PS_DISABLED, + NL80211_PS_ENABLED, }; /** * enum nl80211_attr_cqm - connection quality monitor attributes * @__NL80211_ATTR_CQM_INVALID: invalid * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies - * the threshold for the RSSI level at which an event will be sent. Zero - * to disable. Alternatively, if %NL80211_EXT_FEATURE_CQM_RSSI_LIST is - * set, multiple values can be supplied as a low-to-high sorted array of - * threshold values in dBm. Events will be sent when the RSSI value - * crosses any of the thresholds. + * the threshold for the RSSI level at which an event will be sent. Zero + * to disable. Alternatively, if %NL80211_EXT_FEATURE_CQM_RSSI_LIST is + * set, multiple values can be supplied as a low-to-high sorted array of + * threshold values in dBm. Events will be sent when the RSSI value + * crosses any of the thresholds. * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies - * the minimum amount the RSSI level must change after an event before a - * new event may be issued (to reduce effects of RSSI oscillation). + * the minimum amount the RSSI level must change after an event before a + * new event may be issued (to reduce effects of RSSI oscillation). * @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event * @NL80211_ATTR_CQM_PKT_LOSS_EVENT: a u32 value indicating that this many - * consecutive packets were not acknowledged by the peer + * consecutive packets were not acknowledged by the peer * @NL80211_ATTR_CQM_TXE_RATE: TX error rate in %. Minimum % of TX failures - * during the given %NL80211_ATTR_CQM_TXE_INTVL before an - * %NL80211_CMD_NOTIFY_CQM with reported %NL80211_ATTR_CQM_TXE_RATE and - * %NL80211_ATTR_CQM_TXE_PKTS is generated. + * during the given %NL80211_ATTR_CQM_TXE_INTVL before an + * %NL80211_CMD_NOTIFY_CQM with reported %NL80211_ATTR_CQM_TXE_RATE and + * %NL80211_ATTR_CQM_TXE_PKTS is generated. * @NL80211_ATTR_CQM_TXE_PKTS: number of attempted packets in a given - * %NL80211_ATTR_CQM_TXE_INTVL before %NL80211_ATTR_CQM_TXE_RATE is - * checked. + * %NL80211_ATTR_CQM_TXE_INTVL before %NL80211_ATTR_CQM_TXE_RATE is + * checked. * @NL80211_ATTR_CQM_TXE_INTVL: interval in seconds. Specifies the periodic - * interval in which %NL80211_ATTR_CQM_TXE_PKTS and - * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an - * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting. + * interval in which %NL80211_ATTR_CQM_TXE_PKTS and + * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an + * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting. * @NL80211_ATTR_CQM_BEACON_LOSS_EVENT: flag attribute that's set in a beacon - * loss event + * loss event * @NL80211_ATTR_CQM_RSSI_LEVEL: the RSSI value in dBm that triggered the - * RSSI threshold event. + * RSSI threshold event. * @__NL80211_ATTR_CQM_AFTER_LAST: internal * @NL80211_ATTR_CQM_MAX: highest key attribute */ enum nl80211_attr_cqm { - __NL80211_ATTR_CQM_INVALID, - NL80211_ATTR_CQM_RSSI_THOLD, - NL80211_ATTR_CQM_RSSI_HYST, - NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, - NL80211_ATTR_CQM_PKT_LOSS_EVENT, - NL80211_ATTR_CQM_TXE_RATE, - NL80211_ATTR_CQM_TXE_PKTS, - NL80211_ATTR_CQM_TXE_INTVL, - NL80211_ATTR_CQM_BEACON_LOSS_EVENT, - NL80211_ATTR_CQM_RSSI_LEVEL, - - /* keep last */ - __NL80211_ATTR_CQM_AFTER_LAST, - NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1 + __NL80211_ATTR_CQM_INVALID, + NL80211_ATTR_CQM_RSSI_THOLD, + NL80211_ATTR_CQM_RSSI_HYST, + NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, + NL80211_ATTR_CQM_PKT_LOSS_EVENT, + NL80211_ATTR_CQM_TXE_RATE, + NL80211_ATTR_CQM_TXE_PKTS, + NL80211_ATTR_CQM_TXE_INTVL, + NL80211_ATTR_CQM_BEACON_LOSS_EVENT, + NL80211_ATTR_CQM_RSSI_LEVEL, + + /* keep last */ + __NL80211_ATTR_CQM_AFTER_LAST, + NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1 }; /** * enum nl80211_cqm_rssi_threshold_event - RSSI threshold event * @NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW: The RSSI level is lower than the - * configured threshold + * configured threshold * @NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH: The RSSI is higher than the - * configured threshold + * configured threshold * @NL80211_CQM_RSSI_BEACON_LOSS_EVENT: (reserved, never sent) */ enum nl80211_cqm_rssi_threshold_event { - NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, - NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, - NL80211_CQM_RSSI_BEACON_LOSS_EVENT, + NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, + NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, + NL80211_CQM_RSSI_BEACON_LOSS_EVENT, }; - /** * enum nl80211_tx_power_setting - TX power adjustment * @NL80211_TX_POWER_AUTOMATIC: automatically determine transmit power @@ -4668,40 +4665,40 @@ enum nl80211_cqm_rssi_threshold_event { * @NL80211_TX_POWER_FIXED: fix TX power to the mBm parameter */ enum nl80211_tx_power_setting { - NL80211_TX_POWER_AUTOMATIC, - NL80211_TX_POWER_LIMITED, - NL80211_TX_POWER_FIXED, + NL80211_TX_POWER_AUTOMATIC, + NL80211_TX_POWER_LIMITED, + NL80211_TX_POWER_FIXED, }; /** * enum nl80211_packet_pattern_attr - packet pattern attribute * @__NL80211_PKTPAT_INVALID: invalid number for nested attribute * @NL80211_PKTPAT_PATTERN: the pattern, values where the mask has - * a zero bit are ignored + * a zero bit are ignored * @NL80211_PKTPAT_MASK: pattern mask, must be long enough to have - * a bit for each byte in the pattern. The lowest-order bit corresponds - * to the first byte of the pattern, but the bytes of the pattern are - * in a little-endian-like format, i.e. the 9th byte of the pattern - * corresponds to the lowest-order bit in the second byte of the mask. - * For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where - * xx indicates "don't care") would be represented by a pattern of - * twelve zero bytes, and a mask of "0xed,0x01". - * Note that the pattern matching is done as though frames were not - * 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked - * first (including SNAP header unpacking) and then matched. + * a bit for each byte in the pattern. The lowest-order bit corresponds + * to the first byte of the pattern, but the bytes of the pattern are + * in a little-endian-like format, i.e. the 9th byte of the pattern + * corresponds to the lowest-order bit in the second byte of the mask. + * For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where + * xx indicates "don't care") would be represented by a pattern of + * twelve zero bytes, and a mask of "0xed,0x01". + * Note that the pattern matching is done as though frames were not + * 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked + * first (including SNAP header unpacking) and then matched. * @NL80211_PKTPAT_OFFSET: packet offset, pattern is matched after - * these fixed number of bytes of received packet + * these fixed number of bytes of received packet * @NUM_NL80211_PKTPAT: number of attributes * @MAX_NL80211_PKTPAT: max attribute number */ enum nl80211_packet_pattern_attr { - __NL80211_PKTPAT_INVALID, - NL80211_PKTPAT_MASK, - NL80211_PKTPAT_PATTERN, - NL80211_PKTPAT_OFFSET, + __NL80211_PKTPAT_INVALID, + NL80211_PKTPAT_MASK, + NL80211_PKTPAT_PATTERN, + NL80211_PKTPAT_OFFSET, - NUM_NL80211_PKTPAT, - MAX_NL80211_PKTPAT = NUM_NL80211_PKTPAT - 1, + NUM_NL80211_PKTPAT, + MAX_NL80211_PKTPAT = NUM_NL80211_PKTPAT - 1, }; /** @@ -4718,10 +4715,10 @@ enum nl80211_packet_pattern_attr { * by the kernel to userspace. */ struct nl80211_pattern_support { - __u32 max_patterns; - __u32 min_pattern_len; - __u32 max_pattern_len; - __u32 max_pkt_offset; + __u32 max_patterns; + __u32 min_pattern_len; + __u32 max_pattern_len; + __u32 max_pkt_offset; } __attribute__((packed)); /* only for backward compatibility */ @@ -4737,85 +4734,85 @@ struct nl80211_pattern_support { * enum nl80211_wowlan_triggers - WoWLAN trigger definitions * @__NL80211_WOWLAN_TRIG_INVALID: invalid number for nested attributes * @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put - * the chip into a special state -- works best with chips that have - * support for low-power operation already (flag) - * Note that this mode is incompatible with all of the others, if - * any others are even supported by the device. + * the chip into a special state -- works best with chips that have + * support for low-power operation already (flag) + * Note that this mode is incompatible with all of the others, if + * any others are even supported by the device. * @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect - * is detected is implementation-specific (flag) + * is detected is implementation-specific (flag) * @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed - * by 16 repetitions of MAC addr, anywhere in payload) (flag) + * by 16 repetitions of MAC addr, anywhere in payload) (flag) * @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns - * which are passed in an array of nested attributes, each nested attribute - * defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern. - * Each pattern defines a wakeup packet. Packet offset is associated with - * each pattern which is used while matching the pattern. The matching is - * done on the MSDU, i.e. as though the packet was an 802.3 packet, so the - * pattern matching is done after the packet is converted to the MSDU. - * - * In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute - * carrying a &struct nl80211_pattern_support. - * - * When reporting wakeup. it is a u32 attribute containing the 0-based - * index of the pattern that caused the wakeup, in the patterns passed - * to the kernel when configuring. + * which are passed in an array of nested attributes, each nested attribute + * defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern. + * Each pattern defines a wakeup packet. Packet offset is associated with + * each pattern which is used while matching the pattern. The matching is + * done on the MSDU, i.e. as though the packet was an 802.3 packet, so the + * pattern matching is done after the packet is converted to the MSDU. + * + * In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute + * carrying a &struct nl80211_pattern_support. + * + * When reporting wakeup. it is a u32 attribute containing the 0-based + * index of the pattern that caused the wakeup, in the patterns passed + * to the kernel when configuring. * @NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED: Not a real trigger, and cannot be - * used when setting, used only to indicate that GTK rekeying is supported - * by the device (flag) + * used when setting, used only to indicate that GTK rekeying is supported + * by the device (flag) * @NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE: wake up on GTK rekey failure (if - * done by the device) (flag) + * done by the device) (flag) * @NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST: wake up on EAP Identity Request - * packet (flag) + * packet (flag) * @NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE: wake up on 4-way handshake (flag) * @NL80211_WOWLAN_TRIG_RFKILL_RELEASE: wake up when rfkill is released - * (on devices that have rfkill in the device) (flag) + * (on devices that have rfkill in the device) (flag) * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211: For wakeup reporting only, contains - * the 802.11 packet that caused the wakeup, e.g. a deauth frame. The frame - * may be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN - * attribute contains the original length. + * the 802.11 packet that caused the wakeup, e.g. a deauth frame. The frame + * may be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN + * attribute contains the original length. * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN: Original length of the 802.11 - * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 - * attribute if the packet was truncated somewhere. + * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 + * attribute if the packet was truncated somewhere. * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023: For wakeup reporting only, contains the - * 802.11 packet that caused the wakeup, e.g. a magic packet. The frame may - * be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN attribute - * contains the original length. + * 802.11 packet that caused the wakeup, e.g. a magic packet. The frame may + * be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN attribute + * contains the original length. * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN: Original length of the 802.3 - * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 - * attribute if the packet was truncated somewhere. + * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 + * attribute if the packet was truncated somewhere. * @NL80211_WOWLAN_TRIG_TCP_CONNECTION: TCP connection wake, see DOC section - * "TCP connection wakeup" for more details. This is a nested attribute - * containing the exact information for establishing and keeping alive - * the TCP connection. + * "TCP connection wakeup" for more details. This is a nested attribute + * containing the exact information for establishing and keeping alive + * the TCP connection. * @NL80211_WOWLAN_TRIG_TCP_WAKEUP_MATCH: For wakeup reporting only, the - * wakeup packet was received on the TCP connection + * wakeup packet was received on the TCP connection * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST: For wakeup reporting only, the - * TCP connection was lost or failed to be established + * TCP connection was lost or failed to be established * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only, - * the TCP connection ran out of tokens to use for data to send to the - * service + * the TCP connection ran out of tokens to use for data to send to the + * service * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network - * is detected. This is a nested attribute that contains the - * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It - * specifies how the scan is performed (e.g. the interval, the - * channels to scan and the initial delay) as well as the scan - * results that will trigger a wake (i.e. the matchsets). This - * attribute is also sent in a response to - * @NL80211_CMD_GET_WIPHY, indicating the number of match sets - * supported by the driver (u32). + * is detected. This is a nested attribute that contains the + * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It + * specifies how the scan is performed (e.g. the interval, the + * channels to scan and the initial delay) as well as the scan + * results that will trigger a wake (i.e. the matchsets). This + * attribute is also sent in a response to + * @NL80211_CMD_GET_WIPHY, indicating the number of match sets + * supported by the driver (u32). * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute - * containing an array with information about what triggered the - * wake up. If no elements are present in the array, it means - * that the information is not available. If more than one - * element is present, it means that more than one match - * occurred. - * Each element in the array is a nested attribute that contains - * one optional %NL80211_ATTR_SSID attribute and one optional - * %NL80211_ATTR_SCAN_FREQUENCIES attribute. At least one of - * these attributes must be present. If - * %NL80211_ATTR_SCAN_FREQUENCIES contains more than one - * frequency, it means that the match occurred in more than one - * channel. + * containing an array with information about what triggered the + * wake up. If no elements are present in the array, it means + * that the information is not available. If more than one + * element is present, it means that more than one match + * occurred. + * Each element in the array is a nested attribute that contains + * one optional %NL80211_ATTR_SSID attribute and one optional + * %NL80211_ATTR_SCAN_FREQUENCIES attribute. At least one of + * these attributes must be present. If + * %NL80211_ATTR_SCAN_FREQUENCIES contains more than one + * frequency, it means that the match occurred in more than one + * channel. * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number * @@ -4823,30 +4820,30 @@ struct nl80211_pattern_support { * to report the wakeup reason(s). */ enum nl80211_wowlan_triggers { - __NL80211_WOWLAN_TRIG_INVALID, - NL80211_WOWLAN_TRIG_ANY, - NL80211_WOWLAN_TRIG_DISCONNECT, - NL80211_WOWLAN_TRIG_MAGIC_PKT, - NL80211_WOWLAN_TRIG_PKT_PATTERN, - NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED, - NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE, - NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST, - NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE, - NL80211_WOWLAN_TRIG_RFKILL_RELEASE, - NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211, - NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN, - NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023, - NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN, - NL80211_WOWLAN_TRIG_TCP_CONNECTION, - NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, - NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, - NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, - NL80211_WOWLAN_TRIG_NET_DETECT, - NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS, - - /* keep last */ - NUM_NL80211_WOWLAN_TRIG, - MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1 + __NL80211_WOWLAN_TRIG_INVALID, + NL80211_WOWLAN_TRIG_ANY, + NL80211_WOWLAN_TRIG_DISCONNECT, + NL80211_WOWLAN_TRIG_MAGIC_PKT, + NL80211_WOWLAN_TRIG_PKT_PATTERN, + NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED, + NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE, + NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST, + NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE, + NL80211_WOWLAN_TRIG_RFKILL_RELEASE, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023, + NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN, + NL80211_WOWLAN_TRIG_TCP_CONNECTION, + NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, + NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, + NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, + NL80211_WOWLAN_TRIG_NET_DETECT, + NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS, + + /* keep last */ + NUM_NL80211_WOWLAN_TRIG, + MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1 }; /** @@ -4883,7 +4880,7 @@ enum nl80211_wowlan_triggers { * in little endian. */ struct nl80211_wowlan_tcp_data_seq { - __u32 start, offset, len; + __u32 start, offset, len; }; /** @@ -4891,11 +4888,11 @@ struct nl80211_wowlan_tcp_data_seq { * @offset: offset of token in packet * @len: length of each token * @token_stream: stream of data to be used for the tokens, the length must - * be a multiple of @len for this to make sense + * be a multiple of @len for this to make sense */ struct nl80211_wowlan_tcp_data_token { - __u32 offset, len; - __u8 token_stream[]; + __u32 offset, len; + __u8 token_stream[]; }; /** @@ -4905,7 +4902,7 @@ struct nl80211_wowlan_tcp_data_token { * @bufsize: total available token buffer size (max size of @token_stream) */ struct nl80211_wowlan_tcp_data_token_feature { - __u32 min_len, max_len, bufsize; + __u32 min_len, max_len, bufsize; }; /** @@ -4913,50 +4910,50 @@ struct nl80211_wowlan_tcp_data_token_feature { * @__NL80211_WOWLAN_TCP_INVALID: invalid number for nested attributes * @NL80211_WOWLAN_TCP_SRC_IPV4: source IPv4 address (in network byte order) * @NL80211_WOWLAN_TCP_DST_IPV4: destination IPv4 address - * (in network byte order) + * (in network byte order) * @NL80211_WOWLAN_TCP_DST_MAC: destination MAC address, this is given because - * route lookup when configured might be invalid by the time we suspend, - * and doing a route lookup when suspending is no longer possible as it - * might require ARP querying. + * route lookup when configured might be invalid by the time we suspend, + * and doing a route lookup when suspending is no longer possible as it + * might require ARP querying. * @NL80211_WOWLAN_TCP_SRC_PORT: source port (u16); optional, if not given a - * socket and port will be allocated + * socket and port will be allocated * @NL80211_WOWLAN_TCP_DST_PORT: destination port (u16) * @NL80211_WOWLAN_TCP_DATA_PAYLOAD: data packet payload, at least one byte. - * For feature advertising, a u32 attribute holding the maximum length - * of the data payload. + * For feature advertising, a u32 attribute holding the maximum length + * of the data payload. * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ: data packet sequence configuration - * (if desired), a &struct nl80211_wowlan_tcp_data_seq. For feature - * advertising it is just a flag + * (if desired), a &struct nl80211_wowlan_tcp_data_seq. For feature + * advertising it is just a flag * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN: data packet token configuration, - * see &struct nl80211_wowlan_tcp_data_token and for advertising see - * &struct nl80211_wowlan_tcp_data_token_feature. + * see &struct nl80211_wowlan_tcp_data_token and for advertising see + * &struct nl80211_wowlan_tcp_data_token_feature. * @NL80211_WOWLAN_TCP_DATA_INTERVAL: data interval in seconds, maximum - * interval in feature advertising (u32) + * interval in feature advertising (u32) * @NL80211_WOWLAN_TCP_WAKE_PAYLOAD: wake packet payload, for advertising a - * u32 attribute holding the maximum length + * u32 attribute holding the maximum length * @NL80211_WOWLAN_TCP_WAKE_MASK: Wake packet payload mask, not used for - * feature advertising. The mask works like @NL80211_PKTPAT_MASK - * but on the TCP payload only. + * feature advertising. The mask works like @NL80211_PKTPAT_MASK + * but on the TCP payload only. * @NUM_NL80211_WOWLAN_TCP: number of TCP attributes * @MAX_NL80211_WOWLAN_TCP: highest attribute number */ enum nl80211_wowlan_tcp_attrs { - __NL80211_WOWLAN_TCP_INVALID, - NL80211_WOWLAN_TCP_SRC_IPV4, - NL80211_WOWLAN_TCP_DST_IPV4, - NL80211_WOWLAN_TCP_DST_MAC, - NL80211_WOWLAN_TCP_SRC_PORT, - NL80211_WOWLAN_TCP_DST_PORT, - NL80211_WOWLAN_TCP_DATA_PAYLOAD, - NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ, - NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN, - NL80211_WOWLAN_TCP_DATA_INTERVAL, - NL80211_WOWLAN_TCP_WAKE_PAYLOAD, - NL80211_WOWLAN_TCP_WAKE_MASK, - - /* keep last */ - NUM_NL80211_WOWLAN_TCP, - MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1 + __NL80211_WOWLAN_TCP_INVALID, + NL80211_WOWLAN_TCP_SRC_IPV4, + NL80211_WOWLAN_TCP_DST_IPV4, + NL80211_WOWLAN_TCP_DST_MAC, + NL80211_WOWLAN_TCP_SRC_PORT, + NL80211_WOWLAN_TCP_DST_PORT, + NL80211_WOWLAN_TCP_DATA_PAYLOAD, + NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ, + NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN, + NL80211_WOWLAN_TCP_DATA_INTERVAL, + NL80211_WOWLAN_TCP_WAKE_PAYLOAD, + NL80211_WOWLAN_TCP_WAKE_MASK, + + /* keep last */ + NUM_NL80211_WOWLAN_TCP, + MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1 }; /** @@ -4969,9 +4966,9 @@ enum nl80211_wowlan_tcp_attrs { * capability information given by the kernel to userspace. */ struct nl80211_coalesce_rule_support { - __u32 max_rules; - struct nl80211_pattern_support pat; - __u32 max_delay; + __u32 max_rules; + struct nl80211_pattern_support pat; + __u32 max_delay; } __attribute__((packed)); /** @@ -4979,53 +4976,53 @@ struct nl80211_coalesce_rule_support { * @__NL80211_COALESCE_RULE_INVALID: invalid number for nested attribute * @NL80211_ATTR_COALESCE_RULE_DELAY: delay in msecs used for packet coalescing * @NL80211_ATTR_COALESCE_RULE_CONDITION: condition for packet coalescence, - * see &enum nl80211_coalesce_condition. + * see &enum nl80211_coalesce_condition. * @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN: packet offset, pattern is matched - * after these fixed number of bytes of received packet + * after these fixed number of bytes of received packet * @NUM_NL80211_ATTR_COALESCE_RULE: number of attributes * @NL80211_ATTR_COALESCE_RULE_MAX: max attribute number */ enum nl80211_attr_coalesce_rule { - __NL80211_COALESCE_RULE_INVALID, - NL80211_ATTR_COALESCE_RULE_DELAY, - NL80211_ATTR_COALESCE_RULE_CONDITION, - NL80211_ATTR_COALESCE_RULE_PKT_PATTERN, - - /* keep last */ - NUM_NL80211_ATTR_COALESCE_RULE, - NL80211_ATTR_COALESCE_RULE_MAX = NUM_NL80211_ATTR_COALESCE_RULE - 1 + __NL80211_COALESCE_RULE_INVALID, + NL80211_ATTR_COALESCE_RULE_DELAY, + NL80211_ATTR_COALESCE_RULE_CONDITION, + NL80211_ATTR_COALESCE_RULE_PKT_PATTERN, + + /* keep last */ + NUM_NL80211_ATTR_COALESCE_RULE, + NL80211_ATTR_COALESCE_RULE_MAX = NUM_NL80211_ATTR_COALESCE_RULE - 1 }; /** * enum nl80211_coalesce_condition - coalesce rule conditions * @NL80211_COALESCE_CONDITION_MATCH: coalaesce Rx packets when patterns - * in a rule are matched. + * in a rule are matched. * @NL80211_COALESCE_CONDITION_NO_MATCH: coalesce Rx packets when patterns - * in a rule are not matched. + * in a rule are not matched. */ enum nl80211_coalesce_condition { - NL80211_COALESCE_CONDITION_MATCH, - NL80211_COALESCE_CONDITION_NO_MATCH + NL80211_COALESCE_CONDITION_MATCH, + NL80211_COALESCE_CONDITION_NO_MATCH }; /** * enum nl80211_iface_limit_attrs - limit attributes * @NL80211_IFACE_LIMIT_UNSPEC: (reserved) * @NL80211_IFACE_LIMIT_MAX: maximum number of interfaces that - * can be chosen from this set of interface types (u32) + * can be chosen from this set of interface types (u32) * @NL80211_IFACE_LIMIT_TYPES: nested attribute containing a - * flag attribute for each interface type in this set + * flag attribute for each interface type in this set * @NUM_NL80211_IFACE_LIMIT: number of attributes * @MAX_NL80211_IFACE_LIMIT: highest attribute number */ enum nl80211_iface_limit_attrs { - NL80211_IFACE_LIMIT_UNSPEC, - NL80211_IFACE_LIMIT_MAX, - NL80211_IFACE_LIMIT_TYPES, + NL80211_IFACE_LIMIT_UNSPEC, + NL80211_IFACE_LIMIT_MAX, + NL80211_IFACE_LIMIT_TYPES, - /* keep last */ - NUM_NL80211_IFACE_LIMIT, - MAX_NL80211_IFACE_LIMIT = NUM_NL80211_IFACE_LIMIT - 1 + /* keep last */ + NUM_NL80211_IFACE_LIMIT, + MAX_NL80211_IFACE_LIMIT = NUM_NL80211_IFACE_LIMIT - 1 }; /** @@ -5033,39 +5030,39 @@ enum nl80211_iface_limit_attrs { * * @NL80211_IFACE_COMB_UNSPEC: (reserved) * @NL80211_IFACE_COMB_LIMITS: Nested attributes containing the limits - * for given interface types, see &enum nl80211_iface_limit_attrs. + * for given interface types, see &enum nl80211_iface_limit_attrs. * @NL80211_IFACE_COMB_MAXNUM: u32 attribute giving the total number of - * interfaces that can be created in this group. This number doesn't - * apply to interfaces purely managed in software, which are listed - * in a separate attribute %NL80211_ATTR_INTERFACES_SOFTWARE. + * interfaces that can be created in this group. This number doesn't + * apply to interfaces purely managed in software, which are listed + * in a separate attribute %NL80211_ATTR_INTERFACES_SOFTWARE. * @NL80211_IFACE_COMB_STA_AP_BI_MATCH: flag attribute specifying that - * beacon intervals within this group must be all the same even for - * infrastructure and AP/GO combinations, i.e. the GO(s) must adopt - * the infrastructure network's beacon interval. + * beacon intervals within this group must be all the same even for + * infrastructure and AP/GO combinations, i.e. the GO(s) must adopt + * the infrastructure network's beacon interval. * @NL80211_IFACE_COMB_NUM_CHANNELS: u32 attribute specifying how many - * different channels may be used within this group. + * different channels may be used within this group. * @NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS: u32 attribute containing the bitmap - * of supported channel widths for radar detection. + * of supported channel widths for radar detection. * @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap - * of supported regulatory regions for radar detection. + * of supported regulatory regions for radar detection. * @NL80211_IFACE_COMB_BI_MIN_GCD: u32 attribute specifying the minimum GCD of - * different beacon intervals supported by all the interface combinations - * in this group (if not present, all beacon intervals be identical). + * different beacon intervals supported by all the interface combinations + * in this group (if not present, all beacon intervals be identical). * @NUM_NL80211_IFACE_COMB: number of attributes * @MAX_NL80211_IFACE_COMB: highest attribute number * * Examples: - * limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2 - * => allows an AP and a STA that must match BIs + * limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2 + * => allows an AP and a STA that must match BIs * - * numbers = [ #{AP, P2P-GO} <= 8 ], BI min gcd, channels = 1, max = 8, - * => allows 8 of AP/GO that can have BI gcd >= min gcd + * numbers = [ #{AP, P2P-GO} <= 8 ], BI min gcd, channels = 1, max = 8, + * => allows 8 of AP/GO that can have BI gcd >= min gcd * - * numbers = [ #{STA} <= 2 ], channels = 2, max = 2 - * => allows two STAs on different channels + * numbers = [ #{STA} <= 2 ], channels = 2, max = 2 + * => allows two STAs on different channels * - * numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4 - * => allows a STA plus three P2P interfaces + * numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4 + * => allows a STA plus three P2P interfaces * * The list of these four possibilities could completely be contained * within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate @@ -5075,54 +5072,53 @@ enum nl80211_iface_limit_attrs { * a single interface of any valid interface type is assumed to always * be possible by itself. This means that implicitly, for each valid * interface type, the following group always exists: - * numbers = [ #{<type>} <= 1 ], channels = 1, max = 1 + * numbers = [ #{<type>} <= 1 ], channels = 1, max = 1 */ enum nl80211_if_combination_attrs { - NL80211_IFACE_COMB_UNSPEC, - NL80211_IFACE_COMB_LIMITS, - NL80211_IFACE_COMB_MAXNUM, - NL80211_IFACE_COMB_STA_AP_BI_MATCH, - NL80211_IFACE_COMB_NUM_CHANNELS, - NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS, - NL80211_IFACE_COMB_RADAR_DETECT_REGIONS, - NL80211_IFACE_COMB_BI_MIN_GCD, - - /* keep last */ - NUM_NL80211_IFACE_COMB, - MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1 + NL80211_IFACE_COMB_UNSPEC, + NL80211_IFACE_COMB_LIMITS, + NL80211_IFACE_COMB_MAXNUM, + NL80211_IFACE_COMB_STA_AP_BI_MATCH, + NL80211_IFACE_COMB_NUM_CHANNELS, + NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS, + NL80211_IFACE_COMB_RADAR_DETECT_REGIONS, + NL80211_IFACE_COMB_BI_MIN_GCD, + + /* keep last */ + NUM_NL80211_IFACE_COMB, + MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1 }; - /** * enum nl80211_plink_state - state of a mesh peer link finite state machine * * @NL80211_PLINK_LISTEN: initial state, considered the implicit - * state of non existent mesh peer links + * state of non existent mesh peer links * @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to - * this mesh peer + * this mesh peer * @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received - * from this mesh peer + * from this mesh peer * @NL80211_PLINK_CNF_RCVD: mesh plink confirm frame has been - * received from this mesh peer + * received from this mesh peer * @NL80211_PLINK_ESTAB: mesh peer link is established * @NL80211_PLINK_HOLDING: mesh peer link is being closed or cancelled * @NL80211_PLINK_BLOCKED: all frames transmitted from this mesh - * plink are discarded + * plink are discarded * @NUM_NL80211_PLINK_STATES: number of peer link states * @MAX_NL80211_PLINK_STATES: highest numerical value of plink states */ enum nl80211_plink_state { - NL80211_PLINK_LISTEN, - NL80211_PLINK_OPN_SNT, - NL80211_PLINK_OPN_RCVD, - NL80211_PLINK_CNF_RCVD, - NL80211_PLINK_ESTAB, - NL80211_PLINK_HOLDING, - NL80211_PLINK_BLOCKED, - - /* keep last */ - NUM_NL80211_PLINK_STATES, - MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1 + NL80211_PLINK_LISTEN, + NL80211_PLINK_OPN_SNT, + NL80211_PLINK_OPN_RCVD, + NL80211_PLINK_CNF_RCVD, + NL80211_PLINK_ESTAB, + NL80211_PLINK_HOLDING, + NL80211_PLINK_BLOCKED, + + /* keep last */ + NUM_NL80211_PLINK_STATES, + MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1 }; /** @@ -5134,17 +5130,16 @@ enum nl80211_plink_state { * @NUM_NL80211_PLINK_ACTIONS: number of possible actions */ enum plink_actions { - NL80211_PLINK_ACTION_NO_ACTION, - NL80211_PLINK_ACTION_OPEN, - NL80211_PLINK_ACTION_BLOCK, + NL80211_PLINK_ACTION_NO_ACTION, + NL80211_PLINK_ACTION_OPEN, + NL80211_PLINK_ACTION_BLOCK, - NUM_NL80211_PLINK_ACTIONS, + NUM_NL80211_PLINK_ACTIONS, }; - -#define NL80211_KCK_LEN 16 -#define NL80211_KEK_LEN 16 -#define NL80211_REPLAY_CTR_LEN 8 +#define NL80211_KCK_LEN 16 +#define NL80211_KEK_LEN 16 +#define NL80211_REPLAY_CTR_LEN 8 /** * enum nl80211_rekey_data - attributes for GTK rekey offload @@ -5156,72 +5151,72 @@ enum plink_actions { * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal) */ enum nl80211_rekey_data { - __NL80211_REKEY_DATA_INVALID, - NL80211_REKEY_DATA_KEK, - NL80211_REKEY_DATA_KCK, - NL80211_REKEY_DATA_REPLAY_CTR, - - /* keep last */ - NUM_NL80211_REKEY_DATA, - MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1 + __NL80211_REKEY_DATA_INVALID, + NL80211_REKEY_DATA_KEK, + NL80211_REKEY_DATA_KCK, + NL80211_REKEY_DATA_REPLAY_CTR, + + /* keep last */ + NUM_NL80211_REKEY_DATA, + MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1 }; /** * enum nl80211_hidden_ssid - values for %NL80211_ATTR_HIDDEN_SSID * @NL80211_HIDDEN_SSID_NOT_IN_USE: do not hide SSID (i.e., broadcast it in - * Beacon frames) + * Beacon frames) * @NL80211_HIDDEN_SSID_ZERO_LEN: hide SSID by using zero-length SSID element - * in Beacon frames + * in Beacon frames * @NL80211_HIDDEN_SSID_ZERO_CONTENTS: hide SSID by using correct length of SSID - * element in Beacon frames but zero out each byte in the SSID + * element in Beacon frames but zero out each byte in the SSID */ enum nl80211_hidden_ssid { - NL80211_HIDDEN_SSID_NOT_IN_USE, - NL80211_HIDDEN_SSID_ZERO_LEN, - NL80211_HIDDEN_SSID_ZERO_CONTENTS + NL80211_HIDDEN_SSID_NOT_IN_USE, + NL80211_HIDDEN_SSID_ZERO_LEN, + NL80211_HIDDEN_SSID_ZERO_CONTENTS }; /** * enum nl80211_sta_wme_attr - station WME attributes * @__NL80211_STA_WME_INVALID: invalid number for nested attribute * @NL80211_STA_WME_UAPSD_QUEUES: bitmap of uapsd queues. the format - * is the same as the AC bitmap in the QoS info field. + * is the same as the AC bitmap in the QoS info field. * @NL80211_STA_WME_MAX_SP: max service period. the format is the same - * as the MAX_SP field in the QoS info field (but already shifted down). + * as the MAX_SP field in the QoS info field (but already shifted down). * @__NL80211_STA_WME_AFTER_LAST: internal * @NL80211_STA_WME_MAX: highest station WME attribute */ enum nl80211_sta_wme_attr { - __NL80211_STA_WME_INVALID, - NL80211_STA_WME_UAPSD_QUEUES, - NL80211_STA_WME_MAX_SP, + __NL80211_STA_WME_INVALID, + NL80211_STA_WME_UAPSD_QUEUES, + NL80211_STA_WME_MAX_SP, - /* keep last */ - __NL80211_STA_WME_AFTER_LAST, - NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1 + /* keep last */ + __NL80211_STA_WME_AFTER_LAST, + NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1 }; /** * enum nl80211_pmksa_candidate_attr - attributes for PMKSA caching candidates * @__NL80211_PMKSA_CANDIDATE_INVALID: invalid number for nested attributes * @NL80211_PMKSA_CANDIDATE_INDEX: candidate index (u32; the smaller, the higher - * priority) + * priority) * @NL80211_PMKSA_CANDIDATE_BSSID: candidate BSSID (6 octets) * @NL80211_PMKSA_CANDIDATE_PREAUTH: RSN pre-authentication supported (flag) * @NUM_NL80211_PMKSA_CANDIDATE: number of PMKSA caching candidate attributes - * (internal) + * (internal) * @MAX_NL80211_PMKSA_CANDIDATE: highest PMKSA caching candidate attribute - * (internal) + * (internal) */ enum nl80211_pmksa_candidate_attr { - __NL80211_PMKSA_CANDIDATE_INVALID, - NL80211_PMKSA_CANDIDATE_INDEX, - NL80211_PMKSA_CANDIDATE_BSSID, - NL80211_PMKSA_CANDIDATE_PREAUTH, - - /* keep last */ - NUM_NL80211_PMKSA_CANDIDATE, - MAX_NL80211_PMKSA_CANDIDATE = NUM_NL80211_PMKSA_CANDIDATE - 1 + __NL80211_PMKSA_CANDIDATE_INVALID, + NL80211_PMKSA_CANDIDATE_INDEX, + NL80211_PMKSA_CANDIDATE_BSSID, + NL80211_PMKSA_CANDIDATE_PREAUTH, + + /* keep last */ + NUM_NL80211_PMKSA_CANDIDATE, + MAX_NL80211_PMKSA_CANDIDATE = NUM_NL80211_PMKSA_CANDIDATE - 1 }; /** @@ -5233,11 +5228,11 @@ enum nl80211_pmksa_candidate_attr { * @NL80211_TDLS_DISABLE_LINK: Disable TDLS link */ enum nl80211_tdls_operation { - NL80211_TDLS_DISCOVERY_REQ, - NL80211_TDLS_SETUP, - NL80211_TDLS_TEARDOWN, - NL80211_TDLS_ENABLE_LINK, - NL80211_TDLS_DISABLE_LINK, + NL80211_TDLS_DISCOVERY_REQ, + NL80211_TDLS_SETUP, + NL80211_TDLS_TEARDOWN, + NL80211_TDLS_ENABLE_LINK, + NL80211_TDLS_DISABLE_LINK, }; /* @@ -5251,298 +5246,298 @@ enum nl80211_ap_sme_features { /** * enum nl80211_feature_flags - device/driver features * @NL80211_FEATURE_SK_TX_STATUS: This driver supports reflecting back - * TX status to the socket error queue when requested with the - * socket option. + * TX status to the socket error queue when requested with the + * socket option. * @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates. * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up - * the connected inactive stations in AP mode. + * the connected inactive stations in AP mode. * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested - * to work properly to suppport receiving regulatory hints from - * cellular base stations. + * to work properly to suppport receiving regulatory hints from + * cellular base stations. * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: (no longer available, only - * here to reserve the value for API/ABI compatibility) + * here to reserve the value for API/ABI compatibility) * @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of - * equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station - * mode + * equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station + * mode * @NL80211_FEATURE_LOW_PRIORITY_SCAN: This driver supports low priority scan * @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported * @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif * @NL80211_FEATURE_VIF_TXPOWER: The driver supports per-vif TX power setting * @NL80211_FEATURE_NEED_OBSS_SCAN: The driver expects userspace to perform - * OBSS scans and generate 20/40 BSS coex reports. This flag is used only - * for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied. + * OBSS scans and generate 20/40 BSS coex reports. This flag is used only + * for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied. * @NL80211_FEATURE_P2P_GO_CTWIN: P2P GO implementation supports CT Window - * setting + * setting * @NL80211_FEATURE_P2P_GO_OPPPS: P2P GO implementation supports opportunistic - * powersave + * powersave * @NL80211_FEATURE_FULL_AP_CLIENT_STATE: The driver supports full state - * transitions for AP clients. Without this flag (and if the driver - * doesn't have the AP SME in the device) the driver supports adding - * stations only when they're associated and adds them in associated - * state (to later be transitioned into authorized), with this flag - * they should be added before even sending the authentication reply - * and then transitioned into authenticated, associated and authorized - * states using station flags. - * Note that even for drivers that support this, the default is to add - * stations in authenticated/associated state, so to add unauthenticated - * stations the authenticated/associated bits have to be set in the mask. + * transitions for AP clients. Without this flag (and if the driver + * doesn't have the AP SME in the device) the driver supports adding + * stations only when they're associated and adds them in associated + * state (to later be transitioned into authorized), with this flag + * they should be added before even sending the authentication reply + * and then transitioned into authenticated, associated and authorized + * states using station flags. + * Note that even for drivers that support this, the default is to add + * stations in authenticated/associated state, so to add unauthenticated + * stations the authenticated/associated bits have to be set in the mask. * @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits - * (HT40, VHT 80/160 MHz) if this flag is set + * (HT40, VHT 80/160 MHz) if this flag is set * @NL80211_FEATURE_USERSPACE_MPM: This driver supports a userspace Mesh - * Peering Management entity which may be implemented by registering for - * beacons or NL80211_CMD_NEW_PEER_CANDIDATE events. The mesh beacon is - * still generated by the driver. + * Peering Management entity which may be implemented by registering for + * beacons or NL80211_CMD_NEW_PEER_CANDIDATE events. The mesh beacon is + * still generated by the driver. * @NL80211_FEATURE_ACTIVE_MONITOR: This driver supports an active monitor - * interface. An active monitor interface behaves like a normal monitor - * interface, but gets added to the driver. It ensures that incoming - * unicast packets directed at the configured interface address get ACKed. + * interface. An active monitor interface behaves like a normal monitor + * interface, but gets added to the driver. It ensures that incoming + * unicast packets directed at the configured interface address get ACKed. * @NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE: This driver supports dynamic - * channel bandwidth change (e.g., HT 20 <-> 40 MHz channel) during the - * lifetime of a BSS. + * channel bandwidth change (e.g., HT 20 <-> 40 MHz channel) during the + * lifetime of a BSS. * @NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES: This device adds a DS Parameter - * Set IE to probe requests. + * Set IE to probe requests. * @NL80211_FEATURE_WFA_TPC_IE_IN_PROBES: This device adds a WFA TPC Report IE - * to probe requests. + * to probe requests. * @NL80211_FEATURE_QUIET: This device, in client mode, supports Quiet Period - * requests sent to it by an AP. + * requests sent to it by an AP. * @NL80211_FEATURE_TX_POWER_INSERTION: This device is capable of inserting the - * current tx power value into the TPC Report IE in the spectrum - * management TPC Report action frame, and in the Radio Measurement Link - * Measurement Report action frame. + * current tx power value into the TPC Report IE in the spectrum + * management TPC Report action frame, and in the Radio Measurement Link + * Measurement Report action frame. * @NL80211_FEATURE_ACKTO_ESTIMATION: This driver supports dynamic ACK timeout - * estimation (dynack). %NL80211_ATTR_WIPHY_DYN_ACK flag attribute is used - * to enable dynack. + * estimation (dynack). %NL80211_ATTR_WIPHY_DYN_ACK flag attribute is used + * to enable dynack. * @NL80211_FEATURE_STATIC_SMPS: Device supports static spatial - * multiplexing powersave, ie. can turn off all but one chain - * even on HT connections that should be using more chains. + * multiplexing powersave, ie. can turn off all but one chain + * even on HT connections that should be using more chains. * @NL80211_FEATURE_DYNAMIC_SMPS: Device supports dynamic spatial - * multiplexing powersave, ie. can turn off all but one chain - * and then wake the rest up as required after, for example, - * rts/cts handshake. + * multiplexing powersave, ie. can turn off all but one chain + * and then wake the rest up as required after, for example, + * rts/cts handshake. * @NL80211_FEATURE_SUPPORTS_WMM_ADMISSION: the device supports setting up WMM - * TSPEC sessions (TID aka TSID 0-7) with the %NL80211_CMD_ADD_TX_TS - * command. Standard IEEE 802.11 TSPEC setup is not yet supported, it - * needs to be able to handle Block-Ack agreements and other things. + * TSPEC sessions (TID aka TSID 0-7) with the %NL80211_CMD_ADD_TX_TS + * command. Standard IEEE 802.11 TSPEC setup is not yet supported, it + * needs to be able to handle Block-Ack agreements and other things. * @NL80211_FEATURE_MAC_ON_CREATE: Device supports configuring - * the vif's MAC address upon creation. - * See 'macaddr' field in the vif_params (cfg80211.h). + * the vif's MAC address upon creation. + * See 'macaddr' field in the vif_params (cfg80211.h). * @NL80211_FEATURE_TDLS_CHANNEL_SWITCH: Driver supports channel switching when - * operating as a TDLS peer. + * operating as a TDLS peer. * @NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR: This device/driver supports using a - * random MAC address during scan (if the device is unassociated); the - * %NL80211_SCAN_FLAG_RANDOM_ADDR flag may be set for scans and the MAC - * address mask/value will be used. + * random MAC address during scan (if the device is unassociated); the + * %NL80211_SCAN_FLAG_RANDOM_ADDR flag may be set for scans and the MAC + * address mask/value will be used. * @NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR: This device/driver supports - * using a random MAC address for every scan iteration during scheduled - * scan (while not associated), the %NL80211_SCAN_FLAG_RANDOM_ADDR may - * be set for scheduled scan and the MAC address mask/value will be used. + * using a random MAC address for every scan iteration during scheduled + * scan (while not associated), the %NL80211_SCAN_FLAG_RANDOM_ADDR may + * be set for scheduled scan and the MAC address mask/value will be used. * @NL80211_FEATURE_ND_RANDOM_MAC_ADDR: This device/driver supports using a - * random MAC address for every scan iteration during "net detect", i.e. - * scan in unassociated WoWLAN, the %NL80211_SCAN_FLAG_RANDOM_ADDR may - * be set for scheduled scan and the MAC address mask/value will be used. + * random MAC address for every scan iteration during "net detect", i.e. + * scan in unassociated WoWLAN, the %NL80211_SCAN_FLAG_RANDOM_ADDR may + * be set for scheduled scan and the MAC address mask/value will be used. */ enum nl80211_feature_flags { - NL80211_FEATURE_SK_TX_STATUS = 1 << 0, - NL80211_FEATURE_HT_IBSS = 1 << 1, - NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, - NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, - NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, - NL80211_FEATURE_SAE = 1 << 5, - NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6, - NL80211_FEATURE_SCAN_FLUSH = 1 << 7, - NL80211_FEATURE_AP_SCAN = 1 << 8, - NL80211_FEATURE_VIF_TXPOWER = 1 << 9, - NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10, - NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11, - NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12, - /* bit 13 is reserved */ - NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14, - NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15, - NL80211_FEATURE_USERSPACE_MPM = 1 << 16, - NL80211_FEATURE_ACTIVE_MONITOR = 1 << 17, - NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 1 << 18, - NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 1 << 19, - NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 1 << 20, - NL80211_FEATURE_QUIET = 1 << 21, - NL80211_FEATURE_TX_POWER_INSERTION = 1 << 22, - NL80211_FEATURE_ACKTO_ESTIMATION = 1 << 23, - NL80211_FEATURE_STATIC_SMPS = 1 << 24, - NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25, - NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26, - NL80211_FEATURE_MAC_ON_CREATE = 1 << 27, - NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28, - NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29, - NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30, - NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1U << 31, + NL80211_FEATURE_SK_TX_STATUS = 1 << 0, + NL80211_FEATURE_HT_IBSS = 1 << 1, + NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, + NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, + NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, + NL80211_FEATURE_SAE = 1 << 5, + NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6, + NL80211_FEATURE_SCAN_FLUSH = 1 << 7, + NL80211_FEATURE_AP_SCAN = 1 << 8, + NL80211_FEATURE_VIF_TXPOWER = 1 << 9, + NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10, + NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11, + NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12, + /* bit 13 is reserved */ + NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14, + NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15, + NL80211_FEATURE_USERSPACE_MPM = 1 << 16, + NL80211_FEATURE_ACTIVE_MONITOR = 1 << 17, + NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 1 << 18, + NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 1 << 19, + NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 1 << 20, + NL80211_FEATURE_QUIET = 1 << 21, + NL80211_FEATURE_TX_POWER_INSERTION = 1 << 22, + NL80211_FEATURE_ACKTO_ESTIMATION = 1 << 23, + NL80211_FEATURE_STATIC_SMPS = 1 << 24, + NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25, + NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26, + NL80211_FEATURE_MAC_ON_CREATE = 1 << 27, + NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28, + NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29, + NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30, + NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1U << 31, }; /** * enum nl80211_ext_feature_index - bit index of extended features. * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates. * @NL80211_EXT_FEATURE_RRM: This driver supports RRM. When featured, user can - * can request to use RRM (see %NL80211_ATTR_USE_RRM) with - * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set - * the ASSOC_REQ_USE_RRM flag in the association request even if - * NL80211_FEATURE_QUIET is not advertized. + * can request to use RRM (see %NL80211_ATTR_USE_RRM) with + * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set + * the ASSOC_REQ_USE_RRM flag in the association request even if + * NL80211_FEATURE_QUIET is not advertized. * @NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER: This device supports MU-MIMO air - * sniffer which means that it can be configured to hear packets from - * certain groups which can be configured by the - * %NL80211_ATTR_MU_MIMO_GROUP_DATA attribute, - * or can be configured to follow a station by configuring the - * %NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR attribute. + * sniffer which means that it can be configured to hear packets from + * certain groups which can be configured by the + * %NL80211_ATTR_MU_MIMO_GROUP_DATA attribute, + * or can be configured to follow a station by configuring the + * %NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR attribute. * @NL80211_EXT_FEATURE_SCAN_START_TIME: This driver includes the actual - * time the scan started in scan results event. The time is the TSF of - * the BSS that the interface that requested the scan is connected to - * (if available). + * time the scan started in scan results event. The time is the TSF of + * the BSS that the interface that requested the scan is connected to + * (if available). * @NL80211_EXT_FEATURE_BSS_PARENT_TSF: Per BSS, this driver reports the - * time the last beacon/probe was received. The time is the TSF of the - * BSS that the interface that requested the scan is connected to - * (if available). + * time the last beacon/probe was received. The time is the TSF of the + * BSS that the interface that requested the scan is connected to + * (if available). * @NL80211_EXT_FEATURE_SET_SCAN_DWELL: This driver supports configuration of - * channel dwell time. + * channel dwell time. * @NL80211_EXT_FEATURE_BEACON_RATE_LEGACY: Driver supports beacon rate - * configuration (AP/mesh), supporting a legacy (non HT/VHT) rate. + * configuration (AP/mesh), supporting a legacy (non HT/VHT) rate. * @NL80211_EXT_FEATURE_BEACON_RATE_HT: Driver supports beacon rate - * configuration (AP/mesh) with HT rates. + * configuration (AP/mesh) with HT rates. * @NL80211_EXT_FEATURE_BEACON_RATE_VHT: Driver supports beacon rate - * configuration (AP/mesh) with VHT rates. + * configuration (AP/mesh) with VHT rates. * @NL80211_EXT_FEATURE_FILS_STA: This driver supports Fast Initial Link Setup - * with user space SME (NL80211_CMD_AUTHENTICATE) in station mode. + * with user space SME (NL80211_CMD_AUTHENTICATE) in station mode. * @NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA: This driver supports randomized TA - * in @NL80211_CMD_FRAME while not associated. + * in @NL80211_CMD_FRAME while not associated. * @NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED: This driver supports - * randomized TA in @NL80211_CMD_FRAME while associated. + * randomized TA in @NL80211_CMD_FRAME while associated. * @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan - * for reporting BSSs with better RSSI than the current connected BSS - * (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI). + * for reporting BSSs with better RSSI than the current connected BSS + * (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI). * @NL80211_EXT_FEATURE_CQM_RSSI_LIST: With this driver the - * %NL80211_ATTR_CQM_RSSI_THOLD attribute accepts a list of zero or more - * RSSI threshold values to monitor rather than exactly one threshold. + * %NL80211_ATTR_CQM_RSSI_THOLD attribute accepts a list of zero or more + * RSSI threshold values to monitor rather than exactly one threshold. * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key - * authentication with %NL80211_CMD_CONNECT. + * authentication with %NL80211_CMD_CONNECT. * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK: Device wants to do 4-way - * handshake with PSK in station mode (PSK is passed as part of the connect - * and associate commands), doing it in the host might not be supported. + * handshake with PSK in station mode (PSK is passed as part of the connect + * and associate commands), doing it in the host might not be supported. * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X: Device wants to do doing 4-way - * handshake with 802.1X in station mode (will pass EAP frames to the host - * and accept the set_pmk/del_pmk commands), doing it in the host might not - * be supported. + * handshake with 802.1X in station mode (will pass EAP frames to the host + * and accept the set_pmk/del_pmk commands), doing it in the host might not + * be supported. * @NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME: Driver is capable of overriding - * the max channel attribute in the FILS request params IE with the - * actual dwell time. + * the max channel attribute in the FILS request params IE with the + * actual dwell time. * @NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP: Driver accepts broadcast probe - * response + * response * @NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE: Driver supports sending - * the first probe request in each channel at rate of at least 5.5Mbps. + * the first probe request in each channel at rate of at least 5.5Mbps. * @NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: Driver supports - * probe request tx deferral and suppression + * probe request tx deferral and suppression * @NL80211_EXT_FEATURE_MFP_OPTIONAL: Driver supports the %NL80211_MFP_OPTIONAL - * value in %NL80211_ATTR_USE_MFP. + * value in %NL80211_ATTR_USE_MFP. * @NL80211_EXT_FEATURE_LOW_SPAN_SCAN: Driver supports low span scan. * @NL80211_EXT_FEATURE_LOW_POWER_SCAN: Driver supports low power scan. * @NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN: Driver supports high accuracy scan. * @NL80211_EXT_FEATURE_DFS_OFFLOAD: HW/driver will offload DFS actions. - * Device or driver will do all DFS-related actions by itself, - * informing user-space about CAC progress, radar detection event, - * channel change triggered by radar detection event. - * No need to start CAC from user-space, no need to react to - * "radar detected" event. + * Device or driver will do all DFS-related actions by itself, + * informing user-space about CAC progress, radar detection event, + * channel change triggered by radar detection event. + * No need to start CAC from user-space, no need to react to + * "radar detected" event. * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211: Driver supports sending and - * receiving control port frames over nl80211 instead of the netdevice. + * receiving control port frames over nl80211 instead of the netdevice. * @NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT: This driver/device supports - * (average) ACK signal strength reporting. + * (average) ACK signal strength reporting. * @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate * TXQs. * @NL80211_EXT_FEATURE_SCAN_RANDOM_SN: Driver/device supports randomizing the - * SN in probe request frames if requested by %NL80211_SCAN_FLAG_RANDOM_SN. + * SN in probe request frames if requested by %NL80211_SCAN_FLAG_RANDOM_SN. * @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data - * except for supported rates from the probe request content if requested - * by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag. + * except for supported rates from the probe request content if requested + * by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag. * @NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER: Driver supports enabling fine - * timing measurement responder role. + * timing measurement responder role. * * @NL80211_EXT_FEATURE_CAN_REPLACE_PTK0: Driver/device confirm that they are - * able to rekey an in-use key correctly. Userspace must not rekey PTK keys - * if this flag is not set. Ignoring this can leak clear text packets and/or - * freeze the connection. + * able to rekey an in-use key correctly. Userspace must not rekey PTK keys + * if this flag is not set. Ignoring this can leak clear text packets and/or + * freeze the connection. * @NL80211_EXT_FEATURE_EXT_KEY_ID: Driver supports "Extended Key ID for * Individually Addressed Frames" from IEEE802.11-2016. * * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime - * fairness for transmitted packets and has enabled airtime fairness - * scheduling. + * fairness for transmitted packets and has enabled airtime fairness + * scheduling. * * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching - * (set/del PMKSA operations) in AP mode. + * (set/del PMKSA operations) in AP mode. * * @NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD: Driver supports - * filtering of sched scan results using band specific RSSI thresholds. + * filtering of sched scan results using band specific RSSI thresholds. * * @NL80211_EXT_FEATURE_STA_TX_PWR: This driver supports controlling tx power - * to a station. + * to a station. * * @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in - * station mode (SAE password is passed as part of the connect command). + * station mode (SAE password is passed as part of the connect command). * * @NUM_NL80211_EXT_FEATURES: number of extended features. * @MAX_NL80211_EXT_FEATURES: highest extended feature index. */ enum nl80211_ext_feature_index { - NL80211_EXT_FEATURE_VHT_IBSS, - NL80211_EXT_FEATURE_RRM, - NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER, - NL80211_EXT_FEATURE_SCAN_START_TIME, - NL80211_EXT_FEATURE_BSS_PARENT_TSF, - NL80211_EXT_FEATURE_SET_SCAN_DWELL, - NL80211_EXT_FEATURE_BEACON_RATE_LEGACY, - NL80211_EXT_FEATURE_BEACON_RATE_HT, - NL80211_EXT_FEATURE_BEACON_RATE_VHT, - NL80211_EXT_FEATURE_FILS_STA, - NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA, - NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED, - NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI, - NL80211_EXT_FEATURE_CQM_RSSI_LIST, - NL80211_EXT_FEATURE_FILS_SK_OFFLOAD, - NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK, - NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X, - NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME, - NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP, - NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE, - NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION, - NL80211_EXT_FEATURE_MFP_OPTIONAL, - NL80211_EXT_FEATURE_LOW_SPAN_SCAN, - NL80211_EXT_FEATURE_LOW_POWER_SCAN, - NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN, - NL80211_EXT_FEATURE_DFS_OFFLOAD, - NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211, - NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, - /* we renamed this - stay compatible */ - NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, - NL80211_EXT_FEATURE_TXQS, - NL80211_EXT_FEATURE_SCAN_RANDOM_SN, - NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT, - NL80211_EXT_FEATURE_CAN_REPLACE_PTK0, - NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, - NL80211_EXT_FEATURE_AIRTIME_FAIRNESS, - NL80211_EXT_FEATURE_AP_PMKSA_CACHING, - NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD, - NL80211_EXT_FEATURE_EXT_KEY_ID, - NL80211_EXT_FEATURE_STA_TX_PWR, - NL80211_EXT_FEATURE_SAE_OFFLOAD, - - /* add new features before the definition below */ - NUM_NL80211_EXT_FEATURES, - MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1 + NL80211_EXT_FEATURE_VHT_IBSS, + NL80211_EXT_FEATURE_RRM, + NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER, + NL80211_EXT_FEATURE_SCAN_START_TIME, + NL80211_EXT_FEATURE_BSS_PARENT_TSF, + NL80211_EXT_FEATURE_SET_SCAN_DWELL, + NL80211_EXT_FEATURE_BEACON_RATE_LEGACY, + NL80211_EXT_FEATURE_BEACON_RATE_HT, + NL80211_EXT_FEATURE_BEACON_RATE_VHT, + NL80211_EXT_FEATURE_FILS_STA, + NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA, + NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED, + NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI, + NL80211_EXT_FEATURE_CQM_RSSI_LIST, + NL80211_EXT_FEATURE_FILS_SK_OFFLOAD, + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK, + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X, + NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME, + NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP, + NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE, + NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION, + NL80211_EXT_FEATURE_MFP_OPTIONAL, + NL80211_EXT_FEATURE_LOW_SPAN_SCAN, + NL80211_EXT_FEATURE_LOW_POWER_SCAN, + NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN, + NL80211_EXT_FEATURE_DFS_OFFLOAD, + NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211, + NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, + /* we renamed this - stay compatible */ + NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT, + NL80211_EXT_FEATURE_TXQS, + NL80211_EXT_FEATURE_SCAN_RANDOM_SN, + NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT, + NL80211_EXT_FEATURE_CAN_REPLACE_PTK0, + NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, + NL80211_EXT_FEATURE_AIRTIME_FAIRNESS, + NL80211_EXT_FEATURE_AP_PMKSA_CACHING, + NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD, + NL80211_EXT_FEATURE_EXT_KEY_ID, + NL80211_EXT_FEATURE_STA_TX_PWR, + NL80211_EXT_FEATURE_SAE_OFFLOAD, + + /* add new features before the definition below */ + NUM_NL80211_EXT_FEATURES, + MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1 }; /** * enum nl80211_probe_resp_offload_support_attr - optional supported - * protocols for probe-response offloading by the driver/FW. - * To be used with the %NL80211_ATTR_PROBE_RESP_OFFLOAD attribute. - * Each enum value represents a bit in the bitmap of supported - * protocols. Typically a subset of probe-requests belonging to a - * supported protocol will be excluded from offload and uploaded - * to the host. + * protocols for probe-response offloading by the driver/FW. + * To be used with the %NL80211_ATTR_PROBE_RESP_OFFLOAD attribute. + * Each enum value represents a bit in the bitmap of supported + * protocols. Typically a subset of probe-requests belonging to a + * supported protocol will be excluded from offload and uploaded + * to the host. * * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS: Support for WPS ver. 1 * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2: Support for WPS ver. 2 @@ -5550,21 +5545,21 @@ enum nl80211_ext_feature_index { * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U: Support for 802.11u */ enum nl80211_probe_resp_offload_support_attr { - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 1<<0, - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 1<<1, - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 1<<2, - NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 1<<3, + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 1<<0, + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 1<<1, + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 1<<2, + NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 1<<3, }; /** * enum nl80211_connect_failed_reason - connection request failed reasons * @NL80211_CONN_FAIL_MAX_CLIENTS: Maximum number of clients that can be - * handled by the AP is reached. + * handled by the AP is reached. * @NL80211_CONN_FAIL_BLOCKED_CLIENT: Connection request is rejected due to ACL. */ enum nl80211_connect_failed_reason { - NL80211_CONN_FAIL_MAX_CLIENTS, - NL80211_CONN_FAIL_BLOCKED_CLIENT, + NL80211_CONN_FAIL_MAX_CLIENTS, + NL80211_CONN_FAIL_BLOCKED_CLIENT, }; /** @@ -5576,10 +5571,10 @@ enum nl80211_connect_failed_reason { * @NL80211_TIMEOUT_ASSOC: Association timed out. */ enum nl80211_timeout_reason { - NL80211_TIMEOUT_UNSPECIFIED, - NL80211_TIMEOUT_SCAN, - NL80211_TIMEOUT_AUTH, - NL80211_TIMEOUT_ASSOC, + NL80211_TIMEOUT_UNSPECIFIED, + NL80211_TIMEOUT_SCAN, + NL80211_TIMEOUT_AUTH, + NL80211_TIMEOUT_ASSOC, }; /** @@ -5596,65 +5591,65 @@ enum nl80211_timeout_reason { * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured - * as AP and the beaconing has already been configured. This attribute is - * dangerous because will destroy stations performance as a lot of frames - * will be lost while scanning off-channel, therefore it must be used only - * when really needed + * as AP and the beaconing has already been configured. This attribute is + * dangerous because will destroy stations performance as a lot of frames + * will be lost while scanning off-channel, therefore it must be used only + * when really needed * @NL80211_SCAN_FLAG_RANDOM_ADDR: use a random MAC address for this scan (or - * for scheduled scan: a different one for every scan iteration). When the - * flag is set, depending on device capabilities the @NL80211_ATTR_MAC and - * @NL80211_ATTR_MAC_MASK attributes may also be given in which case only - * the masked bits will be preserved from the MAC address and the remainder - * randomised. If the attributes are not given full randomisation (46 bits, - * locally administered 1, multicast 0) is assumed. - * This flag must not be requested when the feature isn't supported, check - * the nl80211 feature flags for the device. + * for scheduled scan: a different one for every scan iteration). When the + * flag is set, depending on device capabilities the @NL80211_ATTR_MAC and + * @NL80211_ATTR_MAC_MASK attributes may also be given in which case only + * the masked bits will be preserved from the MAC address and the remainder + * randomised. If the attributes are not given full randomisation (46 bits, + * locally administered 1, multicast 0) is assumed. + * This flag must not be requested when the feature isn't supported, check + * the nl80211 feature flags for the device. * @NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME: fill the dwell time in the FILS - * request parameters IE in the probe request + * request parameters IE in the probe request * @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at - * rate of at least 5.5M. In case non OCE AP is discovered in the channel, - * only the first probe req in the channel will be sent in high rate. + * rate of at least 5.5M. In case non OCE AP is discovered in the channel, + * only the first probe req in the channel will be sent in high rate. * @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request - * tx deferral (dot11FILSProbeDelay shall be set to 15ms) - * and suppression (if it has received a broadcast Probe Response frame, - * Beacon frame or FILS Discovery frame from an AP that the STA considers - * a suitable candidate for (re-)association - suitable in terms of - * SSID and/or RSSI. + * tx deferral (dot11FILSProbeDelay shall be set to 15ms) + * and suppression (if it has received a broadcast Probe Response frame, + * Beacon frame or FILS Discovery frame from an AP that the STA considers + * a suitable candidate for (re-)association - suitable in terms of + * SSID and/or RSSI. * @NL80211_SCAN_FLAG_LOW_SPAN: Span corresponds to the total time taken to - * accomplish the scan. Thus, this flag intends the driver to perform the - * scan request with lesser span/duration. It is specific to the driver - * implementations on how this is accomplished. Scan accuracy may get - * impacted with this flag. + * accomplish the scan. Thus, this flag intends the driver to perform the + * scan request with lesser span/duration. It is specific to the driver + * implementations on how this is accomplished. Scan accuracy may get + * impacted with this flag. * @NL80211_SCAN_FLAG_LOW_POWER: This flag intends the scan attempts to consume - * optimal possible power. Drivers can resort to their specific means to - * optimize the power. Scan accuracy may get impacted with this flag. + * optimal possible power. Drivers can resort to their specific means to + * optimize the power. Scan accuracy may get impacted with this flag. * @NL80211_SCAN_FLAG_HIGH_ACCURACY: Accuracy here intends to the extent of scan - * results obtained. Thus HIGH_ACCURACY scan flag aims to get maximum - * possible scan results. This flag hints the driver to use the best - * possible scan configuration to improve the accuracy in scanning. - * Latency and power use may get impacted with this flag. + * results obtained. Thus HIGH_ACCURACY scan flag aims to get maximum + * possible scan results. This flag hints the driver to use the best + * possible scan configuration to improve the accuracy in scanning. + * Latency and power use may get impacted with this flag. * @NL80211_SCAN_FLAG_RANDOM_SN: randomize the sequence number in probe - * request frames from this scan to avoid correlation/tracking being - * possible. + * request frames from this scan to avoid correlation/tracking being + * possible. * @NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: minimize probe request content to - * only have supported rates and no additional capabilities (unless - * added by userspace explicitly.) + * only have supported rates and no additional capabilities (unless + * added by userspace explicitly.) */ enum nl80211_scan_flags { - NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, - NL80211_SCAN_FLAG_FLUSH = 1<<1, - NL80211_SCAN_FLAG_AP = 1<<2, - NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3, - NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 1<<4, - NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 1<<5, - NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 1<<6, - NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 1<<7, - NL80211_SCAN_FLAG_LOW_SPAN = 1<<8, - NL80211_SCAN_FLAG_LOW_POWER = 1<<9, - NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, - NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, - NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, + NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, + NL80211_SCAN_FLAG_FLUSH = 1<<1, + NL80211_SCAN_FLAG_AP = 1<<2, + NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3, + NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 1<<4, + NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 1<<5, + NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 1<<6, + NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 1<<7, + NL80211_SCAN_FLAG_LOW_SPAN = 1<<8, + NL80211_SCAN_FLAG_LOW_POWER = 1<<9, + NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, + NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, + NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, }; /** @@ -5665,14 +5660,14 @@ enum nl80211_scan_flags { * be used with %NL80211_ATTR_ACL_POLICY. * * @NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED: Deny stations which are - * listed in ACL, i.e. allow all the stations which are not listed - * in ACL to authenticate. + * listed in ACL, i.e. allow all the stations which are not listed + * in ACL to authenticate. * @NL80211_ACL_POLICY_DENY_UNLESS_LISTED: Allow the stations which are listed - * in ACL, i.e. deny all the stations which are not listed in ACL. + * in ACL, i.e. deny all the stations which are not listed in ACL. */ enum nl80211_acl_policy { - NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED, - NL80211_ACL_POLICY_DENY_UNLESS_LISTED, + NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED, + NL80211_ACL_POLICY_DENY_UNLESS_LISTED, }; /** @@ -5683,15 +5678,15 @@ enum nl80211_acl_policy { * @NL80211_SMPS_OFF: SMPS off (use all antennas). * @NL80211_SMPS_STATIC: static SMPS (use a single antenna) * @NL80211_SMPS_DYNAMIC: dynamic smps (start with a single antenna and - * turn on other antennas after CTS/RTS). + * turn on other antennas after CTS/RTS). */ enum nl80211_smps_mode { - NL80211_SMPS_OFF, - NL80211_SMPS_STATIC, - NL80211_SMPS_DYNAMIC, + NL80211_SMPS_OFF, + NL80211_SMPS_STATIC, + NL80211_SMPS_DYNAMIC, - __NL80211_SMPS_AFTER_LAST, - NL80211_SMPS_MAX = __NL80211_SMPS_AFTER_LAST - 1 + __NL80211_SMPS_AFTER_LAST, + NL80211_SMPS_MAX = __NL80211_SMPS_AFTER_LAST - 1 }; /** @@ -5701,27 +5696,27 @@ enum nl80211_smps_mode { * about detected radars or success of the channel available check (CAC) * * @NL80211_RADAR_DETECTED: A radar pattern has been detected. The channel is - * now unusable. + * now unusable. * @NL80211_RADAR_CAC_FINISHED: Channel Availability Check has been finished, - * the channel is now available. + * the channel is now available. * @NL80211_RADAR_CAC_ABORTED: Channel Availability Check has been aborted, no - * change to the channel status. + * change to the channel status. * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is - * over, channel becomes usable. + * over, channel becomes usable. * @NL80211_RADAR_PRE_CAC_EXPIRED: Channel Availability Check done on this - * non-operating channel is expired and no longer valid. New CAC must - * be done on this channel before starting the operation. This is not - * applicable for ETSI dfs domain where pre-CAC is valid for ever. + * non-operating channel is expired and no longer valid. New CAC must + * be done on this channel before starting the operation. This is not + * applicable for ETSI dfs domain where pre-CAC is valid for ever. * @NL80211_RADAR_CAC_STARTED: Channel Availability Check has been started, - * should be generated by HW if NL80211_EXT_FEATURE_DFS_OFFLOAD is enabled. + * should be generated by HW if NL80211_EXT_FEATURE_DFS_OFFLOAD is enabled. */ enum nl80211_radar_event { - NL80211_RADAR_DETECTED, - NL80211_RADAR_CAC_FINISHED, - NL80211_RADAR_CAC_ABORTED, - NL80211_RADAR_NOP_FINISHED, - NL80211_RADAR_PRE_CAC_EXPIRED, - NL80211_RADAR_CAC_STARTED, + NL80211_RADAR_DETECTED, + NL80211_RADAR_CAC_FINISHED, + NL80211_RADAR_CAC_ABORTED, + NL80211_RADAR_NOP_FINISHED, + NL80211_RADAR_PRE_CAC_EXPIRED, + NL80211_RADAR_CAC_STARTED, }; /** @@ -5730,27 +5725,27 @@ enum nl80211_radar_event { * Channel states used by the DFS code. * * @NL80211_DFS_USABLE: The channel can be used, but channel availability - * check (CAC) must be performed before using it for AP or IBSS. + * check (CAC) must be performed before using it for AP or IBSS. * @NL80211_DFS_UNAVAILABLE: A radar has been detected on this channel, it - * is therefore marked as not available. + * is therefore marked as not available. * @NL80211_DFS_AVAILABLE: The channel has been CAC checked and is available. */ enum nl80211_dfs_state { - NL80211_DFS_USABLE, - NL80211_DFS_UNAVAILABLE, - NL80211_DFS_AVAILABLE, + NL80211_DFS_USABLE, + NL80211_DFS_UNAVAILABLE, + NL80211_DFS_AVAILABLE, }; /** * enum enum nl80211_protocol_features - nl80211 protocol features * @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting - * wiphy dumps (if requested by the application with the attribute - * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the - * wiphy dump by %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFINDEX or - * %NL80211_ATTR_WDEV. + * wiphy dumps (if requested by the application with the attribute + * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the + * wiphy dump by %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFINDEX or + * %NL80211_ATTR_WDEV. */ enum nl80211_protocol_features { - NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 1 << 0, + NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 1 << 0, }; /** @@ -5763,16 +5758,16 @@ enum nl80211_protocol_features { * @NUM_NL80211_CRIT_PROTO: must be kept last. */ enum nl80211_crit_proto_id { - NL80211_CRIT_PROTO_UNSPEC, - NL80211_CRIT_PROTO_DHCP, - NL80211_CRIT_PROTO_EAPOL, - NL80211_CRIT_PROTO_APIPA, - /* add other protocols before this one */ - NUM_NL80211_CRIT_PROTO + NL80211_CRIT_PROTO_UNSPEC, + NL80211_CRIT_PROTO_DHCP, + NL80211_CRIT_PROTO_EAPOL, + NL80211_CRIT_PROTO_APIPA, + /* add other protocols before this one */ + NUM_NL80211_CRIT_PROTO }; /* maximum duration for critical protocol measures */ -#define NL80211_CRIT_PROTO_MAX_DURATION 5000 /* msec */ +#define NL80211_CRIT_PROTO_MAX_DURATION 5000 /* msec */ /** * enum nl80211_rxmgmt_flags - flags for received management frame. @@ -5781,13 +5776,13 @@ enum nl80211_crit_proto_id { * * @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver. * @NL80211_RXMGMT_FLAG_EXTERNAL_AUTH: Host driver intends to offload - * the authentication. Exclusively defined for host drivers that - * advertises the SME functionality but would like the userspace - * to handle certain authentication algorithms (e.g. SAE). + * the authentication. Exclusively defined for host drivers that + * advertises the SME functionality but would like the userspace + * to handle certain authentication algorithms (e.g. SAE). */ enum nl80211_rxmgmt_flags { - NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0, - NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1, + NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0, + NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1, }; /* @@ -5795,19 +5790,19 @@ enum nl80211_rxmgmt_flags { * a Linux nl80211 vendor ID is used (no such IDs are allocated * yet, so that's not valid so far) */ -#define NL80211_VENDOR_ID_IS_LINUX 0x80000000 +#define NL80211_VENDOR_ID_IS_LINUX 0x80000000 /** * struct nl80211_vendor_cmd_info - vendor command data * @vendor_id: If the %NL80211_VENDOR_ID_IS_LINUX flag is clear, then the - * value is a 24-bit OUI; if it is set then a separately allocated ID - * may be used, but no such IDs are allocated yet. New IDs should be - * added to this file when needed. + * value is a 24-bit OUI; if it is set then a separately allocated ID + * may be used, but no such IDs are allocated yet. New IDs should be + * added to this file when needed. * @subcmd: sub-command ID for the command */ struct nl80211_vendor_cmd_info { - __u32 vendor_id; - __u32 subcmd; + __u32 vendor_id; + __u32 subcmd; }; /** @@ -5821,45 +5816,45 @@ struct nl80211_vendor_cmd_info { * @NL80211_TDLS_PEER_WMM: TDLS peer is WMM capable. */ enum nl80211_tdls_peer_capability { - NL80211_TDLS_PEER_HT = 1<<0, - NL80211_TDLS_PEER_VHT = 1<<1, - NL80211_TDLS_PEER_WMM = 1<<2, + NL80211_TDLS_PEER_HT = 1<<0, + NL80211_TDLS_PEER_VHT = 1<<1, + NL80211_TDLS_PEER_WMM = 1<<2, }; /** * enum nl80211_sched_scan_plan - scanning plan for scheduled scan * @__NL80211_SCHED_SCAN_PLAN_INVALID: attribute number 0 is reserved * @NL80211_SCHED_SCAN_PLAN_INTERVAL: interval between scan iterations. In - * seconds (u32). + * seconds (u32). * @NL80211_SCHED_SCAN_PLAN_ITERATIONS: number of scan iterations in this - * scan plan (u32). The last scan plan must not specify this attribute - * because it will run infinitely. A value of zero is invalid as it will - * make the scan plan meaningless. + * scan plan (u32). The last scan plan must not specify this attribute + * because it will run infinitely. A value of zero is invalid as it will + * make the scan plan meaningless. * @NL80211_SCHED_SCAN_PLAN_MAX: highest scheduled scan plan attribute number - * currently defined + * currently defined * @__NL80211_SCHED_SCAN_PLAN_AFTER_LAST: internal use */ enum nl80211_sched_scan_plan { - __NL80211_SCHED_SCAN_PLAN_INVALID, - NL80211_SCHED_SCAN_PLAN_INTERVAL, - NL80211_SCHED_SCAN_PLAN_ITERATIONS, - - /* keep last */ - __NL80211_SCHED_SCAN_PLAN_AFTER_LAST, - NL80211_SCHED_SCAN_PLAN_MAX = - __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1 + __NL80211_SCHED_SCAN_PLAN_INVALID, + NL80211_SCHED_SCAN_PLAN_INTERVAL, + NL80211_SCHED_SCAN_PLAN_ITERATIONS, + + /* keep last */ + __NL80211_SCHED_SCAN_PLAN_AFTER_LAST, + NL80211_SCHED_SCAN_PLAN_MAX = + __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1 }; /** * struct nl80211_bss_select_rssi_adjust - RSSI adjustment parameters. * * @band: band of BSS that must match for RSSI value adjustment. The value - * of this field is according to &enum nl80211_band. + * of this field is according to &enum nl80211_band. * @delta: value used to adjust the RSSI value of matching BSS in dB. */ struct nl80211_bss_select_rssi_adjust { - __u8 band; - __s8 delta; + __u8 band; + __s8 delta; } __attribute__((packed)); /** @@ -5867,16 +5862,16 @@ struct nl80211_bss_select_rssi_adjust { * * @__NL80211_BSS_SELECT_ATTR_INVALID: reserved. * @NL80211_BSS_SELECT_ATTR_RSSI: Flag indicating only RSSI-based BSS selection - * is requested. + * is requested. * @NL80211_BSS_SELECT_ATTR_BAND_PREF: attribute indicating BSS - * selection should be done such that the specified band is preferred. - * When there are multiple BSS-es in the preferred band, the driver - * shall use RSSI-based BSS selection as a second step. The value of - * this attribute is according to &enum nl80211_band (u32). + * selection should be done such that the specified band is preferred. + * When there are multiple BSS-es in the preferred band, the driver + * shall use RSSI-based BSS selection as a second step. The value of + * this attribute is according to &enum nl80211_band (u32). * @NL80211_BSS_SELECT_ATTR_RSSI_ADJUST: When present the RSSI level for - * BSS-es in the specified band is to be adjusted before doing - * RSSI-based BSS selection. The attribute value is a packed structure - * value as specified by &struct nl80211_bss_select_rssi_adjust. + * BSS-es in the specified band is to be adjusted before doing + * RSSI-based BSS selection. The attribute value is a packed structure + * value as specified by &struct nl80211_bss_select_rssi_adjust. * @NL80211_BSS_SELECT_ATTR_MAX: highest bss select attribute number. * @__NL80211_BSS_SELECT_ATTR_AFTER_LAST: internal use. * @@ -5885,14 +5880,14 @@ struct nl80211_bss_select_rssi_adjust { * which the driver shall use. */ enum nl80211_bss_select_attr { - __NL80211_BSS_SELECT_ATTR_INVALID, - NL80211_BSS_SELECT_ATTR_RSSI, - NL80211_BSS_SELECT_ATTR_BAND_PREF, - NL80211_BSS_SELECT_ATTR_RSSI_ADJUST, - - /* keep last */ - __NL80211_BSS_SELECT_ATTR_AFTER_LAST, - NL80211_BSS_SELECT_ATTR_MAX = __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1 + __NL80211_BSS_SELECT_ATTR_INVALID, + NL80211_BSS_SELECT_ATTR_RSSI, + NL80211_BSS_SELECT_ATTR_BAND_PREF, + NL80211_BSS_SELECT_ATTR_RSSI_ADJUST, + + /* keep last */ + __NL80211_BSS_SELECT_ATTR_AFTER_LAST, + NL80211_BSS_SELECT_ATTR_MAX = __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1 }; /** @@ -5905,13 +5900,13 @@ enum nl80211_bss_select_attr { * @NL80211_NAN_FUNC_FOLLOW_UP: function is follow-up */ enum nl80211_nan_function_type { - NL80211_NAN_FUNC_PUBLISH, - NL80211_NAN_FUNC_SUBSCRIBE, - NL80211_NAN_FUNC_FOLLOW_UP, + NL80211_NAN_FUNC_PUBLISH, + NL80211_NAN_FUNC_SUBSCRIBE, + NL80211_NAN_FUNC_FOLLOW_UP, - /* keep last */ - __NL80211_NAN_FUNC_TYPE_AFTER_LAST, - NL80211_NAN_FUNC_MAX_TYPE = __NL80211_NAN_FUNC_TYPE_AFTER_LAST - 1, + /* keep last */ + __NL80211_NAN_FUNC_TYPE_AFTER_LAST, + NL80211_NAN_FUNC_MAX_TYPE = __NL80211_NAN_FUNC_TYPE_AFTER_LAST - 1, }; /** @@ -5923,8 +5918,8 @@ enum nl80211_nan_function_type { * @NL80211_NAN_UNSOLICITED_PUBLISH: publish function is unsolicited */ enum nl80211_nan_publish_type { - NL80211_NAN_SOLICITED_PUBLISH = 1 << 0, - NL80211_NAN_UNSOLICITED_PUBLISH = 1 << 1, + NL80211_NAN_SOLICITED_PUBLISH = 1 << 0, + NL80211_NAN_UNSOLICITED_PUBLISH = 1 << 1, }; /** @@ -5937,9 +5932,9 @@ enum nl80211_nan_publish_type { * @NL80211_NAN_FUNC_TERM_REASON_ERROR: errored */ enum nl80211_nan_func_term_reason { - NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST, - NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED, - NL80211_NAN_FUNC_TERM_REASON_ERROR, + NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST, + NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED, + NL80211_NAN_FUNC_TERM_REASON_ERROR, }; #define NL80211_NAN_FUNC_SERVICE_ID_LEN 6 @@ -5951,152 +5946,152 @@ enum nl80211_nan_func_term_reason { * @__NL80211_NAN_FUNC_INVALID: invalid * @NL80211_NAN_FUNC_TYPE: &enum nl80211_nan_function_type (u8). * @NL80211_NAN_FUNC_SERVICE_ID: 6 bytes of the service ID hash as - * specified in NAN spec. This is a binary attribute. + * specified in NAN spec. This is a binary attribute. * @NL80211_NAN_FUNC_PUBLISH_TYPE: relevant if the function's type is - * publish. Defines the transmission type for the publish Service Discovery - * Frame, see &enum nl80211_nan_publish_type. Its type is u8. + * publish. Defines the transmission type for the publish Service Discovery + * Frame, see &enum nl80211_nan_publish_type. Its type is u8. * @NL80211_NAN_FUNC_PUBLISH_BCAST: relevant if the function is a solicited - * publish. Should the solicited publish Service Discovery Frame be sent to - * the NAN Broadcast address. This is a flag. + * publish. Should the solicited publish Service Discovery Frame be sent to + * the NAN Broadcast address. This is a flag. * @NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE: relevant if the function's type is - * subscribe. Is the subscribe active. This is a flag. + * subscribe. Is the subscribe active. This is a flag. * @NL80211_NAN_FUNC_FOLLOW_UP_ID: relevant if the function's type is follow up. - * The instance ID for the follow up Service Discovery Frame. This is u8. + * The instance ID for the follow up Service Discovery Frame. This is u8. * @NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID: relevant if the function's type - * is follow up. This is a u8. - * The requestor instance ID for the follow up Service Discovery Frame. + * is follow up. This is a u8. + * The requestor instance ID for the follow up Service Discovery Frame. * @NL80211_NAN_FUNC_FOLLOW_UP_DEST: the MAC address of the recipient of the - * follow up Service Discovery Frame. This is a binary attribute. + * follow up Service Discovery Frame. This is a binary attribute. * @NL80211_NAN_FUNC_CLOSE_RANGE: is this function limited for devices in a - * close range. The range itself (RSSI) is defined by the device. - * This is a flag. + * close range. The range itself (RSSI) is defined by the device. + * This is a flag. * @NL80211_NAN_FUNC_TTL: strictly positive number of DWs this function should - * stay active. If not present infinite TTL is assumed. This is a u32. + * stay active. If not present infinite TTL is assumed. This is a u32. * @NL80211_NAN_FUNC_SERVICE_INFO: array of bytes describing the service - * specific info. This is a binary attribute. + * specific info. This is a binary attribute. * @NL80211_NAN_FUNC_SRF: Service Receive Filter. This is a nested attribute. - * See &enum nl80211_nan_srf_attributes. + * See &enum nl80211_nan_srf_attributes. * @NL80211_NAN_FUNC_RX_MATCH_FILTER: Receive Matching filter. This is a nested - * attribute. It is a list of binary values. + * attribute. It is a list of binary values. * @NL80211_NAN_FUNC_TX_MATCH_FILTER: Transmit Matching filter. This is a - * nested attribute. It is a list of binary values. + * nested attribute. It is a list of binary values. * @NL80211_NAN_FUNC_INSTANCE_ID: The instance ID of the function. - * Its type is u8 and it cannot be 0. + * Its type is u8 and it cannot be 0. * @NL80211_NAN_FUNC_TERM_REASON: NAN function termination reason. - * See &enum nl80211_nan_func_term_reason. + * See &enum nl80211_nan_func_term_reason. * * @NUM_NL80211_NAN_FUNC_ATTR: internal * @NL80211_NAN_FUNC_ATTR_MAX: highest NAN function attribute */ enum nl80211_nan_func_attributes { - __NL80211_NAN_FUNC_INVALID, - NL80211_NAN_FUNC_TYPE, - NL80211_NAN_FUNC_SERVICE_ID, - NL80211_NAN_FUNC_PUBLISH_TYPE, - NL80211_NAN_FUNC_PUBLISH_BCAST, - NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE, - NL80211_NAN_FUNC_FOLLOW_UP_ID, - NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID, - NL80211_NAN_FUNC_FOLLOW_UP_DEST, - NL80211_NAN_FUNC_CLOSE_RANGE, - NL80211_NAN_FUNC_TTL, - NL80211_NAN_FUNC_SERVICE_INFO, - NL80211_NAN_FUNC_SRF, - NL80211_NAN_FUNC_RX_MATCH_FILTER, - NL80211_NAN_FUNC_TX_MATCH_FILTER, - NL80211_NAN_FUNC_INSTANCE_ID, - NL80211_NAN_FUNC_TERM_REASON, - - /* keep last */ - NUM_NL80211_NAN_FUNC_ATTR, - NL80211_NAN_FUNC_ATTR_MAX = NUM_NL80211_NAN_FUNC_ATTR - 1 + __NL80211_NAN_FUNC_INVALID, + NL80211_NAN_FUNC_TYPE, + NL80211_NAN_FUNC_SERVICE_ID, + NL80211_NAN_FUNC_PUBLISH_TYPE, + NL80211_NAN_FUNC_PUBLISH_BCAST, + NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE, + NL80211_NAN_FUNC_FOLLOW_UP_ID, + NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID, + NL80211_NAN_FUNC_FOLLOW_UP_DEST, + NL80211_NAN_FUNC_CLOSE_RANGE, + NL80211_NAN_FUNC_TTL, + NL80211_NAN_FUNC_SERVICE_INFO, + NL80211_NAN_FUNC_SRF, + NL80211_NAN_FUNC_RX_MATCH_FILTER, + NL80211_NAN_FUNC_TX_MATCH_FILTER, + NL80211_NAN_FUNC_INSTANCE_ID, + NL80211_NAN_FUNC_TERM_REASON, + + /* keep last */ + NUM_NL80211_NAN_FUNC_ATTR, + NL80211_NAN_FUNC_ATTR_MAX = NUM_NL80211_NAN_FUNC_ATTR - 1 }; /** * enum nl80211_nan_srf_attributes - NAN Service Response filter attributes * @__NL80211_NAN_SRF_INVALID: invalid * @NL80211_NAN_SRF_INCLUDE: present if the include bit of the SRF set. - * This is a flag. + * This is a flag. * @NL80211_NAN_SRF_BF: Bloom Filter. Present if and only if - * %NL80211_NAN_SRF_MAC_ADDRS isn't present. This attribute is binary. + * %NL80211_NAN_SRF_MAC_ADDRS isn't present. This attribute is binary. * @NL80211_NAN_SRF_BF_IDX: index of the Bloom Filter. Mandatory if - * %NL80211_NAN_SRF_BF is present. This is a u8. + * %NL80211_NAN_SRF_BF is present. This is a u8. * @NL80211_NAN_SRF_MAC_ADDRS: list of MAC addresses for the SRF. Present if - * and only if %NL80211_NAN_SRF_BF isn't present. This is a nested - * attribute. Each nested attribute is a MAC address. + * and only if %NL80211_NAN_SRF_BF isn't present. This is a nested + * attribute. Each nested attribute is a MAC address. * @NUM_NL80211_NAN_SRF_ATTR: internal * @NL80211_NAN_SRF_ATTR_MAX: highest NAN SRF attribute */ enum nl80211_nan_srf_attributes { - __NL80211_NAN_SRF_INVALID, - NL80211_NAN_SRF_INCLUDE, - NL80211_NAN_SRF_BF, - NL80211_NAN_SRF_BF_IDX, - NL80211_NAN_SRF_MAC_ADDRS, - - /* keep last */ - NUM_NL80211_NAN_SRF_ATTR, - NL80211_NAN_SRF_ATTR_MAX = NUM_NL80211_NAN_SRF_ATTR - 1, + __NL80211_NAN_SRF_INVALID, + NL80211_NAN_SRF_INCLUDE, + NL80211_NAN_SRF_BF, + NL80211_NAN_SRF_BF_IDX, + NL80211_NAN_SRF_MAC_ADDRS, + + /* keep last */ + NUM_NL80211_NAN_SRF_ATTR, + NL80211_NAN_SRF_ATTR_MAX = NUM_NL80211_NAN_SRF_ATTR - 1, }; /** * enum nl80211_nan_match_attributes - NAN match attributes * @__NL80211_NAN_MATCH_INVALID: invalid * @NL80211_NAN_MATCH_FUNC_LOCAL: the local function that had the - * match. This is a nested attribute. - * See &enum nl80211_nan_func_attributes. + * match. This is a nested attribute. + * See &enum nl80211_nan_func_attributes. * @NL80211_NAN_MATCH_FUNC_PEER: the peer function - * that caused the match. This is a nested attribute. - * See &enum nl80211_nan_func_attributes. + * that caused the match. This is a nested attribute. + * See &enum nl80211_nan_func_attributes. * * @NUM_NL80211_NAN_MATCH_ATTR: internal * @NL80211_NAN_MATCH_ATTR_MAX: highest NAN match attribute */ enum nl80211_nan_match_attributes { - __NL80211_NAN_MATCH_INVALID, - NL80211_NAN_MATCH_FUNC_LOCAL, - NL80211_NAN_MATCH_FUNC_PEER, + __NL80211_NAN_MATCH_INVALID, + NL80211_NAN_MATCH_FUNC_LOCAL, + NL80211_NAN_MATCH_FUNC_PEER, - /* keep last */ - NUM_NL80211_NAN_MATCH_ATTR, - NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1 + /* keep last */ + NUM_NL80211_NAN_MATCH_ATTR, + NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1 }; /** * nl80211_external_auth_action - Action to perform with external - * authentication request. Used by NL80211_ATTR_EXTERNAL_AUTH_ACTION. + * authentication request. Used by NL80211_ATTR_EXTERNAL_AUTH_ACTION. * @NL80211_EXTERNAL_AUTH_START: Start the authentication. * @NL80211_EXTERNAL_AUTH_ABORT: Abort the ongoing authentication. */ enum nl80211_external_auth_action { - NL80211_EXTERNAL_AUTH_START, - NL80211_EXTERNAL_AUTH_ABORT, + NL80211_EXTERNAL_AUTH_START, + NL80211_EXTERNAL_AUTH_ABORT, }; /** * enum nl80211_ftm_responder_attributes - fine timing measurement - * responder attributes + * responder attributes * @__NL80211_FTM_RESP_ATTR_INVALID: Invalid * @NL80211_FTM_RESP_ATTR_ENABLED: FTM responder is enabled * @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element - * (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10), - * i.e. starting with the measurement token + * (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10), + * i.e. starting with the measurement token * @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element - * (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13), - * i.e. starting with the measurement token + * (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13), + * i.e. starting with the measurement token * @__NL80211_FTM_RESP_ATTR_LAST: Internal * @NL80211_FTM_RESP_ATTR_MAX: highest FTM responder attribute. */ enum nl80211_ftm_responder_attributes { - __NL80211_FTM_RESP_ATTR_INVALID, + __NL80211_FTM_RESP_ATTR_INVALID, - NL80211_FTM_RESP_ATTR_ENABLED, - NL80211_FTM_RESP_ATTR_LCI, - NL80211_FTM_RESP_ATTR_CIVICLOC, + NL80211_FTM_RESP_ATTR_ENABLED, + NL80211_FTM_RESP_ATTR_LCI, + NL80211_FTM_RESP_ATTR_CIVICLOC, - /* keep last */ - __NL80211_FTM_RESP_ATTR_LAST, - NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1, + /* keep last */ + __NL80211_FTM_RESP_ATTR_LAST, + NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1, }; /* @@ -6107,42 +6102,42 @@ enum nl80211_ftm_responder_attributes { * * @__NL80211_FTM_STATS_INVALID: attribute number 0 is reserved * @NL80211_FTM_STATS_SUCCESS_NUM: number of FTM sessions in which all frames - * were ssfully answered (u32) + * were ssfully answered (u32) * @NL80211_FTM_STATS_PARTIAL_NUM: number of FTM sessions in which part of the - * frames were successfully answered (u32) + * frames were successfully answered (u32) * @NL80211_FTM_STATS_FAILED_NUM: number of failed FTM sessions (u32) * @NL80211_FTM_STATS_ASAP_NUM: number of ASAP sessions (u32) * @NL80211_FTM_STATS_NON_ASAP_NUM: number of non-ASAP sessions (u32) * @NL80211_FTM_STATS_TOTAL_DURATION_MSEC: total sessions durations - gives an - * indication of how much time the responder was busy (u64, msec) + * indication of how much time the responder was busy (u64, msec) * @NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM: number of unknown FTM triggers - - * triggers from initiators that didn't finish successfully the negotiation - * phase with the responder (u32) + * triggers from initiators that didn't finish successfully the negotiation + * phase with the responder (u32) * @NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM: number of FTM reschedule requests - * - initiator asks for a new scheduling although it already has scheduled - * FTM slot (u32) + * - initiator asks for a new scheduling although it already has scheduled + * FTM slot (u32) * @NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM: number of FTM triggers out of - * scheduled window (u32) + * scheduled window (u32) * @NL80211_FTM_STATS_PAD: used for padding, ignore * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal * @NL80211_FTM_STATS_MAX: highest possible FTM responder stats attribute */ enum nl80211_ftm_responder_stats { - __NL80211_FTM_STATS_INVALID, - NL80211_FTM_STATS_SUCCESS_NUM, - NL80211_FTM_STATS_PARTIAL_NUM, - NL80211_FTM_STATS_FAILED_NUM, - NL80211_FTM_STATS_ASAP_NUM, - NL80211_FTM_STATS_NON_ASAP_NUM, - NL80211_FTM_STATS_TOTAL_DURATION_MSEC, - NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM, - NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM, - NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM, - NL80211_FTM_STATS_PAD, - - /* keep last */ - __NL80211_FTM_STATS_AFTER_LAST, - NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1 + __NL80211_FTM_STATS_INVALID, + NL80211_FTM_STATS_SUCCESS_NUM, + NL80211_FTM_STATS_PARTIAL_NUM, + NL80211_FTM_STATS_FAILED_NUM, + NL80211_FTM_STATS_ASAP_NUM, + NL80211_FTM_STATS_NON_ASAP_NUM, + NL80211_FTM_STATS_TOTAL_DURATION_MSEC, + NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM, + NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM, + NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM, + NL80211_FTM_STATS_PAD, + + /* keep last */ + __NL80211_FTM_STATS_AFTER_LAST, + NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1 }; /** @@ -6153,16 +6148,16 @@ enum nl80211_ftm_responder_stats { * @NL80211_PREAMBLE_DMG: DMG preamble */ enum nl80211_preamble { - NL80211_PREAMBLE_LEGACY, - NL80211_PREAMBLE_HT, - NL80211_PREAMBLE_VHT, - NL80211_PREAMBLE_DMG, + NL80211_PREAMBLE_LEGACY, + NL80211_PREAMBLE_HT, + NL80211_PREAMBLE_VHT, + NL80211_PREAMBLE_DMG, }; /** * enum nl80211_peer_measurement_type - peer measurement types * @NL80211_PMSR_TYPE_INVALID: invalid/unused, needed as we use - * these numbers also for attributes + * these numbers also for attributes * * @NL80211_PMSR_TYPE_FTM: flight time measurement * @@ -6170,12 +6165,12 @@ enum nl80211_preamble { * @NL80211_PMSR_TYPE_MAX: highest type number */ enum nl80211_peer_measurement_type { - NL80211_PMSR_TYPE_INVALID, + NL80211_PMSR_TYPE_INVALID, - NL80211_PMSR_TYPE_FTM, + NL80211_PMSR_TYPE_FTM, - NUM_NL80211_PMSR_TYPES, - NL80211_PMSR_TYPE_MAX = NUM_NL80211_PMSR_TYPES - 1 + NUM_NL80211_PMSR_TYPES, + NL80211_PMSR_TYPE_MAX = NUM_NL80211_PMSR_TYPES - 1 }; /** @@ -6184,13 +6179,13 @@ enum nl80211_peer_measurement_type { * @NL80211_PMSR_STATUS_REFUSED: measurement was locally refused * @NL80211_PMSR_STATUS_TIMEOUT: measurement timed out * @NL80211_PMSR_STATUS_FAILURE: measurement failed, a type-dependent - * reason may be available in the response data + * reason may be available in the response data */ enum nl80211_peer_measurement_status { - NL80211_PMSR_STATUS_SUCCESS, - NL80211_PMSR_STATUS_REFUSED, - NL80211_PMSR_STATUS_TIMEOUT, - NL80211_PMSR_STATUS_FAILURE, + NL80211_PMSR_STATUS_SUCCESS, + NL80211_PMSR_STATUS_REFUSED, + NL80211_PMSR_STATUS_TIMEOUT, + NL80211_PMSR_STATUS_FAILURE, }; /** @@ -6198,23 +6193,23 @@ enum nl80211_peer_measurement_status { * @__NL80211_PMSR_REQ_ATTR_INVALID: invalid * * @NL80211_PMSR_REQ_ATTR_DATA: This is a nested attribute with measurement - * type-specific request data inside. The attributes used are from the - * enums named nl80211_peer_measurement_<type>_req. + * type-specific request data inside. The attributes used are from the + * enums named nl80211_peer_measurement_<type>_req. * @NL80211_PMSR_REQ_ATTR_GET_AP_TSF: include AP TSF timestamp, if supported - * (flag attribute) + * (flag attribute) * * @NUM_NL80211_PMSR_REQ_ATTRS: internal * @NL80211_PMSR_REQ_ATTR_MAX: highest attribute number */ enum nl80211_peer_measurement_req { - __NL80211_PMSR_REQ_ATTR_INVALID, + __NL80211_PMSR_REQ_ATTR_INVALID, - NL80211_PMSR_REQ_ATTR_DATA, - NL80211_PMSR_REQ_ATTR_GET_AP_TSF, + NL80211_PMSR_REQ_ATTR_DATA, + NL80211_PMSR_REQ_ATTR_GET_AP_TSF, - /* keep last */ - NUM_NL80211_PMSR_REQ_ATTRS, - NL80211_PMSR_REQ_ATTR_MAX = NUM_NL80211_PMSR_REQ_ATTRS - 1 + /* keep last */ + NUM_NL80211_PMSR_REQ_ATTRS, + NL80211_PMSR_REQ_ATTR_MAX = NUM_NL80211_PMSR_REQ_ATTRS - 1 }; /** @@ -6222,39 +6217,39 @@ enum nl80211_peer_measurement_req { * @__NL80211_PMSR_RESP_ATTR_INVALID: invalid * * @NL80211_PMSR_RESP_ATTR_DATA: This is a nested attribute with measurement - * type-specific results inside. The attributes used are from the enums - * named nl80211_peer_measurement_<type>_resp. + * type-specific results inside. The attributes used are from the enums + * named nl80211_peer_measurement_<type>_resp. * @NL80211_PMSR_RESP_ATTR_STATUS: u32 value with the measurement status - * (using values from &enum nl80211_peer_measurement_status.) + * (using values from &enum nl80211_peer_measurement_status.) * @NL80211_PMSR_RESP_ATTR_HOST_TIME: host time (%CLOCK_BOOTTIME) when the - * result was measured; this value is not expected to be accurate to - * more than 20ms. (u64, nanoseconds) + * result was measured; this value is not expected to be accurate to + * more than 20ms. (u64, nanoseconds) * @NL80211_PMSR_RESP_ATTR_AP_TSF: TSF of the AP that the interface - * doing the measurement is connected to when the result was measured. - * This shall be accurately reported if supported and requested - * (u64, usec) + * doing the measurement is connected to when the result was measured. + * This shall be accurately reported if supported and requested + * (u64, usec) * @NL80211_PMSR_RESP_ATTR_FINAL: If results are sent to the host partially - * (*e.g. with FTM per-burst data) this flag will be cleared on all but - * the last result; if all results are combined it's set on the single - * result. + * (*e.g. with FTM per-burst data) this flag will be cleared on all but + * the last result; if all results are combined it's set on the single + * result. * @NL80211_PMSR_RESP_ATTR_PAD: padding for 64-bit attributes, ignore * * @NUM_NL80211_PMSR_RESP_ATTRS: internal * @NL80211_PMSR_RESP_ATTR_MAX: highest attribute number */ enum nl80211_peer_measurement_resp { - __NL80211_PMSR_RESP_ATTR_INVALID, - - NL80211_PMSR_RESP_ATTR_DATA, - NL80211_PMSR_RESP_ATTR_STATUS, - NL80211_PMSR_RESP_ATTR_HOST_TIME, - NL80211_PMSR_RESP_ATTR_AP_TSF, - NL80211_PMSR_RESP_ATTR_FINAL, - NL80211_PMSR_RESP_ATTR_PAD, - - /* keep last */ - NUM_NL80211_PMSR_RESP_ATTRS, - NL80211_PMSR_RESP_ATTR_MAX = NUM_NL80211_PMSR_RESP_ATTRS - 1 + __NL80211_PMSR_RESP_ATTR_INVALID, + + NL80211_PMSR_RESP_ATTR_DATA, + NL80211_PMSR_RESP_ATTR_STATUS, + NL80211_PMSR_RESP_ATTR_HOST_TIME, + NL80211_PMSR_RESP_ATTR_AP_TSF, + NL80211_PMSR_RESP_ATTR_FINAL, + NL80211_PMSR_RESP_ATTR_PAD, + + /* keep last */ + NUM_NL80211_PMSR_RESP_ATTRS, + NL80211_PMSR_RESP_ATTR_MAX = NUM_NL80211_PMSR_RESP_ATTRS - 1 }; /** @@ -6263,28 +6258,28 @@ enum nl80211_peer_measurement_resp { * * @NL80211_PMSR_PEER_ATTR_ADDR: peer's MAC address * @NL80211_PMSR_PEER_ATTR_CHAN: channel definition, nested, using top-level - * attributes like %NL80211_ATTR_WIPHY_FREQ etc. + * attributes like %NL80211_ATTR_WIPHY_FREQ etc. * @NL80211_PMSR_PEER_ATTR_REQ: This is a nested attribute indexed by - * measurement type, with attributes from the - * &enum nl80211_peer_measurement_req inside. + * measurement type, with attributes from the + * &enum nl80211_peer_measurement_req inside. * @NL80211_PMSR_PEER_ATTR_RESP: This is a nested attribute indexed by - * measurement type, with attributes from the - * &enum nl80211_peer_measurement_resp inside. + * measurement type, with attributes from the + * &enum nl80211_peer_measurement_resp inside. * * @NUM_NL80211_PMSR_PEER_ATTRS: internal * @NL80211_PMSR_PEER_ATTR_MAX: highest attribute number */ enum nl80211_peer_measurement_peer_attrs { - __NL80211_PMSR_PEER_ATTR_INVALID, + __NL80211_PMSR_PEER_ATTR_INVALID, - NL80211_PMSR_PEER_ATTR_ADDR, - NL80211_PMSR_PEER_ATTR_CHAN, - NL80211_PMSR_PEER_ATTR_REQ, - NL80211_PMSR_PEER_ATTR_RESP, + NL80211_PMSR_PEER_ATTR_ADDR, + NL80211_PMSR_PEER_ATTR_CHAN, + NL80211_PMSR_PEER_ATTR_REQ, + NL80211_PMSR_PEER_ATTR_RESP, - /* keep last */ - NUM_NL80211_PMSR_PEER_ATTRS, - NL80211_PMSR_PEER_ATTR_MAX = NUM_NL80211_PMSR_PEER_ATTRS - 1, + /* keep last */ + NUM_NL80211_PMSR_PEER_ATTRS, + NL80211_PMSR_PEER_ATTR_MAX = NUM_NL80211_PMSR_PEER_ATTRS - 1, }; /** @@ -6292,37 +6287,37 @@ enum nl80211_peer_measurement_peer_attrs { * @__NL80211_PMSR_ATTR_INVALID: invalid * * @NL80211_PMSR_ATTR_MAX_PEERS: u32 attribute used for capability - * advertisement only, indicates the maximum number of peers - * measurements can be done with in a single request + * advertisement only, indicates the maximum number of peers + * measurements can be done with in a single request * @NL80211_PMSR_ATTR_REPORT_AP_TSF: flag attribute in capability - * indicating that the connected AP's TSF can be reported in - * measurement results + * indicating that the connected AP's TSF can be reported in + * measurement results * @NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR: flag attribute in capability - * indicating that MAC address randomization is supported. + * indicating that MAC address randomization is supported. * @NL80211_PMSR_ATTR_TYPE_CAPA: capabilities reported by the device, - * this contains a nesting indexed by measurement type, and - * type-specific capabilities inside, which are from the enums - * named nl80211_peer_measurement_<type>_capa. + * this contains a nesting indexed by measurement type, and + * type-specific capabilities inside, which are from the enums + * named nl80211_peer_measurement_<type>_capa. * @NL80211_PMSR_ATTR_PEERS: nested attribute, the nesting index is - * meaningless, just a list of peers to measure with, with the - * sub-attributes taken from - * &enum nl80211_peer_measurement_peer_attrs. + * meaningless, just a list of peers to measure with, with the + * sub-attributes taken from + * &enum nl80211_peer_measurement_peer_attrs. * * @NUM_NL80211_PMSR_ATTR: internal * @NL80211_PMSR_ATTR_MAX: highest attribute number */ enum nl80211_peer_measurement_attrs { - __NL80211_PMSR_ATTR_INVALID, + __NL80211_PMSR_ATTR_INVALID, - NL80211_PMSR_ATTR_MAX_PEERS, - NL80211_PMSR_ATTR_REPORT_AP_TSF, - NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR, - NL80211_PMSR_ATTR_TYPE_CAPA, - NL80211_PMSR_ATTR_PEERS, + NL80211_PMSR_ATTR_MAX_PEERS, + NL80211_PMSR_ATTR_REPORT_AP_TSF, + NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR, + NL80211_PMSR_ATTR_TYPE_CAPA, + NL80211_PMSR_ATTR_PEERS, - /* keep last */ - NUM_NL80211_PMSR_ATTR, - NL80211_PMSR_ATTR_MAX = NUM_NL80211_PMSR_ATTR - 1 + /* keep last */ + NUM_NL80211_PMSR_ATTR, + NL80211_PMSR_ATTR_MAX = NUM_NL80211_PMSR_ATTR - 1 }; /** @@ -6330,44 +6325,44 @@ enum nl80211_peer_measurement_attrs { * @__NL80211_PMSR_FTM_CAPA_ATTR_INVALID: invalid * * @NL80211_PMSR_FTM_CAPA_ATTR_ASAP: flag attribute indicating ASAP mode - * is supported + * is supported * @NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP: flag attribute indicating non-ASAP - * mode is supported + * mode is supported * @NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI: flag attribute indicating if LCI - * data can be requested during the measurement + * data can be requested during the measurement * @NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC: flag attribute indicating if civic - * location data can be requested during the measurement + * location data can be requested during the measurement * @NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES: u32 bitmap attribute of bits - * from &enum nl80211_preamble. + * from &enum nl80211_preamble. * @NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS: bitmap of values from - * &enum nl80211_chan_width indicating the supported channel - * bandwidths for FTM. Note that a higher channel bandwidth may be - * configured to allow for other measurements types with different - * bandwidth requirement in the same measurement. + * &enum nl80211_chan_width indicating the supported channel + * bandwidths for FTM. Note that a higher channel bandwidth may be + * configured to allow for other measurements types with different + * bandwidth requirement in the same measurement. * @NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT: u32 attribute indicating - * the maximum bursts exponent that can be used (if not present anything - * is valid) + * the maximum bursts exponent that can be used (if not present anything + * is valid) * @NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST: u32 attribute indicating - * the maximum FTMs per burst (if not present anything is valid) + * the maximum FTMs per burst (if not present anything is valid) * * @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal * @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number */ enum nl80211_peer_measurement_ftm_capa { - __NL80211_PMSR_FTM_CAPA_ATTR_INVALID, - - NL80211_PMSR_FTM_CAPA_ATTR_ASAP, - NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP, - NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI, - NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC, - NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES, - NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS, - NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT, - NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST, - - /* keep last */ - NUM_NL80211_PMSR_FTM_CAPA_ATTR, - NL80211_PMSR_FTM_CAPA_ATTR_MAX = NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1 + __NL80211_PMSR_FTM_CAPA_ATTR_INVALID, + + NL80211_PMSR_FTM_CAPA_ATTR_ASAP, + NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP, + NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI, + NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC, + NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES, + NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS, + NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT, + NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST, + + /* keep last */ + NUM_NL80211_PMSR_FTM_CAPA_ATTR, + NL80211_PMSR_FTM_CAPA_ATTR_MAX = NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1 }; /** @@ -6376,43 +6371,43 @@ enum nl80211_peer_measurement_ftm_capa { * * @NL80211_PMSR_FTM_REQ_ATTR_ASAP: ASAP mode requested (flag) * @NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE: preamble type (see - * &enum nl80211_preamble), optional for DMG (u32) + * &enum nl80211_preamble), optional for DMG (u32) * @NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP: number of bursts exponent as in - * 802.11-2016 9.4.2.168 "Fine Timing Measurement Parameters element" - * (u8, 0-15, optional with default 15 i.e. "no preference") + * 802.11-2016 9.4.2.168 "Fine Timing Measurement Parameters element" + * (u8, 0-15, optional with default 15 i.e. "no preference") * @NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD: interval between bursts in units - * of 100ms (u16, optional with default 0) + * of 100ms (u16, optional with default 0) * @NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION: burst duration, as in 802.11-2016 - * Table 9-257 "Burst Duration field encoding" (u8, 0-15, optional with - * default 15 i.e. "no preference") + * Table 9-257 "Burst Duration field encoding" (u8, 0-15, optional with + * default 15 i.e. "no preference") * @NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST: number of successful FTM frames - * requested per burst - * (u8, 0-31, optional with default 0 i.e. "no preference") + * requested per burst + * (u8, 0-31, optional with default 0 i.e. "no preference") * @NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES: number of FTMR frame retries - * (u8, default 3) + * (u8, default 3) * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI: request LCI data (flag) * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC: request civic location data - * (flag) + * (flag) * * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number */ enum nl80211_peer_measurement_ftm_req { - __NL80211_PMSR_FTM_REQ_ATTR_INVALID, - - NL80211_PMSR_FTM_REQ_ATTR_ASAP, - NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE, - NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP, - NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD, - NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION, - NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST, - NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES, - NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI, - NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC, - - /* keep last */ - NUM_NL80211_PMSR_FTM_REQ_ATTR, - NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1 + __NL80211_PMSR_FTM_REQ_ATTR_INVALID, + + NL80211_PMSR_FTM_REQ_ATTR_ASAP, + NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE, + NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP, + NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD, + NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION, + NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST, + NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES, + NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI, + NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC, + + /* keep last */ + NUM_NL80211_PMSR_FTM_REQ_ATTR, + NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1 }; /** @@ -6421,25 +6416,25 @@ enum nl80211_peer_measurement_ftm_req { * @NL80211_PMSR_FTM_FAILURE_NO_RESPONSE: no response from the FTM responder * @NL80211_PMSR_FTM_FAILURE_REJECTED: FTM responder rejected measurement * @NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL: we already know the peer is - * on a different channel, so can't measure (if we didn't know, we'd - * try and get no response) + * on a different channel, so can't measure (if we didn't know, we'd + * try and get no response) * @NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE: peer can't actually do FTM * @NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP: invalid T1/T4 timestamps - * received + * received * @NL80211_PMSR_FTM_FAILURE_PEER_BUSY: peer reports busy, you may retry - * later (see %NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME) + * later (see %NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME) * @NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS: parameters were changed - * by the peer and are no longer supported + * by the peer and are no longer supported */ enum nl80211_peer_measurement_ftm_failure_reasons { - NL80211_PMSR_FTM_FAILURE_UNSPECIFIED, - NL80211_PMSR_FTM_FAILURE_NO_RESPONSE, - NL80211_PMSR_FTM_FAILURE_REJECTED, - NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL, - NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE, - NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP, - NL80211_PMSR_FTM_FAILURE_PEER_BUSY, - NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS, + NL80211_PMSR_FTM_FAILURE_UNSPECIFIED, + NL80211_PMSR_FTM_FAILURE_NO_RESPONSE, + NL80211_PMSR_FTM_FAILURE_REJECTED, + NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL, + NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE, + NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP, + NL80211_PMSR_FTM_FAILURE_PEER_BUSY, + NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS, }; /** @@ -6447,84 +6442,84 @@ enum nl80211_peer_measurement_ftm_failure_reasons { * @__NL80211_PMSR_FTM_RESP_ATTR_INVALID: invalid * * @NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON: FTM-specific failure reason - * (u32, optional) + * (u32, optional) * @NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX: optional, if bursts are reported - * as separate results then it will be the burst index 0...(N-1) and - * the top level will indicate partial results (u32) + * as separate results then it will be the burst index 0...(N-1) and + * the top level will indicate partial results (u32) * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS: number of FTM Request frames - * transmitted (u32, optional) + * transmitted (u32, optional) * @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES: number of FTM Request frames - * that were acknowleged (u32, optional) + * that were acknowleged (u32, optional) * @NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME: retry time received from the - * busy peer (u32, seconds) + * busy peer (u32, seconds) * @NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP: actual number of bursts exponent - * used by the responder (similar to request, u8) + * used by the responder (similar to request, u8) * @NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION: actual burst duration used by - * the responder (similar to request, u8) + * the responder (similar to request, u8) * @NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST: actual FTMs per burst used - * by the responder (similar to request, u8) + * by the responder (similar to request, u8) * @NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG: average RSSI across all FTM action - * frames (optional, s32, 1/2 dBm) + * frames (optional, s32, 1/2 dBm) * @NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD: RSSI spread across all FTM action - * frames (optional, s32, 1/2 dBm) + * frames (optional, s32, 1/2 dBm) * @NL80211_PMSR_FTM_RESP_ATTR_TX_RATE: bitrate we used for the response to the - * FTM action frame (optional, nested, using &enum nl80211_rate_info - * attributes) + * FTM action frame (optional, nested, using &enum nl80211_rate_info + * attributes) * @NL80211_PMSR_FTM_RESP_ATTR_RX_RATE: bitrate the responder used for the FTM - * action frame (optional, nested, using &enum nl80211_rate_info attrs) + * action frame (optional, nested, using &enum nl80211_rate_info attrs) * @NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG: average RTT (s64, picoseconds, optional - * but one of RTT/DIST must be present) + * but one of RTT/DIST must be present) * @NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE: RTT variance (u64, ps^2, note that - * standard deviation is the square root of variance, optional) + * standard deviation is the square root of variance, optional) * @NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD: RTT spread (u64, picoseconds, - * optional) + * optional) * @NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG: average distance (s64, mm, optional - * but one of RTT/DIST must be present) + * but one of RTT/DIST must be present) * @NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE: distance variance (u64, mm^2, note - * that standard deviation is the square root of variance, optional) + * that standard deviation is the square root of variance, optional) * @NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD: distance spread (u64, mm, optional) * @NL80211_PMSR_FTM_RESP_ATTR_LCI: LCI data from peer (binary, optional); - * this is the contents of the Measurement Report Element (802.11-2016 - * 9.4.2.22.1) starting with the Measurement Token, with Measurement - * Type 8. + * this is the contents of the Measurement Report Element (802.11-2016 + * 9.4.2.22.1) starting with the Measurement Token, with Measurement + * Type 8. * @NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC: civic location data from peer - * (binary, optional); - * this is the contents of the Measurement Report Element (802.11-2016 - * 9.4.2.22.1) starting with the Measurement Token, with Measurement - * Type 11. + * (binary, optional); + * this is the contents of the Measurement Report Element (802.11-2016 + * 9.4.2.22.1) starting with the Measurement Token, with Measurement + * Type 11. * @NL80211_PMSR_FTM_RESP_ATTR_PAD: ignore, for u64/s64 padding only * * @NUM_NL80211_PMSR_FTM_RESP_ATTR: internal * @NL80211_PMSR_FTM_RESP_ATTR_MAX: highest attribute number */ enum nl80211_peer_measurement_ftm_resp { - __NL80211_PMSR_FTM_RESP_ATTR_INVALID, - - NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON, - NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX, - NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS, - NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES, - NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME, - NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP, - NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION, - NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST, - NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG, - NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD, - NL80211_PMSR_FTM_RESP_ATTR_TX_RATE, - NL80211_PMSR_FTM_RESP_ATTR_RX_RATE, - NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG, - NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE, - NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD, - NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG, - NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE, - NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD, - NL80211_PMSR_FTM_RESP_ATTR_LCI, - NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC, - NL80211_PMSR_FTM_RESP_ATTR_PAD, - - /* keep last */ - NUM_NL80211_PMSR_FTM_RESP_ATTR, - NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1 + __NL80211_PMSR_FTM_RESP_ATTR_INVALID, + + NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON, + NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX, + NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS, + NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES, + NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME, + NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP, + NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION, + NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST, + NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG, + NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD, + NL80211_PMSR_FTM_RESP_ATTR_TX_RATE, + NL80211_PMSR_FTM_RESP_ATTR_RX_RATE, + NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG, + NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE, + NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD, + NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG, + NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE, + NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD, + NL80211_PMSR_FTM_RESP_ATTR_LCI, + NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC, + NL80211_PMSR_FTM_RESP_ATTR_PAD, + + /* keep last */ + NUM_NL80211_PMSR_FTM_RESP_ATTR, + NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1 }; /** @@ -6538,15 +6533,14 @@ enum nl80211_peer_measurement_ftm_resp { * @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute. */ enum nl80211_obss_pd_attributes { - __NL80211_HE_OBSS_PD_ATTR_INVALID, + __NL80211_HE_OBSS_PD_ATTR_INVALID, - NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET, - NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET, + NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET, + NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET, - /* keep last */ - __NL80211_HE_OBSS_PD_ATTR_LAST, - NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1, + /* keep last */ + __NL80211_HE_OBSS_PD_ATTR_LAST, + NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1, }; - #endif /* __LINUX_NL80211_H */ |