From: Marcel Holtmann <marcel@holtmann.org>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org, Marcel Holtmann <marcel@holtmann.org>
Subject: [PATCH 4/6] add human readable decoding for capability information field
Date: Mon, 4 May 2009 01:48:45 -0700 [thread overview]
Message-ID: <1241426927-14902-4-git-send-email-marcel@holtmann.org> (raw)
In-Reply-To: <1241426927-14902-3-git-send-email-marcel@holtmann.org>
---
scan.c | 44 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 41 insertions(+), 3 deletions(-)
diff --git a/scan.c b/scan.c
index 0cd3aa8..8cd1f90 100644
--- a/scan.c
+++ b/scan.c
@@ -13,6 +13,20 @@
#include "nl80211.h"
#include "iw.h"
+#define WLAN_CAPABILITY_ESS (1<<0)
+#define WLAN_CAPABILITY_IBSS (1<<1)
+#define WLAN_CAPABILITY_CF_POLLABLE (1<<2)
+#define WLAN_CAPABILITY_CF_POLL_REQUEST (1<<3)
+#define WLAN_CAPABILITY_PRIVACY (1<<4)
+#define WLAN_CAPABILITY_SHORT_PREAMBLE (1<<5)
+#define WLAN_CAPABILITY_PBCC (1<<6)
+#define WLAN_CAPABILITY_CHANNEL_AGILITY (1<<7)
+#define WLAN_CAPABILITY_SPECTRUM_MGMT (1<<8)
+#define WLAN_CAPABILITY_QOS (1<<9)
+#define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10)
+#define WLAN_CAPABILITY_APSD (1<<11)
+#define WLAN_CAPABILITY_DSSS_OFDM (1<<13)
+
struct scan_params {
bool unknown;
};
@@ -333,9 +347,33 @@ static int print_bss_handler(struct nl_msg *msg, void *arg)
if (bss[NL80211_BSS_BEACON_INTERVAL])
printf("\tbeacon interval: %d\n",
nla_get_u16(bss[NL80211_BSS_BEACON_INTERVAL]));
- if (bss[NL80211_BSS_CAPABILITY])
- printf("\tcapability: 0x%.4x\n",
- nla_get_u16(bss[NL80211_BSS_CAPABILITY]));
+ if (bss[NL80211_BSS_CAPABILITY]) {
+ __u16 capa = nla_get_u16(bss[NL80211_BSS_CAPABILITY]);
+ printf("\tcapability:");
+ if (capa & WLAN_CAPABILITY_ESS)
+ printf(" ESS");
+ if (capa & WLAN_CAPABILITY_IBSS)
+ printf(" IBSS");
+ if (capa & WLAN_CAPABILITY_PRIVACY)
+ printf(" Privacy");
+ if (capa & WLAN_CAPABILITY_SHORT_PREAMBLE)
+ printf(" ShortPreamble");
+ if (capa & WLAN_CAPABILITY_PBCC)
+ printf(" PBCC");
+ if (capa & WLAN_CAPABILITY_CHANNEL_AGILITY)
+ printf(" ChannelAgility");
+ if (capa & WLAN_CAPABILITY_SPECTRUM_MGMT)
+ printf(" SpectrumMgmt");
+ if (capa & WLAN_CAPABILITY_QOS)
+ printf(" QoS");
+ if (capa & WLAN_CAPABILITY_SHORT_SLOT_TIME)
+ printf(" ShortSlotTime");
+ if (capa & WLAN_CAPABILITY_APSD)
+ printf(" APSD");
+ if (capa & WLAN_CAPABILITY_DSSS_OFDM)
+ printf(" DSSS-OFDM");
+ printf(" (0x%.4x)\n", capa);
+ }
if (bss[NL80211_BSS_SIGNAL_MBM]) {
int s = nla_get_u32(bss[NL80211_BSS_SIGNAL_MBM]);
printf("\tsignal: %d.%.2d dBm\n", s/100, s%100);
--
1.6.0.6
next prev parent reply other threads:[~2009-05-04 8:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-04 8:48 [PATCH 1/6] add support for parsing ERP information element Marcel Holtmann
2009-05-04 8:48 ` [PATCH 2/6] add basic support for parsing country " Marcel Holtmann
2009-05-04 8:48 ` [PATCH 3/6] add support for showing extended capabilities IE Marcel Holtmann
2009-05-04 8:48 ` Marcel Holtmann [this message]
2009-05-04 8:48 ` [PATCH 5/6] add basic support for parsing WMM information element Marcel Holtmann
2009-05-04 8:48 ` [PATCH 6/6] add support for parsing WPA and RSN/WPA2 information elements Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1241426927-14902-4-git-send-email-marcel@holtmann.org \
--to=marcel@holtmann.org \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).