summaryrefslogtreecommitdiff
path: root/netspeed/src
diff options
context:
space:
mode:
Diffstat (limited to 'netspeed/src')
-rw-r--r--netspeed/src/backend.c233
-rw-r--r--netspeed/src/backend.h14
-rw-r--r--netspeed/src/ieee80211.h35
-rw-r--r--netspeed/src/netspeed.c1345
-rw-r--r--netspeed/src/nl80211.h6896
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 */