FreeBSD kernel WLAN code
ieee80211_freebsd.h File Reference
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/counter.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/rwlock.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
#include <sys/time.h>
#include <net/debugnet.h>
#include <machine/atomic.h>
Include dependency graph for ieee80211_freebsd.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ieee80211_com_lock_t
 
struct  ieee80211_tx_lock_t
 
struct  ieee80211_ff_lock_t
 
struct  ieee80211_node_lock_t
 
struct  ieee80211_cb
 
struct  ieee80211_join_event
 
struct  ieee80211_leave_event
 
struct  ieee80211_replay_event
 
struct  ieee80211_michael_event
 
struct  ieee80211_wds_event
 
struct  ieee80211_csa_event
 
struct  ieee80211_cac_event
 
struct  ieee80211_radar_event
 
struct  ieee80211_auth_event
 
struct  ieee80211_deauth_event
 
struct  ieee80211_country_event
 
struct  ieee80211_radio_event
 
struct  ieee80211_bpf_params
 
struct  ieee80211_tx_params
 
struct  ieee80211_toa_params
 
struct  ieee80211_channel_survey
 

Macros

#define IEEE80211_LOCK_INIT(_ic, _name)
 
#define IEEE80211_LOCK_OBJ(_ic)   (&(_ic)->ic_comlock.mtx)
 
#define IEEE80211_LOCK_DESTROY(_ic)   mtx_destroy(IEEE80211_LOCK_OBJ(_ic))
 
#define IEEE80211_LOCK(_ic)   mtx_lock(IEEE80211_LOCK_OBJ(_ic))
 
#define IEEE80211_UNLOCK(_ic)   mtx_unlock(IEEE80211_LOCK_OBJ(_ic))
 
#define IEEE80211_LOCK_ASSERT(_ic)    mtx_assert(IEEE80211_LOCK_OBJ(_ic), MA_OWNED)
 
#define IEEE80211_UNLOCK_ASSERT(_ic)    mtx_assert(IEEE80211_LOCK_OBJ(_ic), MA_NOTOWNED)
 
#define IEEE80211_TX_LOCK_INIT(_ic, _name)
 
#define IEEE80211_TX_LOCK_OBJ(_ic)   (&(_ic)->ic_txlock.mtx)
 
#define IEEE80211_TX_LOCK_DESTROY(_ic)   mtx_destroy(IEEE80211_TX_LOCK_OBJ(_ic))
 
#define IEEE80211_TX_LOCK(_ic)   mtx_lock(IEEE80211_TX_LOCK_OBJ(_ic))
 
#define IEEE80211_TX_UNLOCK(_ic)   mtx_unlock(IEEE80211_TX_LOCK_OBJ(_ic))
 
#define IEEE80211_TX_LOCK_ASSERT(_ic)    mtx_assert(IEEE80211_TX_LOCK_OBJ(_ic), MA_OWNED)
 
#define IEEE80211_TX_UNLOCK_ASSERT(_ic)    mtx_assert(IEEE80211_TX_LOCK_OBJ(_ic), MA_NOTOWNED)
 
#define IEEE80211_FF_LOCK_INIT(_ic, _name)
 
#define IEEE80211_FF_LOCK_OBJ(_ic)   (&(_ic)->ic_fflock.mtx)
 
#define IEEE80211_FF_LOCK_DESTROY(_ic)   mtx_destroy(IEEE80211_FF_LOCK_OBJ(_ic))
 
#define IEEE80211_FF_LOCK(_ic)   mtx_lock(IEEE80211_FF_LOCK_OBJ(_ic))
 
#define IEEE80211_FF_UNLOCK(_ic)   mtx_unlock(IEEE80211_FF_LOCK_OBJ(_ic))
 
#define IEEE80211_FF_LOCK_ASSERT(_ic)    mtx_assert(IEEE80211_FF_LOCK_OBJ(_ic), MA_OWNED)
 
#define IEEE80211_NODE_LOCK_INIT(_nt, _name)
 
#define IEEE80211_NODE_LOCK_OBJ(_nt)   (&(_nt)->nt_nodelock.mtx)
 
#define IEEE80211_NODE_LOCK_DESTROY(_nt)    mtx_destroy(IEEE80211_NODE_LOCK_OBJ(_nt))
 
#define IEEE80211_NODE_LOCK(_nt)    mtx_lock(IEEE80211_NODE_LOCK_OBJ(_nt))
 
#define IEEE80211_NODE_IS_LOCKED(_nt)    mtx_owned(IEEE80211_NODE_LOCK_OBJ(_nt))
 
#define IEEE80211_NODE_UNLOCK(_nt)    mtx_unlock(IEEE80211_NODE_LOCK_OBJ(_nt))
 
#define IEEE80211_NODE_LOCK_ASSERT(_nt)    mtx_assert(IEEE80211_NODE_LOCK_OBJ(_nt), MA_OWNED)
 
#define IEEE80211_PSQ_INIT(_psq, _name)    mtx_init(&(_psq)->psq_lock, _name, "802.11 ps q", MTX_DEF)
 
#define IEEE80211_PSQ_DESTROY(_psq)   mtx_destroy(&(_psq)->psq_lock)
 
#define IEEE80211_PSQ_LOCK(_psq)   mtx_lock(&(_psq)->psq_lock)
 
#define IEEE80211_PSQ_UNLOCK(_psq)   mtx_unlock(&(_psq)->psq_lock)
 
#define _IF_PREPEND_LIST(ifq, mhead, mtail, mcount)
 
#define IF_PREPEND_LIST(ifq, mhead, mtail, mcount)
 
#define IEEE80211_AGEQ_INIT(_aq, _name)    mtx_init(&(_aq)->aq_lock, _name, "802.11 age q", MTX_DEF)
 
#define IEEE80211_AGEQ_DESTROY(_aq)   mtx_destroy(&(_aq)->aq_lock)
 
#define IEEE80211_AGEQ_LOCK(_aq)   mtx_lock(&(_aq)->aq_lock)
 
#define IEEE80211_AGEQ_UNLOCK(_aq)   mtx_unlock(&(_aq)->aq_lock)
 
#define ACL_LOCK_INIT(_as, _name)    mtx_init(&(_as)->as_lock, _name, "802.11 ACL", MTX_DEF)
 
#define ACL_LOCK_DESTROY(_as)   mtx_destroy(&(_as)->as_lock)
 
#define ACL_LOCK(_as)   mtx_lock(&(_as)->as_lock)
 
#define ACL_UNLOCK(_as)   mtx_unlock(&(_as)->as_lock)
 
#define ACL_LOCK_ASSERT(_as)    mtx_assert((&(_as)->as_lock), MA_OWNED)
 
#define IEEE80211_SCAN_TABLE_LOCK_INIT(_st, _name)    mtx_init(&(_st)->st_lock, _name, "802.11 scan table", MTX_DEF)
 
#define IEEE80211_SCAN_TABLE_LOCK_DESTROY(_st)   mtx_destroy(&(_st)->st_lock)
 
#define IEEE80211_SCAN_TABLE_LOCK(_st)   mtx_lock(&(_st)->st_lock)
 
#define IEEE80211_SCAN_TABLE_UNLOCK(_st)   mtx_unlock(&(_st)->st_lock)
 
#define IEEE80211_SCAN_ITER_LOCK_INIT(_st, _name)    mtx_init(&(_st)->st_scanlock, _name, "802.11 scangen", MTX_DEF)
 
#define IEEE80211_SCAN_ITER_LOCK_DESTROY(_st)   mtx_destroy(&(_st)->st_scanlock)
 
#define IEEE80211_SCAN_ITER_LOCK(_st)   mtx_lock(&(_st)->st_scanlock)
 
#define IEEE80211_SCAN_ITER_UNLOCK(_st)   mtx_unlock(&(_st)->st_scanlock)
 
#define MESH_RT_ENTRY_LOCK_INIT(_rt, _name)    mtx_init(&(rt)->rt_lock, _name, "802.11s route entry", MTX_DEF)
 
#define MESH_RT_ENTRY_LOCK_DESTROY(_rt)    mtx_destroy(&(_rt)->rt_lock)
 
