Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net80211/ieee80211_freebsd.h
Show All 34 Lines | |||||
#include <sys/counter.h> | #include <sys/counter.h> | ||||
#include <sys/lock.h> | #include <sys/lock.h> | ||||
#include <sys/mutex.h> | #include <sys/mutex.h> | ||||
#include <sys/rwlock.h> | #include <sys/rwlock.h> | ||||
#include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
#include <sys/taskqueue.h> | #include <sys/taskqueue.h> | ||||
#include <sys/time.h> | #include <sys/time.h> | ||||
#ifdef DEBUGNET | |||||
#include <net/debugnet.h> | |||||
#endif | |||||
/* | /* | ||||
* Common state locking definitions. | * Common state locking definitions. | ||||
*/ | */ | ||||
typedef struct { | typedef struct { | ||||
char name[16]; /* e.g. "ath0_com_lock" */ | char name[16]; /* e.g. "ath0_com_lock" */ | ||||
struct mtx mtx; | struct mtx mtx; | ||||
} ieee80211_com_lock_t; | } ieee80211_com_lock_t; | ||||
#define IEEE80211_LOCK_INIT(_ic, _name) do { \ | #define IEEE80211_LOCK_INIT(_ic, _name) do { \ | ||||
▲ Show 20 Lines • Show All 436 Lines • ▼ Show 20 Lines | typedef int ieee80211_ioctl_getfunc(struct ieee80211vap *, | ||||
struct ieee80211req *); | struct ieee80211req *); | ||||
SET_DECLARE(ieee80211_ioctl_getset, ieee80211_ioctl_getfunc); | SET_DECLARE(ieee80211_ioctl_getset, ieee80211_ioctl_getfunc); | ||||
#define IEEE80211_IOCTL_GET(_name, _get) TEXT_SET(ieee80211_ioctl_getset, _get) | #define IEEE80211_IOCTL_GET(_name, _get) TEXT_SET(ieee80211_ioctl_getset, _get) | ||||
typedef int ieee80211_ioctl_setfunc(struct ieee80211vap *, | typedef int ieee80211_ioctl_setfunc(struct ieee80211vap *, | ||||
struct ieee80211req *); | struct ieee80211req *); | ||||
SET_DECLARE(ieee80211_ioctl_setset, ieee80211_ioctl_setfunc); | SET_DECLARE(ieee80211_ioctl_setset, ieee80211_ioctl_setfunc); | ||||
#define IEEE80211_IOCTL_SET(_name, _set) TEXT_SET(ieee80211_ioctl_setset, _set) | #define IEEE80211_IOCTL_SET(_name, _set) TEXT_SET(ieee80211_ioctl_setset, _set) | ||||
#ifdef DEBUGNET | |||||
typedef void debugnet80211_init_t(struct ieee80211com *, int *nrxr, int *ncl, | |||||
int *clsize); | |||||
typedef void debugnet80211_event_t(struct ieee80211com *, enum debugnet_ev); | |||||
typedef int debugnet80211_poll_t(struct ieee80211com *, int); | |||||
struct debugnet80211_methods { | |||||
debugnet80211_init_t *dn8_init; | |||||
debugnet80211_event_t *dn8_event; | |||||
debugnet80211_poll_t *dn8_poll; | |||||
}; | |||||
#define DEBUGNET80211_DEFINE(driver) \ | |||||
static debugnet80211_init_t driver##_debugnet80211_init; \ | |||||
static debugnet80211_event_t driver##_debugnet80211_event; \ | |||||
static debugnet80211_poll_t driver##_debugnet80211_poll; \ | |||||
\ | |||||
static struct debugnet80211_methods driver##_debugnet80211_methods = { \ | |||||
.dn8_init = driver##_debugnet80211_init, \ | |||||
.dn8_event = driver##_debugnet80211_event, \ | |||||
.dn8_poll = driver##_debugnet80211_poll, \ | |||||
} | |||||
#define DEBUGNET80211_SET(ic, driver) \ | |||||
(ic)->ic_debugnet_meth = &driver##_debugnet80211_methods | |||||
#else | |||||
#define DEBUGNET80211_DEFINE(driver) | |||||
#define DEBUGNET80211_SET(ic, driver) | |||||
#endif /* DEBUGNET */ | |||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
/* XXX this stuff belongs elsewhere */ | /* XXX this stuff belongs elsewhere */ | ||||
/* | /* | ||||
* Message formats for messages from the net80211 layer to user | * Message formats for messages from the net80211 layer to user | ||||
* applications via the routing socket. These messages are appended | * applications via the routing socket. These messages are appended | ||||
* to an if_announcemsghdr structure. | * to an if_announcemsghdr structure. | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 175 Lines • Show Last 20 Lines |