• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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