blob: 7344c829c8aeda3aa1b9e2ca93fd8a13008572a8 [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) 2012
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 * dmf_public_def.h
41 *
42 * Project:
43 * --------
44 * UMOLYA
45 *
46 * Description:
47 * ------------
48 * DM Framework public structure/enum definition
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *
55 * ==========================================================================
56 * $Log$
57 *
58 * 09 24 2020 jack-mh.tsai
59 * [MOLY00547250] 5G SA®I?»Ý¨D
60 *
61 * 09 18 2020 jack-mh.tsai
62 * [MOLY00570074] [Cayman][TMUS][Protocol][EchoLocate] Request to implement DataMetrics5gSa class API version 1
63 *
64 * 09 14 2020 jack-mh.tsai
65 * [MOLY00570074] [Cayman][TMUS][Protocol][EchoLocate] Request to implement DataMetrics5gSa class API version 1
66 *
67 * 08 25 2020 jack-mh.tsai
68 * [MOLY00562173] DMFªº«È¨î¤Æ»Ý¨D - ICD Backward Compatible - DMF Part
69 *
70 * 08 13 2020 titi.wu
71 * [MOLY00524839] 5G RF ®I?»Ý¨D
72 * EWSP0000141637
73 *
74 * 08 13 2020 titi.wu
75 * [MOLY00524839] 5G RF ®I?»Ý¨D
76 * EWSP0000141637
77 *
78 * 08 01 2020 kunkun.shao
79 * [MOLY00550497] [RDIT][NW KPI UTIT]Provide volte call id when report call related KPI information
80 *
81 * .
82 *
83 * 07 31 2020 kunkun.shao
84 * [MOLY00527050] [MP5 Excluded][NW KPI UTIT]modify invalid mo csfb info collect when mo csfb call happens
85 *
86 * .
87 *
88 * 07 06 2020 titi.wu
89 * [MOLY00541505] ¡i5G-A¡j¡iModem·sfeature¡j5G±µ¤J±±¨î???¦ô®I?
90 * .
91 *
92 * 06 29 2020 kunkun.shao
93 * [MOLY00536656] Modem¶Ë´óÊý¾ÝÊÕ¼¯:add scg SW part.
94 *
95 * .
96 *
97 * 05 22 2020 jack-mh.tsai
98 * [MOLY00511933] 5G¥\¯Ó®I?¤W?Éó¨î
99 *
100 * 05 18 2020 kunkun.shao
101 * [MOLY00522254] [MP5 Excluded][NW KPI UTIT][Margaux][MT6873]MT VoLTE callÔö¼ÓFail cause
102 *
103 * .
104 *
105 * 05 01 2020 kunkun.shao
106 * [MOLY00518537] [NW KPI UTIT][Margaux][MT6873]DMF add IMS related kpi handle for IMS fail
107 *
108 * .
109 *
110 * 04 22 2020 jack-mh.tsai
111 * [MOLY00516557] CS????DMFAPP??????(AT+URC 1001)(SWRD)
112 *
113 * 04 17 2020 kunkun.shao
114 * [MOLY00511342] Modem¶Ë´óÊý¾ÝÊÕ¼¯:DMF NW KPI SW DOMAIN
115 *
116 * 03 16 2020 jack-mh.tsai
117 * [MOLY00505503] [Gen97] OPPO DMF KPI requirement
118 *
119 * 01 18 2020 kunkun.shao
120 * [MOLY00475736] Modem¶Ë´óÊý¾ÝÊÕ¼¯:internal dmf
121 *
122 * 01 07 2020 jack-mh.tsai
123 * [MOLY00469943] DMF Customization Framework: DMF MISC16 1010(SWRD)
124 *
125 * 01 06 2020 jack-mh.tsai
126 * [MOLY00469943] DMF Customization Framework:Move event structure to public layer(SWRD)
127 *
128 *
129 ****************************************************************************/
130
131
132#ifndef _DMF_PUBLIC_DEF_H_
133#define _DMF_PUBLIC_DEF_H_
134
135#include "ps_public_enum.h"
136#include "l3_inc_enums.h"
137#include "ims_interface_md.h"
138
139#include "em_vdm_public_struct.h"
140#include "em_public_struct_xl1.h"
141#include "em_public_struct_xl3.h"
142#include "em_mcf_public_struct.h"
143#include "em_sbp_public_struct.h"
144#include "em_mm_public_struct.h"
145#include "em_emm_public_struct.h"
146#include "em_errc_public_struct.h"
147#include "em_sim_public_struct.h"
148#include "em_uas_public_struct.h"
149#include "em_gmss_public_struct.h"
150#include "em_esm_public_struct.h"
151
152
153#define DMF_INFO_COLLECT_MAX_MCF_FILE_NAME EM_MCF_FILE_MAX_NAME_LEN
154#define MAX_ICD_NL2_PDCP_CONFIGURATION_EVENT_STRUCT_V1_NUMBER_OF_RBS 37
155#define MAX_ICD_NL2_PDCP_DL_STATS_STRUCT_V1_NUMBER_OF_RBS 37
156#define MAX_ICD_NL2_PDCP_UL_STATS_STRUCT_V1_NUMBER_OF_RBS 37
157#define FLEXIBLE_ARRAY_SIZE 1
158#define ERRC_SCELL_NUM_MAX 7
159#define NL1_SCELL_CONFIG_LIST_SIZE 1
160#define MAX_ICD_NL2_RLC_DL_STATS_STRUCT_V1_NUMBER_OF_ENTITIES 75
161#define MAX_ICD_NL2_RLC_UL_STATS_STRUCT_V1_NUMBER_OF_ENTITIES 75
162#define DMF_KPI_MAX_COUNT_NUM 0xffffffff
163
164#define DMF_ESM_MAX_PT_NUM 15 //same as ESM_MAX_PT_NUM
165#define DMF_ESM_MAX_EPSB_NUM 11 //same as ESM_MAX_EPSB_NUM
166
167#define DMF_MAX(x, y) (((x) > (y)) ? (x) : (y))
168#define DMF_MIN(x, y) (((x) < (y)) ? (x) : (y))
169#define DMF_AVG(x, y) (((x) + (y)) / 2)
170
171typedef enum
172{
173 DMF_PAGING_REASON_VOLTE,
174 DMF_PAGING_REASON_SMS,
175 DMF_PAGING_REASON_DETACH,
176 DMF_PAGING_REASON_PAGING_FAIL,
177 DMF_PAGING_REASON_UNSPECIFIED,
178 DMF_PAGING_REASON_MAX,
179} dmf_info_collect_paging_reason_enum;
180
181typedef enum
182{
183 DMF_EMM_ATTACH_NONE,
184 DMF_EMM_ATTACH_REQUEST,
185 DMF_EMM_ATTACH_ACCEPT,
186 DMF_EMM_ATTACH_REJECT,
187 DMF_EMM_ATTACH_T3410_EXPIRY
188} dmf_emm_attach_event_enum;
189
190typedef enum
191{
192 DMF_EMM_ATTACH_TAU_INVALID,
193 DMF_EMM_ATTACH_TYPE_EPS_ATTACH,
194 DMF_EMM_ATTACH_TYPE_COMBINED_ATTACH,
195 DMF_EMM_ATTACH_TYPE_EMERGENCY_ATTACH,
196
197 DMF_EMM_TAU_TYPE_TAU,
198 DMF_EMM_TAU_TYPE_COMBINED_TAU,
199 DMF_EMM_TAU_TYPE_COMBINED_TAU_IMSI_ATTACH,
200 DMF_EMM_TAU_TYPE_PERIODIC_TAU,
201} dmf_emm_attach_tau_type_enum;
202
203typedef enum
204{
205 DMF_ESM_OTA_EVENT_NONE,
206 DMF_ESM_PDN_CONN_REQUEST,
207 DMF_ESM_PDN_CONN_REJECT,
208 DMF_ESM_PDN_DISCONN_REQUEST,
209 DMF_ESM_PDN_DISCONN_REJECT,
210 DMF_ESM_ACT_DEFAULT_BEARER_REQUEST,
211 DMF_ESM_ACT_DEFAULT_BEARER_ACCEPT,
212 DMF_ESM_ACT_DEFAULT_BEARER_REJECT,
213 DMF_ESM_ACT_DEDICATED_BEARER_REQUEST,
214 DMF_ESM_ACT_DEDICATED_BEARER_ACCEPT,
215 DMF_ESM_ACT_DEDICATED_BEARER_REJECT,
216 DMF_ESM_MODIFY_BEARER_REQUEST,
217 DMF_ESM_MODIFY_BEARER_ACCEPT,
218 DMF_ESM_MODIFY_BEARER_REJECT,
219 DMF_ESM_DEACT_BEARER_REQUEST,
220 DMF_ESM_DEACT_BEARER_ACCEPT,
221 DMF_ESM_BEARER_RSC_ALLOCATE_REQUEST,
222 DMF_ESM_BEARER_RSC_ALLOCATE_REJECT,
223 DMF_ESM_BEARER_RSC_MODIFY_REQUEST,
224 DMF_ESM_BEARER_RSC_MODIFY_REJECT,
225 DMF_ESM_INFO_REQUEST,
226 DMF_ESM_INFO_RESPONSE,
227 DMF_ESM_NOTIFICATION,
228 DMF_ESM_STATUS,
229} dmf_esm_ota_event_enum;
230
231typedef enum
232{
233 DMF_ESM_APP_NONE,
234 DMF_ESM_APP_IMS,
235 DMF_ESM_APP_EMERGENCY,
236} dmf_esm_app_type_enum;
237
238typedef enum
239{
240 DMF_ESM_TIMER_NONE,
241 DMF_ESM_TIMER_T3480,
242 DMF_ESM_TIMER_T3482,
243 DMF_ESM_TIMER_T3481,
244 DMF_ESM_TIMER_T3492,
245} dmf_esm_timer_enum;
246
247typedef enum
248{
249 DMF_SM_PDP_NONE,
250 DMF_SM_PDP_ACT_REQUEST,
251 DMF_SM_PDP_ACT_ACCEPT,
252 DMF_SM_PDP_ACT_REJECT,
253} dmf_sm_pdp_event_enum;
254
255
256typedef enum
257{
258 /*MT Begin*/
259 DMF_MM_MT_CS_BEGIN = 0,
260 DMF_MM_MT_CS_NONE = DMF_MM_MT_CS_BEGIN + EM_MM_MT_CS_NONE,
261 DMF_MM_MT_CS_SUCCESS = DMF_MM_MT_CS_BEGIN + EM_MM_MT_CS_SUCCESS,
262 DMF_MM_MT_CS_RR_REL_IND_RECEIVED = DMF_MM_MT_CS_BEGIN + EM_MM_RR_REL_IND_RECEIVED,
263 DMF_MM_MT_CS_FAIL_LU_ABNORMAL = DMF_MM_MT_CS_BEGIN + EM_MM_MT_CS_FAIL_LU_ABNORMAL,
264 DMF_MM_MT_CS_T3240_TIMEOUT = DMF_MM_MT_CS_BEGIN + EM_MM_T3240_TIMEOUT,
265 DMF_MM_MT_CS_PAGING_RESPONSE_SENT = DMF_MM_MT_CS_BEGIN + EM_MM_PAGING_RESPONSE_SENT,
266 DMF_MM_MT_CS_PAGING_BLOCKED_BY_ACCESS_BARRED = DMF_MM_MT_CS_BEGIN + EM_MM_PAGING_BLOCKED_BY_ACCESS_BARRED,
267 DMF_MM_MT_CS_AUTH_REJECT = DMF_MM_MT_CS_BEGIN + EM_MM_AUTH_REJECT,
268 DMF_MM_MT_CS_AUTH_FAIL = DMF_MM_MT_CS_BEGIN + EM_MM_AUTH_FAIL,
269 DMF_MM_MT_CS_PLMN_LOSS_IND_RECEIVED = DMF_MM_MT_CS_BEGIN + EM_MM_PLMN_LOSS_IND_RECEIVED,
270 DMF_MM_MT_CS_SIM_ERROR_IND_RECEIVED = DMF_MM_MT_CS_BEGIN + EM_MM_SIM_ERROR_IND_RECEIVED,
271 DMF_MM_MT_CS_CONN_EST_FAIL = DMF_MM_MT_CS_BEGIN + EM_MM_CONN_EST_FAIL,
272
273 /*MO Begin*/
274 DMF_MM_MO_CS_BEGIN = 100,
275 DMF_MM_MO_CS_NONE = DMF_MM_MO_CS_BEGIN + EM_MM_MO_CS_NONE,
276 DMF_MM_MO_CS_SUCCESS = DMF_MM_MO_CS_BEGIN + EM_MM_MO_CS_SUCCESS,
277 DMF_MM_MO_CS_RR_REL_IND_RECEIVED = DMF_MM_MO_CS_BEGIN + EM_MM_MO_RR_REL_IND_RECEIVED,
278 DMF_MM_MO_CS_FAIL_LU_ABNORMAL = DMF_MM_MO_CS_BEGIN + EM_MM_MO_CS_FAIL_LU_ABNORMAL,
279 DMF_MM_MO_CS_T3240_TIMEOUT = DMF_MM_MO_CS_BEGIN + EM_MM_MO_T3240_TIMEOUT,
280 DMF_MM_MO_CS_AUTH_REJECT = DMF_MM_MO_CS_BEGIN + EM_MM_MO_AUTH_REJECT,
281 DMF_MM_MO_CS_AUTH_FAIL = DMF_MM_MO_CS_BEGIN + EM_MM_MO_AUTH_FAIL,
282 DMF_MM_MO_CS_PLMN_LOSS_IND_RECEIVED = DMF_MM_MO_CS_BEGIN + EM_MM_MO_PLMN_LOSS_IND_RECEIVED,
283 DMF_MM_MO_CS_SIM_ERROR_IND_RECEIVED = DMF_MM_MO_CS_BEGIN + EM_MM_MO_SIM_ERROR_IND_RECEIVED,
284 DMF_MM_MO_CS_CONN_EST_FAIL = DMF_MM_MO_CS_BEGIN + EM_MM_MO_CONN_EST_FAIL,
285 DMF_MM_MO_CS_CM_SERV_REJECT = DMF_MM_MO_CS_BEGIN + EM_MM_MO_CM_SERV_REJECT,
286
287} dmf_mm_cs_call_status_enum;
288
289typedef enum
290{
291 /* MM BEGIN */
292 DMF_CSFB_CALL_MM_MTCSFB_BEGIN = 0,
293 DMF_CSFB_CALL_MM_MTCSFB_NONE = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_NONE,
294 DMF_CSFB_CALL_MM_MTCSFB_START = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_START,
295 DMF_CSFB_CALL_MM_MTCSFB_SUCCESS = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_SUCCESS,
296 DMF_CSFB_CALL_MM_MTCSFB_FAIL = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL,
297 DMF_CSFB_CALL_MM_MTCSFB_FAIL_PAGING_GUARD_TIMER_EXPIRED = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_PAGING_GUARD_TIMER_EXPIRED,
298 DMF_CSFB_CALL_MM_MTCSFB_FAIL_T3240_TIMEOUT = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_T3240_TIMEOUT,
299 DMF_CSFB_CALL_MM_MTCSFB_FAIL_AUTH_FAIL = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_AUTH_FAIL,
300 DMF_CSFB_CALL_MM_MTCSFB_FAIL_CONN_EST_FAIL = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_CONN_EST_FAIL,
301 DMF_CSFB_CALL_MM_MTCSFB_FAIL_LAU_REJECT = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_LAU_REJECT,
302 DMF_CSFB_CALL_MM_MTCSFB_FAIL_RRC_REL_IND_RECEIVED = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_RRC_REL_IND_RECEIVED,
303 DMF_CSFB_CALL_MM_MTCSFB_LAU_ACCEPT = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_LAU_ACCEPT,
304 DMF_CSFB_CALL_MM_MTCSFB_FAIL_PLMN_LOSS_IND_RECEIVED = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_PLMN_LOSS_IND_RECEIVED,
305 DMF_CSFB_CALL_MM_MTCSFB_FAIL_SIM_ERROR_IND_RECEIVED = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_FAIL_SIM_ERROR_IND_RECEIVED,
306 DMF_CSFB_CALL_MM_MTCSFB_PAGING_RESPONSE_SENT = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_PAGING_RESPONSE_SENT,
307 DMF_CSFB_CALL_MM_MTCSFB_PAGING_BLOCKED_BY_ACCESS_BARRED = DMF_CSFB_CALL_MM_MTCSFB_BEGIN+EM_MM_MTCSFB_PAGING_BLOCKED_BY_ACCESS_BARRED,
308
309 DMF_CSFB_CALL_MM_MOCSFB_BEGIN = 100,
310 DMF_CSFB_CALL_MM_MOCSFB_NONE = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_NONE,
311 DMF_CSFB_CALL_MM_MOCSFB_START = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_START,
312 DMF_CSFB_CALL_MM_MOCSFB_SUCCESS = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_SUCCESS,
313 DMF_CSFB_CALL_MM_MOCSFB_FAIL = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL,
314 DMF_CSFB_CALL_MM_MOCSFB_CM_SERV_REJECT = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_CM_SERV_REJECT,
315 DMF_CSFB_CALL_MM_MOCSFB_FAIL_T3240_TIMEOUT = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_T3240_TIMEOUT,
316 DMF_CSFB_CALL_MM_MOCSFB_FAIL_AUTH_FAIL = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_AUTH_FAIL,
317 DMF_CSFB_CALL_MM_MOCSFB_FAIL_CONN_EST_FAIL = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_CONN_EST_FAIL,
318 DMF_CSFB_CALL_MM_MOCSFB_FAIL_LAU_REJECT = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_LAU_REJECT,
319 DMF_CSFB_CALL_MM_MOCSFB_FAIL_RRC_REL_IND_RECEIVED = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_RRC_REL_IND_RECEIVED,
320 DMF_CSFB_CALL_MM_MOCSFB_LAU_ACCEPT = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_LAU_ACCEPT,
321 DMF_CSFB_CALL_MM_MOCSFB_FAIL_PLMN_LOSS_IND_RECEIVED = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_PLMN_LOSS_IND_RECEIVED,
322 DMF_CSFB_CALL_MM_MOCSFB_FAIL_SIM_ERROR_IND_RECEIVED = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_SIM_ERROR_IND_RECEIVED,
323 DMF_CSFB_CALL_MM_MOCSFB_ACCESS_CLASS_BARRED = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_ACCESS_CLASS_BARRED,
324 DMF_CSFB_CALL_MM_MOCSFB_FAIL_T3230_TIMEOUT = DMF_CSFB_CALL_MM_MOCSFB_BEGIN+EM_MM_MOCSFB_FAIL_T3230_TIMEOUT,
325
326
327 /* EMM BEGIN */
328 DMF_CSFB_CALL_EMM_IGNORE_BEGIN = 200,
329 DMF_CSFB_CALL_EMM_IGNORE_NONE = DMF_CSFB_CALL_EMM_IGNORE_BEGIN + EM_EMM_CALL_IGNORE_PAGING_NONE,
330 DMF_CSFB_CALL_EMM_IGNORE_PAGING_UNEXPECTED_TYPE = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_UNEXPECTED_TYPE,
331 DMF_CSFB_CALL_EMM_IGNORE_PAGING_IMS_CALL_ONGOING = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_IMS_CALL_ONGOING,
332 DMF_CSFB_CALL_EMM_IGNORE_PAGING_CS_NOT_ALLOW = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_CS_NOT_ALLOW,
333 DMF_CSFB_CALL_EMM_IGNORE_PAGING_ID_ERROR = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_ID_ERROR,
334 DMF_CSFB_CALL_EMM_IGNORE_PAGING_NOT_SUITABLE_CELL = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_NOT_SUITABLE_CELL,
335 DMF_CSFB_CALL_EMM_IGNORE_PAGING_NO_CS_INSTANCE = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_NO_CS_INSTANCE,
336 DMF_CSFB_CALL_EMM_IGNORE_PAGING_INTERRAT = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_INTERRAT,
337 DMF_CSFB_CALL_EMM_IGNORE_PAGING_TMSI_ERROR = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_TMSI_ERROR,
338 DMF_CSFB_CALL_EMM_IGNORE_PAGING_WAIT_ATTACH_END = DMF_CSFB_CALL_EMM_IGNORE_BEGIN+EM_EMM_CALL_IGNORE_PAGING_WAIT_ATTACH_END,
339
340 DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN = 300,
341 DMF_CSFB_CALL_EMM_FAIL_TRIG_SUCCESS = DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_SUCCESS,
342 DMF_CSFB_CALL_EMM_FAIL_TRIG_EST_FAIL = DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_EST_FAIL,
343 DMF_CSFB_CALL_EMM_FAIL_TRIG_REL_IND = DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_REL_IND,
344 DMF_CSFB_CALL_EMM_FAIL_TRIG_RETRANS = DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_RETRANS,
345 DMF_CSFB_CALL_EMM_FAIL_TRIG_REJECT = DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_REJECT,
346 DMF_CSFB_CALL_EMM_FAIL_TRIG_T3417TO = DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_T3417TO,
347 DMF_CSFB_CALL_EMM_FAIL_TRIG_AC_BARRED= DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_AC_BARRED,
348 DMF_CSFB_CALL_EMM_FAIL_TRIG_AUTH_REJ = DMF_CSFB_CALL_EMM_FAIL_TRIG_BEGIN+EM_EMM_CALL_FAIL_TRIG_AUTH_REJ,
349} dmf_csfb_call_state_enum;
350
351
352typedef enum
353{
354 DMF_ERRC_SRVCC_FAIL_MEAS_RPTE_NO_RESPONSE,
355 DMF_ERRC_SRVCC_FAIL_MEAS_RPT_SEND_FAIL,
356 DMF_ERRC_SRVCC_FAIL_THRESHOLD_NOT_PASS,
357 DMF_ERRC_SRVCC_FAIL_TTT_RECOUNT,
358 DMF_ERRC_SRVCC_FAIL_TTT_NOT_PASS,
359 DMF_ERRC_SRVCC_BSIC_DECODE_FAIL,
360 DMF_ERRC_NOT_IN_SRVCC_DURATION = 0xff,
361} dmf_errc_srvcc_fail_type_enum;
362
363typedef enum
364{
365 DMF_IR_HO,
366 DMF_IR_RESELECT,
367 DMF_IR_REDIRECT,
368 DMF_IR_CCO,
369 DMF_HANDOVER,
370 DMF_CELL_RESELECT,
371 DMF_CELL_REDIRECT,
372 DMF_CELL_UPDATE
373} dmf_info_collect_cell_update_event_enum;
374
375typedef enum
376{
377 DMF_RAT_NONE,
378 DMF_RAT_GSM,
379 DMF_RAT_UMTS,
380 DMF_RAT_LTE,
381 DMF_RAT_NR,
382 DMF_RAT_C2K
383} dmf_info_collect_rat_enum;
384
385typedef enum
386{
387 DMF_RAT_3GPP_NONE,
388 DMF_RAT_3GPP_GSM,
389 DMF_RAT_3GPP_WCDMA,
390 DMF_RAT_3GPP_TDSCDMA,
391 DMF_RAT_3GPP_LTE,
392 DMF_RAT_3GPP_NR
393} dmf_info_collect_3gpp_rat_enum;
394
395typedef enum {
396 DMF_NO_TAU_RAU_LAU = 0,
397 DMF_LTE_TAU_REQUEST,
398 DMF_LTE_TAU_ACCEPT,
399 DMF_LTE_TAU_REJECT,
400 DMF_UMTS_RAU_REQUEST,
401 DMF_UMTS_RAU_ACCEPT,
402 DMF_UMTS_RAU_REJECT,
403 DMF_UMTS_LAU_REQUEST,
404 DMF_UMTS_LAU_ACCEPT,
405 DMF_UMTS_LAU_REJECT,
406 DMF_GSM_RAU_REQUEST,
407 DMF_GSM_RAU_ACCEPT,
408 DMF_GSM_RAU_REJECT,
409 DMF_GSM_LAU_REQUEST,
410 DMF_GSM_LAU_ACCEPT,
411 DMF_GSM_LAU_REJECT,
412} dmf_tau_rau_lau_event_enum;
413
414typedef struct{
415 kal_char plmn_id[7];
416 kal_uint16 lac;
417 kal_uint8 rac;
418 kal_uint32 tac;
419 kal_uint64 cell_id;
420 kal_uint16 specific_cell_id; //2G: BSIC, 3G: PSC, 4G:PCI dmf_info_collect_rat_enum active_rat;
421 dmf_info_collect_rat_enum active_rat;
422 dmf_info_collect_3gpp_rat_enum active_rat_3gpp;
423 kal_uint16 band;
424 kal_uint32 frequency;
425 kal_int16 sig1;
426 kal_int16 sig2;
427 kal_int16 rs_snr_in_qdb;
428 kal_uint32 dl_bandwidth;
429 kal_bool is_sib2_endc_support;
430 kal_bool is_endc_scg_connected;
431} dmf_info_collect_current_serving_cell_info_struct;
432
433typedef struct {
434
435 kal_bool is_data_sim;
436 dmf_info_collect_paging_reason_enum paging_reason;
437} dmf_event_paging_info_struct;
438
439typedef struct {
440 kal_uint32 volte_rb_idx;
441 kal_uint32 ims_disc_tmr_rpt;
442 kal_uint32 ims_ul_disc_cnt_rpt;
443 kal_uint32 ims_dl_disc_cnt_rpt;
444} dmf_event_volte_pdcp_info_struct;
445
446typedef struct
447{
448 kal_uint8 ra_preamble_last_TXpower;
449 dmf_info_collect_rat_enum ra_fail_rat;
450} dmf_event_em_emac_rach_finish_struct;
451
452typedef struct {
453 em_lte_rrc_state_enum errc_state;
454 em_lte_rrc_cause_enum errc_cause;
455} dmf_event_errc_state_struct;
456
457typedef struct {
458 EARFCN pcell_earfcn;
459 kal_uint16 pcell_band;
460 kal_uint16 pcell_pci;
461 kal_uint8 pcell_bw;
462 kal_uint8 unused[3];
463
464 kal_bool is_scell_configured[EM_SCELL_MAX_NUM];
465 EARFCN scell_earfcn[EM_SCELL_MAX_NUM];
466 kal_uint16 scell_band[EM_SCELL_MAX_NUM];
467 kal_uint16 scell_pci[EM_SCELL_MAX_NUM];
468 kal_uint8 scell_bw[EM_SCELL_MAX_NUM];
469 kal_bool scell_belongs_to_stag[EM_SCELL_MAX_NUM];
470} dmf_event_errc_conn_info_struct;
471
472typedef struct {
473 em_errc_state_enum errc_sts;
474} dmf_event_errc_state_info_struct;
475
476typedef struct {
477 kal_bool is_attach;
478 dmf_emm_attach_tau_type_enum attach_tau_type;
479 emm_cause_enum emm_cause;
480} dmf_event_emm_reject_info_struct;
481
482typedef struct {
483
484 dmf_esm_ota_event_enum esm_ota_event;
485 dmf_esm_app_type_enum app_type;
486} dmf_event_esm_ota_struct;
487
488typedef struct {
489
490 dmf_esm_timer_enum timer_id;
491 dmf_esm_app_type_enum app_type;
492} dmf_event_esm_timer_expiry_struct;
493
494
495typedef struct {
496
497 kal_uint8 nsapi;
498 kal_bool is_ms_initial;
499 dmf_sm_pdp_event_enum pdp_request_event;
500 kal_bool is_ims_signaling_pdp;
501 kal_bool is_t3380_retry;
502} dmf_event_sm_pdp_request_struct;
503
504typedef struct {
505
506 em_c2k_call_type_enum type;
507 em_1xrtt_call_fail_reason_enum reason;
508 kal_char mcc[4];
509 kal_char imsi_11_12[4];
510 kal_uint16 sid;
511 kal_uint16 nid;
512 kal_uint16 bid;
513 kal_uint16 channel; /* It defines channel number. */
514 kal_uint16 band_class; /* It defines band class. */
515 kal_uint16 pilot_pn_offset; /* It defines pilot PN offset. */
516 kal_int8 rx_power; /* It defines rx power. */
517 kal_int8 pilot_ecio; /* Pilot Ec/Io. */
518} dmf_event_c2k_call_fail_reason_struct;
519
520typedef struct {
521
522 kal_bool is_mo_csfb_call;
523 dmf_csfb_call_state_enum csfb_status;
524 kal_uint8 mm_state;
525 kal_uint8 mm_cause;
526} dmf_event_mm_csfb_call_status_struct;
527
528typedef struct {
529
530 kal_bool is_mo_cs_call;
531 dmf_mm_cs_call_status_enum cs_status;
532 kal_uint8 mm_state;
533 kal_uint8 mm_cause;
534} dmf_event_mm_cs_call_status_struct;
535
536typedef struct
537{
538 kal_bool is_mo_csfb_call;
539 dmf_csfb_call_state_enum csfb_state;
540 em_emm_cause_enum ext_service_reject_cause;
541} dmf_event_emm_csfb_call_status_struct;
542
543typedef struct
544{
545 kal_bool is_mo_call;
546 kal_uint8 call_id;
547 em_vdm_call_state_enum call_state;
548 ims_disc_cause_enum disc_cause;
549} dmf_event_vdm_call_status_struct;
550
551typedef struct
552{
553 em_mcf_trigger_type_enum trigger_type;
554 l4c_mcf_config_type_enum config_type;
555 kal_uint32 result;
556 kal_uint32 start_time;
557 kal_uint32 end_time;
558 l4c_mcf_path_type_enum path_type;
559 kal_char file_name[DMF_INFO_COLLECT_MAX_MCF_FILE_NAME];
560} dmf_event_mcf_info_struct;
561
562typedef struct
563{
564 em_l4bsbp_trigger_type_enum trigger_type;
565 em_l4bsbp_mode_type_enum mode;
566 em_l4bsbp_result_type_enum result;
567 kal_uint32 sbp_id;
568 kal_uint32 sim_sbp_id;
569 kal_uint32 start_time_tick;
570 kal_uint32 end_time_tick;
571} dmf_event_sbp_dsbp_info_struct;
572
573
574typedef struct
575{
576 LOCAL_PARA_HDR
577 em_info_enum em_info;
578
579 kal_uint32 error_cause_is_valid;
580 kal_uint32 error_cause;
581} dmf_event_ims_pdn_fail_cause_struct;
582
583typedef struct
584{
585 LOCAL_PARA_HDR
586 em_info_enum em_info;
587
588 kal_uint32 error_apn_is_valid;
589 kal_uint8 error_apn[100];
590
591}dmf_event_ims_pdn_fail_apn_struct;
592
593typedef struct
594{
595 kal_bool is_mo_call;
596 kal_uint8 call_id;
597 kal_uint8 call_state;
598 kal_bool is_cc_disc_cause_valid;
599 kal_uint16 cc_disc_cause;
600} dmf_event_cc_call_info_struct;
601
602typedef enum
603{
604 DMF_SIP_EVENT_ID_BEGIN = 0,
605 DMF_SIP_MO_CALL_ATTEMPT = 1, /* 1 */
606 DMF_SIP_MO_CALL_SET_UP = 2,
607 DMF_SIP_MO_CALL_ESTABLISHED = 3,
608 DMF_SIP_MO_CALL_END = 4,
609 DMF_SIP_MO_CALL_DROPED = 5,
610 DMF_SIP_MO_CALL_FAILED = 6,
611 DMF_SIP_MO_CALL_EARLY_REL = 7,
612
613 DMF_SIP_MT_CALL_ATTEMPT = 51, /* 51 */
614 DMF_SIP_MT_CALL_SET_UP = 52,
615 DMF_SIP_MT_CALL_ESTABLISHED = 53,
616 DMF_SIP_MT_CALL_END = 54,
617 DMF_SIP_MT_CALL_DROPED = 55,
618 DMF_SIP_MT_CALL_FAILED = 56,
619 DMF_SIP_MT_CALL_EARLY_REL = 57,
620 DMF_SIP_MT_IMS_SMS_FAIL = 201,
621 DMF_SIP_INITIAL_REG_REQ = 501,
622 DMF_SIP_INITIAL_REG_401_RCV = 502,
623 DMF_SIP_INITIAL_REG_WITH_IPSEC = 503,
624 DMF_SIP_INITIAL_REG_SUCC = 504,
625 DMF_SIP_INITIAL_REG_FAIL = 505,
626 DMF_SIP_ID_MAX
627} dmf_kpi_ims_event_id_enum;
628
629typedef enum
630{
631 DMF_IMS_SIP_MSG_TYPE_REQUEST = 0x00,
632 DMF_IMS_SIP_MSG_TYPE_RESPONSE = 0x01,
633 DMF_IMS_SIP_MSG_TYPE_MAX,
634} dmf_ims_sip_msg_type_enum;
635
636typedef enum
637{
638 DMF_METHOD_SIP_REGISTER,
639 DMF_METHOD_SIP_INVITE,
640 DMF_METHOD_SIP_REFER,
641 DMF_METHOD_SIP_UPDATE,
642 DMF_METHOD_SIP_CANCEL,
643 DMF_METHOD_SIP_MESSAGE,
644 DMF_METHOD_SIP_ACK,
645 DMF_METHOD_SIP_BYE,
646 DMF_METHOD_SIP_OPTIONS,
647 DMF_METHOD_SIP_SUBSCRIBE,
648 DMF_METHOD_SIP_NOTIFY,
649 DMF_METHOD_SIP_PUBLISH,
650 DMF_METHOD_SIP_INFO,
651 DMF_METHOD_SIP_PRACK,
652 DMF_METHOD_HTTP_GET,
653 DMF_METHOD_HTTP_POST,
654 DMF_METHOD_HTTP_TRACE,
655 DMF_METHOD_HTTP_HEAD,
656 DMF_METHOD_HTTP_PUT,
657 DMF_METHOD_HTTP_DELETE,
658 DMF_METHOD_HTTP_CONNECT,
659 DMF_METHOD_RTSP_OPTIONS,
660 DMF_METHOD_RTSP_REDIRECT,
661 DMF_METHOD_RTSP_DESCRIBE,
662 DMF_METHOD_RTSP_SETUP,
663 DMF_METHOD_RTSP_PLAY,
664 DMF_METHOD_RTSP_PAUSE,
665 DMF_METHOD_RTSP_TEARDOWN,
666 DMF_METHOD_RTSP_SET_PARAMETER,
667 DMF_METHOD_PXY_DEBUG,
668 DMF_METHOD_UNRECOGNIZED,
669 DMF_METHOD_NUM,
670} dmf_sip_method_enum;
671
672typedef enum
673{
674 DMF_SIP_FAIL_CAUSE_NOT_USERTRIGGERED = 0x01,
675 DMF_SIP_FAIL_CAUSE_NOT_ALERTED = 0x04,
676} dmf_ims_sip_fail_cause_enum;
677
678typedef enum
679{
680 DMF_KPI_URC_SWITCH_OFF = 0,
681 DMF_KPI_URC_SWITCH_ON, /* 1*/
682 DMF_KPI_URC_SWITCH_STATUS_QUERY,
683 DMF_KPI_NETWORK_KPI_QUERY
684} dmf_kpi_urc_query_enum;
685
686typedef enum
687{
688 DMF_GROUP_ID_BEGIN = 0,
689 DMF_GROUP_ID_CMCC_NETWORK_KPI, /* 1 */
690 DMF_GROUP_ID_CMCC_NR_NETWORK_KPI,
691 DMF_GROUP_ID_MAX
692} dmf_group_id_enum;
693
694
695 typedef enum
696 {
697 //define kpi for cmcc network group
698 DMF_KPI_CAUSE_BEGIN = 0,
699 DMF_KPI_LTE_ATTACH_SUCC_RATE = 0x00000001, /* 1 */
700 DMF_KPI_DEFAULT_EPS_BEARER_ESTABLISH_SUCC_RATE = 0x00000002,
701 DMF_KPI_ESRVCC_SUCC_RATE = 0x00000004,
702 DMF_KPI_IMS_REGISTRATION_SUCC_RATE = 0x00000008,
703 DMF_KPI_VOLTE_CALL_DROP = 0x00000010,
704 DMF_KPI_MO_VOLTE_CALL_SUCC_RATE = 0x00000020,
705 DMF_KPI_MT_VOLTE_CALL_SUCC_RATE = 0x00000040,
706 DMF_KPI_TAU_SUCC_RATE = 0x00000080,
707 DMF_KPI_MO_CSFB_SUCC_RATE = 0x00000100,
708 DMF_KPI_MT_CSFB_SUCC_RATE = 0x00000200,
709 DMF_KPI_MO_SMS_OVER_SGS_SUCC_RATE = 0x00000400,
710 DMF_KPI_MT_SMS_OVER_SGS_SUCC_RATE = 0x00000800,
711 DMF_KPI_MO_SMS_OVER_IMS_SUCC_RATE = 0x00001000,
712 DMF_KPI_MT_SMS_OVER_IMS_SUCC_RATE = 0x00002000,
713 DMF_KPI_CAUSE_MAX
714 } dmf_nw_kpi_enum;
715
716typedef enum
717{
718 //define kpi for cmcc nr network group
719 DMF_NR_NW_KPI_BEGIN = 0,
720 DMF_KPI_ADD_SCG_SUCC_RATE = 0x00000001, /* 1 */
721 DMF_NR_NW_KPI_MAX
722 } dmf_nr_nw_kpi_enum;
723
724
725typedef enum
726{
727 DMF_CMCC_EPS_ATTACH_NONE,
728 DMF_CMCC_EPS_ATTACH_REQUEST,
729 DMF_CMCC_EPS_ATTACH_SUCCESS,
730 DMF_CMCC_EPS_ATTACH_FAIL,
731} dmf_cmcc_eps_attach_event_enum;
732
733typedef enum
734{
735 DMF_CMCC_ACT_DEFAULT_EPS_BEARER_NONE,
736 DMF_CMCC_ACT_DEFAULT_EPS_BEARER_REQUEST_RECEIVED,
737 DMF_CMCC_ACT_DEFAULT_EPS_BEARER_ACCEPT_SENT,
738 DMF_CMCC_ACT_DEFAULT_EPS_BEARER_REJECT_SENT,
739} dmf_cmcc_esm_eps_bearer_event_enum;
740typedef enum
741{
742 DMF_CMCC_SRVCC_NONE,
743 DMF_CMCC_SRVCC_HO_REQ_RECEIVED,
744 DMF_CMCC_SRVCC_HO_COMPLETE_SENT,
745 DMF_CMCC_SRVCC_HO_FAIL_SENT,
746} dmf_cmcc_srvcc_event_enum;
747typedef enum
748{
749 DMF_CMCC_TAU_NONE,
750 DMF_CMCC_TAU_REQUEST_SENT,
751 DMF_CMCC_TAU_ACCEPT_RECEIVED,
752 DMF_CMCC_TAU_REJECT_RECEIVED,
753} dmf_cmcc_tau_event_enum;
754typedef enum
755{
756 DMF_CMCC_CSFB_CALL_NONE,
757 DMF_CMCC_MO_CSFB_EXT_SR_REQ_SENT,
758 DMF_CMCC_MO_CSFB_SUCCESS,
759 DMF_CMCC_MO_CSFB_FAIL,
760 DMF_CMCC_MT_CSFB_CS_SERVICE_NOTIFICATION,
761 DMF_CMCC_MT_CSFB_CS_PAGING,
762 DMF_CMCC_MT_CSFB_SUCCESS,
763 DMF_CMCC_MT_CSFB_FAIL,
764}dmf_cmcc_csfb_call_event_enum ;
765
766typedef enum
767{
768 DMF_CSFB_RESULT_NULL,
769 DMF_CSFB_RESULT_FAIL,
770 DMF_CSFB_RESULT_SUCCESS,
771}dmf_csfb_result_enum ;
772
773
774typedef enum
775{
776 DMF_CMCC_SMS_NONE,
777 DMF_CMCC_SMS_OVER_SGS_MO_SMS_START,
778 DMF_CMCC_SMS_OVER_SGS_MO_SMS_SUCCESS,
779 DMF_CMCC_SMS_OVER_SGS_MO_SMS_FAIL,
780 DMF_CMCC_SMS_OVER_SGS_MT_SMS_START,
781 DMF_CMCC_SMS_OVER_SGS_MT_SMS_SUCCESS,
782 DMF_CMCC_SMS_OVER_SGS_MT_SMS_FAIL,
783 DMF_CMCC_SMS_OVER_IMS_MO_SMS_START,
784 DMF_CMCC_SMS_OVER_IMS_MO_SMS_SUCCESS,
785 DMF_CMCC_SMS_OVER_IMS_MO_SMS_FAIL,
786 DMF_CMCC_SMS_OVER_IMS_MT_SMS_START,
787 DMF_CMCC_SMS_OVER_IMS_MT_SMS_SUCCESS,
788 DMF_CMCC_SMS_OVER_IMS_MT_SMS_FAIL,
789}dmf_cmcc_sms_event_enum ;
790
791typedef enum
792{
793 DMF_CMCC_ADD_SCG_NONE,
794 DMF_CMCC_ADD_SCG_BEGIN,
795 DMF_CMCC_ADD_SCG_SUCCESS,
796 DMF_CMCC_ADD_SCG_FAIL,
797}dmf_cmcc_add_scg_event_enum ;
798
799
800typedef struct
801{
802 dmf_cmcc_tau_event_enum tau_event;
803 kal_uint32 tau_reject_cause;
804} dmf_event_cmcc_tau_struct;
805
806typedef struct
807{
808 dmf_cmcc_csfb_call_event_enum call_event;
809 kal_uint16 fail_cause;
810} dmf_event_cmcc_csfb_call_info_struct;
811typedef struct
812{
813 dmf_cmcc_sms_event_enum sms_event;
814 kal_uint32 fail_cause;
815} dmf_event_cmcc_sms_info_struct;
816
817typedef enum {
818 DMF_ANTENNA_LOWER = 0,
819 DMF_ANTENNA_UPPER = 1,
820} dmf_ant_status_enum;
821
822typedef struct
823{
824 //em_esm_status_struct esm_status;
825 //em_esm_pt_struct esm_pt[ESM_MAX_PT_NUM];
826 //em_esm_epsbc_struct esm_epsbc[ESM_MAX_EPSB_NUM];
827 //em_esm_conn_status_struct esm_conn;
828
829#if defined(__VOLTE_SUPPORT__)
830 //em_esm_ims_status_struct esm_ims;
831#endif
832
833 // Vzw MDMI: Report events
834 kal_uint8 reported_pt_index;
835 kal_uint8 reported_epsbc_index;
836
837} dmf_event_esm_esm_info_struct;
838
839typedef struct {
840 kal_uint32 physical_cell_id:10; // range[0, 1007]
841 kal_uint32 dl_frequency_band:7; // range[1, 89]
842 kal_uint32 bwp_size:9; // range[0, 275]
843 kal_uint32 sub_carrier_spacing:3; // {0, 1, 2, 3, 4} indicates SCS={15, 30, 60, 120, 240} khz
844} dmf_event_nl1_physical_configuration_struct;
845
846typedef struct {
847 kal_uint32 resource_id:8; // range[0, 191]
848 kal_int16 rsrp;
849 kal_int8 rsrq;
850 kal_int8 sinr;
851} dmf_event_nl1_serving_cell_csirs_measurement_struct;
852
853typedef struct
854{
855 dmf_cmcc_eps_attach_event_enum attach_event;
856 kal_uint32 attach_reject_cause;
857} dmf_event_cmcc_eps_attach_struct;
858
859typedef struct
860{
861 dmf_cmcc_esm_eps_bearer_event_enum esm_eps_bearer_event;
862 kal_uint8 ebi;
863 kal_uint32 reject_cause;
864} dmf_event_cmcc_eps_bearer_struct;
865
866typedef struct
867{
868 em_errc_success_rate_kpi_proc_enum proc_id;
869 em_kpi_status_enum status;
870 kal_bool srvcc_ho_flag;
871} dmf_event_cmcc_esrvcc_struct;
872
873typedef struct
874{
875 em_ho_from_lte_type_enum ir_ho_type;
876 kal_bool srvcc_ho_flag;
877} dmf_event_cmcc_errc_mfrom_struct;
878
879
880typedef struct
881{
882 kal_uint32 srvcc_fail_cause;
883} dmf_event_cmcc_errc_srvcc_fail_struct;
884
885
886typedef struct
887{
888 kal_uint8 sip_msg_type;
889 kal_uint8 call_id;
890 kal_uint16 sip_method;
891 kal_uint32 sip_resp_code;
892 kal_uint32 event_id;
893 kal_uint32 fail_cause;
894}dmf_event_cmcc_imc_ims_struct;
895
896typedef struct
897{
898
899 kal_uint32 tracking_area_code; // Track area code
900 kal_uint16 freq_band_indicator; // Frequency band indicator
901 kal_uint32 dl_frequency; // Downlink Frequency
902 kal_uint8 serv_rsrp; // RSRP of serving cell over last measurement period
903 kal_uint8 serv_rsrq; // RSRQ of serving cell over last measurement period
904 kal_uint16 mcc; // MCC part of PLMN
905 kal_uint16 mnc; // MNC part of PLMN
906 kal_uint8 num_of_mnc_digits; // Number of digits in MNC (e.g.2/3)
907 kal_uint32 cause;
908} dmf_event_scg_failure_event_struct;
909
910typedef struct
911{
912 kal_uint32 tracking_area_code; // Track area code
913 kal_uint16 freq_band_indicator; // Frequency band indicator
914 kal_uint32 dl_frequency; // Downlink Frequency
915 kal_uint8 serv_rsrp; // RSRP of serving cell over last measurement period
916 kal_uint8 serv_rsrq; // RSRQ of serving cell over last measurement period
917 kal_uint16 mcc; // MCC part of PLMN
918 kal_uint16 mnc; // MNC part of PLMN
919 kal_uint8 num_of_mnc_digits; // Number of digits in MNC (e.g.2/3)
920 kal_uint32 cause;
921} dmf_event_radio_link_failure_event_struct;
922
923typedef struct
924{
925 kal_uint32 tracking_area_code; // Track area code
926 kal_uint16 freq_band_indicator; // Frequency band indicator
927 kal_uint32 dl_frequency; // Downlink Frequency
928 kal_uint8 serv_rsrp; // RSRP of serving cell over last measurement period
929 kal_uint8 serv_rsrq; // RSRQ of serving cell over last measurement period
930 kal_uint16 mcc; // MCC part of PLMN
931 kal_uint16 mnc; // MNC part of PLMN
932 kal_uint8 num_of_mnc_digits; // Number of digits in MNC (e.g.2/3)
933 kal_uint8 lte_num_of_scells;
934 kal_uint32 lte_pcc_earfcn;
935 kal_uint32 lte_scc_earfcn[ERRC_SCELL_NUM_MAX];
936 kal_uint8 nr_number_of_scell;
937 kal_uint16 nr_spcell_dl_frequency_band;
938 kal_uint16 nr_scell_dl_frequency_band[NL1_SCELL_CONFIG_LIST_SIZE];
939}dmf_event_other_5g_kpi_event_struct;
940
941typedef enum
942{
943 DMF_NL2_PDCP_THROUGHPUT_DL,
944 DMF_NL2_PDCP_THROUGHPUT_UL,
945 DMF_EL2_PDCP_THROUGHPUT_DL,
946 DMF_EL2_PDCP_THROUGHPUT_UL
947}dmf_pdcp_throughput_direction_enum;
948
949typedef struct {
950 dmf_pdcp_throughput_direction_enum type;
951 kal_uint32 version; // Log record structure ID
952 kal_uint32 pdcp_throughput; // DL/UL throughput measured on the PDCP layer(bps)
953} dmf_event_pdcp_throughput_struct;
954
955typedef enum {
956 DMF_CALL_EVENT_INACTIVE = 0, // call id not active
957 DMF_CALL_EVENT_MO_DIAL_NORMAL_CALL,
958 DMF_CALL_EVENT_MO_DIAL_EMERGENCY_CALL,
959 DMF_CALL_EVENT_MO_UPDATE_TO_EMERGENCY, // ATD then VDM judge it as emergency call
960 DMF_CALL_EVENT_MT_CALL_SETUP,
961 DMF_CALL_EVENT_CALL_SUCCESS,
962 DMF_CALL_EVENT_CALL_EST_FAIL,
963 DMF_CALL_EVENT_CALL_END, // Call ended with previous est success
964} dmf_call_event_enum;
965
966typedef struct
967{
968 kal_uint8 call_id;
969 dmf_call_event_enum dmf_call_event;
970} dmf_event_call_status_struct;
971
972typedef struct
973{
974 kal_uint8 ho_result;
975} dmf_event_errc_ho_fail_struct;
976
977typedef struct
978{
979 dmf_info_collect_rat_enum ra_fail_rat;
980} dmf_event_ra_fail_occur_struct;
981
982typedef struct
983{
984 kal_uint8 bar_cause;
985 kal_uint32 bar_time;
986 kal_uint32 ext_wait_time;
987 kal_uint8 est_type;
988 kal_uint8 ac_bar_type;
989} dmf_event_errc_bar_info_struct;
990
991typedef struct
992{
993 kal_uint8 timer_type;
994 kal_uint32 timer_length;
995} dmf_event_errc_reest_fail_timer_info_struct;
996
997typedef struct
998{
999 kal_uint16 pci;
1000 kal_uint32 rsrp;
1001 kal_uint32 rsrq;
1002}dmf_event_errc_cell_info_struct;
1003
1004typedef struct
1005{
1006 kal_uint32 serving_cell_freq;
1007 dmf_event_errc_cell_info_struct serving_cell;
1008 kal_uint8 neighbor_cell_num;
1009 dmf_event_errc_cell_info_struct neighbor_cell[3];
1010} dmf_event_errc_interference_mod3_info_struct;
1011
1012typedef enum
1013{
1014 DMF_MM_AUTH_REJ,
1015 DMF_GMM_AUTH_REJ,
1016 DMF_EMM_AUTH_REJ
1017} dmf_mm_emm_auth_type_enum;
1018
1019typedef struct
1020{
1021 dmf_mm_emm_auth_type_enum type;
1022} dmf_event_mm_emm_auth_rej_info_struct;
1023
1024typedef struct
1025{
1026 kal_uint32 cid;
1027 kal_uint16 err_cause;
1028} dmf_event_ddm_ia_fail_info_struct;
1029
1030typedef struct
1031{
1032 kal_uint32 cid;
1033 kal_uint16 err_cause;
1034} dmf_event_ddm_deact_fail_info_struct;
1035
1036typedef struct
1037{
1038 kal_uint32 cid;
1039 kal_uint16 err_cause;
1040} dmf_event_ddm_act_fail_info_struct;
1041
1042typedef struct
1043{
1044 errc_mob_em_bw_monitoring_info_struct conn_info;
1045 errc_mob_em_bw_monitoring_info_struct idle_info;
1046} dmf_event_errc_bw_monitoring_info_struct;
1047
1048typedef struct
1049{
1050 sim_monitor_type event_type;
1051 kal_uint32 count;
1052} dmf_event_sim_monitor_info_struct;
1053
1054typedef struct {
1055 tdd_em_rrc_conn_status_enum rrc_conn_status;
1056 kal_uint8 est_cause;
1057 tdd_em_rrc_cause_enum rrc_cause;
1058} dmf_event_tdd_rrce_conn_status_struct;
1059
1060typedef struct {
1061 kal_bool is_emm;
1062 kal_uint16 event;
1063 kal_uint16 reject_type;
1064 kal_uint16 original_mm_emm_cause; // (based on is_emm) em_mm_cause_enum or em_emm_cause_enum
1065 kal_uint16 converted_mm_emm_cause; // (based on is_emm) em_mm_cause_enum or em_emm_cause_enum
1066 kal_bool is_ps_sim_valid;
1067 kal_bool is_cs_sim_valid;
1068 kal_uint8 reject_domain;
1069}dmf_event_mm_emm_cause_info_struct;
1070
1071typedef struct
1072{
1073 kal_int16 rsrp;
1074 kal_int16 rsrq;
1075 kal_int16 sinr;
1076 kal_int32 jitter;
1077 kal_uint8 tx_drop_rate;
1078 kal_uint8 rx_drop_rate;
1079} dmf_event_volte_quality_info_struct;
1080
1081typedef struct
1082{
1083 MobEmMeasQty meas_quantity;
1084 kal_int16 threshold;
1085 kal_uint8 hysteresis;
1086 kal_uint16 time_to_trigger;
1087} dmf_a2_config_struct;
1088
1089typedef struct
1090{
1091 dmf_a2_config_struct a2_config[ERRC_EM_MAX_A2_ONLY_MEAS_CONFIG_REPORT_NUM];
1092} dmf_event_errc_a2_config_event_struct;
1093
1094typedef struct
1095{
1096 MobEmMeasQty meas_quantity;
1097 kal_int16 threshold;
1098 MobEmMeasQty other_rat_meas_quantity;
1099 kal_int16 other_rat_threshold;
1100 kal_uint8 hysteresis;
1101 kal_uint16 time_to_trigger;
1102} dmf_b2_config_struct;
1103
1104typedef struct
1105{
1106 dmf_b2_config_struct b2_config[ERRC_EM_MAX_B2_ONLY_MEAS_CONFIG_REPORT_NUM];
1107} dmf_event_errc_b2_config_event_struct;
1108
1109typedef struct
1110{
1111 em_gmss_hvolte_mode_enum hvolte_mode;
1112 em_gmss_hvolte_mode_chg_cause_enum hvolte_mode_change_cause;
1113 kal_bool is_silent_redial_start;
1114 kal_bool is_after_silent_redial_return_lte_fail;
1115} dmf_event_gmss_hvolte_info_struct;
1116
1117typedef struct {
1118 kal_uint8 is_nr_cell_measured; // 0: No NR cell measured
1119 // 1: NR cell measured
1120} dmf_event_errc_ir_nr_meas_result_info_struct;
1121
1122typedef struct {
1123 kal_uint32 ul_grant_valid:1; // 0: Not valid
1124 // 1: Valid
1125 kal_uint32 dci_format:1; // 0: 0_0
1126 // 1: 0_1
1127 kal_uint32 resource_allocation_type:1; // Resource allocation type in freq domain.
1128 // 0: type 0, 1: type 1
1129 kal_uint32 start_rb:9; // If resource allocation type is 0: RBGbmp LSBs;
1130 // If resource allocation type is 1:
1131 // The Start of RB for the assigned PUSCH.
1132 // range[0, 274]
1133 kal_uint32 num_rb:9; // If resource allocation type is 0: RBGbmp MSBs;
1134 // If resource allocation type is 1:
1135 // The length of RB for the assigned PUSCH.
1136 // range[0, 275]
1137 kal_uint32 slot_offset_k2:6; // Slot offset for DCI and the corresponding PUSCH.
1138 // range[0, 32]
1139 kal_uint32 sliv_start:4; // The start symbol index of the corresponding
1140 // PUSCH. range[0, 13]
1141 kal_uint32 reserved:1;
1142 kal_uint32 sliv_length:4; // Symbol length of the corresponding PUSCH.
1143 // range[1, 14]
1144 kal_uint32 frequency_hopping_flag:1; // 0: no frequency hopping
1145 // 1: frequency hopping
1146 kal_uint32 modulation_type:3; // Modulation Order.
1147 // 0: BPSK, 1: QPSK, 2: 16QAM, 3: 64QAM, 4: 256QAM
1148 kal_uint32 mcs_index:5; // range[0, 31]
1149 kal_uint32 ndi:1; // Indicate new transmission or re-transmission.
1150 kal_uint32 rv:2; // Derive from MCS, range[0, 3]
1151 kal_uint32 harq_id:4; // range[0, 15]
1152 kal_uint32 pusch_tpc_command:2; // TPC command for scheduled PUSCH as defined in
1153 // 7.1.1 of TS 38.213.
1154 kal_uint32 ul_sul_indicator:1; // As defined in 7.3.1.1.1 of TS38.212.
1155 // 0: The non-supplementary uplink
1156 // 1: The supplementary uplink
1157 kal_uint32 bandwidth_part_indicator:2; // Specific for DCI format 0_1.
1158 kal_uint32 first_dai:2; // Specific for DCI format 0_1.
1159 // As defined in 7.3.1.1.2 of TS38.212.
1160 kal_uint32 second_dai:2; // Specific for DCI format 0_1.
1161 // As defined in 7.3.1.1.2 of TS38.212.
1162 kal_uint32 reserved_1:3;
1163 kal_uint32 srs_resource_indicator:4; // range[0, 15]
1164 kal_uint32 tpmi_indicator:3; // range[0, 5]
1165 kal_uint32 number_of_layers:1; // 0: 1 layer, 1: 2 layers
1166 kal_uint32 srs_request:3; // As defined in 7.3.1.1 of TS38.212.
1167 kal_uint32 csi_request:6; // range[0, 63]
1168 kal_uint32 ul_cbgti:8; // UL CBG transmission information bitmap.
1169 // MSB correspondes to CBG#0.
1170 kal_uint32 beta_offset_indicator:2; // range[0, 3]
1171 kal_uint32 dmrs_sequence_initialization:1; // range[0, 1]
1172 kal_uint32 reserved_2:4;
1173} dmf_nl1_ul_dci_info_record_v1;
1174
1175typedef struct {
1176 kal_uint32 dl_dci_valid:1; // 0: Not valid
1177 // 1: Valid
1178 kal_uint32 dci_format:1; // 0: 1_0
1179 // 1: 1_1
1180 kal_uint32 resource_allocation_type:1; // Resource allocation type in freq domain.
1181 // 0: type 0, 1: type 1
1182 kal_uint32 start_rb:9; // If resource allocation type is 0:
1183 // RBGbmp LSBs;
1184 // If resource allocation type is 1:
1185 // The Start of RB of assigned PDSCH.
1186 // range[0, 274]
1187 kal_uint32 num_rb:9; // If resource allocation type is 0:
1188 // RBGbmp MSBs;
1189 // If resource allocation type is 1:
1190 // The length of assigned PDSCH RB.
1191 // range[0, 275]
1192 kal_uint32 pdsch_mapping_type:1; // Time domain PDSCH mapping type.
1193 // 0: type A, 1: type B
1194 kal_uint32 slot_offset_k0:6; // Slot offset for DCI and the assigned PDSCH.
1195 // range[0, 32]
1196 kal_uint32 sliv_start:4; // The start symbol index of assigned PDSCH.
1197 // range[0, 13]
1198 kal_uint32 sliv_length:4; // Symbol length of the assigned PDSCH.
1199 // range[1, 14]
1200 kal_uint32 vrb_to_prb_mapping:1; // 0: Non-interleaved, 1: Interleaved
1201 kal_uint32 ndi_1:1; // Indicate new transmission or re-transmission
1202 // for TB1.
1203 kal_uint32 rv_1:2; // Redundancy version for TB1. Derive from MCS.
1204 // range[0, 3]
1205 kal_uint32 mcs_type_1:2; // MCS type for TB1.
1206 // 0: QPSK, 1: 16QAM, 2: 64QAM, 3: 256QAM
1207 kal_uint32 ndi_2:1; // Indicate new transmission or re-transmission
1208 // for TB2. Only valid for DCI format 1_1
1209 // Only valid for DCI format 1_1 and when TB2
1210 // is configured.
1211 kal_uint32 rv_2:2; // Redundancy version for TB2. Derive from MCS.
1212 // range[0, 3]
1213 // Only valid for DCI format 1_1 and when TB2
1214 // is configured.
1215 kal_uint32 mcs_type_2:2; // MCS type for TB2.
1216 // Only valid for DCI format 1_1 and when TB2
1217 // is configured.
1218 // 0: QPSK, 1: 16QAM, 2: 64QAM, 3: 256QAM
1219 kal_uint32 harq_id:4; // range[0, 15]
1220 kal_uint32 counter_dai:2; // As described in 9.1.3 of TS 38.213.
1221 kal_uint32 total_dai:2; // Specific for DCI format 1_1.
1222 kal_uint32 pucch_tpc_command:2; // As defined in 7.2.1 of TS 38.213.
1223 kal_uint32 pdsch_harq_ack_codebook:1; // 0: Semistatic, 1: Dynamic
1224 kal_uint32 pucch_resource_indicator:3; // As defined in 9.2.3 of TS 38.213.
1225 // range[0, 7]
1226 kal_uint32 pdsch_to_harq_feedback_timing_indicator:3; // As defined in 9.2.3 of TS 38.213.
1227 // range[0, 7]
1228 kal_uint32 bandwidth_part_indicator:2; // For acitve BWP change.
1229 // Specific for DCI format 1_1.
1230 kal_uint32 reserved:2;
1231 kal_uint32 prb_bundling_size:3; // 0: bundle size n2, 1: bundle size n4,
1232 // 2: wideband
1233 kal_uint32 rate_matching_indicator:2; // Specific for DCI format 1_1.
1234 kal_uint32 tci:3; // Transmission configuration indication for
1235 // the TCI states as defined in 5.1.5 of
1236 // TS 38.214.
1237 // Specific for DCI format 1_1.
1238 kal_uint32 srs_request:3; // As defined in 7.3.1.1 of TS 38.212.
1239 // Specific for DCI format 1_1.
1240 kal_uint32 cbgti:8; // CBG transmission information. As defined in
1241 // 5.1.7 of TS 38.214.
1242 // Specific for DCI format 1_1.
1243 kal_uint32 cbgfi:1; // CBG flushing out information. As defined in
1244 // 5.1.7 of TS 38.214.
1245 // Specific for DCI format 1_1.
1246 kal_uint32 num_ack_bit:2; // Received DL TB num. range[0, 2]
1247 kal_uint32 dmrs_sequence_initialization:1; // Specific for DCI format 1_1.
1248 kal_uint32 number_of_harq_process_for_pdsch:3; // 0: n2, 1: n4, 2: n6, 3: n8, 4: n10,
1249 // 5: n12, 6: n16
1250 kal_uint32 num_of_layers:2; // 0: 1 layer, 1: 2 layers, 2: 3 layers,
1251 // 3: 4 layers
1252 kal_uint32 mcs_index_1:5; // range[0, 31]
1253 kal_uint32 mcs_index_2:5; // range[0, 31]
1254 kal_uint32 reserved_1:22;
1255} dmf_nl1_dl_dci_info_record_v2;
1256
1257typedef struct {
1258 kal_uint32 sfn:10; // This is the SFN based on the occurrence
1259 // of this record. range[0, 1023]
1260 kal_uint32 subframe:4; // This is the SF based on the occurrence
1261 // of this record. range[0, 9]
1262 kal_uint32 slot_index:3; // Slot index within this SF. range[0, 7]
1263 kal_uint32 reserved:15;
1264 dmf_nl1_ul_dci_info_record_v1 ul_dci_info;
1265 dmf_nl1_dl_dci_info_record_v2 dl_dci_info;
1266} dmf_nl1_dci_info_record_v2;
1267
1268typedef struct {
1269 kal_uint32 version:8; // Log record structure ID
1270 kal_uint32 phys_cell_id:10; // range[0, 1007]
1271 kal_uint32 carrier_index:3; // range[0, 7]
1272 kal_uint32 number_of_records:5; // range[0, 20]
1273 kal_uint32 reserved:6;
1274 dmf_nl1_dci_info_record_v2 dci_info[FLEXIBLE_ARRAY_SIZE]; // N := Number of Records
1275} dmf_event_nl1_dci_info_struct;
1276
1277typedef enum {
1278 DMF_MM_NORMAL_LU = 0x00,
1279 DMF_MM_PERIODIC_LU = 0x01,
1280 DMF_MM_IMSI_ATTACH_LU = 0x02,
1281 DMF_MM_NONE_ATTEMPTED
1282} dmf_mm_update_type_enum;
1283
1284typedef struct
1285{
1286 LOCAL_PARA_HDR
1287 em_info_enum em_info;
1288 kal_uint16 lu_attempt_num; //increase when LU is snet out
1289 kal_uint16 lu_success_num; //increase when LU success
1290 kal_uint16 lu_failure_num; //increase when LU failure
1291 dmf_mm_update_type_enum lu_type;
1292 em_mm_lr_status_enum lu_status;
1293 em_lr_failure_cause_enum lu_failure_cause;
1294}dmf_em_mm_lu_info_ind_struct;
1295
1296typedef struct
1297{
1298 kal_uint32 buffer_packet_num;
1299 kal_uint32 buffer_avg_time;
1300 kal_uint32 buffer_max_time;
1301 kal_uint32 sent_packet_num;
1302 kal_uint32 num_sdu_acked;
1303 kal_uint32 num_sdu_disc_all_type;
1304} dmf_event_lte_pdcp_status_struct;
1305
1306typedef struct
1307{
1308 kal_uint32 nack_num_by_nw;
1309 kal_uint32 nack_num_by_ue;
1310 kal_uint32 miss_num_by_ue;
1311 kal_uint32 retx_num_by_ue;
1312 kal_uint32 TxDataPdu;
1313 kal_uint32 RxDataPdu;
1314} dmf_event_el2_rlc_status_struct;
1315
1316typedef struct
1317{
1318 dmf_info_collect_rat_enum update_rat;
1319 kal_bool stop_tx;
1320} dmf_event_sig_info_struct;
1321
1322typedef struct
1323{
1324 dmf_info_collect_rat_enum rat;
1325 kal_uint32 meas_duration_in_ms;
1326} dmf_event_idle_meas_time_struct;
1327
1328typedef struct
1329{
1330 dmf_info_collect_rat_enum rat;
1331 kal_uint8 drx_factor;
1332 kal_uint32 drx_cnt;
1333} dmf_event_drx_cnt_info_struct;
1334
1335typedef struct
1336{
1337 dmf_info_collect_rat_enum latest_oos_rat;
1338} dmf_event_oos_user_unaware_recovery_info_struct;
1339
1340typedef struct
1341{
1342 em_3g_rrc_state_enum umts_rrc_state;
1343} dmf_event_rrc_state_transition_struct;
1344
1345typedef struct
1346{
1347 kal_uint8 rr_state; /* NULL: 0, INACTIVE: 1, SELECTION: 2
1348 * IDLE: 3, ACCESS: 4. PKT_TRANSFER: 5
1349 * DEDICATED:6, RESELCTION: 7 */
1350} dmf_event_rr_state_transition_struct;
1351
1352typedef struct
1353{
1354 dmf_info_collect_rat_enum rat;
1355 em_kpi_status_enum status;
1356 kal_uint16 proc_id;
1357 dmf_info_collect_rat_enum target_rat;
1358 kal_uint32 frequency;
1359 kal_uint16 pci;
1360} dmf_event_xas_kpi_info_struct;
1361
1362typedef struct
1363{
1364 em_errc_searching_state_enum state;
1365} dmf_event_errc_search_struct;
1366
1367#if 0
1368/* under construction !*/
1369/* under construction !*/
1370/* under construction !*/
1371/* under construction !*/
1372/* under construction !*/
1373/* under construction !*/
1374/* under construction !*/
1375/* under construction !*/
1376/* under construction !*/
1377#endif
1378
1379typedef struct
1380{
1381 dmf_info_collect_rat_enum latest_oos_rac_rat;
1382} dmf_event_oos_delay_info_struct;
1383
1384typedef struct
1385{
1386 kal_char prev_plmn_id[7];
1387 kal_char curr_plmn_id[7];
1388} dmf_event_plmn_change_struct;
1389
1390typedef struct
1391{
1392 kal_bool is_new_rat;
1393 dmf_info_collect_rat_enum rat;
1394 kal_uint8 sig1; // sig1 for l4c (note for LTE this is rsrq, different from DMF interpretation)
1395 kal_uint8 sig2;
1396} dmf_event_l4c_sig_update_struct;
1397
1398typedef struct
1399{
1400 dmf_tau_rau_lau_event_enum event;
1401 kal_bool is_combined_rau_lau;
1402} dmf_event_tau_rau_lau_info_struct;
1403
1404typedef struct
1405{
1406 kal_uint8 esm_active_epsb_num;
1407} dmf_event_esm_active_epsb_info_struct;
1408
1409typedef struct {
1410 kal_uint32 version:8; // Log record structure ID
1411 kal_uint32 sfn:10; // This is the SFN based on reporting time of this record.
1412 // Range [0,1023].
1413 kal_uint32 subframe:4; // This is the SF based on reporting time of this record.
1414 // Range [0,9].
1415 kal_uint32 serving_cell_index:3; // Indicates this metric is reporting on which serving cell
1416 // (not scell index configured by RRC). range[0, 7],
1417 // Values: 0:PCC, 1:SCC1, 2:SCC2, 3:SCC3, 4:SCC4, 5:SCC5, 6:SCC6, 7:SCC7
1418 kal_uint32 reserved:7;
1419 kal_int16 target_pwr; // range [-50, 23]
1420 // Target power for the Uplink Tx record for within 100 ms
1421 kal_int16 pd_pwr; // range [-50, 23]
1422 // PD power for the Uplink Tx record for within 100 ms
1423} dmf_event_el1_tx_pdpower_report_struct;
1424
1425typedef struct {
1426 kal_uint8 version; // Log event structure ID
1427 kal_uint8 call_status; // Indicates IMS call status
1428 // 0:Inactive
1429 // 1:Active
1430 // 2:Attmpting
1431 // 3:Hold
1432 // 4:Ringing
1433 kal_uint8 call_type; // Bitmask of IMS call type
1434 // Bit0:Voice
1435 // Bit1:Video
1436 // Bit2:Text
1437 // Bit3:Emergency
1438 kal_uint8 rat_information; // Indicates Rat information
1439 // 0:LTE
1440 // 1:NR
1441 // 2:Wifi
1442 kal_uint8 call_direction; // Indicates Call direction
1443 // 0:MO
1444 // 1:MT
1445 kal_uint8 call_change_state_cause; // Indicates Call change state cause
1446 // 0:notAvailable
1447 // 1:normalCallClearing
1448 // 2:callFail
1449 // 3:callDrop
1450 kal_uint16 reserved;
1451 kal_int8 sip_call_id[100]; // Indicates the Call-ID in SIP message.
1452 kal_int8 reason_text[128]; // Indicates the text of SIP reason header.
1453} dmf_ims_call_status_info_struct;
1454
1455typedef struct {
1456 kal_int32 drx_ondurationtimer;
1457 kal_int32 drx_inactivitytimer;
1458 kal_int32 drx_longcycle;
1459 kal_int32 drx_shortcycle;
1460} dmf_errc_cdrx_info_struct;
1461
1462#endif // _DMF_PUBLIC_DEF_H_