Deleted Added
full compact
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 ---