blob: 61d8295ca946012dc8b94359150e24ad07f202b2 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * iwlan_errc_struct.h
41 *
42 * Project:
43 * --------
44 * UMOLYA
45 *
46 * Description:
47 * ------------
48 * Structs be used in Interfaces of IWLAN - WIPC.
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *----------------------------------------------------------------------------
58 * removed!
59 *
60 *
61 *----------------------------------------------------------------------------
62 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
63 *============================================================================
64 ****************************************************************************/
65
66#ifndef _IWLAN_WIPC_STRUCT_H
67#define _IWLAN_WIPC_STRUCT_H
68/****************************************************************************/
69
70#include "kal_general_types.h"
71#include "kal_public_defs.h"
72
73/****************************************************************************/
74
75#define IWLAN_MEAS_CHNLUTIL_EN (1)
76#define IWLAN_MEAS_BACKHDL_EN (2)
77#define IWLAN_MEAS_BACHHUL_EN (4)
78#define IWLAN_MEAS_RSSI_EN (8)
79
80#define LWAD_IWLAN_WLAN_MAX_MEAS_OBJ_BAND_NUM 2
81#define LWAD_IWLAN_WLAN_MAX_WLAN_NUM 32
82#define LWAD_IWLAN_WLAN_MAX_CARR_INFO_NUM 8
83#define LWAD_IWLAN_WLAN_MAX_CARR_INFO_CHANNEL_NUM 16
84#define LWAD_IWLAN_WLAN_MAX_MEAS_OBJECT_NUM 10
85#define LWAD_IWLAN_WLAN_MAX_MEAS_RESULT_NUM 33
86
87#define LWAD_IWLAN_WLAN_RSSI_NEG_INFINITY -128
88#define LWAD_IWLAN_WLAN_RSSI_POS_INFINITY 127
89
90/****************************************************************************/
91
92typedef enum
93{
94 ASSOCIATE,
95 DE_ASSOCIATE,
96 ABORT
97} cs_iwlan_associate_state_enum;
98
99typedef enum
100{
101 UNDEFINED,
102 NO_ASSOCIATE,
103 MEAS_CAPABILITY_ERR
104} iwlan_wlfw_fail_cause_enum;
105
106typedef enum
107{
108 STOP_MEAS,
109 START_MEAS
110} iwlan_wlfw_start_action_enum;
111
112typedef enum
113{
114 LWAD_IWLAN_CONN_TYPE_LWA,
115 LWAD_IWLAN_CONN_TYPE_RCLWI,
116 LWAD_IWLAN_CONN_TYPE_LWIP
117} iwlan_connection_type_enum;
118
119typedef enum
120{
121 LWAD_IWLAN_WLAN_BAND_2_DOT_4,
122 LWAD_IWLAN_WLAN_BAND_5
123} lwad_iwlan_wlan_band_enum;
124
125typedef enum
126{
127 LWAD_IWLAN_WLAN_LWA_CONNECTION_SUCCESS,
128 LWAD_IWLAN_WLAN_LWA_CONNECTION_FAILURE
129} lwad_iwlan_wlan_lwa_connect_result_enum;
130
131typedef enum
132{
133 LWAD_IWLAN_WLAN_LWA_FAIL_CAUSE_RADIO_LINK_PROBLEM,
134 LWAD_IWLAN_WLAN_LWA_FAIL_CAUSE_UE_INTERNAL_PROBLEM,
135 LWAD_IWLAN_WLAN_LWA_FAIL_CAUSE_SHM_NOT_RDY_PROBLEM
136} lwad_iwlan_wlan_lwa_failure_cause_enum;
137
138typedef enum
139{
140 LWAD_IWLAN_WLAN_COUNTRY_CODE_USA,
141 LWAD_IWLAN_WLAN_COUNTRY_CODE_EUROPE,
142 LWAD_IWLAN_WLAN_COUNTRY_CODE_JAPAN,
143 LWAD_IWLAN_WLAN_COUNTRY_CODE_GLOBAL,
144} lwad_iwlan_wlan_country_code_enum;
145
146typedef struct
147{
148 /* Length 0 means that ssid is not present. */
149 kal_uint8 opt_ssid_r12;
150 struct cs_ssid_r12_struct {
151 kal_uint8 oct_len;
152 kal_uint8 octs[32];
153 } ssid_r12;
154
155 kal_uint8 opt_bssid_r12;
156 kal_uint8 bssid_r12[6];
157
158 kal_uint8 opt_hessid_r12;
159 kal_uint8 hessid_r12[6];
160} cs_iwlan_wlanidlist_r12_struct;
161
162/* MSG_ID_CS_IWLAN_ASSOCIATE_REQ */
163typedef struct
164{
165 LOCAL_PARA_HDR
166 kal_uint8 action;
167 kal_uint8 status;
168 cs_iwlan_wlanidlist_r12_struct identifier;
169 kal_uint8 measurement;
170} cs_iwlan_associate_req_struct;
171
172typedef struct
173{
174 /* Length 0 means that ssid is not present. */
175 kal_uint8 ssid_len;
176 kal_uint8 ssid[32];
177
178 kal_bool bssid_valid;
179 kal_uint8 bssid[6];
180
181 kal_bool hessid_valid;
182 kal_uint8 hessid[6];
183} lwad_iwlan_wlan_id_struct;
184
185typedef struct
186{
187 kal_bool operating_class_valid;
188 kal_uint8 operating_class;
189
190 kal_bool country_code_valid;
191 lwad_iwlan_wlan_country_code_enum country_code;
192
193 /* Length 0 means that the list is not present. */
194 kal_uint8 wlan_channel_list_len;
195 kal_uint8 wlan_channel_list[LWAD_IWLAN_WLAN_MAX_CARR_INFO_CHANNEL_NUM];
196} lwad_iwlan_wlan_carrier_info_struct;
197
198typedef struct
199{
200 kal_bool report_carrier_info;
201 kal_bool report_available_admission_capacity;
202 kal_bool report_backhaul_dl_bw;
203 kal_bool report_backhaul_ul_bw;
204 kal_bool report_channel_utilization;
205 kal_bool report_station_count;
206} lwad_iwlan_wlan_report_quantity_struct;
207
208typedef struct
209{
210 kal_uint8 meas_object_id;
211
212 kal_uint8 wlan_list_len;
213 lwad_iwlan_wlan_id_struct wlan_list[LWAD_IWLAN_WLAN_MAX_WLAN_NUM];
214
215 /* Length 0 means that the list is not present. */
216 kal_uint8 wlan_band_list_len;
217 lwad_iwlan_wlan_band_enum wlan_band_list[LWAD_IWLAN_WLAN_MAX_MEAS_OBJ_BAND_NUM];
218
219 /* Length 0 means that the list is not present. */
220 kal_uint8 carrier_info_list_len;
221 lwad_iwlan_wlan_carrier_info_struct carrier_info_list[LWAD_IWLAN_WLAN_MAX_CARR_INFO_NUM];
222
223 lwad_iwlan_wlan_report_quantity_struct report_quantities;
224} lwad_iwlan_wlan_meas_object_struct;
225
226typedef struct
227{
228 lwad_iwlan_wlan_id_struct wlan_id;
229 /* RSSI has two special values: negative infinity (-128) and positive infinity (127).
230 Otherwise value range is [-100, 39] */
231 kal_int8 rssi;
232 lwad_iwlan_wlan_band_enum band;
233 kal_bool connected;
234
235 kal_bool carrier_info_valid;
236 lwad_iwlan_wlan_carrier_info_struct carrier_info;
237
238 kal_bool available_admission_capacity_valid;
239 kal_uint16 available_admission_capacity;
240
241 kal_bool backhaul_dl_bw_valid;
242 kal_uint8 backhaul_dl_bw;
243
244 kal_bool backhaul_ul_bw_valid;
245 kal_uint8 backhaul_ul_bw;
246
247 kal_bool channel_utilization_valid;
248 kal_uint8 channel_utilization;
249
250 kal_bool station_count_valid;
251 kal_uint16 station_count;
252} lwad_iwlan_wlan_meas_result_struct;
253
254/* MSG_ID_IWLAN_WLFW_LWI_CONF_REQ */
255typedef struct
256{
257 LOCAL_PARA_HDR
258 kal_uint8 version;
259 kal_uint8 transaction_id;
260 kal_uint8 measurement_switch;
261 kal_uint8 Thresh_ChUtilWLAN_High;
262 kal_uint8 Thresh_ChUtilWLAN_Low;
263 kal_uint8 Thresh_BackhRateDLWLAN_High;
264 kal_uint8 Thresh_BackhRateDLWLAN_Low;
265 kal_uint8 Thresh_BackhRateULWLAN_High;
266 kal_uint8 Thresh_BackhRateULWLAN_Low;
267 kal_uint8 Thresh_WLANRSSI_High;
268 kal_uint8 Thresh_WLANRSSI_Low;
269 kal_uint8 T_steering_WLAN;
270 kal_uint8 T_roaming;
271} iwlan_wlfw_lwi_conf_req_struct;
272
273/* MSG_ID_IWLAN_WLFW_LWI_CONF_CNF */
274typedef struct
275{
276 LOCAL_PARA_HDR
277 kal_uint8 version;
278 kal_uint8 transaction_id;
279 kal_uint8 result;
280 kal_uint8 cause;
281 kal_uint8 measurement_switch;
282} iwlan_wlfw_lwi_conf_cnf_struct;
283
284/* MSG_ID_IWLAN_WLFW_LWI_START_STOP_REQ */
285typedef struct
286{
287 LOCAL_PARA_HDR
288 kal_uint8 version;
289 kal_uint8 action;
290 cs_iwlan_wlanidlist_r12_struct identifier;
291 kal_uint8 measurement_switch;
292} iwlan_wlfw_lwi_satrt_stop_req_struct;
293
294/* MSG_ID_IWLAN_WLFW_LWI_START_STOP_CNF */
295typedef struct
296{
297 LOCAL_PARA_HDR
298 kal_uint8 version;
299 kal_uint8 result;
300 kal_uint8 cause;
301 kal_uint8 measurement_switch;
302} iwlan_wlfw_lwi_satrt_stop_cnf_struct;
303
304/* MSG_ID_IWLAN_WLFW_LWI_MEAS_IND */
305typedef struct
306{
307 LOCAL_PARA_HDR
308 kal_uint8 version;
309 kal_uint8 transaction_id;
310 kal_uint8 lwi_lte_to_wlan_status;
311 kal_uint8 lwi_wlan_to_lte_status;
312 cs_iwlan_wlanidlist_r12_struct identifier;
313 kal_uint8 ChUtilWLAN;
314 kal_uint8 BackhRateDLWLAN;
315 kal_uint8 BackhRateULWLAN;
316 kal_uint8 WLANRSSI;
317} iwlan_wlfw_lwi_meas_ind_struct;
318
319/* MSG_ID_IWLAN_WLFW_MEAS_CAPA_FAIL_IND */
320typedef struct
321{
322 LOCAL_PARA_HDR
323 kal_uint8 version;
324 kal_uint8 transaction_id;
325 cs_iwlan_wlanidlist_r12_struct identifier;
326 kal_uint8 cause;
327 kal_uint8 measurement_switch;
328} iwlan_wlfw_meas_capa_fail_ind_struct;
329
330/* MSG_ID_LWAD_IWLAN_WLAN_MEASUEMENT_IND */
331typedef struct
332{
333 LOCAL_PARA_HDR
334 kal_uint8 filter_coefficient;
335
336 kal_uint8 meas_object_list_len;
337 lwad_iwlan_wlan_meas_object_struct meas_object_list[LWAD_IWLAN_WLAN_MAX_MEAS_OBJECT_NUM];
338} lwad_iwlan_wlan_measurement_ind_struct;
339
340/* MSG_ID_LWAD_IWLAN_WLAN_MEASUEMENT_REQ */
341typedef struct
342{
343 LOCAL_PARA_HDR
344 kal_uint8 meas_object_id;
345
346 kal_uint8 meas_result_list_len;
347 lwad_iwlan_wlan_meas_result_struct meas_result_list[LWAD_IWLAN_WLAN_MAX_MEAS_RESULT_NUM];
348} lwad_iwlan_wlan_measurement_req_struct;
349
350/* MSG_ID_LWAD_IWLAN_WLAN_LWA_CONNECT_IND */
351typedef struct
352{
353 LOCAL_PARA_HDR
354 kal_uint8 connect_type;
355 kal_uint8 wlan_mobility_set_list_len;
356 lwad_iwlan_wlan_id_struct wlan_mobility_set_list[LWAD_IWLAN_WLAN_MAX_WLAN_NUM];
357
358 /* S-Kwt encoding:
359 bits 0..7 encoded in s_kwt[0]
360 bits 8..15 encoded in s_kwt[1]
361 ...
362 First bit of S-Kwt is the MSB of s_kwt[0]. */
363 kal_bool s_kwt_valid;
364 kal_uint8 s_kwt[32];
365} lwad_iwlan_wlan_lwa_connect_ind_struct;
366
367/* MSG_ID_LWAD_IWLAN_WLAN_LWA_CONNECT_RSP */
368typedef struct
369{
370 LOCAL_PARA_HDR
371 lwad_iwlan_wlan_lwa_connect_result_enum result;
372 lwad_iwlan_wlan_lwa_failure_cause_enum failure_cause;
373 lwad_iwlan_wlan_id_struct wlan_id;
374} lwad_iwlan_wlan_lwa_connect_rsp_struct;
375
376/* MSG_ID_LWAD_IWLAN_WLAN_LWA_LOST_REQ */
377typedef struct
378{
379 LOCAL_PARA_HDR
380 lwad_iwlan_wlan_lwa_failure_cause_enum cause;
381} lwad_iwlan_wlan_lwa_lost_req_struct;
382
383/****************************************************************************/
384#endif /* _IWLAN_WIPC_STRUCT_H */