diff options
author | sam <sam@FreeBSD.org> | 2004-12-08 17:36:51 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2004-12-08 17:36:51 +0000 |
commit | db6535c8766930b500333ae4fc743c5da7814928 (patch) | |
tree | 456a8adcebe60aa5acdc41fc83efd45d43311043 /sys/dev/ray | |
parent | 0c82ed616510db58f8cd9df461314ab8010dbd72 (diff) | |
download | FreeBSD-src-db6535c8766930b500333ae4fc743c5da7814928.zip FreeBSD-src-db6535c8766930b500333ae4fc743c5da7814928.tar.gz |
Update for net80211 changes.
Diffstat (limited to 'sys/dev/ray')
-rw-r--r-- | sys/dev/ray/if_ray.c | 6 | ||||
-rw-r--r-- | sys/dev/ray/if_rayvar.h | 38 |
2 files changed, 41 insertions, 3 deletions
diff --git a/sys/dev/ray/if_ray.c b/sys/dev/ray/if_ray.c index 36e4c2a..2a6c741 100644 --- a/sys/dev/ray/if_ray.c +++ b/sys/dev/ray/if_ray.c @@ -332,7 +332,7 @@ static void ray_rx_data (struct ray_softc *sc, struct mbuf *m0, u_int8_t siglev static void ray_rx_mgt (struct ray_softc *sc, struct mbuf *m0); static void ray_rx_mgt_auth (struct ray_softc *sc, struct mbuf *m0); static void ray_rx_mgt_beacon (struct ray_softc *sc, struct mbuf *m0); -static void ray_rx_mgt_info (struct ray_softc *sc, struct mbuf *m0, struct ieee80211_information *elements); +static void ray_rx_mgt_info (struct ray_softc *sc, struct mbuf *m0, union ieee80211_information *elements); static void ray_rx_update_cache (struct ray_softc *sc, u_int8_t *src, u_int8_t siglev, u_int8_t antenna); static void ray_stop (struct ray_softc *sc, struct ray_comq_entry *com); static int ray_stop_user (struct ray_softc *sc); @@ -2186,7 +2186,7 @@ ray_rx_mgt_beacon(struct ray_softc *sc, struct mbuf *m0) { struct ieee80211_frame *header = mtod(m0, struct ieee80211_frame *); ieee80211_mgt_beacon_t beacon = (u_int8_t *)(header+1); - struct ieee80211_information elements; + union ieee80211_information elements; u_int64_t *timestamp; @@ -2203,7 +2203,7 @@ RAY_DPRINTF(sc, RAY_DBG_MGT, "capability\t0x%x", IEEE80211_BEACON_CAPABILITY(bea } static void -ray_rx_mgt_info(struct ray_softc *sc, struct mbuf *m0, struct ieee80211_information *elements) +ray_rx_mgt_info(struct ray_softc *sc, struct mbuf *m0, union ieee80211_information *elements) { struct ifnet *ifp = &sc->arpcom.ac_if; struct ieee80211_frame *header = mtod(m0, struct ieee80211_frame *); diff --git a/sys/dev/ray/if_rayvar.h b/sys/dev/ray/if_rayvar.h index 09430e3..0f9ed5c 100644 --- a/sys/dev/ray/if_rayvar.h +++ b/sys/dev/ray/if_rayvar.h @@ -323,3 +323,41 @@ static int mib_info[RAY_MIB_MAX+1][3] = RAY_MIB_INFO; #ifndef RAY_MAP_CM #define RAY_MAP_CM(sc) #endif /* RAY_MAP_CM */ + +/* + * Management information element payloads + */ +union ieee80211_information { + char ssid[IEEE80211_NWID_LEN+1]; + struct rates { + u_int8_t *p; + } rates; + struct fh { + u_int16_t dwell; + u_int8_t set; + u_int8_t pattern; + u_int8_t index; + } fh; + struct ds { + u_int8_t channel; + } ds; + struct cf { + u_int8_t count; + u_int8_t period; + u_int8_t maxdur[2]; + u_int8_t dur[2]; + } cf; + struct tim { + u_int8_t count; + u_int8_t period; + u_int8_t bitctl; + /* u_int8_t pvt[251]; The driver needs to use this. */ + } tim; + struct ibss { + u_int16_t atim; + } ibss; + struct challenge { + u_int8_t *p; + u_int8_t len; + } challenge; +}; |