ieee80211_proto.h (199187) | ieee80211_proto.h (220445) |
---|---|
1/*- 2 * Copyright (c) 2001 Atsushi Onoe 3 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2001 Atsushi Onoe 3 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/net80211/ieee80211_proto.h 199187 2009-11-11 15:00:56Z antoine $ | 26 * $FreeBSD: head/sys/net80211/ieee80211_proto.h 220445 2011-04-08 09:20:45Z adrian $ |
27 */ 28#ifndef _NET80211_IEEE80211_PROTO_H_ 29#define _NET80211_IEEE80211_PROTO_H_ 30 31/* 32 * 802.11 protocol implementation definitions. 33 */ 34 --- 21 unchanged lines hidden (view full) --- 56void ieee80211_proto_vattach(struct ieee80211vap *); 57void ieee80211_proto_vdetach(struct ieee80211vap *); 58 59void ieee80211_syncifflag_locked(struct ieee80211com *, int flag); 60void ieee80211_syncflag(struct ieee80211vap *, int flag); 61void ieee80211_syncflag_ht(struct ieee80211vap *, int flag); 62void ieee80211_syncflag_ext(struct ieee80211vap *, int flag); 63 | 27 */ 28#ifndef _NET80211_IEEE80211_PROTO_H_ 29#define _NET80211_IEEE80211_PROTO_H_ 30 31/* 32 * 802.11 protocol implementation definitions. 33 */ 34 --- 21 unchanged lines hidden (view full) --- 56void ieee80211_proto_vattach(struct ieee80211vap *); 57void ieee80211_proto_vdetach(struct ieee80211vap *); 58 59void ieee80211_syncifflag_locked(struct ieee80211com *, int flag); 60void ieee80211_syncflag(struct ieee80211vap *, int flag); 61void ieee80211_syncflag_ht(struct ieee80211vap *, int flag); 62void ieee80211_syncflag_ext(struct ieee80211vap *, int flag); 63 |
64#define IEEE80211_R_NF 0x0000001 /* global NF value valid */ 65#define IEEE80211_R_RSSI 0x0000002 /* global RSSI value valid */ 66#define IEEE80211_R_C_CHAIN 0x0000004 /* RX chain count valid */ 67#define IEEE80211_R_C_NF 0x0000008 /* per-chain NF value valid */ 68#define IEEE80211_R_C_RSSI 0x0000010 /* per-chain RSSI value valid */ 69#define IEEE80211_R_C_EVM 0x0000020 /* per-chain EVM valid */ 70#define IEEE80211_R_C_HT40 0x0000040 /* RX'ed packet is 40mhz, pilots 4,5 valid */ 71 72struct ieee80211_rx_stats { 73 uint32_t r_flags; /* IEEE80211_R_* flags */ 74 uint8_t c_chain; /* number of RX chains involved */ 75 int16_t c_nf_ctl[IEEE80211_MAX_CHAINS]; /* per-chain NF */ 76 int16_t c_nf_ext[IEEE80211_MAX_CHAINS]; /* per-chain NF */ 77 int16_t c_rssi_ctl[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ 78 int16_t c_rssi_ext[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ 79 uint8_t nf; /* global NF */ 80 uint8_t rssi; /* global RSSI */ 81 uint8_t evm[IEEE80211_MAX_CHAINS][IEEE80211_MAX_EVM_PILOTS]; 82 /* per-chain, per-pilot EVM values */ 83}; 84 |
|
64#define ieee80211_input(ni, m, rssi, nf) \ 65 ((ni)->ni_vap->iv_input(ni, m, rssi, nf)) 66int ieee80211_input_all(struct ieee80211com *, struct mbuf *, int, int); | 85#define ieee80211_input(ni, m, rssi, nf) \ 86 ((ni)->ni_vap->iv_input(ni, m, rssi, nf)) 87int ieee80211_input_all(struct ieee80211com *, struct mbuf *, int, int); |
88 89int ieee80211_input_mimo(struct ieee80211_node *, struct mbuf *, 90 struct ieee80211_rx_stats *); 91int ieee80211_input_mimo_all(struct ieee80211com *, struct mbuf *, 92 struct ieee80211_rx_stats *); 93 |
|
67struct ieee80211_bpf_params; 68int ieee80211_mgmt_output(struct ieee80211_node *, struct mbuf *, int, 69 struct ieee80211_bpf_params *); 70int ieee80211_raw_xmit(struct ieee80211_node *, struct mbuf *, 71 const struct ieee80211_bpf_params *); 72int ieee80211_output(struct ifnet *, struct mbuf *, 73 struct sockaddr *, struct route *ro); 74void ieee80211_send_setup(struct ieee80211_node *, struct mbuf *, int, int, --- 313 unchanged lines hidden --- | 94struct ieee80211_bpf_params; 95int ieee80211_mgmt_output(struct ieee80211_node *, struct mbuf *, int, 96 struct ieee80211_bpf_params *); 97int ieee80211_raw_xmit(struct ieee80211_node *, struct mbuf *, 98 const struct ieee80211_bpf_params *); 99int ieee80211_output(struct ifnet *, struct mbuf *, 100 struct sockaddr *, struct route *ro); 101void ieee80211_send_setup(struct ieee80211_node *, struct mbuf *, int, int, --- 313 unchanged lines hidden --- |