blob: b76df5904094cf4785e8d1fa235954c6464af99e [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 * Filename:
38 * ---------
39 * l5_l4c_struct.h
40 *
41 * Project:
42 * --------
43 *
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 *
52 *
53 *
54 * ==========================================================================
55****************************************************************************/
56
57#ifndef _L5_L4C_STRUCT_H
58#define _L5_L4C_STRUCT_H
59
60#ifdef __L5_SUPPORT__
61
62#include "kal_general_types.h"
63#include "kal_public_defs.h"
64#include "ps_public_enum.h"
65#include "l5_l4c_enums.h"
66#include "rac2l4c_struct.h"
67#include "mmrf_msg_interface.h"
68
69#ifdef __MBIM_MS_NETWORK_BLACKLIST__
70
71typedef struct{
72 kal_uint16 mcc;
73 kal_bool is_2_digit_mnc;
74 kal_uint16 mnc;
75 nw_black_list_type_enum list_type;
76}nw_black_list_provider_struct;
77
78typedef struct {
79 LOCAL_PARA_HDR
80 kal_uint8 transaction_id;
81 kal_uint8 num_of_black_list;
82 nw_black_list_provider_struct black_list[MAX_NW_BLACK_LIST];
83}l5_l4c_set_nw_black_list_req_struct;
84
85
86typedef struct {
87 LOCAL_PARA_HDR
88 kal_uint8 transaction_id;
89 nw_black_list_operator_result_enum result;
90}l5_l4c_set_nw_black_list_cnf_struct;
91
92typedef struct {
93 LOCAL_PARA_HDR
94 kal_uint8 transaction_id;
95}l5_l4c_get_nw_black_list_req_struct;
96
97typedef struct {
98 LOCAL_PARA_HDR
99 kal_uint8 transaction_id;
100 nw_black_list_operator_result_enum result;
101 kal_uint8 num_of_black_list;
102 nw_black_list_provider_struct black_list[MAX_NW_BLACK_LIST];
103}l5_l4c_get_nw_black_list_cnf_struct;
104
105typedef struct {
106 LOCAL_PARA_HDR
107 nw_black_list_state_enum black_list_state;
108 kal_uint8 num_of_black_list;
109 nw_black_list_provider_struct black_list[MAX_NW_BLACK_LIST];
110}l5_l4c_nw_black_list_state_ind_struct;
111#endif
112
113typedef struct {
114 kal_uint16 pci;
115 kal_uint32 earfcn;
116}lte_ran_cell_info_struct;
117
118typedef struct {
119 kal_uint16 pci;
120 kal_uint32 narfcn;
121 kal_uint16 nr_band_indicator;
122}nr_ran_cell_info_struct;
123
124/*struct defined for MSG_ID_L5_L4C_CELL_LIST_REQ */
125typedef struct {
126 LOCAL_PARA_HDR
127 kal_uint8 transaction_id;
128 /* Lte band list bitmask array */
129 kal_uint32 lte_band_list[LTE_BAND_BITMASK_MAX_SUPPORT_SIZE];
130 /* NR band list bitmask array */
131 kal_uint32 nr_band_list[NR_BAND_BITMASK_MAX_SUPPORT_SIZE];
132 /* if TRUE nr_endc_band_list is present */
133 kal_bool nr_endc_band_list_present;
134 /* NR ENDC band list bitmask array */
135 kal_uint32 nr_endc_band_list[NR_BAND_BITMASK_MAX_SUPPORT_SIZE];
136 /* Lte cell list number*/
137 kal_uint8 num_of_lte_cell;
138 /* NR cell list number*/
139 kal_uint8 num_of_nr_cell;
140 /* Lte cell list */
141 lte_ran_cell_info_struct lte_cell_list[MAX_LTE_RAN_CELL_LIST];
142 /* NR cell list */
143 nr_ran_cell_info_struct nr_cell_list[MAX_NR_RAN_CELL_LIST];
144
145}l5_l4c_cell_list_req_struct;
146
147/*struct defined for MSG_ID_L5_L4C_CELL_LIST_CNF */
148typedef struct {
149 LOCAL_PARA_HDR
150 kal_uint8 transaction_id;
151 kal_bool result;
152
153}l5_l4c_cell_list_cnf_struct;
154
155/*struct defined for MSG_ID_L5_L4C_GET_RF_STATUS_REQ */
156typedef l4c_mmrf_get_rf_status_req_struct l5_l4c_get_rf_status_req_struct;
157
158/*struct defined for MSG_ID_L5_L4C_GET_RF_STATUS_CNF */
159typedef l4c_mmrf_get_rf_status_cnf_struct l5_l4c_get_rf_status_cnf_struct;
160#endif
161
162typedef struct
163{
164 kal_int16 srxlev_in_qdb; /* range -32768 ~ 32767, invalid value:0x7fff */
165 kal_int16 squal_in_qdb; /* range -32768 ~ 32767, invalid value:0x7fff */
166}ps_cell_srxlev_info_struct;
167
168
169/*struct defined for MSG_ID_L5_L4C_CELL_PWR_SRXLEV_IND */
170typedef struct {
171 LOCAL_PARA_HDR
172 kal_uint8 rat_mode; /* ref rat_enum, now support RAT_LTE/RAT_NR */
173 kal_uint8 is_srxlev_info_valid; /* wherther or not is srxlev info is valid. */
174 ps_cell_srxlev_info_struct ps_cell_srxlev_info; /* srxlex info*/
175
176}l5_l4c_cell_pwr_srxlev_ind_struct;
177
178#ifdef __L5_SUPPORT__
179typedef l4crac_set_allowed_mcc_list_req_struct l5_l4c_set_allowed_mcc_list_req_struct;
180typedef l4crac_set_allowed_mcc_list_cnf_struct l5_l4c_set_allowed_mcc_list_cnf_struct;
181typedef l4crac_set_pref_nssai_req_struct l5_l4c_set_pref_nssai_req_struct;
182typedef l4crac_set_pref_nssai_cnf_struct l5_l4c_set_pref_nssai_cnf_struct;
183typedef l4crac_set_nssai_req_struct l5_l4c_set_nssai_req_struct;
184typedef l4crac_set_nssai_cnf_struct l5_l4c_set_nssai_cnf_struct;
185typedef l4crac_get_nssai_req_struct l5_l4c_get_nssai_req_struct;
186typedef l4crac_get_nssai_cnf_struct l5_l4c_get_nssai_cnf_struct;
187typedef l4crac_vgmm_nw_params_ind_struct l5_l4c_vgmm_nw_params_ind_struct;
188
189#endif
190#endif /* _L5_L4C_STRUCT_H */