#define MESH_RT_ENTRY_LOCK(rt)   mtx_lock(&(rt)->rt_lock)
 
#define MESH_RT_ENTRY_LOCK_ASSERT(rt)   mtx_assert(&(rt)->rt_lock, MA_OWNED)
 
#define MESH_RT_ENTRY_UNLOCK(rt)   mtx_unlock(&(rt)->rt_lock)
 
#define MESH_RT_LOCK(ms)   mtx_lock(&(ms)->ms_rt_lock)
 
#define MESH_RT_LOCK_ASSERT(ms)   mtx_assert(&(ms)->ms_rt_lock, MA_OWNED)
 
#define MESH_RT_UNLOCK(ms)   mtx_unlock(&(ms)->ms_rt_lock)
 
#define MESH_RT_LOCK_INIT(ms, name)    mtx_init(&(ms)->ms_rt_lock, name, "802.11s routing table", MTX_DEF)
 
#define MESH_RT_LOCK_DESTROY(ms)    mtx_destroy(&(ms)->ms_rt_lock)
 
#define ieee80211_node_initref(_ni)    do { ((_ni)->ni_refcnt = 1); } while (0)
 
#define ieee80211_node_incref(_ni)    atomic_add_int(&(_ni)->ni_refcnt, 1)
 
#define ieee80211_node_decref(_ni)    atomic_subtract_int(&(_ni)->ni_refcnt, 1)
 
#define ieee80211_node_refcnt(_ni)   (_ni)->ni_refcnt
 
#define IFNET_IS_UP_RUNNING(_ifp)
 
#define msecs_to_ticks(ms)   MSEC_2_TICKS(ms)
 
#define ticks_to_msecs(t)   TICKS_2_MSEC(t)
 
#define ticks_to_secs(t)   ((t) / hz)
 
#define ieee80211_time_after(a, b)   ((int)(b) - (int)(a) < 0)
 
#define ieee80211_time_before(a, b)   ieee80211_time_after(b,a)
 
#define ieee80211_time_after_eq(a, b)   ((int)(a) - (int)(b) >= 0)
 
#define ieee80211_time_before_eq(a, b)   ieee80211_time_after_eq(b,a)
 
#define M_ENCAP   M_PROTO1 /* 802.11 encap done */
 
#define M_EAPOL   M_PROTO3 /* PAE/EAPOL frame */
 
#define M_PWR_SAV   M_PROTO4 /* bypass PS handling */
 
#define M_MORE_DATA   M_PROTO5 /* more data frames to follow */
 
#define M_FF   M_PROTO6 /* fast frame / A-MSDU */
 
#define M_TXCB   M_PROTO7 /* do tx complete callback */
 
#define M_AMPDU_MPDU   M_PROTO8 /* ok for A-MPDU aggregation */
 
#define M_FRAG   M_PROTO9 /* frame fragmentation */
 
#define M_FIRSTFRAG   M_PROTO10 /* first frame fragment */
 
#define M_LASTFRAG   M_PROTO11 /* last frame fragment */
 
#define M_80211_TX
 
#define M_AMPDU   M_PROTO1 /* A-MPDU subframe */
 
#define M_WEP   M_PROTO2 /* WEP done by hardware */
 
#define M_80211_RX   (M_AMPDU|M_WEP|M_AMPDU_MPDU)
 
#define IEEE80211_MBUF_TX_FLAG_BITS
 
#define IEEE80211_MBUF_RX_FLAG_BITS
 
#define M_WME_SETAC(m, ac)    ((m)->m_pkthdr.ether_vtag = (ac))
 
#define M_WME_GETAC(m)   ((m)->m_pkthdr.ether_vtag)
 
#define M_AGE_SET(m, v)   (m->m_pkthdr.csum_data = v)
 
#define M_AGE_GET(m)   (m->m_pkthdr.csum_data)
 
#define M_AGE_SUB(m, adj)   (m->m_pkthdr.csum_data -= adj)
 
#define M_SEQNO_SET(m, seqno)    ((m)->m_pkthdr.tso_segsz = (seqno))
 
#define M_SEQNO_GET(m)   ((m)->m_pkthdr.tso_segsz)
 
#define MTAG_ABI_NET80211   1132948340 /* net80211 ABI */
 
#define NET80211_TAG_CALLBACK   0 /* xmit complete callback */
 
#define NET80211_TAG_XMIT_PARAMS   1
 
#define NET80211_TAG_RECV_PARAMS   2
 
#define NET80211_TAG_TOA_PARAMS   3
 
#define _IEEE80211_POLICY_MODULE(policy, name, version)
 
#define IEEE80211_CRYPTO_MODULE(name, version)
 
#define IEEE80211_SCANNER_MODULE(name, version)    _IEEE80211_POLICY_MODULE(scanner, name, version)
 
#define IEEE80211_SCANNER_ALG(name, alg, v)
 
#define IEEE80211_ACL_MODULE(name, alg, version)
 
#define IEEE80211_AUTH_MODULE(name, version)    _IEEE80211_POLICY_MODULE(auth, name, version)
 
#define IEEE80211_AUTH_ALG(name, alg, v)
 
#define IEEE80211_RATECTL_MODULE(alg, version)    _IEEE80211_POLICY_MODULE(ratectl, alg, version); \
 
#define IEEE80211_RATECTL_ALG(name, alg, v)
 
#define IEEE80211_IOCTL_GET(_name, _get)   TEXT_SET(ieee80211_ioctl_getset, _get)
 
#define IEEE80211_IOCTL_SET(_name, _set)   TEXT_SET(ieee80211_ioctl_setset, _set)
 
#define DEBUGNET80211_DEFINE(driver)
 
#define DEBUGNET80211_SET(ic, driver)
 
#define RTM_IEEE80211_ASSOC   100 /* station associate (bss mode) */
 
#define RTM_IEEE80211_REASSOC   101 /* station re-associate (bss mode) */
 
#define RTM_IEEE80211_DISASSOC   102 /* station disassociate (bss mode) */
 
#define RTM_IEEE80211_JOIN   103 /* station join (ap mode) */
 
#define RTM_IEEE80211_LEAVE   104 /* station leave (ap mode) */
 
#define RTM_IEEE80211_SCAN   105 /* scan complete, results available */
 
#define RTM_IEEE80211_REPLAY   106 /* sequence counter replay detected */
 
#define RTM_IEEE80211_MICHAEL   107 /* Michael MIC failure detected */
 
#define RTM_IEEE80211_REJOIN   108 /* station re-associate (ap mode) */
 
#define RTM_IEEE80211_WDS   109 /* WDS discovery (ap mode) */
 
#define RTM_IEEE80211_CSA   110 /* Channel Switch Announcement event */
 
#define RTM_IEEE80211_RADAR   111 /* radar event */
 
#define RTM_IEEE80211_CAC   112 /* Channel Availability Check event */
 
#define RTM_IEEE80211_DEAUTH   113 /* station deauthenticate */
 
#define RTM_IEEE80211_AUTH   114 /* station authenticate (ap mode) */
 
#define RTM_IEEE80211_COUNTRY   115 /* discovered country code (sta mode) */
 
#define RTM_IEEE80211_RADIO   116 /* RF kill switch state change */
 
#define IEEE80211_BPF_VERSION   0
 
#define IEEE80211_BPF_SHORTPRE   0x01 /* tx with short preamble */
 
#define IEEE80211_BPF_NOACK   0x02 /* tx with no ack */
 
#define IEEE80211_BPF_CRYPTO   0x04 /* tx with h/w encryption */
 
#define IEEE80211_BPF_FCS   0x10 /* frame incldues FCS */
 
#define IEEE80211_BPF_DATAPAD   0x20 /* frame includes data padding */
 
#define IEEE80211_BPF_RTS   0x40 /* tx with RTS/CTS */
 
#define IEEE80211_BPF_CTS   0x80 /* tx with CTS only */
 
#define IEEE80211_F_SURVEY_TIME   0x00000001
 
#define IEEE80211_F_SURVEY_TIME_BUSY   0x00000002
 
