From owner-p4-projects@FreeBSD.ORG Tue Dec 4 05:20:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FD8516A41B; Tue, 4 Dec 2007 05:20:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCF1D16A419 for ; Tue, 4 Dec 2007 05:20:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C8E0E13C448 for ; Tue, 4 Dec 2007 05:20:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lB45KMLp057151 for ; Tue, 4 Dec 2007 05:20:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lB45KMmI057143 for perforce@freebsd.org; Tue, 4 Dec 2007 05:20:22 GMT (envelope-from sam@freebsd.org) Date: Tue, 4 Dec 2007 05:20:22 GMT Message-Id: <200712040520.lB45KMmI057143@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 130140 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Dec 2007 05:20:23 -0000 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 #include +/* 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);