diff options
author | 2007-07-05 20:59:25 +0000 | |
---|---|---|
committer | 2007-07-05 20:59:25 +0000 | |
commit | ec3b43e3500adda20643ef1b1f6d7a225e8ff510 (patch) | |
tree | 3cccac92cea9cc3e7af4789fbfa933f1de6a0ed3 | |
parent | don't set IEEE80211_CAPINFO_ESS bit since we're not operating as an AP. (diff) | |
download | wireguard-openbsd-ec3b43e3500adda20643ef1b1f6d7a225e8ff510.tar.xz wireguard-openbsd-ec3b43e3500adda20643ef1b1f6d7a225e8ff510.zip |
some HT frames may have an additional HT Control field.
remove two comments that were misplaced while I'm here (addr4 is always
located after the i_seq field, not at the end of the header).
-rw-r--r-- | sys/net80211/ieee80211.h | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 1770cdaf84f..fbfb88d75d5 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ieee80211.h,v 1.29 2007/07/05 20:11:04 damien Exp $ */ +/* $OpenBSD: ieee80211.h,v 1.30 2007/07/05 20:59:25 damien Exp $ */ /* $NetBSD: ieee80211.h,v 1.6 2004/04/30 23:51:53 dyoung Exp $ */ /*- @@ -65,8 +65,6 @@ struct ieee80211_frame { u_int8_t i_addr2[IEEE80211_ADDR_LEN]; u_int8_t i_addr3[IEEE80211_ADDR_LEN]; u_int8_t i_seq[2]; - /* possibly followed by addr4[IEEE80211_ADDR_LEN]; */ - /* see below */ } __packed; struct ieee80211_qosframe { @@ -77,8 +75,18 @@ struct ieee80211_qosframe { u_int8_t i_addr3[IEEE80211_ADDR_LEN]; u_int8_t i_seq[2]; u_int8_t i_qos[2]; - /* possibly followed by addr4[IEEE80211_ADDR_LEN]; */ - /* see below */ +} __packed; + +/* 802.11n/D2.02 */ +struct ieee80211_htframe { + u_int8_t i_fc[2]; + u_int8_t i_dur[2]; + u_int8_t i_addr1[IEEE80211_ADDR_LEN]; + u_int8_t i_addr2[IEEE80211_ADDR_LEN]; + u_int8_t i_addr3[IEEE80211_ADDR_LEN]; + u_int8_t i_seq[2]; + u_int8_t i_qos[2]; + u_int8_t i_ht[4]; } __packed; struct ieee80211_frame_addr4 { @@ -91,7 +99,6 @@ struct ieee80211_frame_addr4 { u_int8_t i_addr4[IEEE80211_ADDR_LEN]; } __packed; - struct ieee80211_qosframe_addr4 { u_int8_t i_fc[2]; u_int8_t i_dur[2]; @@ -103,6 +110,19 @@ struct ieee80211_qosframe_addr4 { u_int8_t i_qos[2]; } __packed; +/* 802.11n/D2.02 */ +struct ieee80211_htframe_addr4 { + u_int8_t i_fc[2]; + u_int8_t i_dur[2]; + u_int8_t i_addr1[IEEE80211_ADDR_LEN]; + u_int8_t i_addr2[IEEE80211_ADDR_LEN]; + u_int8_t i_addr3[IEEE80211_ADDR_LEN]; + u_int8_t i_seq[2]; + u_int8_t i_addr4[IEEE80211_ADDR_LEN]; + u_int8_t i_qos[2]; + u_int8_t i_ht[4]; +} __packed; + /* * Management Notification Frame */ |