#define IEEE80211_F_SURVEY_NOISE_DBM   0x00000004
 
#define IEEE80211_F_SURVEY_TSC   0x00000008
 
#define IEEE80211_MALLOC   malloc
 
#define IEEE80211_FREE   free
 
#define IEEE80211_M_NOWAIT   M_NOWAIT
 
#define IEEE80211_M_WAITOK   M_WAITOK
 
#define IEEE80211_M_ZERO   M_ZERO
 

Typedefs

typedef struct mtx ieee80211_psq_lock_t
 
typedef struct mtx ieee80211_ageq_lock_t
 
typedef struct mtx acl_lock_t
 
typedef struct mtx ieee80211_scan_table_lock_t
 
typedef struct mtx ieee80211_scan_iter_lock_t
 
typedef struct mtx ieee80211_rte_lock_t
 
typedef struct mtx ieee80211_rt_lock_t
 
typedef int ieee80211_ioctl_getfunc(struct ieee80211vap *, struct ieee80211req *)
 
typedef int ieee80211_ioctl_setfunc(struct ieee80211vap *, struct ieee80211req *)
 

Functions

int ieee80211_priv_check_vap_getkey (u_long, struct ieee80211vap *, struct ifnet *)
 
int ieee80211_priv_check_vap_manage (u_long, struct ieee80211vap *, struct ifnet *)
 
int ieee80211_priv_check_vap_setmac (u_long, struct ieee80211vap *, struct ifnet *)
 
int ieee80211_priv_check_create_vap (u_long, struct ieee80211vap *, struct ifnet *)
 
int ieee80211_com_vincref (struct ieee80211vap *)
 
void ieee80211_com_vdecref (struct ieee80211vap *)
 
void ieee80211_com_vdetach (struct ieee80211vap *)
 
int ieee80211_node_dectestref (struct ieee80211_node *ni)
 
void ieee80211_drain_ifq (struct ifqueue *)
 
void ieee80211_flush_ifq (struct ifqueue *, struct ieee80211vap *)
 
void ieee80211_vap_destroy (struct ieee80211vap *)
 
const char * ieee80211_get_vap_ifname (struct ieee80211vap *)
 
struct mbuf * ieee80211_getmgtframe (uint8_t **frm, int headroom, int pktlen)
 
int ieee80211_add_callback (struct mbuf *m, void(*func)(struct ieee80211_node *, void *, int), void *arg)
 
void ieee80211_process_callback (struct ieee80211_node *, struct mbuf *, int)
 
int ieee80211_parent_xmitpkt (struct ieee80211com *, struct mbuf *)
 
int ieee80211_vap_xmitpkt (struct ieee80211vap *, struct mbuf *)
 
void net80211_get_random_bytes (void *, size_t)
 
void ieee80211_sysctl_attach (struct ieee80211com *)
 
void ieee80211_sysctl_detach (struct ieee80211com *)
 
void ieee80211_sysctl_vattach (struct ieee80211vap *)
 
void ieee80211_sysctl_vdetach (struct ieee80211vap *)
 
 SYSCTL_DECL (_net_wlan)
 
int ieee80211_sysctl_msecs_ticks (SYSCTL_HANDLER_ARGS)
 
void ieee80211_load_module (const char *)
 
 SET_DECLARE (ieee80211_ioctl_getset, ieee80211_ioctl_getfunc)
 
 SET_DECLARE (ieee80211_ioctl_setset, ieee80211_ioctl_setfunc)
 
int ieee80211_add_xmit_params (struct mbuf *m, const struct ieee80211_bpf_params *)
 
int ieee80211_get_xmit_params (struct mbuf *m, struct ieee80211_bpf_params *)
 
int ieee80211_add_rx_params (struct mbuf *m, const struct ieee80211_rx_stats *rxs)
 
int ieee80211_get_rx_params (struct mbuf *m, struct ieee80211_rx_stats *rxs)
 
const struct ieee80211_rx_statsieee80211_get_rx_params_ptr (struct mbuf *m)
 
int ieee80211_add_toa_params (struct mbuf *m, const struct ieee80211_toa_params *p)
 
int ieee80211_get_toa_params (struct mbuf *m, struct ieee80211_toa_params *p)
 

Macro Definition Documentation

◆ _IEEE80211_POLICY_MODULE

#define _IEEE80211_POLICY_MODULE (   policy,
  name,
  version 
)

Definition at line 379 of file ieee80211_freebsd.h.

◆ _IF_PREPEND_LIST

#define _IF_PREPEND_LIST (   ifq,
  mhead,
  mtail,
  mcount 
)
Value:
do { \
(mtail)->m_nextpkt = (ifq)->ifq_head; \
if ((ifq)->ifq_tail == NULL) \
(ifq)->ifq_tail = (mtail); \
(ifq)->ifq_head = (mhead); \
(ifq)->ifq_len += (mcount); \
} while (0)

Definition at line 157 of file ieee80211_freebsd.h.

◆ ACL_LOCK

#define ACL_LOCK (   _as)    mtx_lock(&(_as)->as_lock)

Definition at line 188 of file ieee80211_freebsd.h.

◆ ACL_LOCK_ASSERT

#define ACL_LOCK_ASSERT (   _as)     mtx_assert((&(_as)->as_lock), MA_OWNED)

Definition at line 190 of file ieee80211_freebsd.h.

◆ ACL_LOCK_DESTROY

#define ACL_LOCK_DESTROY (   _as)    mtx_destroy(&(_as)->as_lock)

Definition at line 187 of file ieee80211_freebsd.h.

◆ ACL_LOCK_INIT

#define ACL_LOCK_INIT (   _as,
  _name 
)     mtx_init(&(_as)->as_lock, _name, "802.11 ACL", MTX_DEF)

Definition at line 185 of file ieee80211_freebsd.h.

◆ ACL_UNLOCK

#define ACL_UNLOCK (   _as)    mtx_unlock(&(_as)->as_lock)

Definition at line 189 of file ieee80211_freebsd.h.

◆ DEBUGNET80211_DEFINE

#define DEBUGNET80211_DEFINE (   driver)

Definition at line 536 of file ieee80211_freebsd.h.

◆ DEBUGNET80211_SET

#define DEBUGNET80211_SET (   ic,
  driver 
)

Definition at line 537 of file ieee80211_freebsd.h.

◆ IEEE80211_ACL_MODULE

#define IEEE80211_ACL_MODULE (   name,
  alg,
  version 
)
Value:
_IEEE80211_POLICY_MODULE(acl, name, version); \
static void \
alg##_modevent(int type) \
{ \
if (type == MOD_LOAD) \
ieee80211_aclator_register(&alg); \
} \
TEXT_SET(acl_set, alg##_modevent); \
#define _IEEE80211_POLICY_MODULE(policy, name, version)
void ieee80211_aclator_unregister(const struct ieee80211_aclator *iac)

Definition at line 454 of file ieee80211_freebsd.h.

◆ IEEE80211_AGEQ_DESTROY

#define IEEE80211_AGEQ_DESTROY (   _aq)    mtx_destroy(&(_aq)->aq_lock)

Definition at line 177 of file ieee80211_freebsd.h.

◆ IEEE80211_AGEQ_INIT

#define IEEE80211_AGEQ_INIT (   _aq,
  _name 
)     mtx_init(&(_aq)->aq_lock, _name, "802.11 age q", MTX_DEF)

Definition at line 175 of file ieee80211_freebsd.h.

◆ IEEE80211_AGEQ_LOCK

#define IEEE80211_AGEQ_LOCK (   _aq)    mtx_lock(&(_aq)->aq_lock)

Definition at line 178 of file ieee80211_freebsd.h.

◆ IEEE80211_AGEQ_UNLOCK

#define IEEE80211_AGEQ_UNLOCK (   _aq)    mtx_unlock(&(_aq)->aq_lock)

Definition at line 179 of file ieee80211_freebsd.h.

◆ IEEE80211_AUTH_ALG

