support different wifi bt chip auto compatible
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / mt5931_kk / drv_wlan / include / p2p_typedef.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/include/p2p_typedef.h#1 $
3 */
4
5 /*! \file   p2p_typedef.h
6     \brief  Declaration of data type and return values of internal protocol stack.
7
8     In this file we declare the data type and return values which will be exported
9     to all MGMT Protocol Stack.
10 */
11
12 /*******************************************************************************
13 * Copyright (c) 2010 MediaTek Inc.
14 *
15 * All rights reserved. Copying, compilation, modification, distribution
16 * or any other use whatsoever of this material is strictly prohibited
17 * except in accordance with a Software License Agreement with
18 * MediaTek Inc.
19 ********************************************************************************
20 */
21
22 /*******************************************************************************
23 * LEGAL DISCLAIMER
24 *
25 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
26 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
27 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
28 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
29 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
30 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
31 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
32 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
33 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
34 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
35 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
36 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
37 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
38 *
39 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
40 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
41 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
42 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
43 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
44 *
45 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
46 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
47 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
48 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
49 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
50 * (ICC).
51 ********************************************************************************
52 */
53
54
55 #ifndef _P2P_TYPEDEF_H
56 #define _P2P_TYPEDEF_H
57
58 #if CFG_ENABLE_WIFI_DIRECT
59
60 /*******************************************************************************
61 *                         C O M P I L E R   F L A G S
62 ********************************************************************************
63 */
64
65 /*******************************************************************************
66 *                    E X T E R N A L   R E F E R E N C E S
67 ********************************************************************************
68 */
69
70 /*******************************************************************************
71 *                              C O N S T A N T S
72 ********************************************************************************
73 */
74
75 /*******************************************************************************
76 *                             D A T A   T Y P E S
77 ********************************************************************************
78 */
79
80 /*
81 * type definition of pointer to p2p structure
82 */
83 //typedef struct _GL_P2P_INFO_T   GL_P2P_INFO_T, *P_GL_P2P_INFO_T;
84 typedef struct _P2P_INFO_T     P2P_INFO_T, *P_P2P_INFO_T;
85
86 typedef struct _P2P_FSM_INFO_T          P2P_FSM_INFO_T, *P_P2P_FSM_INFO_T;
87
88 typedef struct _P2P_CONNECTION_SETTINGS_T         P2P_CONNECTION_SETTINGS_T, *P_P2P_CONNECTION_SETTINGS_T;
89
90
91 /* Type definition for function pointer to p2p function*/
92 typedef BOOLEAN (*P2P_LAUNCH)(
93     P_GLUE_INFO_T prGlueInfo
94     );
95
96 typedef BOOLEAN (*P2P_REMOVE)(
97     P_GLUE_INFO_T prGlueInfo,
98     BOOLEAN fgIsWlanLaunched
99     );
100
101 typedef BOOLEAN (*KAL_P2P_GET_CIPHER)(
102     IN P_GLUE_INFO_T prGlueInfo
103     );
104
105 typedef BOOLEAN (*KAL_P2P_GET_TKIP_CIPHER)(
106     IN P_GLUE_INFO_T prGlueInfo
107     );
108
109 typedef BOOLEAN (*KAL_P2P_GET_CCMP_CIPHER)(
110     IN P_GLUE_INFO_T prGlueInfo
111     );
112
113 typedef BOOLEAN (*KAL_P2P_GET_WSC_MODE)(
114     IN P_GLUE_INFO_T prGlueInfo
115     );
116
117 typedef struct net_device* (*KAL_P2P_GET_DEV_HDLR)(
118     P_GLUE_INFO_T prGlueInfo
119     );
120
121 typedef VOID (*KAL_P2P_SET_MULTICAST_WORK_ITEM) (
122     P_GLUE_INFO_T prGlueInfo
123     );
124
125 typedef VOID (*P2P_NET_REGISTER) (
126     P_GLUE_INFO_T prGlueInfo
127     );
128
129 typedef VOID (*P2P_NET_UNREGISTER) (
130     P_GLUE_INFO_T prGlueInfo
131     );
132
133 typedef VOID (*KAL_P2P_UPDATE_ASSOC_INFO)(
134     IN P_GLUE_INFO_T    prGlueInfo,
135     IN PUINT_8          pucFrameBody,
136     IN UINT_32          u4FrameBodyLen,
137     IN BOOLEAN          fgReassocRequest
138     );
139
140 typedef BOOLEAN (*P2P_VALIDATE_AUTH) (
141     IN P_ADAPTER_T prAdapter,
142     IN P_SW_RFB_T prSwRfb,
143     IN PP_STA_RECORD_T pprStaRec,
144     OUT PUINT_16 pu2StatusCode
145     );
146
147 typedef BOOLEAN (*P2P_VALIDATE_ASSOC_REQ) (
148     IN P_ADAPTER_T prAdapter,
149     IN P_SW_RFB_T prSwRfb,
150     OUT PUINT_16 pu4ControlFlags
151     );
152
153 typedef VOID (*P2P_RUN_EVENT_AAA_TX_FAIL) (
154     IN P_ADAPTER_T prAdapter,
155     IN P_STA_RECORD_T prStaRec
156     );
157
158 typedef BOOLEAN (*P2P_PARSE_CHECK_FOR_P2P_INFO_ELEM)(
159     IN  P_ADAPTER_T prAdapter,
160     IN  PUINT_8 pucBuf,
161     OUT PUINT_8 pucOuiType
162     );
163
164
165 typedef WLAN_STATUS (*P2P_RUN_EVENT_AAA_COMPLETE) (
166     IN P_ADAPTER_T prAdapter,
167     IN P_STA_RECORD_T prStaRec
168     );
169
170 typedef VOID (*P2P_PROCESS_EVENT_UPDATE_NOA_PARAM) (
171     IN P_ADAPTER_T    prAdapter,
172     UINT_8  ucNetTypeIndex,
173     P_EVENT_UPDATE_NOA_PARAMS_T prEventUpdateNoaParam
174     );
175
176 typedef VOID (*SCAN_P2P_PROCESS_BEACON_AND_PROBE_RESP) (
177     IN P_ADAPTER_T prAdapter,
178     IN P_SW_RFB_T prSwRfb,
179     IN P_WLAN_STATUS prStatus,
180     IN P_BSS_DESC_T prBssDesc,
181     IN P_WLAN_BEACON_FRAME_T prWlanBeaconFrame
182     );
183
184 typedef VOID (*P2P_RX_PUBLIC_ACTION_FRAME) (
185     P_ADAPTER_T     prAdapter,
186     IN P_SW_RFB_T prSwRfb
187     );
188
189 typedef VOID (*RLM_RSP_GENERATE_OBSS_SCAN_IE) (
190     P_ADAPTER_T     prAdapter,
191     P_MSDU_INFO_T   prMsduInfo
192     );
193
194 typedef VOID (*RLM_UPDATE_BW_BY_CH_LIST_FOR_AP)(
195     P_ADAPTER_T         prAdapter,
196     P_BSS_INFO_T        prBssInfo
197     );
198
199 typedef VOID (*RLM_PROCESS_PUBLIC_ACTION)(
200     P_ADAPTER_T     prAdapter,
201     P_SW_RFB_T      prSwRfb
202     );
203
204 typedef VOID (*RLM_PROCESS_HT_ACTION)(
205     P_ADAPTER_T     prAdapter,
206     P_SW_RFB_T      prSwRfb
207     );
208
209 typedef VOID (*RLM_UPDATE_PARAMS_FOR_AP)(
210     P_ADAPTER_T     prAdapter,
211     P_BSS_INFO_T    prBssInfo,
212     BOOLEAN         fgUpdateBeacon
213     );
214
215 typedef VOID (*RLM_HANDLE_OBSS_STATUS_EVENT_PKT) (
216     P_ADAPTER_T                 prAdapter,
217     P_EVENT_AP_OBSS_STATUS_T    prObssStatus
218     );
219
220
221 typedef BOOLEAN (*P2P_FUNC_VALIDATE_PROBE_REQ) (
222     IN P_ADAPTER_T prAdapter,
223     IN P_SW_RFB_T prSwRfb,
224     OUT PUINT_32 pu4ControlFlags
225     );
226
227 typedef VOID (*RLM_BSS_INIT_FOR_AP)(
228     P_ADAPTER_T     prAdapter,
229     P_BSS_INFO_T    prBssInfo
230     );
231
232 typedef UINT_32 (*P2P_GET_PROB_RSP_IE_TABLE_SIZE)(
233     VOID
234     );
235
236 typedef PUINT_8 (*P2P_BUILD_REASSOC_REQ_FRAME_COMMON_IES) (
237     IN P_ADAPTER_T prAdapter,
238     IN P_MSDU_INFO_T prMsduInfo,
239     IN PUINT_8 pucBuffer
240     );
241
242
243 typedef VOID (*P2P_FUNC_DISCONNECT) (
244     IN P_ADAPTER_T prAdapter,
245     IN P_STA_RECORD_T prStaRec,
246     IN BOOLEAN fgSendDeauth,
247     IN UINT_16 u2ReasonCode
248     );
249
250 typedef VOID (*P2P_FSM_RUN_EVENT_RX_DEAUTH) (
251     IN P_ADAPTER_T prAdapter,
252     IN P_STA_RECORD_T prStaRec,
253     IN P_SW_RFB_T      prSwRfb
254     );
255
256 typedef VOID (*P2P_FSM_RUN_EVENT_RX_DISASSOC) (
257     IN P_ADAPTER_T prAdapter,
258     IN P_STA_RECORD_T prStaRec,
259     IN P_SW_RFB_T      prSwRfb
260     );
261
262 typedef BOOLEAN (*P2P_FUN_IS_AP_MODE) (
263     IN P_P2P_FSM_INFO_T prP2pFsmInfo
264     );
265
266 typedef VOID (*P2P_FSM_RUN_EVENT_BEACON_TIMEOUT) (
267     IN P_ADAPTER_T prAdapter
268     );
269
270
271 typedef VOID (*P2P_FUNC_STORE_ASSOC_RSP_IE_BUFFER) (
272     IN P_ADAPTER_T prAdapter,
273     IN P_SW_RFB_T      prSwRfb
274     );
275
276
277 typedef VOID (*P2P_GENERATE_P2P_IE) (
278     IN P_ADAPTER_T prAdapter,
279     IN P_MSDU_INFO_T prMsduInfo
280     );
281
282 typedef UINT_32 (*P2P_CALCULATE_P2P_IE_LEN) (
283     IN P_ADAPTER_T prAdapter,
284     IN ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex,
285     IN P_STA_RECORD_T prStaRec
286     );
287
288
289
290 /*******************************************************************************
291 *                            P U B L I C   D A T A
292 ********************************************************************************
293 */
294
295 /*******************************************************************************
296 *                           P R I V A T E   D A T A
297 ********************************************************************************
298 */
299
300 /*******************************************************************************
301 *                                 M A C R O S
302 ********************************************************************************
303 */
304
305 /*******************************************************************************
306 *                  F U N C T I O N   D E C L A R A T I O N S
307 ********************************************************************************
308 */
309
310 /*******************************************************************************
311 *                              F U N C T I O N S
312 ********************************************************************************
313 */
314 #endif /*CFG_ENABLE_WIFI_DIRECT*/
315
316 #endif /* _P2P_TYPEDEF_H */
317
318