Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef HOSTAP_80211_H
  2 #define HOSTAP_80211_H
  3 
  4 #include <linux/types.h>
  5 #include <linux/skbuff.h>
  6 
  7 struct hostap_ieee80211_mgmt {
  8         __le16 frame_control;
  9         __le16 duration;
 10         u8 da[6];
 11         u8 sa[6];
 12         u8 bssid[6];
 13         __le16 seq_ctrl;
 14         union {
 15                 struct {
 16                         __le16 auth_alg;
 17                         __le16 auth_transaction;
 18                         __le16 status_code;
 19                         /* possibly followed by Challenge text */
 20                         u8 variable[0];
 21                 } __attribute__ ((packed)) auth;
 22                 struct {
 23                         __le16 reason_code;
 24                 } __attribute__ ((packed)) deauth;
 25                 struct {
 26                         __le16 capab_info;
 27                         __le16 listen_interval;
 28                         /* followed by SSID and Supported rates */
 29                         u8 variable[0];
 30                 } __attribute__ ((packed)) assoc_req;
 31                 struct {
 32                         __le16 capab_info;
 33                         __le16 status_code;
 34                         __le16 aid;
 35                         /* followed by Supported rates */
 36                         u8 variable[0];
 37                 } __attribute__ ((packed)) assoc_resp, reassoc_resp;
 38                 struct {
 39                         __le16 capab_info;
 40                         __le16 listen_interval;
 41                         u8 current_ap[6];
 42                         /* followed by SSID and Supported rates */
 43                         u8 variable[0];
 44                 } __attribute__ ((packed)) reassoc_req;
 45                 struct {
 46                         __le16 reason_code;
 47                 } __attribute__ ((packed)) disassoc;
 48                 struct {
 49                 } __attribute__ ((packed)) probe_req;
 50                 struct {
 51                         u8 timestamp[8];
 52                         __le16 beacon_int;
 53                         __le16 capab_info;
 54                         /* followed by some of SSID, Supported rates,
 55                          * FH Params, DS Params, CF Params, IBSS Params, TIM */
 56                         u8 variable[0];
 57                 } __attribute__ ((packed)) beacon, probe_resp;
 58         } u;
 59 } __attribute__ ((packed));
 60 
 61 
 62 #define IEEE80211_MGMT_HDR_LEN 24
 63 #define IEEE80211_DATA_HDR3_LEN 24
 64 #define IEEE80211_DATA_HDR4_LEN 30
 65 
 66 
 67 struct hostap_80211_rx_status {
 68         u32 mac_time;
 69         u8 signal;
 70         u8 noise;
 71         u16 rate; /* in 100 kbps */
 72 };
 73 
 74 /* prism2_rx_80211 'type' argument */
 75 enum {
 76         PRISM2_RX_MONITOR, PRISM2_RX_MGMT, PRISM2_RX_NON_ASSOC,
 77         PRISM2_RX_NULLFUNC_ACK
 78 };
 79 
 80 int prism2_rx_80211(struct net_device *dev, struct sk_buff *skb,
 81                     struct hostap_80211_rx_status *rx_stats, int type);
 82 void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
 83                      struct hostap_80211_rx_status *rx_stats);
 84 void hostap_dump_rx_80211(const char *name, struct sk_buff *skb,
 85                           struct hostap_80211_rx_status *rx_stats);
 86 
 87 void hostap_dump_tx_80211(const char *name, struct sk_buff *skb);
 88 int hostap_data_start_xmit(struct sk_buff *skb, struct net_device *dev);
 89 int hostap_mgmt_start_xmit(struct sk_buff *skb, struct net_device *dev);
 90 int hostap_master_start_xmit(struct sk_buff *skb, struct net_device *dev);
 91 
 92 #endif /* HOSTAP_80211_H */
 93 
  This page was automatically generated by the LXR engine.