#define IEEE80211_AUTH_ALG (   name,
  alg,
 
)
Value:
static void \
name##_modevent(int type) \
{ \
if (type == MOD_LOAD) \
ieee80211_authenticator_register(alg, &v); \
} \
TEXT_SET(auth_set, name##_modevent)
void ieee80211_authenticator_unregister(int type)

Definition at line 472 of file ieee80211_freebsd.h.

◆ IEEE80211_AUTH_MODULE

#define IEEE80211_AUTH_MODULE (   name,
  version 
)     _IEEE80211_POLICY_MODULE(auth, name, version)

Definition at line 469 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_CRYPTO

#define IEEE80211_BPF_CRYPTO   0x04 /* tx with h/w encryption */

Definition at line 650 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_CTS

#define IEEE80211_BPF_CTS   0x80 /* tx with CTS only */

Definition at line 654 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_DATAPAD

#define IEEE80211_BPF_DATAPAD   0x20 /* frame includes data padding */

Definition at line 652 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_FCS

#define IEEE80211_BPF_FCS   0x10 /* frame incldues FCS */

Definition at line 651 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_NOACK

#define IEEE80211_BPF_NOACK   0x02 /* tx with no ack */

Definition at line 649 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_RTS

#define IEEE80211_BPF_RTS   0x40 /* tx with RTS/CTS */

Definition at line 653 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_SHORTPRE

#define IEEE80211_BPF_SHORTPRE   0x01 /* tx with short preamble */

Definition at line 648 of file ieee80211_freebsd.h.

◆ IEEE80211_BPF_VERSION

#define IEEE80211_BPF_VERSION   0

Definition at line 645 of file ieee80211_freebsd.h.

◆ IEEE80211_CRYPTO_MODULE

#define IEEE80211_CRYPTO_MODULE (   name,
  version 
)
Value:
_IEEE80211_POLICY_MODULE(crypto, name, version); \
static void \
name##_modevent(int type) \
{ \
if (type == MOD_LOAD) \
ieee80211_crypto_register(&name); \
} \
TEXT_SET(crypto##_set, name##_modevent)
void ieee80211_crypto_unregister(const struct ieee80211_cipher *cip)

Definition at line 422 of file ieee80211_freebsd.h.

◆ IEEE80211_F_SURVEY_NOISE_DBM

#define IEEE80211_F_SURVEY_NOISE_DBM   0x00000004

Definition at line 696 of file ieee80211_freebsd.h.

◆ IEEE80211_F_SURVEY_TIME

#define IEEE80211_F_SURVEY_TIME   0x00000001

Definition at line 694 of file ieee80211_freebsd.h.

◆ IEEE80211_F_SURVEY_TIME_BUSY

#define IEEE80211_F_SURVEY_TIME_BUSY   0x00000002

Definition at line 695 of file ieee80211_freebsd.h.

◆ IEEE80211_F_SURVEY_TSC

#define IEEE80211_F_SURVEY_TSC   0x00000008

Definition at line 697 of file ieee80211_freebsd.h.

◆ IEEE80211_FF_LOCK

#define IEEE80211_FF_LOCK (   _ic)    mtx_lock(IEEE80211_FF_LOCK_OBJ(_ic))

Definition at line 117 of file ieee80211_freebsd.h.

◆ IEEE80211_FF_LOCK_ASSERT

#define IEEE80211_FF_LOCK_ASSERT (   _ic)     mtx_assert(IEEE80211_FF_LOCK_OBJ(_ic), MA_OWNED)

Definition at line 119 of file ieee80211_freebsd.h.

◆ IEEE80211_FF_LOCK_DESTROY

#define IEEE80211_FF_LOCK_DESTROY (   _ic)    mtx_destroy(IEEE80211_FF_LOCK_OBJ(_ic))

Definition at line 116 of file ieee80211_freebsd.h.

◆ IEEE80211_FF_LOCK_INIT

#define IEEE80211_FF_LOCK_INIT (   _ic,
  _name 
)
Value:
do { \
ieee80211_ff_lock_t *fl = &(_ic)->ic_fflock; \
snprintf(fl->name, sizeof(fl->name), "%s_ff_lock", _name); \
mtx_init(&fl->mtx, fl->name, NULL, MTX_DEF); \
} while (0)

Definition at line 110 of file ieee80211_freebsd.h.

◆ IEEE80211_FF_LOCK_OBJ

#define IEEE80211_FF_LOCK_OBJ (   _ic)    (&(_ic)->ic_fflock.mtx)

Definition at line 115 of file ieee80211_freebsd.h.

◆ IEEE80211_FF_UNLOCK

#define IEEE80211_FF_UNLOCK (   _ic)    mtx_unlock(IEEE80211_FF_LOCK_OBJ(_ic))

Definition at line 118 of file ieee80211_freebsd.h.

◆ IEEE80211_FREE

#define IEEE80211_FREE   free

Definition at line 713 of file ieee80211_freebsd.h.

◆ IEEE80211_IOCTL_GET

#define IEEE80211_IOCTL_GET (   _name,
  _get 
)    TEXT_SET(ieee80211_ioctl_getset, _get)

Definition at line 504 of file ieee80211_freebsd.h.

◆ IEEE80211_IOCTL_SET

#define IEEE80211_IOCTL_SET (   _name,
  _set 
)    TEXT_SET(ieee80211_ioctl_setset, _set)

Definition at line 509 of file ieee80211_freebsd.h.

◆ IEEE80211_LOCK

#define IEEE80211_LOCK (   _ic)    mtx_lock(IEEE80211_LOCK_OBJ(_ic))

Definition at line 72 of file ieee80211_freebsd.h.

◆ IEEE80211_LOCK_ASSERT

#define IEEE80211_LOCK_ASSERT (   _ic)     mtx_assert(IEEE80211_LOCK_OBJ(_ic), MA_OWNED)

Definition at line 74 of file ieee80211_freebsd.h.

◆ IEEE80211_LOCK_DESTROY

#define IEEE80211_LOCK_DESTROY (   _ic)    mtx_destroy(IEEE80211_LOCK_OBJ(_ic))

Definition at line 71 of file ieee80211_freebsd.h.

◆ IEEE80211_LOCK_INIT

#define IEEE80211_LOCK_INIT (   _ic,
  _name 
)
Value:
do { \
ieee80211_com_lock_t *cl = &(_ic)->ic_comlock; \
snprintf(cl->name, sizeof(cl->name), "%s_com_lock", _name); \
mtx_init(&cl->mtx, cl->name, NULL, MTX_DEF | MTX_RECURSE); \
} while (0)

Definition at line 65 of file ieee80211_freebsd.h.

◆ IEEE80211_LOCK_OBJ

#define IEEE80211_LOCK_OBJ (   _ic)    (&(_ic)->ic_comlock.mtx)

Definition at line 70 of file ieee80211_freebsd.h.

◆ IEEE80211_M_NOWAIT

#define IEEE80211_M_NOWAIT   M_NOWAIT

Definition at line 716 of file ieee80211_freebsd.h.

◆ IEEE80211_M_WAITOK

#define IEEE80211_M_WAITOK   M_WAITOK

Definition at line 717 of file ieee80211_freebsd.h.

◆ IEEE80211_M_ZERO

#define IEEE80211_M_ZERO   M_ZERO

Definition at line 718 of file ieee80211_freebsd.h.

◆ IEEE80211_MALLOC

#define IEEE80211_MALLOC   malloc

Definition at line 712 of file ieee80211_freebsd.h.

◆ IEEE80211_MBUF_RX_FLAG_BITS

#define IEEE80211_MBUF_RX_FLAG_BITS
Value:
M_FLAG_BITS \
"\15M_AMPDU\16M_WEP\24M_AMPDU_MPDU"

Definition at line 309 of file ieee80211_freebsd.h.

◆ IEEE80211_MBUF_TX_FLAG_BITS

#define IEEE80211_MBUF_TX_FLAG_BITS
Value:
M_FLAG_BITS \
"\15M_ENCAP\17M_EAPOL\20M_PWR_SAV\21M_MORE_DATA\22M_FF\23M_TXCB" \
"\24M_AMPDU_MPDU\25M_FRAG\26M_FIRSTFRAG\27M_LASTFRAG"

