#define HOSTAP_WLAN_H
#include "hostap_config.h"
-#include "hostap_crypt.h"
#include "hostap_common.h"
#define MAX_PARM_DEVICES 8
* prism2_send_mgmt() sends these with dev_queue_xmit() to prism2_tx(). */
#define ETH_P_HOSTAP ETH_P_CONTROL
-#ifndef ARPHRD_IEEE80211
-#define ARPHRD_IEEE80211 801
-#endif
-#ifndef ARPHRD_IEEE80211_PRISM
-#define ARPHRD_IEEE80211_PRISM 802
-#endif
-
/* ARPHRD_IEEE80211_PRISM uses a bloated version of Prism2 RX frame header
* (from linux-wlan-ng) */
struct linux_wlan_ng_val {
};
-struct prism2_crypt_data {
- struct list_head list; /* delayed deletion list */
- struct hostap_crypto_ops *ops;
- void *priv;
- atomic_t refcnt;
-};
-
struct hostap_cmd_queue {
struct list_head list;
wait_queue_head_t compl;
#define WEP_KEYS 4
#define WEP_KEY_LEN 13
- struct prism2_crypt_data *crypt[WEP_KEYS];
+ struct ieee80211_crypt_data *crypt[WEP_KEYS];
int tx_keyidx; /* default TX key index (crypt[tx_keyidx]) */
struct timer_list crypt_deinit_timer;
struct list_head crypt_deinit_list;
struct prism2_helper_functions *func;
- int bus_master_threshold_tx;
- int bus_master_threshold_rx;
- u8 *bus_m1_buf;
-
u8 *pda;
int fw_ap;
#define PRISM2_FW_VER(major, minor, variant) \
int io_debug_enabled;
#endif /* PRISM2_IO_DEBUG */
- /* struct local_info is used also in hostap.o that does not define
- * any PRISM2_{PCCARD,PLX,PCI}. Make sure that the hardware version
- * specific fields are in the end of the struct (these could also be
- * moved to void *priv or something like that). */
-#ifdef PRISM2_PCCARD
- dev_node_t node;
- dev_link_t *link;
- int sandisk_connectplus;
-#endif /* PRISM2_PCCARD */
-
-#ifdef PRISM2_PLX
- void __iomem *attr_mem;
- unsigned int cor_offset;
-#endif /* PRISM2_PLX */
-
-#ifdef PRISM2_PCI
- void __iomem *mem_start;
-#ifdef PRISM2_BUS_MASTER
- /* bus master for BAP0 (TX) */
- int bus_m0_tx_idx;
- u8 *bus_m0_buf;
-
- /* bus master for BAP1 (RX) */
- struct sk_buff *rx_skb;
-#endif /* PRISM2_BUS_MASTER */
-#endif /* PRISM2_PCI */
-
- /* NOTE! Do not add common entries here after hardware version
- * specific blocks. */
+ /* Pointer to hardware model specific (cs,pci,plx) private data. */
+ void *hw_priv;
};
#define HOSTAP_SKB_TX_DATA_MAGIC 0xf08a36a2
-/* TX meta data - stored in skb->cb buffer, so this must be not increase over
- * 48-byte limit */
+/*
+ * TX meta data - stored in skb->cb buffer, so this must not be increased over
+ * the 40-byte limit
+ */
struct hostap_skb_tx_data {
- unsigned int magic; /* HOSTAP_SKB_TX_DATA_MAGIC */
- int rate; /* transmit rate */
+ u32 magic; /* HOSTAP_SKB_TX_DATA_MAGIC */
+ u8 rate; /* transmit rate */
+#define HOSTAP_TX_FLAGS_WDS BIT(0)
+#define HOSTAP_TX_FLAGS_BUFFERED_FRAME BIT(1)
+#define HOSTAP_TX_FLAGS_ADD_MOREDATA BIT(2)
+ u8 flags; /* HOSTAP_TX_FLAGS_* */
+ u16 tx_cb_idx;
struct hostap_interface *iface;
unsigned long jiffies; /* queueing timestamp */
- int wds;
unsigned short ethertype;
- int tx_cb_idx;
};