Home | History | Annotate | Download | only in Rx
      1 /****************************************************************************
      2 **+-----------------------------------------------------------------------+**
      3 **|                                                                       |**
      4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
      5 **| All rights reserved.                                                  |**
      6 **|                                                                       |**
      7 **| Redistribution and use in source and binary forms, with or without    |**
      8 **| modification, are permitted provided that the following conditions    |**
      9 **| are met:                                                              |**
     10 **|                                                                       |**
     11 **|  * Redistributions of source code must retain the above copyright     |**
     12 **|    notice, this list of conditions and the following disclaimer.      |**
     13 **|  * Redistributions in binary form must reproduce the above copyright  |**
     14 **|    notice, this list of conditions and the following disclaimer in    |**
     15 **|    the documentation and/or other materials provided with the         |**
     16 **|    distribution.                                                      |**
     17 **|  * Neither the name Texas Instruments nor the names of its            |**
     18 **|    contributors may be used to endorse or promote products derived    |**
     19 **|    from this software without specific prior written permission.      |**
     20 **|                                                                       |**
     21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
     22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
     23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
     24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
     25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
     26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
     27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
     28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
     29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
     30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
     31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
     32 **|                                                                       |**
     33 **+-----------------------------------------------------------------------+**
     34 ****************************************************************************/
     35 
     36 /***************************************************************************/
     37 /*																		   */
     38 /*		MODULE:	rx.h													   */
     39 /*    	PURPOSE:	Rx module functions header file						   */
     40 /*																		   */
     41 /***************************************************************************/
     42 #ifndef _RX_DATA_H_
     43 #define _RX_DATA_H_
     44 
     45 #include "paramIn.h"
     46 #include "paramOut.h"
     47 #include "memMngrEx.h"
     48 #include "whalBus_Defs.h"
     49 
     50 #define DEF_EXCLUDE_UNENCYPTED				FALSE
     51 #define DEF_EAPOL_DESTINATION				OS_ABS_LAYER
     52 #define DEF_RX_PORT_STATUS					CLOSE
     53 
     54 typedef struct
     55 {
     56 	UINT32		excludedFrameCounter;
     57 	UINT32		rxDroppedDueToVLANIncludedCnt;
     58     UINT32		rxWrongBssTypeCounter;
     59 	UINT32		rxWrongBssIdCounter;
     60     UINT32      rcvUnicastFrameInOpenNotify;
     61 }rxDataDbgCounters_t;
     62 
     63 
     64 /*                         |                           |                         |
     65  31 30 29 28 | 27 26 25 24 | 23 22 21 20 | 19 18 17 16 | 15 14 13 12 | 11 10 9 8 | 7 6 5 4 | 3 2 1 0
     66                            |                           |                         |
     67 */
     68 
     69 
     70 typedef enum
     71 {
     72 	DATA_IAPP_PACKET  = 0,
     73 	DATA_EAPOL_PACKET = 1,
     74 	DATA_DATA_PACKET  = 2,
     75     DATA_VLAN_PACKET  = 3,
     76 	MAX_NUM_OF_RX_DATA_TYPES,
     77 }rxDataPacketType_e;
     78 
     79 
     80 
     81 typedef void (*rxData_MsduDispatchert)(TI_HANDLE hRxData , mem_MSDU_T *pMsdu , Rx_attr_t *pRxAttr);
     82 
     83 
     84 typedef struct
     85 {
     86 	/* Handles */
     87 	TI_HANDLE	 		hCtrlData;
     88 	TI_HANDLE	 		hTxData;
     89 	TI_HANDLE	 		hTnetwDrv;
     90     TI_HANDLE           hHalCtrl;
     91 	TI_HANDLE			hMlme;
     92 	TI_HANDLE			hOs;
     93 	TI_HANDLE			hRsn;
     94 	TI_HANDLE			hReport;
     95 	TI_HANDLE			hMemMngr;
     96 	TI_HANDLE			hSiteMgr;
     97 	TI_HANDLE			hExcMgr;
     98     TI_HANDLE           hEvHandler;
     99     TI_HANDLE           RxEventDistributor;
    100 	TI_HANDLE           hThroughputTimer;
    101     BOOL                rxThroughputTimerEnable;
    102 	BOOL 				rxDataExcludeUnencrypted;
    103     BOOL                rxDataExludeBroadcastUnencrypted;
    104 	eapolDestination_e 	rxDataEapolDestination;
    105 
    106 	portStatus_e  		rxDataPortStatus;
    107 
    108     mem_MSDU_T *pReqForBufMsdu; /* request for buffer MSDU - (the lower layer gets only the pointer to the data) */
    109 
    110     /* Rx Data Filters */
    111     filter_e            filteringDefaultAction;
    112     BOOL                filteringEnabled;
    113     BOOL                isFilterSet[MAX_DATA_FILTERS];
    114     rxDataFilterRequest_t filterRequests[MAX_DATA_FILTERS];
    115 
    116 	/* Counters */
    117 	rxDataCounters_t	rxDataCounters;
    118 	rxDataDbgCounters_t	rxDataDbgCounters;
    119 
    120 	rxData_MsduDispatchert rxData_dispatchMsdu[MAX_NUM_OF_RX_PORT_STATUS][MAX_NUM_OF_RX_DATA_TYPES];
    121 
    122 	INT32				prevSeqNum;
    123 }rxData_t;
    124 
    125 
    126 #endif
    127