1#ifndef __WINBOND_CORE_H 2#define __WINBOND_CORE_H 3 4#include <linux/wireless.h> 5#include <linux/types.h> 6#include <linux/delay.h> 7 8#include "wbhal.h" 9#include "mto.h" 10 11#include "mac_structures.h" 12#include "mds_s.h" 13 14#define MAX_NUM_TX_MMPDU 2 15#define MAX_MMPDU_SIZE 1512 16#define MAX_NUM_RX_MMPDU 6 17 18struct mlme_frame { 19 s8 *pMMPDU; 20 u16 len; 21 u8 DataType; 22 u8 IsInUsed; 23 24 u8 TxMMPDU[MAX_NUM_TX_MMPDU][MAX_MMPDU_SIZE]; 25 u8 TxMMPDUInUse[(MAX_NUM_TX_MMPDU + 3) & ~0x03]; 26 27 u16 wNumTxMMPDU; 28 u16 wNumTxMMPDUDiscarded; 29 30 u8 RxMMPDU[MAX_NUM_RX_MMPDU][MAX_MMPDU_SIZE]; 31 u8 SaveRxBufSlotInUse[(MAX_NUM_RX_MMPDU + 3) & ~0x03]; 32 33 u16 wNumRxMMPDU; 34 u16 wNumRxMMPDUDiscarded; 35 36 u16 wNumRxMMPDUInMLME; /* Number of the Rx MMPDU */ 37 u16 reserved_1; /* in MLME. */ 38 /* excluding the discarded */ 39}; 40 41#define WBLINUX_PACKET_ARRAY_SIZE (ETHERNET_TX_DESCRIPTORS*4) 42 43#define WB_MAX_LINK_NAME_LEN 40 44 45struct wbsoft_priv { 46 struct wb_local_para sLocalPara; /* Myself connected 47 parameters */ 48 49 struct mlme_frame sMlmeFrame; /* connect to peerSTA parameters */ 50 51 struct wb35_mto_params sMtoPara; /* MTO_struct ... */ 52 struct hw_data sHwData; /*For HAL */ 53 struct wb35_mds Mds; 54 55 atomic_t ThreadCount; 56 57 u32 RxByteCount; 58 u32 TxByteCount; 59 60 u8 LinkName[WB_MAX_LINK_NAME_LEN]; 61 62 bool enabled; 63}; 64 65#endif /* __WINBOND_CORE_H */ 66