aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ieee80211.h
diff options
context:
space:
mode:
authorKalle Valo <kalle.valo@nokia.com>2010-01-05 13:16:19 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-12 13:51:24 -0500
commit7044cc565b45a898c140fb185174a66f2d68a163 (patch)
tree9933e1f178d0cfc8acf69eaf5b7652acaa8825e5 /include/linux/ieee80211.h
parentb3579d6adcf7b24464274967a96d12467cfb11a7 (diff)
mac80211: add functions to create PS Poll and Nullfunc templates
Some hardware, for example wl1251 and wl1271, handle the transmission of power save related frames in hardware, but the driver is responsible for creating the templates. It's better to create the templates in mac80211, that way all drivers can benefit from this. Add two new functions, ieee80211_pspoll_get() and ieee80211_nullfunc_get() which drivers need to call to get the frame. Drivers are also responsible for updating the templates after each association. Also new struct ieee80211_hdr_3addr is added to ieee80211.h to make it easy to calculate length of the Nullfunc frame. Signed-off-by: Kalle Valo <kalle.valo@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r--include/linux/ieee80211.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index aeea282bd2fe..602c0692c3fc 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -130,6 +130,15 @@ struct ieee80211_hdr {
130 u8 addr4[6]; 130 u8 addr4[6];
131} __attribute__ ((packed)); 131} __attribute__ ((packed));
132 132
133struct ieee80211_hdr_3addr {
134 __le16 frame_control;
135 __le16 duration_id;
136 u8 addr1[6];
137 u8 addr2[6];
138 u8 addr3[6];
139 __le16 seq_ctrl;
140} __attribute__ ((packed));
141
133/** 142/**
134 * ieee80211_has_tods - check if IEEE80211_FCTL_TODS is set 143 * ieee80211_has_tods - check if IEEE80211_FCTL_TODS is set
135 * @fc: frame control bytes in little-endian byteorder 144 * @fc: frame control bytes in little-endian byteorder