diff options
author | James Ketrenos <jketreno@linux.intel.com> | 2005-09-21 12:54:47 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-21 23:02:31 -0400 |
commit | 3f552bbf8614d2d26f488ca0d3e188bdec484bf4 (patch) | |
tree | 9721d4dc2d53579d7c324fa0b98eddc964149ab4 /include/net | |
parent | 3cdd00c5827621cd0b1bb0665aa62ef9a724297d (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/net')
-rw-r--r-- | include/net/ieee80211.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index 5e11ccf8a763..43cf2e577191 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 */ |
878 | extern int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev); | 899 | extern int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev); |
879 | extern void ieee80211_txb_free(struct ieee80211_txb *); | 900 | extern void ieee80211_txb_free(struct ieee80211_txb *); |
901 | extern 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 */ |
882 | extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, | 905 | extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, |