Definition at line 304 of file ieee80211_freebsd.h.

◆ ieee80211_node_decref

#define ieee80211_node_decref (   _ni)     atomic_subtract_int(&(_ni)->ni_refcnt, 1)

Definition at line 252 of file ieee80211_freebsd.h.

◆ ieee80211_node_incref

#define ieee80211_node_incref (   _ni)     atomic_add_int(&(_ni)->ni_refcnt, 1)

Definition at line 250 of file ieee80211_freebsd.h.

◆ ieee80211_node_initref

#define ieee80211_node_initref (   _ni)     do { ((_ni)->ni_refcnt = 1); } while (0)

Definition at line 248 of file ieee80211_freebsd.h.

◆ IEEE80211_NODE_IS_LOCKED

#define IEEE80211_NODE_IS_LOCKED (   _nt)     mtx_owned(IEEE80211_NODE_LOCK_OBJ(_nt))

Definition at line 139 of file ieee80211_freebsd.h.

◆ IEEE80211_NODE_LOCK

#define IEEE80211_NODE_LOCK (   _nt)     mtx_lock(IEEE80211_NODE_LOCK_OBJ(_nt))

Definition at line 137 of file ieee80211_freebsd.h.

◆ IEEE80211_NODE_LOCK_ASSERT

#define IEEE80211_NODE_LOCK_ASSERT (   _nt)     mtx_assert(IEEE80211_NODE_LOCK_OBJ(_nt), MA_OWNED)

Definition at line 143 of file ieee80211_freebsd.h.

◆ IEEE80211_NODE_LOCK_DESTROY

#define IEEE80211_NODE_LOCK_DESTROY (   _nt)     mtx_destroy(IEEE80211_NODE_LOCK_OBJ(_nt))

Definition at line 135 of file ieee80211_freebsd.h.

◆ IEEE80211_NODE_LOCK_INIT

#define IEEE80211_NODE_LOCK_INIT (   _nt,
  _name 
)
Value:
do { \
ieee80211_node_lock_t *nl = &(_nt)->nt_nodelock; \
snprintf(nl->name, sizeof(nl->name), "%s_node_lock", _name); \
mtx_init(&nl->mtx, nl->name, NULL, MTX_DEF | MTX_RECURSE); \
} while (0)

Definition at line 129 of file ieee80211_freebsd.h.

◆ IEEE80211_NODE_LOCK_OBJ

#define IEEE80211_NODE_LOCK_OBJ (   _nt)    (&(_nt)->nt_nodelock.mtx)

Definition at line 134 of file ieee80211_freebsd.h.

◆ ieee80211_node_refcnt

#define ieee80211_node_refcnt (   _ni)    (_ni)->ni_refcnt

Definition at line 256 of file ieee80211_freebsd.h.

◆ IEEE80211_NODE_UNLOCK

#define IEEE80211_NODE_UNLOCK (   _nt)     mtx_unlock(IEEE80211_NODE_LOCK_OBJ(_nt))

Definition at line 141 of file ieee80211_freebsd.h.

◆ IEEE80211_PSQ_DESTROY

#define IEEE80211_PSQ_DESTROY (   _psq)    mtx_destroy(&(_psq)->psq_lock)

Definition at line 152 of file ieee80211_freebsd.h.

◆ IEEE80211_PSQ_INIT

#define IEEE80211_PSQ_INIT (   _psq,
  _name 
)     mtx_init(&(_psq)->psq_lock, _name, "802.11 ps q", MTX_DEF)

Definition at line 150 of file ieee80211_freebsd.h.

◆ IEEE80211_PSQ_LOCK

#define IEEE80211_PSQ_LOCK (   _psq)    mtx_lock(&(_psq)->psq_lock)

Definition at line 153 of file ieee80211_freebsd.h.

◆ IEEE80211_PSQ_UNLOCK

#define IEEE80211_PSQ_UNLOCK (   _psq)    mtx_unlock(&(_psq)->psq_lock)

Definition at line 154 of file ieee80211_freebsd.h.

◆ IEEE80211_RATECTL_ALG

#define IEEE80211_RATECTL_ALG (   name,
  alg,
 
)
Value:
static void \
alg##_modevent(int type) \
{ \
if (type == MOD_LOAD) \
ieee80211_ratectl_register(alg, &v); \
} \
TEXT_SET(ratectl##_set, alg##_modevent)
void ieee80211_ratectl_unregister(int type)

Definition at line 489 of file ieee80211_freebsd.h.

◆ IEEE80211_RATECTL_MODULE

#define IEEE80211_RATECTL_MODULE (   alg,
  version 
)     _IEEE80211_POLICY_MODULE(ratectl, alg, version); \

Definition at line 486 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_ITER_LOCK

#define IEEE80211_SCAN_ITER_LOCK (   _st)    mtx_lock(&(_st)->st_scanlock)

Definition at line 207 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_ITER_LOCK_DESTROY

#define IEEE80211_SCAN_ITER_LOCK_DESTROY (   _st)    mtx_destroy(&(_st)->st_scanlock)

Definition at line 206 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_ITER_LOCK_INIT

#define IEEE80211_SCAN_ITER_LOCK_INIT (   _st,
  _name 
)     mtx_init(&(_st)->st_scanlock, _name, "802.11 scangen", MTX_DEF)

Definition at line 204 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_ITER_UNLOCK

#define IEEE80211_SCAN_ITER_UNLOCK (   _st)    mtx_unlock(&(_st)->st_scanlock)

Definition at line 208 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_TABLE_LOCK

#define IEEE80211_SCAN_TABLE_LOCK (   _st)    mtx_lock(&(_st)->st_lock)

Definition at line 200 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_TABLE_LOCK_DESTROY

#define IEEE80211_SCAN_TABLE_LOCK_DESTROY (   _st)    mtx_destroy(&(_st)->st_lock)

Definition at line 199 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_TABLE_LOCK_INIT

#define IEEE80211_SCAN_TABLE_LOCK_INIT (   _st,
  _name 
)     mtx_init(&(_st)->st_lock, _name, "802.11 scan table", MTX_DEF)

Definition at line 197 of file ieee80211_freebsd.h.

◆ IEEE80211_SCAN_TABLE_UNLOCK

#define IEEE80211_SCAN_TABLE_UNLOCK (   _st)    mtx_unlock(&(_st)->st_lock)

Definition at line 201 of file ieee80211_freebsd.h.

◆ IEEE80211_SCANNER_ALG

#define IEEE80211_SCANNER_ALG (   name,
  alg,
 
)
Value:
static void \
name##_modevent(int type) \
{ \
if (type == MOD_LOAD) \
ieee80211_scanner_register(alg, &v); \
} \
TEXT_SET(scanner_set, name##_modevent); \
void ieee80211_scanner_unregister(enum ieee80211_opmode mode, const struct ieee80211_scanner *scan)

Definition at line 440 of file ieee80211_freebsd.h.

◆ IEEE80211_SCANNER_MODULE

#define IEEE80211_SCANNER_MODULE (   name,
  version 
)     _IEEE80211_POLICY_MODULE(scanner, name, version)

Definition at line 437 of file ieee80211_freebsd.h.

◆ ieee80211_time_after

#define ieee80211_time_after (   a,
 
)    ((int)(b) - (int)(a) < 0)

Definition at line 273 of file ieee80211_freebsd.h.

◆ ieee80211_time_after_eq

#define ieee80211_time_after_eq (   a,
 
)    ((int)(a) - (int)(b) >= 0)

Definition at line 275 of file ieee80211_freebsd.h.

◆ ieee80211_time_before

#define ieee80211_time_before (   a,
 
)    ieee80211_time_after(b,a)

Definition at line 274 of file ieee80211_freebsd.h.

◆ ieee80211_time_before_eq

#define ieee80211_time_before_eq (   a,
 
)    ieee80211_time_after_eq(b,a)

Definition at line 276 of file ieee80211_freebsd.h.

◆ IEEE80211_TX_LOCK

#define IEEE80211_TX_LOCK (   _ic)    mtx_lock(IEEE80211_TX_LOCK_OBJ(_ic))

