import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / conn_soc / drv_wlan / mt_wifi / wlan / include / p2p_typedef.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_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
14
15 #ifndef _P2P_TYPEDEF_H
16 #define _P2P_TYPEDEF_H
17
18 #if CFG_ENABLE_WIFI_DIRECT
19
20 /*******************************************************************************
21 * C O M P I L E R F L A G S
22 ********************************************************************************
23 */
24
25 /*******************************************************************************
26 * E X T E R N A L R E F E R E N C E S
27 ********************************************************************************
28 */
29
30 /*******************************************************************************
31 * C O N S T A N T S
32 ********************************************************************************
33 */
34
35 /*******************************************************************************
36 * D A T A T Y P E S
37 ********************************************************************************
38 */
39
40 /*
41 * type definition of pointer to p2p structure
42 */
43 //typedef struct _GL_P2P_INFO_T GL_P2P_INFO_T, *P_GL_P2P_INFO_T;
44 typedef struct _P2P_INFO_T P2P_INFO_T, *P_P2P_INFO_T;
45
46 typedef struct _P2P_FSM_INFO_T P2P_FSM_INFO_T, *P_P2P_FSM_INFO_T;
47
48 typedef struct _P2P_CONNECTION_SETTINGS_T P2P_CONNECTION_SETTINGS_T, *P_P2P_CONNECTION_SETTINGS_T;
49
50
51 /* Type definition for function pointer to p2p function*/
52 typedef BOOLEAN (*P2P_LAUNCH)(
53 P_GLUE_INFO_T prGlueInfo
54 );
55
56 typedef BOOLEAN (*P2P_REMOVE)(
57 P_GLUE_INFO_T prGlueInfo,
58 BOOLEAN fgIsWlanLaunched
59 );
60
61 typedef BOOLEAN (*KAL_P2P_GET_CIPHER)(
62 IN P_GLUE_INFO_T prGlueInfo
63 );
64
65 typedef BOOLEAN (*KAL_P2P_GET_TKIP_CIPHER)(
66 IN P_GLUE_INFO_T prGlueInfo
67 );
68
69 typedef BOOLEAN (*KAL_P2P_GET_CCMP_CIPHER)(
70 IN P_GLUE_INFO_T prGlueInfo
71 );
72
73 typedef BOOLEAN (*KAL_P2P_GET_WSC_MODE)(
74 IN P_GLUE_INFO_T prGlueInfo
75 );
76
77 typedef struct net_device* (*KAL_P2P_GET_DEV_HDLR)(
78 P_GLUE_INFO_T prGlueInfo
79 );
80
81 typedef VOID (*KAL_P2P_SET_MULTICAST_WORK_ITEM) (
82 P_GLUE_INFO_T prGlueInfo
83 );
84
85 typedef VOID (*P2P_NET_REGISTER) (
86 P_GLUE_INFO_T prGlueInfo
87 );
88
89 typedef VOID (*P2P_NET_UNREGISTER) (
90 P_GLUE_INFO_T prGlueInfo
91 );
92
93 typedef VOID (*KAL_P2P_UPDATE_ASSOC_INFO)(
94 IN P_GLUE_INFO_T prGlueInfo,
95 IN PUINT_8 pucFrameBody,
96 IN UINT_32 u4FrameBodyLen,
97 IN BOOLEAN fgReassocRequest
98 );
99
100 typedef BOOLEAN (*P2P_VALIDATE_AUTH) (
101 IN P_ADAPTER_T prAdapter,
102 IN P_SW_RFB_T prSwRfb,
103 IN PP_STA_RECORD_T pprStaRec,
104 OUT PUINT_16 pu2StatusCode
105 );
106
107 typedef BOOLEAN (*P2P_VALIDATE_ASSOC_REQ) (
108 IN P_ADAPTER_T prAdapter,
109 IN P_SW_RFB_T prSwRfb,
110 OUT PUINT_16 pu4ControlFlags
111 );
112
113 typedef VOID (*P2P_RUN_EVENT_AAA_TX_FAIL) (
114 IN P_ADAPTER_T prAdapter,
115 IN P_STA_RECORD_T prStaRec
116 );
117
118 typedef BOOLEAN (*P2P_PARSE_CHECK_FOR_P2P_INFO_ELEM)(
119 IN P_ADAPTER_T prAdapter,
120 IN PUINT_8 pucBuf,
121 OUT PUINT_8 pucOuiType
122 );
123
124
125 typedef WLAN_STATUS (*P2P_RUN_EVENT_AAA_COMPLETE) (
126 IN P_ADAPTER_T prAdapter,
127 IN P_STA_RECORD_T prStaRec
128 );
129
130 typedef VOID (*P2P_PROCESS_EVENT_UPDATE_NOA_PARAM) (
131 IN P_ADAPTER_T prAdapter,
132 UINT_8 ucNetTypeIndex,
133 P_EVENT_UPDATE_NOA_PARAMS_T prEventUpdateNoaParam
134 );
135
136 typedef VOID (*SCAN_P2P_PROCESS_BEACON_AND_PROBE_RESP) (
137 IN P_ADAPTER_T prAdapter,
138 IN P_SW_RFB_T prSwRfb,
139 IN P_WLAN_STATUS prStatus,
140 IN P_BSS_DESC_T prBssDesc,
141 IN P_WLAN_BEACON_FRAME_T prWlanBeaconFrame
142 );
143
144 typedef VOID (*P2P_RX_PUBLIC_ACTION_FRAME) (
145 P_ADAPTER_T prAdapter,
146 IN P_SW_RFB_T prSwRfb
147 );
148
149 typedef VOID (*RLM_RSP_GENERATE_OBSS_SCAN_IE) (
150 P_ADAPTER_T prAdapter,
151 P_MSDU_INFO_T prMsduInfo
152 );
153
154 typedef VOID (*RLM_UPDATE_BW_BY_CH_LIST_FOR_AP)(
155 P_ADAPTER_T prAdapter,
156 P_BSS_INFO_T prBssInfo
157 );
158
159 typedef VOID (*RLM_PROCESS_PUBLIC_ACTION)(
160 P_ADAPTER_T prAdapter,
161 P_SW_RFB_T prSwRfb
162 );
163
164 typedef VOID (*RLM_PROCESS_HT_ACTION)(
165 P_ADAPTER_T prAdapter,
166 P_SW_RFB_T prSwRfb
167 );
168
169 typedef VOID (*RLM_UPDATE_PARAMS_FOR_AP)(
170 P_ADAPTER_T prAdapter,
171 P_BSS_INFO_T prBssInfo,
172 BOOLEAN fgUpdateBeacon
173 );
174
175 typedef VOID (*RLM_HANDLE_OBSS_STATUS_EVENT_PKT) (
176 P_ADAPTER_T prAdapter,
177 P_EVENT_AP_OBSS_STATUS_T prObssStatus
178 );
179
180
181 typedef BOOLEAN (*P2P_FUNC_VALIDATE_PROBE_REQ) (
182 IN P_ADAPTER_T prAdapter,
183 IN P_SW_RFB_T prSwRfb,
184 OUT PUINT_32 pu4ControlFlags
185 );
186
187 typedef VOID (*RLM_BSS_INIT_FOR_AP)(
188 P_ADAPTER_T prAdapter,
189 P_BSS_INFO_T prBssInfo
190 );
191
192 typedef UINT_32 (*P2P_GET_PROB_RSP_IE_TABLE_SIZE)(
193 VOID
194 );
195
196 typedef PUINT_8 (*P2P_BUILD_REASSOC_REQ_FRAME_COMMON_IES) (
197 IN P_ADAPTER_T prAdapter,
198 IN P_MSDU_INFO_T prMsduInfo,
199 IN PUINT_8 pucBuffer
200 );
201
202
203 typedef VOID (*P2P_FUNC_DISCONNECT) (
204 IN P_ADAPTER_T prAdapter,
205 IN P_STA_RECORD_T prStaRec,
206 IN BOOLEAN fgSendDeauth,
207 IN UINT_16 u2ReasonCode
208 );
209
210 typedef VOID (*P2P_FSM_RUN_EVENT_RX_DEAUTH) (
211 IN P_ADAPTER_T prAdapter,
212 IN P_STA_RECORD_T prStaRec,
213 IN P_SW_RFB_T prSwRfb
214 );
215
216 typedef VOID (*P2P_FSM_RUN_EVENT_RX_DISASSOC) (
217 IN P_ADAPTER_T prAdapter,
218 IN P_STA_RECORD_T prStaRec,
219 IN P_SW_RFB_T prSwRfb
220 );
221
222 typedef BOOLEAN (*P2P_FUN_IS_AP_MODE) (
223 IN P_P2P_FSM_INFO_T prP2pFsmInfo
224 );
225
226 typedef VOID (*P2P_FSM_RUN_EVENT_BEACON_TIMEOUT) (
227 IN P_ADAPTER_T prAdapter
228 );
229
230
231 typedef VOID (*P2P_FUNC_STORE_ASSOC_RSP_IE_BUFFER) (
232 IN P_ADAPTER_T prAdapter,
233 IN P_SW_RFB_T prSwRfb
234 );
235
236
237 typedef VOID (*P2P_GENERATE_P2P_IE) (
238 IN P_ADAPTER_T prAdapter,
239 IN P_MSDU_INFO_T prMsduInfo
240 );
241
242 typedef UINT_32 (*P2P_CALCULATE_P2P_IE_LEN) (
243 IN P_ADAPTER_T prAdapter,
244 IN ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex,
245 IN P_STA_RECORD_T prStaRec
246 );
247
248
249
250 /*******************************************************************************
251 * P U B L I C D A T A
252 ********************************************************************************
253 */
254
255 /*******************************************************************************
256 * P R I V A T E D A T A
257 ********************************************************************************
258 */
259
260 /*******************************************************************************
261 * M A C R O S
262 ********************************************************************************
263 */
264
265 /*******************************************************************************
266 * F U N C T I O N D E C L A R A T I O N S
267 ********************************************************************************
268 */
269
270 /*******************************************************************************
271 * F U N C T I O N S
272 ********************************************************************************
273 */
274 #endif /*CFG_ENABLE_WIFI_DIRECT*/
275
276 #endif /* _P2P_TYPEDEF_H */
277
278