print hexdump when vendor event and -f requested Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> --- event.c | 4 ++++ iw.h | 1 + util.c | 13 +++++++++++++ 3 files changed, 18 insertions(+) diff --git a/event.c b/event.c index 6775eb2..d903f9e 100644 --- a/event.c +++ b/event.c @@ -535,6 +535,10 @@ static int print_event(struct nl_msg *msg, void *arg) printf("vendor event %.6x:%d\n", nla_get_u32(tb[NL80211_ATTR_VENDOR_ID]), nla_get_u32(tb[NL80211_ATTR_VENDOR_SUBCMD])); + if (args->frame && tb[NL80211_ATTR_VENDOR_DATA]) + iw_hexdump("vendor event", + nla_data(tb[NL80211_ATTR_VENDOR_DATA]), + nla_len(tb[NL80211_ATTR_VENDOR_DATA])); break; default: printf("unknown event %d (%s)\n", diff --git a/iw.h b/iw.h index 317f0a6..db88a86 100644 --- a/iw.h +++ b/iw.h @@ -171,6 +171,7 @@ void print_ies(unsigned char *ie, int ielen, bool unknown, enum print_ie_type ptype); void parse_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen); +void iw_hexdump(const char *prefix, const __u8 *data, size_t len); DECLARE_SECTION(set); DECLARE_SECTION(get); diff --git a/util.c b/util.c index 97307ec..ce4b0ac 100644 --- a/util.c +++ b/util.c @@ -702,3 +702,16 @@ void print_vht_info(__u32 capa, const __u8 *mcs) tmp = mcs[6] | (mcs[7] << 8); printf("\t\tVHT TX highest supported: %d Mbps\n", tmp & 0x1fff); } + +void iw_hexdump(const char *prefix, const __u8 *buf, size_t size) +{ + int i; + + printf("%s: ", prefix); + for (i = 0; i < size; i++) { + if (i && i % 16 == 0) + printf("\n%s: ", prefix); + printf("%02x ", buf[i]); + } + printf("\n\n"); +} -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html