blob: 6dd4cf90562ff89e37544d455c5fc5f528ec3819 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
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) 2005
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 * sm2mm_struct.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 * This file describes the common structure of SM and MM.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *============================================================================
54 * HISTORY
55 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
56 *------------------------------------------------------------------------------
57 * removed!
58 *
59 * removed!
60 * removed!
61 * removed!
62 *
63 * removed!
64 * removed!
65 * removed!
66 *
67 * removed!
68 * removed!
69 * removed!
70 *
71 * removed!
72 * removed!
73 * removed!
74 *
75 * removed!
76 * removed!
77 * removed!
78 *
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 * removed!
85 *
86 * removed!
87 * removed!
88 * removed!
89 *
90 * removed!
91 * removed!
92 * removed!
93 *
94 * removed!
95 * removed!
96 * removed!
97 *
98 * removed!
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 * removed!
106 * removed!
107 * removed!
108 *
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 * removed!
128 *
129 * removed!
130 * removed!
131 * removed!
132 *
133 * removed!
134 * removed!
135 * removed!
136 *
137 * removed!
138 * removed!
139 * removed!
140 *
141 *------------------------------------------------------------------------------
142 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
143 *==============================================================================
144 *******************************************************************************/
145
146/********************************************************************************
147* Copyright Statement:
148* --------------------
149*
150* This product has been developed using a protocol stack
151* developed by Sasken Communication Technologies Limited.
152*
153********************************************************************************/
154
155#ifndef _SM2MM_STRUCT_H
156#define _SM2MM_STRUCT_H
157
158#include "kal_general_types.h"
159#include "kal_public_defs.h"
160#include "l3_inc_enums.h"
161#include "mcd_l3_inc_gprs_struct.h"
162#include "as2nas_struct.h"
163#include "irat_common_struct.h"
164#include "smmm_enums.h"
165
166typedef struct {
167 LOCAL_PARA_HDR
168 qos_struct qos;
169 kal_uint32 tlli;
170 rp_enum radio_priority;
171 est_cause_enum cause;
172 kal_uint8 pkt_flow_identifier;
173 peer_msg_id_struct peer_msg_id;
174} gmmsm_unitdata_req_struct;
175
176typedef struct {
177 LOCAL_PARA_HDR
178 kal_uint16 nsapi_status;
179 traffic_class_enum max_traffic_class; // the highest quality traffic class among all active PDP context
180} gmmsm_nsapi_status_req_struct;
181
182typedef struct {
183 /** ILM specific header. */
184 LOCAL_PARA_HDR
185
186 /** used to indicate nas priority config, used if __MTC_SUPPORT__ */
187 nas_priority_config_enum nas_priority_config ;
188
189 /** used to indicate eab override, used if __MTC_SUPPORT__ */
190 eab_override_config_enum eab_override_config ;
191} gmmsm_dual_priority_config_req_struct;
192
193#ifdef __GEMINI__
194typedef struct {
195 LOCAL_PARA_HDR
196 kal_uint8 retry_count;
197 gmmsm_pdp_session_procedure_type_enum session_proc_type;
198} gmmsm_session_begin_req_struct;
199
200typedef struct {
201 LOCAL_PARA_HDR
202 gmmsm_pdp_session_procedure_type_enum session_proc_type;
203} gmmsm_session_end_req_struct;
204#endif
205
206typedef struct {
207 LOCAL_PARA_HDR
208 est_cause_enum cause;
209} gmmsm_attach_req_struct;
210
211typedef struct {
212 LOCAL_PARA_HDR
213 est_cause_enum cause;
214} gmmsm_est_req_struct;
215
216#ifdef __SM_UT__
217typedef struct {
218 LOCAL_PARA_HDR
219 kal_uint8 sm_calculate_mt_procedure_pdp_number_result;
220 kal_uint8 sm_calculate_mo_procedure_pdp_number_result;
221 kal_uint32 sm_calculate_how_many_pdp_are_used_result;
222} sm_test_sm_calculate_how_many_pdp_are_used_struct;
223
224#endif // ~ #ifdef __SM_UT__
225
226/**
227 * According to Multimode interRAT message processing rules,
228 * the receiving module, said... the MOD_A, need to process this message in the following way
229 * - (1) Relay this interRAT message to next module, said... the MOD_B, first
230 * - (2) then MOD_A can start to do processing of this message
231 * because when a RD designs a new MM iRAT feature, he/she will assume others process these messages in this way
232 * this rules make sures the interRAT message flow is as expected
233 */
234typedef struct {
235 LOCAL_PARA_HDR
236 irat_type_enum irat_type; //Indicates the inter-RAT type
237 rat_type_enum source_rat; //Source RAT
238 rat_type_enum target_rat; //Target RAT
239 irat_result_enum irat_result; //The result of inter-RAT change
240 void* as_info_ptr; //The pointer of AS container information
241} gmmsm_rat_change_rsp_struct; // (23G4 finish)
242
243/**
244 * According to Multimode interRAT message processing rules,
245 * the receiving module, said... the MOD_A, need to process this message in the following way
246 * - (1) Relay this interRAT message to next module, said... the MOD_B, first
247 * - (2) then MOD_A can start to do processing of this message
248 * because when a RD designs a new MM iRAT feature, he/she will assume others process these messages in this way
249 * this rules make sures the interRAT message flow is as expected
250 */
251typedef struct {
252 LOCAL_PARA_HDR
253 irat_type_enum irat_type; //Indicates the inter-RAT type
254 rat_type_enum source_rat; //Source RAT (GAS or UAS)
255 rat_type_enum target_rat; //Target RAT (Should be EAS)
256 kal_bool esm_deactivate_isr; //ESM sets this flag if ESM bearer has been added or modified after ISR was activated
257 kal_uint16 nsapi_status; //PDP context status
258
259 /** Bit-array of nas-priority for all nsapi.
260 * - Bit sequence: (high)nsapi-15 - (low)nsapi-0
261 * - 0: Already or ready-to use "low priority"
262 * - 1: Already or ready-to use "normal priority"
263 * - If not specified by user: Use 1 (normal priority) by default
264 */
265 kal_uint16 nas_priority_status;
266
267 /** Bit-array of eab-override for all nsapi.
268 * - Bit sequence: (high)nsapi-15 - (low)nsapi-0
269 * - 0: Already or ready-to use "not override"
270 * - 1: Already or ready-to use "can override"
271 * - If not specified by user: Use 0 (not override) by default
272 */
273 kal_uint16 eab_override_status;
274
275 traffic_class_enum max_traffic_class; // the highest quality traffic class among all active PDP context
276
277 emm2mm_irat_info_struct emm_info;
278
279 void* as_info_ptr; //Indicates the address of the activation request for RAT change to LTE, the information is dedicated for AS.
280 //The buffer will be freed by soure or target AS
281} gmmsm_rat_change_req_struct; // (4G23 start)
282
283typedef struct {
284 LOCAL_PARA_HDR
285 // check L4_NAS_RAT_CHANGE_SAP.docx for detail
286} gmmsm_isr_deactivate_req_struct;
287
288
289typedef struct {
290 LOCAL_PARA_HDR
291 gmmsm_event_report_type_enum event;
292} gmmsm_event_report_req_struct;
293
294#endif
295
296