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