[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/l4misc/l4c2csm_cc_struct.h b/mcu/protocol/interface/l4misc/l4c2csm_cc_struct.h
new file mode 100644
index 0000000..7da68e5
--- /dev/null
+++ b/mcu/protocol/interface/l4misc/l4c2csm_cc_struct.h
@@ -0,0 +1,1264 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2005
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * l4c2csm_cc_struct.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ * FILENAME : l4c2csm_cc_struct.h
+ * SYNOPSIS : Functions for encoding/decoding.
+ *
+ * R E V I S I O N H I S T O R Y
+ *
+ */
+#ifndef _L4C2CSM_CC_STRUCT_H
+#define _L4C2CSM_CC_STRUCT_H
+
+//#include "ps2sat_struct.h"
+//#include "kal_non_specific_general_types.h"
+//#include "l4c_common_enum.h"
+//#include "csmcc_enums.h"
+#include "csmcc_common_enums.h"
+#include "kal_general_types.h"
+#include "ps_public_struct.h"
+#include "ps_public_enum.h"
+
+//pohan,For CMCC AT command requirement
+#include "csmcc_atfunc.h"
+#include "sim_public_enum.h"
+#include "kal_public_defs.h"
+
+
+typedef enum
+{
+ RDN_ALLOWED,
+ RDN_RESTRICTED,
+ RDN_UNAVAILABLE,
+ RDN_RESTRICTEDADDR
+} l4ccsm_cc_rdn_enum;
+
+typedef enum
+{
+ CNAP_ALLOWED,
+ CNAP_RESTRICTED,
+ CNAP_UNAVAILABLE,
+ CNAP_RESTRICTEDNAME
+} l4ccsm_cc_cnap_enum;
+
+typedef enum
+{
+ BSC_BS,
+ BSC_TS
+} l4ccsm_cc_bsc_enum;
+
+typedef enum
+{
+ CALL_RETRIEVED,
+ CALL_ONHOLD
+} l4ccsm_cc_hold_ind_enum;
+
+typedef enum
+{
+ ECT_ALERTING,
+ ECT_ACTIVE
+} l4ccsm_cc_ect_state_enum;
+
+typedef enum
+{
+ GEN_UNRECOGNIZED_COMP,
+ GEN_MISTYPED_COMP,
+ GEN_BAD_STRUCT_COMP
+} l4ccsm_cc_ss_gen_prob_enum;
+
+typedef enum
+{
+ INV_DUP_INV_ID,
+ INV_UNRECOGNIZED_OP,
+ INV_MISTYPED_PARA,
+ INV_RESOURCE_LIMIT,
+ INV_INIT_RELEASE,
+ INV_UNRECOGNIZED_LINK_ID,
+ INV_LINK_ID_RSP_UNEXPECTED,
+ INV_UNEXPECTED_LINK_OP
+} l4ccsm_cc_ss_inv_prob_enum;
+
+typedef enum
+{
+ RR_UNRECOGNIZED_INV_ID,
+ RR_UNEXPECTED,
+ RR_MISTYPED_PARA
+} l4ccsm_cc_ss_rr_prob_enum;
+
+typedef enum
+{
+ RE_UNRECOGNIZED_INV_ID,
+ RE_UNEXPECTED,
+ RE_UNRECOGNIZED_ERROR,
+ RE_UNEXPECTED_ERROR,
+ RE_MISTYPED_PARA
+} l4ccsm_cc_ss_re_prob_enum;
+
+typedef enum
+{
+ L4C_MODIFY_CMD_NONE,
+ L4C_MODIFY_ATA,
+ L4C_MODIFY_ATD
+} l4ccsm_cc_modify_cmd_enum;
+
+typedef enum
+{
+ L4CCSM_CC_STARTUP_NVRAM,
+ L4CCSM_CC_STARTUP_SIM,
+ L4CCSM_CC_STARTUP_INVALID
+} l4ccsm_cc_startup_enum; /* MAUI_01747506 separte startup to SIM and NVRAM */
+
+typedef enum
+{
+ L4C_SRVCC_CALL_MODE_VOICE,
+ L4C_SRVCC_CALL_MODE_VIDEO,
+ L4C_SRVCC_CALL_MODE_EMERGENCY,
+ L4C_SRVCC_CALL_MODE_VOICE_CONFERENCE,
+ L4C_SRVCC_CALL_MODE_VIDEO_CONFERENCE,
+ L4C_SRVCC_CALL_MODE_VOICE_CONFERENCE_PARTS, // conference voice call participant
+ L4C_SRVCC_CALL_MODE_VIDEO_CONFERENCE_PARTS, // conference video call participant
+ L4C_SRVCC_CALL_MODE_MAX
+} l4ccsm_srvcc_call_mode_enum;
+
+typedef enum
+{
+ L4C_SRVCC_CALL_DIRECTION_MO,
+ L4C_SRVCC_CALL_DIRECTION_MT,
+ L4C_SRVCC_CALL_DIRECTION_MAX
+} l4ccsm_srvcc_call_direction_enum;
+
+typedef enum
+{
+ L4C_SRVCC_CALL_STATE_EARLY,
+ L4C_SRVCC_CALL_STATE_EARLY_WITH_MEDIA,
+ L4C_SRVCC_CALL_STATE_ACTIVE,
+ L4C_SRVCC_CALL_STATE_ONHOLD,
+ L4C_SRVCC_CALL_STATE_PRE_ALERTING,
+ L4C_SRVCC_CALL_STATE_PRE_ALERTING_WITH_MEDIA,
+ L4C_SRVCC_CALL_STATE_ACTIVE_RETRY_CC_CONNECT,
+ L4C_SRVCC_CALL_STATE_MAX
+} l4ccsm_srvcc_call_state_enum;
+
+/* mtk01602: REL4, TS 24.008 Table 10.5.135d
+ Define Emergency Service Categories Enum */
+typedef enum
+{
+ SRVCC_ECC_CATEGORY_UNSPECIFIED = 0,
+ SRVCC_ECC_CATEGORY_POLICE = 0x0001,
+ SRVCC_ECC_CATEGORY_AMBULANCE = 0x0002,
+ SRVCC_ECC_CATEGORY_FIRE_BRIGADE = 0x0004,
+ SRVCC_ECC_CATEGORY_MARINE_GUARD = 0x0008,
+ SRVCC_ECC_CATEGORY_MOUNTAIN_RESCUE = 0x0010,
+ SRVCC_ECC_CATEGORY_GAS = 0x0100,
+ SRVCC_ECC_CATEGORY_ANIMAL = 0x0200,
+ SRVCC_ECC_CATEGORY_PHYSICIAN = 0x0400,
+ SRVCC_ECC_CATEGORY_POISON = 0X0800,
+ SRVCC_ECC_CATEGORY_TRAFFIC = 0X1000,
+ SRVCC_ECC_CATEGORY_INVALID = 0XFFFF
+}l4ccsm_srvcc_ecc_category_enum;
+
+typedef struct {
+ kal_uint8 call_id;
+ l4ccsm_srvcc_call_mode_enum call_mode;
+ l4ccsm_srvcc_call_direction_enum call_dir;
+ l4ccsm_srvcc_call_state_enum call_state;
+ l4ccsm_srvcc_ecc_category_enum ecc_category;
+
+ kal_uint8 srvcc_number_type;
+ kal_bool srvcc_number_present;
+ kal_char srvcc_number[MAX_SIP_URI_LEN];
+ kal_bool srvcc_alpha_present;
+ kal_char srvcc_alpha[MAX_PS_NAME_SIZE + 1]; // MAX_PS_NAME_SIZE: 42
+ kal_bool cli_present;
+ kal_uint8 cli;
+
+} l4ccsm_srvcc_call_cntxt_struct;
+
+typedef struct {
+ kal_uint8 addr_ind_present;
+ kal_uint8 addr_ind;
+ l4_addr_bcd_struct addr;
+} l4ccsm_cc_peer_addr_struct;
+
+typedef struct {
+ kal_uint8 sub_addr_len;
+ kal_uint8 sub_addr[21];
+} l4ccsm_cc_sub_addr_struct;
+
+typedef struct {
+ l4_addr_bcd_struct partyNumber;
+ kal_uint8 partyNumberSubaddress_present;
+ l4ccsm_cc_sub_addr_struct partyNumberSubaddress;
+} l4ccsm_cc_rdn_addr_struct;
+
+typedef struct {
+ kal_uint8 ect_rdn_present;
+ l4ccsm_cc_rdn_enum rdn_choice_tag;
+ union {
+ l4ccsm_cc_rdn_addr_struct presentationAllowedAddress;
+ kal_uint8 presentationRestricted;
+ kal_uint8 numberNotAvailableDueToInterworking;
+ l4ccsm_cc_rdn_addr_struct presentationRestrictedAddress;
+ } rdn_choice_value;
+} l4ccsm_cc_ect_rdn_struct;
+
+typedef struct {
+ kal_uint8 callingName_present;
+ l4ccsm_cc_cnap_enum callingName_choice_tag;
+ union {
+ l4_cnap_struct cnapPresentationAllowed;
+ l4_name_struct namePresentationAllowed;
+ kal_uint8 presentationRestricted;
+ kal_uint8 nameUnavailable;
+ l4_cnap_struct cnapPresentationRestricted;
+ l4_name_struct namePresentationRestricted;
+ } callingName_choice_value;
+} l4ccsm_cc_name_ind_struct;
+
+typedef struct {
+ kal_uint8 ccbs_index_present;
+ kal_uint8 ccbs_index;
+ kal_uint8 b_subscriberNumber_present;
+ l4_addr_bcd_struct b_subscriberNumber;
+ kal_uint8 b_subscriberSubaddress_present;
+ l4ccsm_cc_sub_addr_struct b_subscriberSubaddress;
+ kal_uint8 bs_code_present;
+ kal_uint8 bs_code;
+} l4ccsm_cc_ccbs_feature_struct;
+
+typedef struct {
+ kal_uint8 ccbs_feature_present;
+ l4ccsm_cc_ccbs_feature_struct ccbs_feature;
+ kal_uint8 alertingPattern_present;
+ kal_uint8 altertingPattern;
+} l4ccsm_cc_ccbs_ind_struct;
+
+typedef struct {
+ kal_uint8 type;
+ kal_bool ss_code_present;
+ kal_uint8 ss_code;
+ kal_bool status_present;
+ kal_uint8 status;
+ kal_bool notification_present;
+ kal_uint8 notification;
+ kal_uint16 cug_index;
+ l4ccsm_cc_ect_rdn_struct ect_rdn;
+ l4ccsm_cc_name_ind_struct name_ind;
+ l4ccsm_cc_ccbs_ind_struct ccbs_ind;
+} l4ccsm_cc_notify_ss_arg_struct;
+
+/*mtk01602, 053007: SATe Open Channel for CSD*/
+typedef struct {
+ kal_uint8 is_addr_present;
+ l4_addr_bcd_struct addr;
+ kal_uint8 is_subaddr_present;
+ l4ccsm_cc_sub_addr_struct subaddr;
+ kal_uint8 is_user_id_present;
+ kal_uint8 user_id[32];
+ kal_uint8 is_user_pwd_present;
+ kal_uint8 user_pwd[32];
+ kal_uint8 is_local_addr_present;
+ kal_uint8 local_addr[16]; //To be confirmed, Nick set it as length 16
+ sat_csd_bearer_para_struct sat_cbst; //refer 11.14 6.6.27; mandatory IE, no matter SIM provided or Default case.
+}l4ccsm_cc_sat_prof_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+} l4ccsm_cc_dummy_local_para_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 init_type; /* MAUI_01747506 separte startup to SIM and NVRAM */
+} l4ccsm_cc_startup_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 init_type; /* MAUI_01747506 separte startup to SIM and NVRAM */
+ kal_uint8 response;
+ kal_uint16 cause;
+} l4ccsm_cc_startup_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 channel_mode;
+ kal_uint8 rat;
+ kal_uint8 irho_speech_on_off;
+} l4ccsm_cc_attach_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 rat;
+ kal_uint8 irho_speech_on_off;
+} l4ccsm_cc_detach_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+} l4ccsm_cc_acm_reset_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 response;
+ kal_uint16 cause;
+} l4ccsm_cc_acm_reset_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint32 acmmax;
+} l4ccsm_cc_acmmax_set_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 response;
+ kal_uint16 cause;
+} l4ccsm_cc_acmmax_set_cnf_struct;
+
+/* MAUI_01938414 [CSMCC][Revise] support reset last ccm */
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+} l4ccsm_cc_last_ccm_reset_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+} l4ccsm_cc_abort_call_req_struct;
+
+
+/* MAUI_01938414 [CSMCC][Revise] support reset last ccm */
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 result;
+ kal_uint8 error_cause;
+} l4ccsm_cc_last_ccm_reset_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 digit_count;
+ kal_uint8 dtmf_digit[MAX_CC_DTMF_BCD_LEN];
+} l4ccsm_cc_auto_dtmf_start_ind_struct;
+/* no_dtmf shold be less than MAX_CC_ADDR_BCD_LEN.
+ The extra last one entry is for null terminal. */
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+} l4ccsm_cc_auto_dtmf_complete_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ l4_addr_bcd_struct redirect_num;
+ kal_uint8 redirect_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct redirect_sub_addr;
+} l4ccsm_cc_call_deflection_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+} l4ccsm_cc_call_deflection_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id_present;
+ kal_uint8 call_id;
+ kal_uint8 crss_req;
+} l4ccsm_cc_crss_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id_present;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+ kal_uint8 crss_req; //mtk01602, 070718
+} l4ccsm_cc_crss_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint32 ccm;
+ kal_uint32 acm;
+ kal_uint8 ccwv;
+} l4ccsm_cc_ccm_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 connected_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct connected_sub_addr;
+} l4ccsm_cc_call_accept_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+} l4ccsm_cc_call_accept_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 alert;
+} l4ccsm_cc_call_alert_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 call_type;
+ kal_uint8 connected_number_present;
+ l4ccsm_cc_peer_addr_struct connected_number;
+ kal_uint8 connected_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct connected_sub_addr;
+} l4ccsm_cc_call_connect_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+} l4ccsm_cc_call_disc_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 call_id;
+} l4ccsm_cc_rel_comp_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 is_mt_call_allowed;
+ kal_uint8 call_id;
+ kal_uint8 seq_num;
+ kal_uint16 reject_cause;
+} l4ccsm_cc_call_present_rsp_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 call_type;
+ kal_uint32 ccm;
+} l4ccsm_cc_call_disc_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ l4ccsm_cc_modify_cmd_enum modify_cmd;
+} l4ccsm_cc_call_modify_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 cur_call_type;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+} l4ccsm_cc_call_modify_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 cur_call_type;
+} l4ccsm_cc_call_modify_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 preempt_type;
+} l4ccsm_cc_call_preempt_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+ kal_uint8 call_type;
+ kal_uint32 ccm;
+ kal_bool is_diagnostic_present;
+ kal_uint8 diagnostic;
+} l4ccsm_cc_call_rel_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ l4_addr_bcd_struct called_number;
+ kal_uint8 called_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct called_sub_addr;
+ kal_uint8 cug_info;
+ kal_uint8 clir_info_present;
+ kal_uint8 clir_info;
+ kal_uint8 call_priority_present;
+ kal_uint8 call_priority;
+ kal_uint8 call_type;
+ kal_uint8 redial;
+ //kal_uint8 csd_prof_id;
+ sat_csd_bearer_para_struct sat_cbst;
+ kal_uint8 is_cell_lock_call; //[MAUI_00751970]
+ kal_uint8 profile_type; //__DTCNT_SIM_PROFILES_SUPPORT__
+ kal_uint8 als_type; //MAUI_01647491 ALS_DIAL_BY_SETTING
+ kal_bool l4c_retry; //for_lv
+ kal_bool is_ecall;
+ ecall_type_enum ecall_type;
+} l4ccsm_cc_call_setup_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id_present;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+ kal_uint8 call_type;
+ sat_csd_bearer_para_struct sat_cbst;
+ kal_uint8 terminal_res;
+ kal_uint8 add_res;
+ kal_bool is_diagnostic_present;
+ kal_uint8 diagnostic;
+} l4ccsm_cc_call_setup_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 signal_value_present;
+ kal_uint8 signal_value;
+ kal_uint8 alerting_pattern_present;
+ kal_uint8 alerting_pattern;
+ kal_uint8 cw_flag;
+ kal_uint8 auto_answer;
+ kal_uint8 call_type;
+ kal_uint8 calling_number_present;
+ l4ccsm_cc_peer_addr_struct calling_number;
+ kal_uint8 calling_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct calling_sub_addr;
+ kal_uint8 redirecting_number_present;
+ l4ccsm_cc_peer_addr_struct redirecting_number;
+ kal_uint8 redirecting_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct redirecting_sub_addr;
+ kal_uint8 no_cli_cause_present;
+ kal_uint8 no_cli_cause;
+ kal_uint8 call_priority_present;
+ kal_uint8 call_priority;
+} l4ccsm_cc_call_setup_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 ccbs_possible_present;
+ kal_uint8 ccbs_possible;
+ kal_uint16 cause;
+ kal_uint8 call_type;
+ kal_bool is_diagnostic_present;
+ kal_uint8 diagnostic;
+} l4ccsm_cc_call_disc_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+} l4ccsm_cc_data_activate_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+} l4ccsm_cc_data_activate_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ l4_addr_bcd_struct called_number;
+ /*Cosine 070415: R4 new IE, Emergency Call Category*/
+ kal_uint8 service_category;
+ kal_bool l4c_retry; //for_lv
+ kal_bool is_ecall;
+ ecall_type_enum ecall_type;
+} l4ccsm_cc_emergency_call_setup_req_struct;
+
+typedef l4ccsm_cc_call_setup_cnf_struct l4ccsm_cc_emergency_call_setup_cnf_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ l4ccsm_cc_notify_ss_arg_struct notify_ss_arg;
+ kal_uint8 ccbs_recall_numP;
+ l4_addr_bcd_struct ccbs_recall_num;
+} l4ccsm_cc_notify_ss_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 tone;
+} l4ccsm_cc_start_dtmf_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 tone;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+} l4ccsm_cc_start_dtmf_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 tone;
+} l4ccsm_cc_stop_dtmf_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 tone;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+} l4ccsm_cc_stop_dtmf_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 sat_call_type;
+ kal_uint8 called_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct called_sub_addr;
+ kal_uint8 ccp_present;
+ kal_uint8 ccp[MAX_SAT_SIZE_OF_CCP];
+ kal_uint8 size_of_ccp;
+///// kal_uint8 is_changed_from_ss;
+ kal_uint8 type_of_modification;//mtk01616_070521
+ /* MAUI_01736966 [L4C][CSM] STK support clir */
+ kal_uint8 clir_info_present;
+ kal_uint8 clir_info;
+ /*Michael:the following parameter is added for SAT retry*/
+ kal_bool l4c_retry;
+ kal_bool is_emergency_call; //Cosine, 070831
+} l4ccsm_cc_sat_setup_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 response;
+ kal_uint8 terminal_res;
+ kal_uint8 additional_res;
+ kal_uint8 connected_number_present;
+ l4ccsm_cc_peer_addr_struct connected_number;
+ kal_uint8 connected_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct connected_sub_addr;
+//// kal_uint8 is_changed_from_ss;
+ kal_uint8 type_of_modification;//mtk01616_070523
+ /*Michael: following 4 parameters are added for SAT retry*/
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+ kal_uint8 size_of_ccp;
+ kal_uint8 ccp[MAX_SAT_SIZE_OF_CCP];
+} l4ccsm_cc_sat_setup_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 is_esc_off;
+ kal_uint8 port;
+} l4ccsm_cc_uart_transfer_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 port;
+ kal_bool is_esc;
+} l4ccsm_cc_uart_transfer_ind_struct;
+/* Ripple: must the same with csm_l2r/tdt_esc_on_ind_struct, becasue CSM uses hold_local_para(). */
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 call_type;
+// kal_uint8 csd_prof_id;
+ kal_uint32 user_rate;
+ kal_uint8 profile_type; //__DTCNT_SIM_PROFILES_SUPPORT__
+} l4ccsm_cc_csd_est_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 digit_count;
+ kal_uint8 dtmf_digit[MAX_CC_DTMF_BCD_LEN];
+} l4ccsm_cc_auto_dtmf_start_req_struct;
+/* no_dtmf shold be less than MAX_CC_ADDR_BCD_LEN.
+ The extra last one entry is for null terminal. */
+
+#ifdef __TCPIP__
+//#include "custom_nvram_editor_data_item.h"
+/*MAUI_02560318 remove the dependency of header file*/
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ l4ccsm_cc_sat_prof_struct sat_prof; //mtk01602, 070530: add for Nick SATe
+ kal_uint8 profile_type; //__DTCNT_SIM_PROFILES_SUPPORT__
+} l4ccsm_cc_set_csd_prof_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 result;
+ kal_uint8 error_cause;
+ sat_csd_bearer_para_struct sat_cbst; //mtk01602: use to send SIM modify indication
+} l4ccsm_cc_set_csd_prof_cnf_struct;
+#endif
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 line_id;
+} l4ccsm_cphs_display_als_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 line_id;
+} l4ccsm_cc_update_als_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 result;
+ kal_uint16 error_cause;
+} l4ccsm_cc_update_als_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_bool call_exist;
+} l4ccsm_cc_call_info_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 no_dtmf;
+ kal_uint8 dtmf[MAX_CC_DTMF_BCD_LEN];
+} l4ccsm_cc_sat_send_dtmf_req_struct;
+/* no_dtmf shold be less than MAX_CC_ADDR_BCD_LEN.
+ The extra last one entry is for null terminal. */
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+} l4ccsm_cc_sat_abort_dtmf_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 res;
+ kal_uint8 cause;
+} l4ccsm_cc_sat_send_dtmf_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ csmcc_cpi_msg_type_enum msg_type;
+ kal_bool is_ibt;
+ kal_bool is_tch;
+ kal_bool numberP;
+ l4_addr_bcd_struct number;
+ kal_uint16 disc_cause; //Add for WM FTA
+ kal_bool is_diagnostic_present;
+ kal_uint8 diagnostic;
+ l4c_call_entry_struct call_entry;
+} l4ccsm_cc_cpi_ind_struct; /*mtk00924 add 041208 for +ECPI*/
+
+/* MAUI_01315252, update call state */
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint16 call_state;
+ l4c_call_entry_struct call_entry;
+} l4ccsm_cc_update_call_state_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+} l4ccsm_cc_call_sync_ind_struct; /*mtk00924 add 050727 for indicate MMI to get call info*/
+
+#ifdef __VIDEO_CALL_SUPPORT__
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 call_id;
+ kal_uint8 action;/*csmcc_video_call_action_enum*/
+ kal_bool result;
+ kal_uint8 cause;
+} l4ccsm_cc_video_call_status_ind_struct;
+#endif
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+ kal_uint8 signal_value_present;
+ kal_uint8 signal_value;
+ kal_uint8 alerting_pattern_present;
+ kal_uint8 alerting_pattern;
+ kal_uint8 cw_flag;
+ kal_uint8 auto_answer;
+ kal_uint8 call_type;
+ kal_uint8 calling_number_present;
+ l4ccsm_cc_peer_addr_struct calling_number;
+ kal_uint8 calling_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct calling_sub_addr;
+ kal_uint8 called_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct called_sub_addr;
+ kal_uint8 redirecting_number_present;
+ l4ccsm_cc_peer_addr_struct redirecting_number;
+ kal_uint8 redirecting_sub_addr_present;
+ l4ccsm_cc_sub_addr_struct redirecting_sub_addr;
+ kal_uint8 no_cli_cause_present;
+ kal_uint8 no_cli_cause;
+ kal_uint8 call_priority_present;
+ kal_uint8 call_priority;
+ kal_uint8 seq_num;
+}l4ccsm_cc_call_present_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 num_of_call;
+ l4ccsm_srvcc_call_cntxt_struct call_tbl[L4C_MAX_CALL_LIST_LEN];
+} l4ccsm_cc_srvcc_transfer_req_struct;
+
+
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 call_id;
+ csmcc_cpi_msg_type_enum type;
+ csmcc_call_orig_enum direction;
+ kal_uint8 number[MAX_CC_ADDR_LEN + 1];
+ kal_bool is_far_end;
+ kal_uint16 disc_cause;
+} l4ccsm_ims_call_progress_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool call_status;
+
+} l4ccsm_ims_call_status_ind_struct;
+
+//if l4ccsm_cc_srvcc_transfer_cnf_struct.num_of_call = 0, means fail.
+typedef l4ccsm_cc_srvcc_transfer_req_struct l4ccsm_cc_srvcc_transfer_cnf_struct;
+
+#ifdef __TC7__CS__SUPPORT__
+
+typedef enum {
+ CALL_EXIST = 0,
+ CALL_NO_EXIST
+} cs_call_status_enum;
+
+typedef struct {
+ kal_uint8 ref_count;
+ kal_uint16 msg_len;
+ cs_call_status_enum call_status;
+ kal_uint8 is_mt_call;
+}l4cuas_cs_status_req_struct;
+#endif
+
+#endif
+
+