Changeset View
Changeset View
Standalone View
Standalone View
sys/net80211/ieee80211_sta.c
| Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | |||||
| #include <net80211/ieee80211_ratectl.h> | #include <net80211/ieee80211_ratectl.h> | ||||
| #include <net80211/ieee80211_sta.h> | #include <net80211/ieee80211_sta.h> | ||||
| #include <net80211/ieee80211_vht.h> | #include <net80211/ieee80211_vht.h> | ||||
| static void sta_vattach(struct ieee80211vap *); | static void sta_vattach(struct ieee80211vap *); | ||||
| static void sta_beacon_miss(struct ieee80211vap *); | static void sta_beacon_miss(struct ieee80211vap *); | ||||
| static int sta_newstate(struct ieee80211vap *, enum ieee80211_state, int); | static int sta_newstate(struct ieee80211vap *, enum ieee80211_state, int); | ||||
| static int sta_input(struct ieee80211_node *, struct mbuf *, | static int sta_input(struct ieee80211_node *, struct mbuf *, | ||||
| const struct ieee80211_rx_stats *, int, int); | const struct ieee80211_rx_stats *, net80211_rssi_t, int); | ||||
| static void sta_recv_mgmt(struct ieee80211_node *, struct mbuf *, | static void sta_recv_mgmt(struct ieee80211_node *, struct mbuf *, | ||||
| int subtype, const struct ieee80211_rx_stats *, int rssi, int nf); | int subtype, const struct ieee80211_rx_stats *, int rssi, int nf); | ||||
| static void sta_recv_ctl(struct ieee80211_node *, struct mbuf *, int subtype); | static void sta_recv_ctl(struct ieee80211_node *, struct mbuf *, int subtype); | ||||
| void | void | ||||
| ieee80211_sta_attach(struct ieee80211com *ic) | ieee80211_sta_attach(struct ieee80211com *ic) | ||||
| { | { | ||||
| ic->ic_vattach[IEEE80211_M_STA] = sta_vattach; | ic->ic_vattach[IEEE80211_M_STA] = sta_vattach; | ||||
| ▲ Show 20 Lines • Show All 446 Lines • ▼ Show 20 Lines | |||||
| * The RSSI and a timestamp are also supplied. The RSSI data is used | * The RSSI and a timestamp are also supplied. The RSSI data is used | ||||
| * during AP scanning to select a AP to associate with; it can have | * during AP scanning to select a AP to associate with; it can have | ||||
| * any units so long as values have consistent units and higher values | * any units so long as values have consistent units and higher values | ||||
| * mean ``better signal''. The receive timestamp is currently not used | * mean ``better signal''. The receive timestamp is currently not used | ||||
| * by the 802.11 layer. | * by the 802.11 layer. | ||||
| */ | */ | ||||
| static int | static int | ||||
| sta_input(struct ieee80211_node *ni, struct mbuf *m, | sta_input(struct ieee80211_node *ni, struct mbuf *m, | ||||
| const struct ieee80211_rx_stats *rxs, int rssi, int nf) | const struct ieee80211_rx_stats *rxs, net80211_rssi_t rssi, int nf) | ||||
| { | { | ||||
| struct ieee80211vap *vap = ni->ni_vap; | struct ieee80211vap *vap = ni->ni_vap; | ||||
| struct ieee80211com *ic = ni->ni_ic; | struct ieee80211com *ic = ni->ni_ic; | ||||
| struct ifnet *ifp = vap->iv_ifp; | struct ifnet *ifp = vap->iv_ifp; | ||||
| struct ieee80211_frame *wh; | struct ieee80211_frame *wh; | ||||
| struct ieee80211_key *key; | struct ieee80211_key *key; | ||||
| struct ether_header *eh; | struct ether_header *eh; | ||||
| int hdrspace, need_tap = 1; /* mbuf need to be tapped. */ | int hdrspace, need_tap = 1; /* mbuf need to be tapped. */ | ||||
| ▲ Show 20 Lines • Show All 1,527 Lines • Show Last 20 Lines | |||||