Changeset View
Changeset View
Standalone View
Standalone View
sys/net80211/ieee80211_freebsd.h
Show First 20 Lines • Show All 587 Lines • ▼ Show 20 Lines | |||||
* an Atheros tx descriptor. XXX need to generalize. | * an Atheros tx descriptor. XXX need to generalize. | ||||
* | * | ||||
* XXX cannot be more than 14 bytes as it is copied to a sockaddr's | * XXX cannot be more than 14 bytes as it is copied to a sockaddr's | ||||
* XXX sa_data area. | * XXX sa_data area. | ||||
*/ | */ | ||||
struct ieee80211_bpf_params { | struct ieee80211_bpf_params { | ||||
uint8_t ibp_vers; /* version */ | uint8_t ibp_vers; /* version */ | ||||
#define IEEE80211_BPF_VERSION 0 | #define IEEE80211_BPF_VERSION 0 | ||||
#define IEEE80211_BPF_VERSION_1 1 /* treat rates as indices */ | |||||
uint8_t ibp_len; /* header length in bytes */ | uint8_t ibp_len; /* header length in bytes */ | ||||
uint8_t ibp_flags; | uint8_t ibp_flags; | ||||
#define IEEE80211_BPF_SHORTPRE 0x01 /* tx with short preamble */ | #define IEEE80211_BPF_SHORTPRE 0x01 /* tx with short preamble */ | ||||
#define IEEE80211_BPF_NOACK 0x02 /* tx with no ack */ | #define IEEE80211_BPF_NOACK 0x02 /* tx with no ack */ | ||||
#define IEEE80211_BPF_CRYPTO 0x04 /* tx with h/w encryption */ | #define IEEE80211_BPF_CRYPTO 0x04 /* tx with h/w encryption */ | ||||
#define IEEE80211_BPF_FCS 0x10 /* frame incldues FCS */ | #define IEEE80211_BPF_FCS 0x10 /* frame incldues FCS */ | ||||
#define IEEE80211_BPF_DATAPAD 0x20 /* frame includes data padding */ | #define IEEE80211_BPF_DATAPAD 0x20 /* frame includes data padding */ | ||||
#define IEEE80211_BPF_RTS 0x40 /* tx with RTS/CTS */ | #define IEEE80211_BPF_RTS 0x40 /* tx with RTS/CTS */ | ||||
#define IEEE80211_BPF_CTS 0x80 /* tx with CTS only */ | #define IEEE80211_BPF_CTS 0x80 /* tx with CTS only */ | ||||
uint8_t ibp_pri; /* WME/WMM AC+tx antenna */ | uint8_t ibp_pri; /* WME/WMM AC+tx antenna */ | ||||
uint8_t ibp_try0; /* series 1 try count */ | uint8_t ibp_try0; /* series 1 try count */ | ||||
uint8_t ibp_rate0; /* series 1 IEEE tx rate */ | uint8_t ibp_rate0; /* series 1 IEEE tx rate */ | ||||
uint8_t ibp_power; /* tx power (device units) */ | uint8_t ibp_power; /* tx power (device units) */ | ||||
uint8_t ibp_ctsrate; /* IEEE tx rate for CTS */ | uint8_t ibp_ctsrate; /* IEEE tx rate for CTS */ | ||||
uint8_t ibp_try1; /* series 2 try count */ | uint8_t ibp_try1; /* series 2 try count */ | ||||
uint8_t ibp_rate1; /* series 2 IEEE tx rate */ | uint8_t ibp_rate1; /* series 2 IEEE tx rate */ | ||||
uint8_t ibp_try2; /* series 3 try count */ | uint8_t ibp_try2; /* series 3 try count */ | ||||
uint8_t ibp_rate2; /* series 3 IEEE tx rate */ | uint8_t ibp_rate2; /* series 3 IEEE tx rate */ | ||||
uint8_t ibp_try3; /* series 4 try count */ | uint8_t ibp_try3; /* series 4 try count */ | ||||
uint8_t ibp_rate3; /* series 4 IEEE tx rate */ | uint8_t ibp_rate3; /* series 4 IEEE tx rate */ | ||||
/* XXX limited by ibp_rate* field width */ | |||||
#define IEEE80211_BPF_RATE_INVALID 0xff | |||||
#define IEEE80211_BPF_RATE(r) MIN((r), IEEE80211_BPF_RATE_INVALID) | |||||
}; | }; | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
struct ieee80211_tx_params { | struct ieee80211_tx_params { | ||||
struct ieee80211_bpf_params params; | struct ieee80211_bpf_params params; | ||||
}; | }; | ||||
int ieee80211_add_xmit_params(struct mbuf *m, | int ieee80211_add_xmit_params(struct mbuf *m, | ||||
const struct ieee80211_bpf_params *); | const struct ieee80211_bpf_params *); | ||||
▲ Show 20 Lines • Show All 49 Lines • Show Last 20 Lines |