add MTK-combo-module,continue with commit 17f39ed917874e77e80411f33faba1b7ee8138c8
[firefly-linux-kernel-4.4.55.git] / drivers / mtk_wcn_combo / drv_wlan / wlan / include / mgmt / auth.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_2/include/mgmt/auth.h#1 $
3 */
4
5 /*! \file  auth.h
6     \brief This file contains the authentication REQ/RESP of
7            IEEE 802.11 family for MediaTek 802.11 Wireless LAN Adapters.
8 */
9
10 /*******************************************************************************
11 * Copyright (c) 2007 MediaTek Inc.
12 *
13 * All rights reserved. Copying, compilation, modification, distribution
14 * or any other use whatsoever of this material is strictly prohibited
15 * except in accordance with a Software License Agreement with
16 * MediaTek Inc.
17 ********************************************************************************
18 */
19
20 /*******************************************************************************
21 * LEGAL DISCLAIMER
22 *
23 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
24 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
25 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
26 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
27 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
29 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
30 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
31 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
32 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
33 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
34 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
35 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
36 *
37 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
38 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
39 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
40 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
41 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
42 *
43 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
44 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
45 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
46 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
47 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
48 * (ICC).
49 ********************************************************************************
50 */
51
52 /*
53 ** $Log: auth.h $
54  *
55  * 04 21 2011 terry.wu
56  * [WCXRP00000674] [MT6620 Wi-Fi][Driver] Refine AAA authSendAuthFrame
57  * Add network type parameter to authSendAuthFrame.
58  *
59  * 03 18 2011 cp.wu
60  * [WCXRP00000577] [MT6620 Wi-Fi][Driver][FW] Create V2.0 branch for firmware and driver
61  * create V2.0 driver release based on label "MT6620_WIFI_DRIVER_V2_0_110318_1600" from main trunk
62  *
63  * 07 08 2010 cp.wu
64  *
65  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
66  *
67  * 06 14 2010 cp.wu
68  * [WPD00003833][MT6620 and MT5931] Driver migration
69  * add management dispatching function table.
70  *
71  * 06 11 2010 cp.wu
72  * [WPD00003833][MT6620 and MT5931] Driver migration
73  * auth.c is migrated.
74  *
75  * 06 10 2010 cp.wu
76  * [WPD00003833][MT6620 and MT5931] Driver migration
77  * add buildable & linkable ais_fsm.c
78  *
79  * related reference are still waiting to be resolved
80  *
81 */
82
83 #ifndef _AUTH_H
84 #define _AUTH_H
85
86 /*******************************************************************************
87 *                         C O M P I L E R   F L A G S
88 ********************************************************************************
89 */
90
91 /*******************************************************************************
92 *                    E X T E R N A L   R E F E R E N C E S
93 ********************************************************************************
94 */
95
96 /*******************************************************************************
97 *                              C O N S T A N T S
98 ********************************************************************************
99 */
100
101 /*******************************************************************************
102 *                         D A T A   T Y P E S
103 ********************************************************************************
104 */
105
106 /*******************************************************************************
107 *                            P U B L I C   D A T A
108 ********************************************************************************
109 */
110
111 /*******************************************************************************
112 *                           P R I V A T E   D A T A
113 ********************************************************************************
114 */
115
116 /*******************************************************************************
117 *                                 M A C R O S
118 ********************************************************************************
119 */
120
121 /*******************************************************************************
122 *                  F U N C T I O N   D E C L A R A T I O N S
123 ********************************************************************************
124 */
125 /*----------------------------------------------------------------------------*/
126 /* Routines in auth.c                                                         */
127 /*----------------------------------------------------------------------------*/
128 VOID
129 authAddIEChallengeText (
130     IN P_ADAPTER_T prAdapter,
131     IN OUT P_MSDU_INFO_T prMsduInfo
132     );
133
134 #if !CFG_SUPPORT_AAA
135 WLAN_STATUS
136 authSendAuthFrame (
137     IN P_ADAPTER_T prAdapter,
138     IN P_STA_RECORD_T prStaRec,
139     IN UINT_16 u2TransactionSeqNum
140     );
141 #else
142 WLAN_STATUS
143 authSendAuthFrame (
144     IN P_ADAPTER_T prAdapter,
145     IN P_STA_RECORD_T prStaRec,
146     IN ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex,
147     IN P_SW_RFB_T prFalseAuthSwRfb,
148     IN UINT_16 u2TransactionSeqNum,
149     IN UINT_16 u2StatusCode
150     );
151 #endif /* CFG_SUPPORT_AAA */
152
153 WLAN_STATUS
154 authCheckTxAuthFrame (
155     IN P_ADAPTER_T prAdapter,
156     IN P_MSDU_INFO_T prMsduInfo,
157     IN UINT_16 u2TransactionSeqNum
158     );
159
160 WLAN_STATUS
161 authCheckRxAuthFrameTransSeq (
162     IN P_ADAPTER_T prAdapter,
163     IN P_SW_RFB_T prSwRfb
164     );
165
166 WLAN_STATUS
167 authCheckRxAuthFrameStatus (
168     IN P_ADAPTER_T prAdapter,
169     IN P_SW_RFB_T prSwRfb,
170     IN UINT_16 u2TransactionSeqNum,
171     OUT PUINT_16 pu2StatusCode
172     );
173
174 VOID
175 authHandleIEChallengeText (
176     P_ADAPTER_T prAdapter,
177     P_SW_RFB_T prSwRfb,
178     P_IE_HDR_T prIEHdr
179     );
180
181 WLAN_STATUS
182 authProcessRxAuth2_Auth4Frame (
183     IN P_ADAPTER_T prAdapter,
184     IN P_SW_RFB_T prSwRfb
185     );
186
187 WLAN_STATUS
188 authSendDeauthFrame (
189     IN P_ADAPTER_T          prAdapter,
190     IN P_STA_RECORD_T       prStaRec,
191     IN P_SW_RFB_T           prClassErrSwRfb,
192     IN UINT_16              u2ReasonCode,
193     IN PFN_TX_DONE_HANDLER  pfTxDoneHandler
194     );
195
196 WLAN_STATUS
197 authProcessRxDeauthFrame (
198     IN P_SW_RFB_T prSwRfb,
199     IN UINT_8 aucBSSID[],
200     OUT PUINT_16 pu2ReasonCode
201     );
202
203 WLAN_STATUS
204 authProcessRxAuth1Frame (
205     IN P_ADAPTER_T prAdapter,
206     IN P_SW_RFB_T prSwRfb,
207     IN UINT_8 aucExpectedBSSID[],
208     IN UINT_16 u2ExpectedAuthAlgNum,
209     IN UINT_16 u2ExpectedTransSeqNum,
210     OUT PUINT_16 pu2ReturnStatusCode
211     );
212
213 /*******************************************************************************
214 *                              F U N C T I O N S
215 ********************************************************************************
216 */
217
218 #endif /* _AUTH_H */
219