Definition at line 96 of file ieee80211_freebsd.h.

◆ IEEE80211_TX_LOCK_ASSERT

#define IEEE80211_TX_LOCK_ASSERT (   _ic)     mtx_assert(IEEE80211_TX_LOCK_OBJ(_ic), MA_OWNED)

Definition at line 98 of file ieee80211_freebsd.h.

◆ IEEE80211_TX_LOCK_DESTROY

#define IEEE80211_TX_LOCK_DESTROY (   _ic)    mtx_destroy(IEEE80211_TX_LOCK_OBJ(_ic))

Definition at line 95 of file ieee80211_freebsd.h.

◆ IEEE80211_TX_LOCK_INIT

#define IEEE80211_TX_LOCK_INIT (   _ic,
  _name 
)
Value:
do { \
ieee80211_tx_lock_t *cl = &(_ic)->ic_txlock; \
snprintf(cl->name, sizeof(cl->name), "%s_tx_lock", _name); \
mtx_init(&cl->mtx, cl->name, NULL, MTX_DEF); \
} while (0)

Definition at line 89 of file ieee80211_freebsd.h.

◆ IEEE80211_TX_LOCK_OBJ

#define IEEE80211_TX_LOCK_OBJ (   _ic)    (&(_ic)->ic_txlock.mtx)

Definition at line 94 of file ieee80211_freebsd.h.

◆ IEEE80211_TX_UNLOCK

#define IEEE80211_TX_UNLOCK (   _ic)    mtx_unlock(IEEE80211_TX_LOCK_OBJ(_ic))

Definition at line 97 of file ieee80211_freebsd.h.

◆ IEEE80211_TX_UNLOCK_ASSERT

#define IEEE80211_TX_UNLOCK_ASSERT (   _ic)     mtx_assert(IEEE80211_TX_LOCK_OBJ(_ic), MA_NOTOWNED)

Definition at line 100 of file ieee80211_freebsd.h.

◆ IEEE80211_UNLOCK

#define IEEE80211_UNLOCK (   _ic)    mtx_unlock(IEEE80211_LOCK_OBJ(_ic))

Definition at line 73 of file ieee80211_freebsd.h.

◆ IEEE80211_UNLOCK_ASSERT

#define IEEE80211_UNLOCK_ASSERT (   _ic)     mtx_assert(IEEE80211_LOCK_OBJ(_ic), MA_NOTOWNED)

Definition at line 76 of file ieee80211_freebsd.h.

◆ IF_PREPEND_LIST

#define IF_PREPEND_LIST (   ifq,
  mhead,
  mtail,
  mcount 
)
Value:
do { \
IF_LOCK(ifq); \
_IF_PREPEND_LIST(ifq, mhead, mtail, mcount); \
IF_UNLOCK(ifq); \
} while (0)

Definition at line 164 of file ieee80211_freebsd.h.

◆ IFNET_IS_UP_RUNNING

#define IFNET_IS_UP_RUNNING (   _ifp)
Value:
(((_ifp)->if_flags & IFF_UP) && \
((_ifp)->if_drv_flags & IFF_DRV_RUNNING))

Definition at line 265 of file ieee80211_freebsd.h.

◆ M_80211_RX

#define M_80211_RX   (M_AMPDU|M_WEP|M_AMPDU_MPDU)

Definition at line 302 of file ieee80211_freebsd.h.

◆ M_80211_TX

#define M_80211_TX
Value:
#define M_MORE_DATA
#define M_EAPOL
#define M_ENCAP
#define M_TXCB
#define M_LASTFRAG
#define M_FIRSTFRAG
#define M_FRAG
#define M_PWR_SAV
#define M_FF

Definition at line 292 of file ieee80211_freebsd.h.

◆ M_AGE_GET

#define M_AGE_GET (   m)    (m->m_pkthdr.csum_data)

Definition at line 330 of file ieee80211_freebsd.h.

◆ M_AGE_SET

#define M_AGE_SET (   m,
 
)    (m->m_pkthdr.csum_data = v)

Definition at line 329 of file ieee80211_freebsd.h.

◆ M_AGE_SUB

#define M_AGE_SUB (   m,
  adj 
)    (m->m_pkthdr.csum_data -= adj)

Definition at line 331 of file ieee80211_freebsd.h.

◆ M_AMPDU

#define M_AMPDU   M_PROTO1 /* A-MPDU subframe */

Definition at line 297 of file ieee80211_freebsd.h.

◆ M_AMPDU_MPDU

#define M_AMPDU_MPDU   M_PROTO8 /* ok for A-MPDU aggregation */

Definition at line 287 of file ieee80211_freebsd.h.

◆ M_EAPOL

#define M_EAPOL   M_PROTO3 /* PAE/EAPOL frame */

Definition at line 282 of file ieee80211_freebsd.h.

◆ M_ENCAP

#define M_ENCAP   M_PROTO1 /* 802.11 encap done */

Definition at line 281 of file ieee80211_freebsd.h.

◆ M_FF

#define M_FF   M_PROTO6 /* fast frame / A-MSDU */

Definition at line 285 of file ieee80211_freebsd.h.

◆ M_FIRSTFRAG

#define M_FIRSTFRAG   M_PROTO10 /* first frame fragment */

Definition at line 289 of file ieee80211_freebsd.h.

◆ M_FRAG

#define M_FRAG   M_PROTO9 /* frame fragmentation */

Definition at line 288 of file ieee80211_freebsd.h.

◆ M_LASTFRAG

#define M_LASTFRAG   M_PROTO11 /* last frame fragment */

Definition at line 290 of file ieee80211_freebsd.h.

◆ M_MORE_DATA

#define M_MORE_DATA   M_PROTO5 /* more data frames to follow */

Definition at line 284 of file ieee80211_freebsd.h.

◆ M_PWR_SAV

#define M_PWR_SAV   M_PROTO4 /* bypass PS handling */

Definition at line 283 of file ieee80211_freebsd.h.

◆ M_SEQNO_GET

#define M_SEQNO_GET (   m)    ((m)->m_pkthdr.tso_segsz)

Definition at line 338 of file ieee80211_freebsd.h.

◆ M_SEQNO_SET

#define M_SEQNO_SET (   m,
  seqno 
)     ((m)->m_pkthdr.tso_segsz = (seqno))

Definition at line 336 of file ieee80211_freebsd.h.

◆ M_TXCB

#define M_TXCB   M_PROTO7 /* do tx complete callback */

Definition at line 286 of file ieee80211_freebsd.h.

◆ M_WEP

#define M_WEP   M_PROTO2 /* WEP done by hardware */

Definition at line 298 of file ieee80211_freebsd.h.

◆ M_WME_GETAC

#define M_WME_GETAC (   m)    ((m)->m_pkthdr.ether_vtag)

Definition at line 322 of file ieee80211_freebsd.h.

◆ M_WME_SETAC

#define M_WME_SETAC (   m,
  ac 
)     ((m)->m_pkthdr.ether_vtag = (ac))

Definition at line 320 of file ieee80211_freebsd.h.

◆ MESH_RT_ENTRY_LOCK

#define MESH_RT_ENTRY_LOCK (   rt)    mtx_lock(&(rt)->rt_lock)

Definition at line 218 of file ieee80211_freebsd.h.

◆ MESH_RT_ENTRY_LOCK_ASSERT

#define MESH_RT_ENTRY_LOCK_ASSERT (   rt)    mtx_assert(&(rt)->rt_lock, MA_OWNED)

Definition at line 219 of file ieee80211_freebsd.h.

◆ MESH_RT_ENTRY_LOCK_DESTROY

#define MESH_RT_ENTRY_LOCK_DESTROY (   _rt)     mtx_destroy(&(_rt)->rt_lock)

Definition at line 216 of file ieee80211_freebsd.h.

◆ MESH_RT_ENTRY_LOCK_INIT

#define MESH_RT_ENTRY_LOCK_INIT (   _rt,
  _name 
)     mtx_init(&(rt)->rt_lock, _name, "802.11s route entry", MTX_DEF)

Definition at line 214 of file ieee80211_freebsd.h.

