aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJames Ketrenos <jketreno@linux.intel.com>2005-09-21 12:54:47 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-09-21 23:02:31 -0400
commit3f552bbf8614d2d26f488ca0d3e188bdec484bf4 (patch)
tree9721d4dc2d53579d7c324fa0b98eddc964149ab4 /include
parent3cdd00c5827621cd0b1bb0665aa62ef9a724297d (diff)
[PATCH] ieee82011: Added ieee80211_tx_frame to convert generic 802.11 data frames, and callbacks
tree 40adc78b623ae70d56074934ec6334eb4f0ae6a5 parent db43d847bcebaa3df6414e26d0008eb21690e8cf author James Ketrenos <jketreno@linux.intel.com> 1124445938 -0500 committer James Ketrenos <jketreno@linux.intel.com> 1127313102 -0500 Added ieee80211_tx_frame to convert generic 802.11 data frames into txbs for transmission. Added several purpose specific callbacks (handle_assoc, handle_auth, etc.) which the driver can register with for being notified on reception of variouf frame elements. Signed-off-by: James Ketrenos <jketreno@linux.intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/ieee80211.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h
index 5e11ccf8a76..43cf2e57719 100644
--- a/include/net/ieee80211.h
+++ b/include/net/ieee80211.h
@@ -769,6 +769,27 @@ struct ieee80211_device {
769 int (*hard_start_xmit) (struct ieee80211_txb * txb, 769 int (*hard_start_xmit) (struct ieee80211_txb * txb,
770 struct net_device * dev); 770 struct net_device * dev);
771 int (*reset_port) (struct net_device * dev); 771 int (*reset_port) (struct net_device * dev);
772 int (*is_queue_full) (struct net_device * dev, int pri);
773
774 /* Typical STA methods */
775 int (*handle_auth) (struct net_device * dev,
776 struct ieee80211_auth * auth);
777 int (*handle_disassoc) (struct net_device * dev,
778 struct ieee80211_disassoc * assoc);
779 int (*handle_beacon) (struct net_device * dev,
780 struct ieee80211_beacon * beacon,
781 struct ieee80211_network * network);
782 int (*handle_probe_response) (struct net_device * dev,
783 struct ieee80211_probe_response * resp,
784 struct ieee80211_network * network);
785 int (*handle_assoc_response) (struct net_device * dev,
786 struct ieee80211_assoc_response * resp,
787 struct ieee80211_network * network);
788
789 /* Typical AP methods */
790 int (*handle_assoc_request) (struct net_device * dev);
791 int (*handle_reassoc_request) (struct net_device * dev,
792 struct ieee80211_reassoc_request * req);
772 793
773 /* This must be the last item so that it points to the data 794 /* This must be the last item so that it points to the data
774 * allocated beyond this structure by alloc_ieee80211 */ 795 * allocated beyond this structure by alloc_ieee80211 */
@@ -877,6 +898,8 @@ extern int ieee80211_set_encryption(struct ieee80211_device *ieee);
877/* ieee80211_tx.c */ 898/* ieee80211_tx.c */
878extern int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev); 899extern int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev);
879extern void ieee80211_txb_free(struct ieee80211_txb *); 900extern void ieee80211_txb_free(struct ieee80211_txb *);
901extern int ieee80211_tx_frame(struct ieee80211_device *ieee,
902 struct ieee80211_hdr *frame, int len);
880 903
881/* ieee80211_rx.c */ 904/* ieee80211_rx.c */
882extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, 905extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,