1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*
2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * rsnApi.h
3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved.
6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions
9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met:
10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    the documentation and/or other materials provided with the
16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    distribution.
17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    contributors may be used to endorse or promote products derived
19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    from this software without specific prior written permission.
20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \file utilsReplvl.h
35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \brief Report level API
36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \see utilsReplvl.c
38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/
41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*                                                                                                  */
42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*    MODULE:   utilsReplvl.h                                                               */
43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*    PURPOSE:  Report level API                                            */
44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*                                                                                                  */
45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/
46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifndef __RSN_API_H__
47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define __RSN_API_H__
48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "tidef.h"
50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TWDriver.h"
51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "802_11Defs.h"
52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "DrvMainModules.h"
53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Constants */
55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define RSN_MAC_ADDR_LEN            6
57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MAX_KEY_RSC_LEN             8
58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MAX_SSN_KEY_DATA_LENGTH     32
59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define RSN_AUTH_FAILURE_TIMEOUT    30000
60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MAX_NUM_OF_PRE_AUTH_BSSIDS  16
61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MAX_KEYS_NUM                4
62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Enumerations */
65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** RSN supported authentication suites */
69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_OPEN           = 0,        /*< Legacy Open authentication suite */
72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_SHARED_KEY     = 1,        /*< Legacy Shared Key authentication suite */
73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_AUTO_SWITCH    = 2,        /*< Automatic authentication suite */
74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_NONE           = 255       /*< no authentication suite */
75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EAuthSuite;
77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Available External authentication modes for admission control */
80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_OPEN           =   RSN_AUTH_OPEN,
83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_SHARED_KEY     =   RSN_AUTH_SHARED_KEY,
84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_AUTO_SWITCH    =   RSN_AUTH_AUTO_SWITCH,
85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_WPA,
86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_WPAPSK,
87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_WPANONE,
88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_WPA2,
89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODE_WPA2PSK,
90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /* Not a real mode, defined as upper bound */
91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EXT_AUTH_MODEMAX
92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EExternalAuthMode;
94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_STATUS_INVALID_TYPE                = 0x0001,
99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_STATUS_TIMEOUT                     = 0x0002,
100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_STATUS_CHALLENGE_FROM_AP_FAILED    = 0x0003,
101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_AUTH_STATUS_CHALLENGE_TO_AP_FAILED      = 0x0004
102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EAuthStatus;
104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** RSN key management suites */
107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_KEY_MNG_NONE                = 0,        /**< no key management available */
110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_KEY_MNG_802_1X              = 1,        /**< "802.1X" key management */
111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_KEY_MNG_WPA                 = 2,        /**< "WPA 4 way handshake" key management */
112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_KEY_MNG_XCC                 = 3,        /**< "XCC" key management */
113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_KEY_MNG_UNKNOWN             = 255       /**< UNKNOWN key management available */
114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} ERsnKeyMngSuite;
116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** Available cipher suites for admission control */
119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_IBSS                = 0,        /**< IBSS mode */
122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_INFRASTRUCTURE      = 1         /**< Infrastructure mode */
123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} ERsnNetworkMode;
125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** Port Access Entity role type */
128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_PAE_AP      = 0,
131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_PAE_SUPP    = 1
132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} ERsnPaeRole;
134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** RSN Events */
137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EVENT_EAPOL_RECV            = 0x0,      /**< EAPOL frame received in the RX */
140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EVENT_SEC_ATTACK_DETECT     = 0x1,      /**< Security Attack detection */
141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EVENT_RAW_KEY_RECV          = 0x2,      /**< Raw key recive */
142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_EVENT_KEY_REMOVE            = 0x3       /**< Key remove event */
143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} ERsnEvent;
145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** Site ben levels */
148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
149981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
150981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_SITE_BAN_LEVEL_HALF = 1,
151981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    RSN_SITE_BAN_LEVEL_FULL = 2
152981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
153981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} ERsnSiteBanLevel;
154981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
155981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
156981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Typedefs */
157981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
158981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** Port Access Entity structure */
159981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
160981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
161981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EExternalAuthMode   authProtocol;
162981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    ERsnKeyMngSuite     keyExchangeProtocol;
163981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    ECipherSuite        unicastSuite;
164981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    ECipherSuite        broadcastSuite;
165981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
166981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TRsnPaeConfig;
167981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
168981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
169981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
170981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
171981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_BOOL             privacy;
172981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8            *pIe;
173981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8            ieLen;
174981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
175981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TRsnData;
176981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
177981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
178981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
179981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
180981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt   TMacAddr             bssId;
181981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt   dot11_RSN_t          *pRsnIEs;
182981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt   TI_UINT8             rsnIeLen;
183981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
184981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TBssidRsnInfo;
185981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
186981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
187981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
188981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
189981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt   TI_UINT8             NumOfItems;
190981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt   TBssidRsnInfo        bssidList[MAX_NUM_OF_PRE_AUTH_BSSIDS];
191981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
192981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TBssidList4PreAuth;
193981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
194981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
195981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
196981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
197981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EAuthSuite          authSuite;
198981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_BOOL             privacyOn;
199981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TSecurityKeys       keys[MAX_KEYS_NUM];
200981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8            defaultKeyId;
201981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    EExternalAuthMode   externalAuthMode;
202981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_BOOL             mixedMode;
203981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_BOOL             WPAMixedModeEnable;
204981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_BOOL             preAuthSupport;
205981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32           preAuthTimeout;
206653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt    TI_BOOL             bRsnExternalMode;
207981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_BOOL             bPairwiseMicFailureFilter;
208981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
209981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TRsnInitParams;
210981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
211653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidttypedef struct
212653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt{
213653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt	ScanBssType_e 				bssType;
214653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt	TMacAddr 	  				bssid;
215653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt	Tdot11HtInformationUnparse  *pHTInfo;
216653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt	Tdot11HtCapabilitiesUnparse *pHTCapabilities;
217653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt} TRsnSiteParams;
218653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt
219981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
220981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Prototypes */
221981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
222981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_HANDLE rsn_create(TI_HANDLE hOs);
223981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
224981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_unload(TI_HANDLE hRsn);
225981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
226981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvoid      rsn_init (TStadHandlesList *pStadHandles);
227981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
228981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_SetDefaults (TI_HANDLE hRsn, TRsnInitParams *pInitParam);
229981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
230981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_reconfig(TI_HANDLE hRsn);
231981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
232981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_start(TI_HANDLE hRsn);
233981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
234981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_stop(TI_HANDLE hRsn, TI_BOOL removeKeys);
235981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
236981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_eventRecv(TI_HANDLE hRsn, ERsnEvent event, void* pData);
237981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
238981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_setParam(TI_HANDLE hCtrlData, void *pParam);
239981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
240023547f11f3d7c84ab64acaab9b9e821f8c528e7Dmitry ShmidtTI_STATUS rsn_getParamEncryptionStatus(TI_HANDLE hRsn, ECipherSuite *rsnStatus);
241981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_getParam(TI_HANDLE hCtrlData, void *pParam);
242981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
243653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry ShmidtTI_STATUS rsn_evalSite(TI_HANDLE hRsn, TRsnData *pRsnData, TRsnSiteParams *pRsnSiteParams, TI_UINT32 *pMetric);
244981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
245981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_setSite(TI_HANDLE hRsn, TRsnData *pRsnData, TI_UINT8 *pAssocIe, TI_UINT8 *pAssocIeLen);
246981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
247981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_getInfoElement(TI_HANDLE hRsn, TI_UINT8 *pRsnIe, TI_UINT32 *pRsnIeLen);
248981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
249981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef XCC_MODULE_INCLUDED
250981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_getXCCExtendedInfoElement(TI_HANDLE hRsn, TI_UINT8 *pRsnIe, TI_UINT8 *pRsnIeLen);
251981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif
252981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
253981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_reportAuthFailure(TI_HANDLE hRsn, EAuthStatus authStatus);
254981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
255981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_reportMicFailure(TI_HANDLE hRsn, TI_UINT8 *pType, TI_UINT32 Length);
256981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
257981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_resetPMKIDList(TI_HANDLE hRsn);
258981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
259981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_removedDefKeys(TI_HANDLE hRsn);
260981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
261981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS rsn_startPreAuth(TI_HANDLE hRsn, TBssidList4PreAuth *pBssidList);
262981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
263981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtERsnSiteBanLevel rsn_banSite(TI_HANDLE hRsn, TMacAddr siteBssid, ERsnSiteBanLevel banLevel, TI_UINT32 durationMs);
264981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
265981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_BOOL rsn_isSiteBanned(TI_HANDLE hRsn, TMacAddr siteBssid);
266981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
267981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvoid rsn_MboxFlushFinishCb(TI_HANDLE handle, TI_UINT16 MboxStatus, char *InterrogateParamsBuf);
268981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
269653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry ShmidtTI_STATUS rsn_setPortStatus(TI_HANDLE hRsn, TI_BOOL state);
270653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt
271653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidtvoid rsn_reAuth(TI_HANDLE hRsn);
272981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
273981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif /* __RSN_API_H__*/
274