◆ MESH_RT_ENTRY_UNLOCK

#define MESH_RT_ENTRY_UNLOCK (   rt)    mtx_unlock(&(rt)->rt_lock)

Definition at line 220 of file ieee80211_freebsd.h.

◆ MESH_RT_LOCK

#define MESH_RT_LOCK (   ms)    mtx_lock(&(ms)->ms_rt_lock)

Definition at line 223 of file ieee80211_freebsd.h.

◆ MESH_RT_LOCK_ASSERT

#define MESH_RT_LOCK_ASSERT (   ms)    mtx_assert(&(ms)->ms_rt_lock, MA_OWNED)

Definition at line 224 of file ieee80211_freebsd.h.

◆ MESH_RT_LOCK_DESTROY

#define MESH_RT_LOCK_DESTROY (   ms)     mtx_destroy(&(ms)->ms_rt_lock)

Definition at line 228 of file ieee80211_freebsd.h.

◆ MESH_RT_LOCK_INIT

#define MESH_RT_LOCK_INIT (   ms,
  name 
)     mtx_init(&(ms)->ms_rt_lock, name, "802.11s routing table", MTX_DEF)

Definition at line 226 of file ieee80211_freebsd.h.

◆ MESH_RT_UNLOCK

#define MESH_RT_UNLOCK (   ms)    mtx_unlock(&(ms)->ms_rt_lock)

Definition at line 225 of file ieee80211_freebsd.h.

◆ msecs_to_ticks

#define msecs_to_ticks (   ms)    MSEC_2_TICKS(ms)

Definition at line 269 of file ieee80211_freebsd.h.

◆ MTAG_ABI_NET80211

#define MTAG_ABI_NET80211   1132948340 /* net80211 ABI */

Definition at line 340 of file ieee80211_freebsd.h.

◆ NET80211_TAG_CALLBACK

#define NET80211_TAG_CALLBACK   0 /* xmit complete callback */

Definition at line 346 of file ieee80211_freebsd.h.

◆ NET80211_TAG_RECV_PARAMS

#define NET80211_TAG_RECV_PARAMS   2

Definition at line 354 of file ieee80211_freebsd.h.

◆ NET80211_TAG_TOA_PARAMS

#define NET80211_TAG_TOA_PARAMS   3

Definition at line 356 of file ieee80211_freebsd.h.

◆ NET80211_TAG_XMIT_PARAMS

#define NET80211_TAG_XMIT_PARAMS   1

Definition at line 351 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_ASSOC

#define RTM_IEEE80211_ASSOC   100 /* station associate (bss mode) */

Definition at line 616 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_AUTH

#define RTM_IEEE80211_AUTH   114 /* station authenticate (ap mode) */

Definition at line 630 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_CAC

#define RTM_IEEE80211_CAC   112 /* Channel Availability Check event */

Definition at line 628 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_COUNTRY

#define RTM_IEEE80211_COUNTRY   115 /* discovered country code (sta mode) */

Definition at line 631 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_CSA

#define RTM_IEEE80211_CSA   110 /* Channel Switch Announcement event */

Definition at line 626 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_DEAUTH

#define RTM_IEEE80211_DEAUTH   113 /* station deauthenticate */

Definition at line 629 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_DISASSOC

#define RTM_IEEE80211_DISASSOC   102 /* station disassociate (bss mode) */

Definition at line 618 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_JOIN

#define RTM_IEEE80211_JOIN   103 /* station join (ap mode) */

Definition at line 619 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_LEAVE

#define RTM_IEEE80211_LEAVE   104 /* station leave (ap mode) */

Definition at line 620 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_MICHAEL

#define RTM_IEEE80211_MICHAEL   107 /* Michael MIC failure detected */

Definition at line 623 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_RADAR

#define RTM_IEEE80211_RADAR   111 /* radar event */

Definition at line 627 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_RADIO

#define RTM_IEEE80211_RADIO   116 /* RF kill switch state change */

Definition at line 632 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_REASSOC

#define RTM_IEEE80211_REASSOC   101 /* station re-associate (bss mode) */

Definition at line 617 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_REJOIN

#define RTM_IEEE80211_REJOIN   108 /* station re-associate (ap mode) */

Definition at line 624 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_REPLAY

#define RTM_IEEE80211_REPLAY   106 /* sequence counter replay detected */

Definition at line 622 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_SCAN

#define RTM_IEEE80211_SCAN   105 /* scan complete, results available */

Definition at line 621 of file ieee80211_freebsd.h.

◆ RTM_IEEE80211_WDS

#define RTM_IEEE80211_WDS   109 /* WDS discovery (ap mode) */

Definition at line 625 of file ieee80211_freebsd.h.

◆ ticks_to_msecs

#define ticks_to_msecs (   t)    TICKS_2_MSEC(t)

Definition at line 270 of file ieee80211_freebsd.h.

◆ ticks_to_secs

#define ticks_to_secs (   t)    ((t) / hz)

Definition at line 271 of file ieee80211_freebsd.h.

Typedef Documentation

◆ acl_lock_t

typedef struct mtx acl_lock_t

Definition at line 184 of file ieee80211_freebsd.h.

◆ ieee80211_ageq_lock_t

typedef struct mtx ieee80211_ageq_lock_t

Definition at line 174 of file ieee80211_freebsd.h.

◆ ieee80211_ioctl_getfunc

typedef int ieee80211_ioctl_getfunc(struct ieee80211vap *, struct ieee80211req *)

Definition at line 501 of file ieee80211_freebsd.h.

◆ ieee80211_ioctl_setfunc

typedef int ieee80211_ioctl_setfunc(struct ieee80211vap *, struct ieee80211req *)

Definition at line 506 of file ieee80211_freebsd.h.

◆ ieee80211_psq_lock_t

typedef struct mtx ieee80211_psq_lock_t

Definition at line 149 of file ieee80211_freebsd.h.

◆ ieee80211_rt_lock_t

typedef struct mtx ieee80211_rt_lock_t

Definition at line 222 of file ieee80211_freebsd.h.

◆ ieee80211_rte_lock_t

typedef struct mtx ieee80211_rte_lock_t

Definition at line 213 of file ieee80211_freebsd.h.

◆ ieee80211_scan_iter_lock_t

typedef struct mtx ieee80211_scan_iter_lock_t

Definition at line 203 of file ieee80211_freebsd.h.

◆ ieee80211_scan_table_lock_t

typedef struct mtx ieee80211_scan_table_lock_t

Definition at line 196 of file ieee80211_freebsd.h.

Function Documentation

◆ ieee80211_add_callback()

int ieee80211_add_callback ( struct mbuf *  m,
void(*)(struct ieee80211_node *, void *, int)  func,
void *  arg 
)

Definition at line 551 of file ieee80211_freebsd.c.

References ieee80211_cb::arg, ieee80211_cb::func, M_TXCB, MTAG_ABI_NET80211, and NET80211_TAG_CALLBACK.

Referenced by ieee80211_send_bar(), ieee80211_send_mgmt(), and ieee80211_send_nulldata().

Here is the caller graph for this function:

◆ ieee80211_add_rx_params()

int ieee80211_add_rx_params ( struct mbuf *  m,
const struct ieee80211_rx_stats rxs 
)

Definition at line 623 of file ieee80211_freebsd.c.

References MTAG_ABI_NET80211, NET80211_TAG_RECV_PARAMS, and ieee80211_rx_params::params.

Referenced by ieee80211_input_all().

Here is the caller graph for this function:

◆ ieee80211_add_toa_params()

int ieee80211_add_toa_params ( struct mbuf *  m,
const struct ieee80211_toa_params p 
)

Definition at line 672 of file ieee80211_freebsd.c.

References MTAG_ABI_NET80211, and NET80211_TAG_TOA_PARAMS.

◆ ieee80211_add_xmit_params()

int ieee80211_add_xmit_params ( struct mbuf *  m,
const struct ieee80211_bpf_params params 
)

Definition at line 571 of file ieee80211_freebsd.c.

References MTAG_ABI_NET80211, NET80211_TAG_XMIT_PARAMS, and ieee80211_tx_params::params.

