diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2007-07-05 20:59:26 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2007-07-05 20:59:26 +0000 |
commit | 22279cde09f9db8183b3844d1c8edadbc04ad9a5 (patch) | |
tree | 7ff456a0b7c02b05ed2f174c90946f37ae1cd7d6 /sys/net80211 | |
parent | d1b3f1cb245c3ee70b4e63045d20338358efb4c6 (diff) |
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).
Diffstat (limited to 'sys/net80211')
-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 */ |