Home | History | Annotate | Download | only in 4X
      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:	ackEmulUtil.h											   */
     39 /*   PURPOSE:	Ack emulation Utility 	              					   */
     40 /*											    						   */
     41 /***************************************************************************/
     42 #ifndef _ACK_EMULATION_UTIL_H_
     43 #define _ACK_EMULATION_UTIL_H_
     44 
     45 #include "osTIType.h"
     46 #include "ackEmulDb.h"
     47 
     48 
     49 typedef struct
     50 {
     51 	TI_HANDLE	 		hWhalCtrl;
     52 	TI_HANDLE			hOs;
     53 	TI_HANDLE			hReport;
     54 	TI_HANDLE			hMemMngr;
     55 
     56 	ackEmulDB_t*		pAckEmulDB;
     57 
     58 	int ackEmulationActive;
     59 
     60 }ackEmul_t;
     61 
     62 ackEmul_t* ackEmul_create(TI_HANDLE hOs);
     63 
     64 TI_STATUS ackEmul_config(ackEmul_t*		ackEmul,
     65 							TI_HANDLE	hWhalCtrl,
     66 							TI_HANDLE	hOs,
     67 							TI_HANDLE	hReport,
     68 							TI_HANDLE	hMemMngr);
     69 
     70 TI_STATUS ackEmul_destroy(ackEmul_t*	ackEmul);
     71 
     72 
     73 
     74 
     75 TI_STATUS wdrv_ackEmulationRxPacket(ackEmul_t*		ackEmul, mem_MSDU_T *pMsdu);
     76 
     77 TI_STATUS wdrv_ackEmulationTxPacket(ackEmul_t*		ackEmul, mem_MSDU_T *pMsdu,int *discardPacket);
     78 
     79 void wdrv_aeWackReceive(ackEmul_t*		ackEmul, UINT16 station, UINT8 wackInfo);
     80 void gener(ackEmul_t*		ackEmul, UINT16 stationIndex, UINT8 activeIndex ,UINT32 ackNumber);
     81 
     82 void wdrv_aeSetActive(ackEmul_t*		ackEmul, int status);
     83 int wdrv_aeGetActive(ackEmul_t*		ackEmul);
     84 
     85 void gener(ackEmul_t*		ackEmul, UINT16 stationIndex, UINT8 activeIndex ,UINT32 ackNumber);
     86 
     87 #endif
     88