Referenced by ieee80211_raw_output().

Here is the caller graph for this function:

◆ ieee80211_com_vdecref()

void ieee80211_com_vdecref ( struct ieee80211vap vap)

Definition at line 380 of file ieee80211_freebsd.c.

References _IEEE80211_MASKSHIFT, IEEE80211_COM_REF, IEEE80211_COM_REF_ADD, and ieee80211vap::iv_com_state.

Referenced by ieee80211_ioctl().

Here is the caller graph for this function:

◆ ieee80211_com_vdetach()

void ieee80211_com_vdetach ( struct ieee80211vap vap)

Definition at line 393 of file ieee80211_freebsd.c.

References _IEEE80211_MASKSHIFT, IEEE80211_COM_DETACHED, IEEE80211_COM_REF, ieee80211vap::iv_com_state, and msecs_to_ticks.

Referenced by ieee80211_ifdetach().

Here is the caller graph for this function:

◆ ieee80211_com_vincref()

int ieee80211_com_vincref ( struct ieee80211vap vap)

Definition at line 359 of file ieee80211_freebsd.c.

References _IEEE80211_MASKSHIFT, IEEE80211_COM_DETACHED, IEEE80211_COM_REF, IEEE80211_COM_REF_ADD, IEEE80211_COM_REF_MAX, and ieee80211vap::iv_com_state.

Referenced by ieee80211_ioctl().

Here is the caller graph for this function:

◆ ieee80211_drain_ifq()

void ieee80211_drain_ifq ( struct ifqueue *  ifq)

Definition at line 413 of file ieee80211_freebsd.c.

References ieee80211_free_node().

Here is the call graph for this function:

◆ ieee80211_flush_ifq()

void ieee80211_flush_ifq ( struct ifqueue *  ifq,
struct ieee80211vap vap 
)

Definition at line 433 of file ieee80211_freebsd.c.

References ieee80211_free_node(), and ieee80211_node::ni_vap.

Here is the call graph for this function:

◆ ieee80211_get_rx_params()

int ieee80211_get_rx_params ( struct mbuf *  m,
struct ieee80211_rx_stats rxs 
)

Definition at line 640 of file ieee80211_freebsd.c.

References MTAG_ABI_NET80211, NET80211_TAG_RECV_PARAMS, and ieee80211_rx_params::params.

Referenced by ieee80211_input_mimo().

Here is the caller graph for this function:

◆ ieee80211_get_rx_params_ptr()

const struct ieee80211_rx_stats * ieee80211_get_rx_params_ptr ( struct mbuf *  m)

◆ ieee80211_get_toa_params()

int ieee80211_get_toa_params ( struct mbuf *  m,
struct ieee80211_toa_params p 
)

Definition at line 689 of file ieee80211_freebsd.c.

References MTAG_ABI_NET80211, and NET80211_TAG_TOA_PARAMS.

◆ ieee80211_get_vap_ifname()

const char * ieee80211_get_vap_ifname ( struct ieee80211vap vap)

Definition at line 1092 of file ieee80211_freebsd.c.

References ieee80211vap::iv_ifp.

Referenced by vap_update_ht_protmode().

Here is the caller graph for this function:

◆ ieee80211_get_xmit_params()

int ieee80211_get_xmit_params ( struct mbuf *  m,
struct ieee80211_bpf_params params 
)

◆ ieee80211_getmgtframe()

◆ ieee80211_load_module()

void ieee80211_load_module ( const char *  modname)

Definition at line 1031 of file ieee80211_freebsd.c.

Referenced by ieee80211_aclator_get(), ieee80211_authenticator_get(), ieee80211_crypto_newkey(), ieee80211_ratectl_set(), and ieee80211_scanner_get().

Here is the caller graph for this function:

◆ ieee80211_node_dectestref()

int ieee80211_node_dectestref ( struct ieee80211_node ni)

Definition at line 405 of file ieee80211_freebsd.c.

References ieee80211_node::ni_refcnt.

Referenced by ieee80211_free_node(), and node_reclaim().

Here is the caller graph for this function:

◆ ieee80211_parent_xmitpkt()

int ieee80211_parent_xmitpkt ( struct ieee80211com ic,
struct mbuf *  m 
)

◆ ieee80211_priv_check_create_vap()

int ieee80211_priv_check_create_vap ( u_long  ,
struct ieee80211vap ,
struct ifnet *   
)

◆ ieee80211_priv_check_vap_getkey()

int ieee80211_priv_check_vap_getkey ( u_long  ,
struct ieee80211vap ,
struct ifnet *   
)

◆ ieee80211_priv_check_vap_manage()

int ieee80211_priv_check_vap_manage ( u_long  ,
struct ieee80211vap ,
struct ifnet *   
)

◆ ieee80211_priv_check_vap_setmac()

int ieee80211_priv_check_vap_setmac ( u_long  ,
struct ieee80211vap ,
struct ifnet *   
)

◆ ieee80211_process_callback()

void ieee80211_process_callback ( struct ieee80211_node ni,
struct mbuf *  m,
int  status 
)

Definition at line 605 of file ieee80211_freebsd.c.

References ieee80211_cb::arg, ieee80211_cb::func, MTAG_ABI_NET80211, and NET80211_TAG_CALLBACK.

Referenced by ieee80211_tx_complete().

Here is the caller graph for this function:

◆ ieee80211_sysctl_attach()

void ieee80211_sysctl_attach ( struct ieee80211com ic)

Definition at line 254 of file ieee80211_freebsd.c.

Referenced by ieee80211_ifattach().

Here is the caller graph for this function:

◆ ieee80211_sysctl_detach()

void ieee80211_sysctl_detach ( struct ieee80211com ic)

Definition at line 259 of file ieee80211_freebsd.c.

Referenced by ieee80211_ifdetach().

Here is the caller graph for this function:

◆ ieee80211_sysctl_msecs_ticks()

int ieee80211_sysctl_msecs_ticks ( SYSCTL_HANDLER_ARGS  )

Definition at line 185 of file ieee80211_freebsd.c.

References msecs_to_ticks, and ticks_to_msecs.

◆ ieee80211_sysctl_vattach()

◆ ieee80211_sysctl_vdetach()

void ieee80211_sysctl_vdetach ( struct ieee80211vap vap)

Definition at line 348 of file ieee80211_freebsd.c.

References IEEE80211_FREE, and ieee80211vap::iv_sysctl.

Referenced by ieee80211_vap_detach().

Here is the caller graph for this function:

◆ ieee80211_vap_destroy()

void ieee80211_vap_destroy ( struct ieee80211vap vap)

Definition at line 177 of file ieee80211_freebsd.c.

References ieee80211vap::iv_ifp, and wlan_cloner.

Referenced by ieee80211_ifdetach().

Here is the caller graph for this function:

◆ ieee80211_vap_xmitpkt()

int ieee80211_vap_xmitpkt ( struct ieee80211vap vap,
struct mbuf *  m 
)

Definition at line 735 of file ieee80211_freebsd.c.

References IEEE80211_TX_UNLOCK_ASSERT, ieee80211vap::iv_ic, and ieee80211vap::iv_ifp.

Referenced by hostap_deliver_data(), hwmp_recv_prep(), ieee80211_recv_pspoll(), and pwrsave_flushq().

Here is the caller graph for this function:

◆ net80211_get_random_bytes()

void net80211_get_random_bytes ( void *  p,
size_t  n 
)

Definition at line 752 of file ieee80211_freebsd.c.

Referenced by hostap_auth_shared(), ieee80211_create_ibss(), ieee80211_dfs_pickchannel(), mesh_generateid(), and wep_attach().

Here is the caller graph for this function:

◆ SET_DECLARE() [1/2]

SET_DECLARE ( ieee80211_ioctl_getset  ,
ieee80211_ioctl_getfunc   
)

◆ SET_DECLARE() [2/2]

SET_DECLARE ( ieee80211_ioctl_setset  ,
ieee80211_ioctl_setfunc   
)

◆ SYSCTL_DECL()

SYSCTL_DECL ( _net_wlan  )