• 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 #ifndef _WHAL_WPA_H
37 #define _WHAL_WPA_H
38 
39 #include "whalCommon.h"
40 
41 #define WPA_MIC_FIELD_LEN 	8
42 #define WPA_TX_ICV_FIELD_SIZE 12 /* 4+8 bytes*/
43 
44 typedef struct
45 {
46 	TI_HANDLE hReport; /* handle to the reporter module*/
47 	TI_HANDLE hMemMgr; /* handle to the memory manager module*/
48 } whalWpa_config_t;
49 
50 /* CLASS WHAL_WPA*/
51 typedef struct _WHAL_WPA
52 {
53 	UINT32 wepFailCounter;
54 
55 	WHAL_CTRL 		*pWhalCtrl;		/* Pointer to the HL_HAL control module*/
56 
57 	TI_HANDLE hOs;
58 	TI_HANDLE hReport;
59 	TI_HANDLE hMemMgr;
60 
61 	keyType_e currTxKeyType;  /* key type of the current configured unicast key */
62 } WHAL_WPA;
63 
64 /* WHAL WPA Class API*/
65 TI_HANDLE whalWpa_Create (TI_HANDLE hOs, TI_HANDLE hWhalCtrl);
66 
67 int whalWpa_Config (TI_HANDLE hWhalWep, whalWpa_config_t* pWhalWpaCfg);
68 
69 int whalWpa_MpduListFieldsAdd (TI_HANDLE hWhalWpa, mem_MSDU_T* pMpduList);
70 
71 int whalWpa_MpduFieldsHandle (TI_HANDLE hWhalWpa, mem_MSDU_T* pMpdu);
72 
73 int whalWpa_KeyAdd (TI_HANDLE hWhalWpa, securityKeys_t* pKey, void *CB_Func, TI_HANDLE CB_handle);
74 
75 int whalWpa_KeyRemove (TI_HANDLE hWhalWpa, securityKeys_t* pKey, void *CB_Func, TI_HANDLE CB_handle);
76 
77 int whalWpa_DefaultKeyIdSet (TI_HANDLE hWhalWpa, UINT8 aKeyId, void *CB_Func, TI_HANDLE CB_handle);
78 
79 int whalWpa_Destroy (TI_HANDLE hWhalWpa);
80 #endif /* _WHAL_WPA_H*/
81