Date: Tue, 4 Dec 2007 05:20:22 GMT From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 130140 for review Message-ID: <200712040520.lB45KMmI057143@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=130140 Change 130140 by sam@sam_ebb on 2007/12/04 05:20:01 sync w/ vap code Affected files ... .. //depot/projects/vap/tools/tools/net80211/wlanwatch/wlanwatch.c#3 edit Differences ... ==== //depot/projects/vap/tools/tools/net80211/wlanwatch/wlanwatch.c#3 (text+ko) ==== @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -74,6 +67,14 @@ #include <unistd.h> #include <ifaddrs.h> +/* XXX */ +enum ieee80211_notify_cac_event { + IEEE80211_NOTIFY_CAC_START = 0, /* CAC timer started */ + IEEE80211_NOTIFY_CAC_STOP = 1, /* CAC intentionally stopped */ + IEEE80211_NOTIFY_CAC_RADAR = 2, /* CAC stopped due to radar detectio */ + IEEE80211_NOTIFY_CAC_EXPIRE = 3, /* CAC expired w/o radar */ +}; + static void print_rtmsg(struct rt_msghdr *rtm, int msglen); int nflag = 0; @@ -95,10 +96,7 @@ } static void -bprintf(fp, b, s) - FILE *fp; - int b; - u_char *s; +bprintf(FILE *fp, int b, char *s) { int i; int gotsome = 0; @@ -138,9 +136,8 @@ char addrnames[] = "\1DST\2GATEWAY\3NETMASK\4GENMASK\5IFP\6IFA\7AUTHOR\010BRD"; -const char * -routename(sa) - struct sockaddr *sa; +static const char * +routename(struct sockaddr *sa) { char *cp; static char line[MAXHOSTNAMELEN + 1]; @@ -293,7 +290,6 @@ { struct if_msghdr *ifm; struct if_announcemsghdr *ifan; - char *state; time_t now = time(NULL); char *cnow = ctime(&now); @@ -309,16 +305,16 @@ cnow, ifm->ifm_index); switch (ifm->ifm_data.ifi_link_state) { case LINK_STATE_DOWN: - state = "down"; + printf("link: down, flags:"); break; case LINK_STATE_UP: - state = "up"; + printf("link: up, flags:"); break; default: - state = "unknown"; + printf("link: unknown<%d>, flags:", + ifm->ifm_data.ifi_link_state); break; } - printf("link: %s, flags:", state); bprintf(stdout, ifm->ifm_flags, ifnetflags); pmsg_addrs((char *)(ifm + 1), ifm->ifm_addrs); break; @@ -391,6 +387,53 @@ , V(ieee80211_michael_event)->iev_keyix ); break; + case RTM_IEEE80211_WDS: + printf("%s wds discovery", + ether_sprintf(V(ieee80211_wds_event)->iev_addr)); + break; + case RTM_IEEE80211_CSA: + printf("channel switch announcement: channel %u (%u MHz flags 0x%x) mode %d count %d" + , V(ieee80211_csa_event)->iev_ieee + , V(ieee80211_csa_event)->iev_freq + , V(ieee80211_csa_event)->iev_flags + , V(ieee80211_csa_event)->iev_mode + , V(ieee80211_csa_event)->iev_count + ); + break; + case RTM_IEEE80211_CAC: + printf("channel availability check " + "(channel %u, %u MHz flags 0x%x) " + , V(ieee80211_cac_event)->iev_ieee + , V(ieee80211_cac_event)->iev_freq + , V(ieee80211_cac_event)->iev_flags + ); + switch (V(ieee80211_cac_event)->iev_type) { + case IEEE80211_NOTIFY_CAC_START: + printf("start timer"); + break; + case IEEE80211_NOTIFY_CAC_STOP: + printf("stop timer"); + break; + case IEEE80211_NOTIFY_CAC_EXPIRE: + printf("timer expired"); + break; + case IEEE80211_NOTIFY_CAC_RADAR: + printf("radar detected"); + break; + default: + printf("unknown type %d", + V(ieee80211_cac_event)->iev_type); + break; + } + break; + case RTM_IEEE80211_DEAUTH: + printf("%s wds deauth", + ether_sprintf(V(ieee80211_deauth_event)->iev_addr)); + break; + case RTM_IEEE80211_AUTH: + printf("%s node authenticate", + ether_sprintf(V(ieee80211_auth_event)->iev_addr)); + break; default: printf("if# %d, what: #%d", ifan->ifan_index, ifan->ifan_what);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712040520.lB45KMmI057143>