[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/ims/sdm_atp_struct.h b/mcu/protocol/interface/ims/sdm_atp_struct.h
new file mode 100644
index 0000000..8ecb48e
--- /dev/null
+++ b/mcu/protocol/interface/ims/sdm_atp_struct.h
@@ -0,0 +1,767 @@
+/*****************************************************************************
+*  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) 2013
+*
+*  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:
+ * ------------
+ *   sdm_atp_struct.h
+ *
+ * Project:
+ * ------------
+ *   MOLY
+ *
+ * Description:
+ * ------------
+ *   This file defines the interface messages between SDM and IMS Proxy.
+ *
+ * Author:
+ * -----------
+ * -------
+ *
+ *===========================================================
+ * $Log$
+ *
+ * 08 20 2021 vishwas.hegde
+ * [MOLY00693453] [In-house][MPR][CYCLE-7][MT6890][Colgin][India][[Delhi]][4GMM][MP7][FreeTest][RJIO]DUT is not able to recieve SMS
+ * 	
+ * 	.
+ *
+ * 09 18 2020 chen-wei.lan
+ * [MOLY00568087] [Gen97] Support 5g t911
+ * 5G-911
+ *
+ * 09 11 2020 chen-wei.lan
+ * [MOLY00568087] [Gen97] Support 5g t911
+ * 	
+ * 	[MPD]t911
+ *
+ * 07 27 2020 yulong.chang
+ * [MOLY00549478] [Gen97][HE3.0]N3GPP offload over data feature
+ * VoData SDM part
+ *
+ * 03 25 2020 chen-wei.lan
+ * [MOLY00499773] [FTAA][CNY][MDST][SWIFT][MT6873][Margaux][Q0][MP2][SQC][NSA][China][Shanghai][Static][SIM1:CU][SIM2:Verizon]Externel (EE),0,0,99,/data/vendor/core/,1,modem,[Fatal error(buf)] err_code1:0x00000823 err_code2:0x00000100 err_code3:0xCCCCCCCC MD Offender:NAS
+ * IMS SMS MT END
+ *
+ * 02 07 2020 chen-wei.lan
+ * [MOLY00498827] [Need Patch] [Sanity Fail] Failed SMS sending on  LTE / UMTS / GSM mode.
+ * nas register status
+ *
+ * 09 25 2019 chen-wei.lan
+ * [MOLY00443561] [Gen97] SCBM
+ * SCBM
+ *
+ * 07 12 2019 chen-wei.lan
+ * [MOLY00346647] [MT6297][VDM/L4] changes for 97
+ * 	
+ * 	[SDM patch back]7342306
+ *
+ * 03 12 2019 ian-yw.chen
+ * [MOLY00390240] [Gen97] SMS features and revise
+ *  .
+ *
+ * 06 27 2018 hsuanchang.chen
+ * [MOLY00335837] [¶³UT] Fix ¶³UT issue
+ * . Fix Cloud UT issue
+ *
+ * 08 07 2017 hsuanchang.chen
+ * [MOLY00220138] [SDM] LR12 to UMOLYA sync
+ * 	
+ * 	. sync [MOLY00261843] [CDMA-less][LR11.MP5] main feature CR (SDM)
+ *
+ * 04 05 2017 hsuanchang.chen
+ * [MOLY00237411] [6293][PreIT] UTK/STK SMS Flow Merge
+ * 	
+ * 	. interface
+ *
+ * 04 05 2017 hsuanchang.chen
+ * [MOLY00232032] [SDM] [MT SMS AT Merge] merge +CMT/+EIMSCMT and +CDS/+EIMSCDS
+ * 	
+ * 	. ATP and interface
+ *
+ * 04 05 2017 hsuanchang.chen
+ * [MOLY00229182] [MT6293] EIMSCFG for SDM (SDM replace WFC enable to vowifi enable)
+ * .
+ *
+ * 03 24 2017 hsuanchang.chen
+ * [MOLY00228407] [SDM] Internal Re-arch
+ * 	
+ * 	add +ECFGSET/+ECFGGET for SDM Profile
+ *
+ * 03 20 2017 hsuanchang.chen
+ * [MOLY00228407] [SDM] Internal Re-arch
+ * 	
+ * 	. remove tab and un-used code
+ *
+ * 01 06 2017 hsuanchang.chen
+ * [MOLY00220510] [93 PREIT_DEV][UMOLYA] Rename IMSP interface/context/API to ATP and reorg folder layout
+ *     
+ *     . SDM interface part
+ *
+ * 12 15 2016 hsuanchang.chen
+ * [SDM] rename IMSP to ATP
+ *
+ * 10 25 2016 zhichao.zhao
+ * [MOLY00204308] [Áªµ÷][Jade][CT][VoLTE]SDM will not select CS domain for SMS when CS is unregistered in LTE
+ *     
+ *     .
+ *
+ * 05 23 2016 ian-yw.chen
+ * [MOLY00180481] [SDM][ATT req.] Report start and end of MO SMS over IMS to AP (SDM/IMSP part)
+ * .
+ *
+ * 03 24 2016 chinte.chen
+ * [MOLY00167924] [L4][R12] Handling of SCM at VDM/SDM/L4 part
+ * .
+ *
+ * 03 15 2016 ian-yw.chen
+ * [MOLY00169015] [COPY CR][VzW][MT6735][Pre-LC][AT command][2.51]  case fail at AT+CMSS=1, shows error
+ * SDM part
+ *
+ * 03 02 2016 ian-yw.chen
+ * [MOLY00163894] [SMS][TC01] 3GPP2 SMS over IMS
+ * [MT/PP download/STK] interface
+ *
+ * 03 02 2016 ian-yw.chen
+ * [MOLY00163894] [SMS][TC01] 3GPP2 SMS over IMS
+ *  [MO] interfaces
+ *
+ * 03 01 2016 ian-yw.chen
+ * [MOLY00147454] VZW 3GPP2 SMS over IMS
+ *  SDM and interfaces
+ *
+ * 09 18 2015 mika.leinonen
+ * [MOLY00141364] [WWFT][MT6755][Jade][EU][Telefonica][VoLTE][Germany][FT] SMS must be sent over SGs in Telefonica Germany networks
+ *     Integration change for UMOLY TRUNK.
+ *     Dynamic framework implemented to configure MO SMS domain preferences in 4G per operator country variant.
+ *     Review SDM: http://mtksap20:8080/go?page=ReviewDisplay&reviewid=213739
+ *     Review IMSP: http://mtksap20:8080/go?page=ReviewDisplay&reviewid=213748
+ *
+ * 08 26 2015 ben.chiu
+ * [MOLY00138217] [ViLTE] M0 migration ViLTE feature Interface
+ * ViLTE interface patch back
+ *
+ * 07 30 2015 chinte.chen
+ * [MOLY00132834] [COPY_CR][TMO][EM] Enable/Disable SMS over SGs through EM for TMO requirement 58071
+ * .
+ *
+ * 07 09 2015 nick.wang
+ * [MOLY00127009] WFC Patch back to UMOLY- interface part
+ * .moly wfc interface patch
+ *
+ * 07 09 2015 nick.wang
+ * [MOLY00127009] WFC Patch back to UMOLY- interface part
+ *     .jade interface sync
+ *
+ * 05 08 2015 chinte.chen
+ * [MOLY00110919] [SAT] Support STK SMS over IP
+ * .
+ *
+ * 12 01 2014 chinte.chen
+ * [MOLY00086104] [SDM][Revise] remove redundant src_id from IMSP/SDM/IMCSMS
+ * .
+ *
+ * 11 22 2013 chinte.chen
+ * [MOLY00047460] [MT6582LTE][IMS][VoLTE][Basic IT][IT3-045] Memory status reporting re-enable of SMSoIP
+ * .
+ *
+ * 09 30 2013 chinte.chen
+ * [MOLY00038966] [6290E1][VoLTE][IT][BringUp] Unable to complete RAT mode config
+ * .
+ *
+ * 09 23 2013 jeff.wu
+ * [MOLY00038672] [6290E1][VoLTE][IT][BringUp] SDM assert when receiving SMS over IP config ind
+ * Rename sdm_atp_sms_over_ip_config_ind_struct to match msg id.
+ *
+ * 09 16 2013 chinte.chen
+ * [MOLY00038029] [6290E1][VoLTE][IT][SMS] fixed SMS related build error
+ * .
+ *****************************************************************************/
+
+#ifndef SDM_ATP_STRUCT_H
+#define SDM_ATP_STRUCT_H
+
+#include "ps_public_struct.h"
+#include "sdm_imcsms_enums.h"
+#include "ims_common_def.h"
+#include "sdm_atp_enums.h"
+#include "sim_public_enum.h"
+#include "c2k_sms_enums.h"
+#include "ps_public_enum.h"
+
+
+#define _C2K_MT_SMS_AT_MERGE_  1
+#define MAX_C2K_SMS_PDU_LENGTH 255
+
+/*************************************
+*
+*    IMS domain
+*
+*************************************/
+
+/* MSG_ID_SDM_ATP_CMD_SEND_SMS_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cmd_send_sms_ind_struct;
+
+
+/* MSG_ID_SDM_ATP_CMD_SEND_SMS_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cmd_send_command_ind_struct;
+
+
+/* MSG_ID_SDM_ATP_CMD_SEND_SMS_RSP */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_bool    is_mr_present;
+    kal_uint8   mr_value;
+    kal_bool    is_err_cause_present;
+    kal_uint16  err_cause_value;
+} sdm_atp_cmd_send_sms_rsp_struct;
+
+
+/* MSG_ID_SDM_ATP_URC_RCV_SMS_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+    sms_addr_struct   sc_addr;
+} sdm_atp_urc_rcv_sms_req_struct;
+
+/* MSG_ID_SDM_ATP_CMD_SEND_DELIVER_REPORT_IND */
+/* MSG_ID_SDM_ATP_CMD_SEND_CS_DELIVER_REPORT */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8   n_value;
+    kal_uint8   length;     
+    kal_bool    is_cdscnma;
+    atp_cmd_mode_enum cmd_mode;
+} sdm_atp_cmd_send_deliver_report_ind_struct, sdm_atp_cmd_send_cs_deliver_report_struct;
+
+typedef struct{
+    LOCAL_PARA_HDR
+    wfc_profile_enum wfc_profile;
+} sdm_atp_cmd_wfc_profile_ind_struct, sdm_atp_cmd_set_wfc_profile_req_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool            volte_enable;
+    kal_bool            vilte_enable;
+    kal_bool            vowifi_enable;
+    kal_bool            viwifi_enable; 
+    kal_bool            ims_sms_enable; 
+    kal_bool            eims_enable;    
+} sdm_atp_cmd_eimscfg_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool            is_vodata_enable;    
+} sdm_atp_cmd_evodata_ind_struct;
+
+/* MSG_ID_SDM_ATP_CMD_SEND_MEM_AVL_NOTIF_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8   smma;       /* 0:abort the smma, 1:send smma */
+} sdm_atp_cmd_send_mem_avl_notif_ind_struct;
+
+
+/* MSG_ID_SDM_ATP_CMD_SEND_SMMA_UPDATE_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_bool    update_mem;  /* TRUE if SDM rcv +EMEMS=1,1 */
+    kal_bool    update_file; /* TRUE if SDM rcv MEM_AVL_NOTIF_CNF */
+} sdm_atp_cmd_send_smma_update_req_struct;
+
+
+/* MSG_ID_SDM_ATP_IMS_REG_STATUS_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    ims_reg_state_enum         ims_reg_state;
+    ims_reg_type_enum          ims_reg_type;
+    ims_access_rat_enum        rat;
+    ims_reg_service_enum       ims_reg_service;
+    ims_ecmp_enum              ecmp;
+    ims_reg_sip_uri_type_enum  sip_uri_type;
+} sdm_atp_ims_reg_status_ind_struct;
+
+
+/* MSG_ID_SDM_ATP_SMS_OVER_IP_CONFIG_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8   sms_over_ip_nw_ind;
+} sdm_atp_sms_over_ip_config_ind_struct;
+
+/* MSG_ID_SDM_ATP_IMSI_GET_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_imsi_get_req_struct;
+
+/* MSG_ID_SDM_ATP_IMSI_GET_CNF */
+typedef struct{
+    LOCAL_PARA_HDR
+    sdm_at_cmd_result_enum result;
+} sdm_atp_imsi_get_cnf_struct;
+
+/* MSG_ID_SDM_ATP_CMD_STK_SMS_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cmd_stk_sms_ind_struct;
+
+/* MSG_ID_SDM_ATP_STK_SMS_QUERY_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_stk_sms_query_req_struct;
+
+/* MSG_ID_SDM_ATP_STK_SMS_QUERY_CNF */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8 pdu_len;
+    kal_uint8 sms_pdu[MAX_SMS_PDU_LEN];
+    sdm_system_type_enum system_type;
+} sdm_atp_stk_sms_query_cnf_struct;
+
+/* MSG_ID_SDM_ATP_STK_SMS_TR_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+    sat_terminal_res_enum tr;
+    kal_bool addition_info_present;
+    kal_uint8 addition_info;
+} sdm_atp_stk_sms_tr_req_struct;
+
+/* MSG_ID_SDM_ATP_IMS_SMS_SMART_CONGESTION_REQ*/
+typedef struct
+{
+    LOCAL_PARA_HDR
+    sdm_ims_session_indication_enum indication;   // CSCM=<SMSoIP=2>,<start-end indication>, Start:1, End:2
+
+} sdm_atp_ims_sms_smart_congestion_req_struct;
+
+
+/* MSG_ID_SDM_ATP_CMD_SEND_SMS_DELIVER_IND*/
+typedef struct
+{
+    LOCAL_PARA_HDR
+    sdm_sms_domain_enum sms_domain;   
+} sdm_atp_cmd_send_sms_deliver_ind_struct;
+
+/* MSG_ID_SDM_ATP_CMD_SEND_C2K_SMS_DELIVER_IND*/
+typedef struct
+{
+    LOCAL_PARA_HDR 
+    kal_uint8 pdu_len;
+    kal_uint8 pdu[MAX_C2K_SMS_PDU_LENGTH];    
+} sdm_atp_cmd_send_c2k_sms_deliver_ind_struct;
+
+/* MSG_ID_SDM_ATP_SMS_DELIVER_URC_IND */
+typedef struct
+{
+  LOCAL_PARA_HDR  
+} sdm_atp_sms_deliver_urc_ind_struct;
+
+/* MSG_ID_SDM_ATP_C2K_SMS_DELIVER_URC_IND */
+typedef struct
+{
+  LOCAL_PARA_HDR  
+} sdm_atp_c2k_sms_deliver_urc_ind_struct;
+
+/* MSG_ID_SDM_ATP_CMD_SEND_STATUS_REPORT_IND*/
+typedef struct
+{
+    LOCAL_PARA_HDR
+    sdm_sms_domain_enum sms_domain;   
+} sdm_atp_cmd_send_status_report_ind_struct;
+
+/* MSG_ID_SDM_ATP_STATUS_REPORT_URC_IND */
+typedef struct
+{
+  LOCAL_PARA_HDR  
+} sdm_atp_status_report_urc_ind_struct;
+
+/*
+   MSG_ID_SDM_ATP_IMS_NORMAL_SMS_SMART_CONGESTION_START_REQ,
+   MSG_ID_SDM_ATP_IMS_STK_SMS_SMART_CONGESTION_START_REQ,
+   MSG_ID_SDM_ATP_IMS_CMSS_SMS_SMART_CONGESTION_START_REQ,
+   MSG_ID_SDM_ATP_IMS_C2K_SMS_SMART_CONGESTION_START_REQ,
+   MSG_ID_SDM_ATP_IMS_UTK_SMS_SMART_CONGESTION_START_REQ,
+*/
+typedef struct
+{
+    LOCAL_PARA_HDR
+} sdm_atp_ims_sms_smart_congestion_start_req_struct;
+
+typedef sdm_atp_ims_sms_smart_congestion_start_req_struct sdm_atp_ims_normal_sms_smart_congestion_start_req_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_req_struct sdm_atp_ims_stk_sms_smart_congestion_start_req_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_req_struct sdm_atp_ims_cmss_sms_smart_congestion_start_req_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_req_struct sdm_atp_ims_c2k_sms_smart_congestion_start_req_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_req_struct sdm_atp_ims_utk_sms_smart_congestion_start_req_struct;
+
+/* MSG_ID_SDM_ATP_IMS_SMS_SMART_CONGESTION_STOP_REQ */
+typedef struct
+{
+    LOCAL_PARA_HDR
+} sdm_atp_ims_sms_smart_congestion_stop_req_struct;
+
+/*
+   MSG_ID_SDM_ATP_IMS_NORMAL_SMS_SMART_CONGESTION_START_CNF,
+   MSG_ID_SDM_ATP_IMS_STK_SMS_SMART_CONGESTION_START_CNF,
+   MSG_ID_SDM_ATP_IMS_CMSS_SMS_SMART_CONGESTION_START_CNF,
+   MSG_ID_SDM_ATP_IMS_C2K_SMS_SMART_CONGESTION_START_CNF,
+   MSG_ID_SDM_ATP_IMS_UTK_SMS_SMART_CONGESTION_START_CNF,
+*/
+typedef struct{
+    LOCAL_PARA_HDR
+    sdm_at_cmd_result_enum result;
+} sdm_atp_ims_sms_smart_congestion_start_cnf_struct;
+
+typedef sdm_atp_ims_sms_smart_congestion_start_cnf_struct sdm_atp_ims_normal_sms_smart_congestion_start_cnf_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_cnf_struct sdm_atp_ims_stk_sms_smart_congestion_start_cnf_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_cnf_struct sdm_atp_ims_cmss_sms_smart_congestion_start_cnf_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_cnf_struct sdm_atp_ims_c2k_sms_smart_congestion_start_cnf_struct;
+typedef sdm_atp_ims_sms_smart_congestion_start_cnf_struct sdm_atp_ims_utk_sms_smart_congestion_start_cnf_struct;
+
+/* MSG_ID_SDM_ATP_IMS_SMS_SMART_CONGESTION_STOP_CNF */
+typedef struct{
+    LOCAL_PARA_HDR
+    sdm_at_cmd_result_enum result;
+} sdm_atp_ims_sms_smart_congestion_stop_cnf_struct;
+
+/* MSG_ID_SDM_ATP_IMS_SMS_SMART_CONGESTION_URC_IND */
+typedef struct
+{
+    LOCAL_PARA_HDR
+    sdm_ims_session_indication_enum indication;   // <start-end indication> Start:1, End:2
+
+} sdm_atp_ims_sms_smart_congestion_urc_ind_struct;
+/*******************/
+/* C2K SMS over IMS */
+/*******************/
+
+/* MSG_ID_SDM_ATP_CMD_SEND_C2K_SMS_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_bool                 is_da_valid;
+    kal_bool                 is_international;
+    kal_uint8                da[MAX_C2K_SMS_DA];    
+} sdm_atp_cmd_send_c2k_sms_ind_struct;
+
+/* MSG_ID_SDM_ATP_CMD_SEND_C2K_SMS_RSP */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8            error_class;
+    kal_uint16           cause_code;
+    kal_uint16           msg_id;  
+} sdm_atp_cmd_send_c2k_sms_rsp_struct;
+
+
+/* MSG_ID_SDM_ATP_URC_RCV_C2K_SMS_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_urc_rcv_c2k_sms_req_struct;
+
+
+/* MSG_ID_SDM_ATP_SEND_C2K_MSG_URC_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint16 length;
+    kal_uint8  pdu[MAX_SMS_PDU_LEN];
+} sdm_atp_send_c2k_msg_urc_ind_struct;
+
+
+/* MSG_ID_SDM_ATP_CMD_SEND_C2K_ACKNOWLEDGE_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cmd_send_c2k_acknowledge_ind_struct;
+
+
+/*************************************
+*
+*    CS domain
+*
+*************************************/
+
+/* MSG_ID_SDM_ATP_CS_SMS_SUBMIT */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cs_sms_submit_struct;
+
+
+/* MSG_ID_SDM_ATP_CS_SMS_SUBMIT_REPORT_ACK */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cs_sms_submit_report_ack_struct;
+
+
+/* MSG_ID_SDM_ATP_CS_SMS_SUBMIT_REPORT_NACK */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cs_sms_submit_report_nack_struct;
+
+
+/* MSG_ID_SDM_ATP_CS_SMS_COMMAND */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cs_sms_command_struct;
+
+/* MSG_ID_SDM_ATP_CS_SMS_SMMA */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8   smma;   /*0:abort the smma, 1: send smma*/
+} sdm_atp_cs_sms_smma_struct;
+
+/* MSG_ID_SDM_ATP_SMS_OVER_SGS_CONFIG_IND */
+typedef struct
+{
+    LOCAL_PARA_HDR 
+    kal_bool enable;
+} sdm_atp_sms_over_sgs_config_ind_struct;
+
+/* MSG_ID_SDM_ATP_CS_STK_SMS_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+} sdm_atp_cs_stk_sms_req_struct;
+
+/* MSG_ID_SDM_ATP_CS_STK_SMS_CNF */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8 result;
+    sat_terminal_res_enum tr;
+    kal_bool addition_info_present;
+    kal_uint8 addition_info;
+} sdm_atp_cs_stk_sms_cnf_struct;
+
+/*************************************
+*
+*    CMSS: Message Send from Storage
+*
+*************************************/
+
+/* MSG_ID_SDM_ATP_CMD_SEND_CMSS_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8           index;
+    l4c_number_struct    da;
+} sdm_atp_cmd_send_cmss_ind_struct;
+
+/* MSG_ID_SDM_ATP_CMD_SEND_CMSS_RSP */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_bool    is_mr_present;
+    kal_uint8   mr_value;
+    kal_bool    is_err_cause_present;
+    kal_uint16  err_cause_value;
+} sdm_atp_cmd_send_cmss_rsp_struct;
+
+/* MSG_ID_SDM_ATP_CMSS_IMS_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_bool            is_retry;
+    kal_uint8           domain;     //Domain = 0 for IMS; Domain = 1 for CS
+    kal_uint8           mr;
+    kal_uint8           index;
+    l4c_number_struct   da;
+} sdm_atp_cmss_ims_req_struct;
+
+typedef  sdm_atp_cmss_ims_req_struct sdm_atp_cmss_cs_req_struct;
+
+/* MSG_ID_SDM_ATP_CMSS_IMS_CNF */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_uint8           result;     
+                    //<result> 0: if unable to get the PDU correctly from the storage
+                    //         1: if operation is successful
+                    //         2: if sending the SMS over CS domain fails, but PDU is successfully retrieved. 
+                    //               (Only Possible if the domain is CS)
+    sms_addr_struct     sca;
+    kal_uint8           mr;
+} sdm_atp_cmss_ims_cnf_struct;
+
+typedef sdm_atp_cmss_ims_cnf_struct sdm_atp_cmss_cs_cnf_struct;
+
+/* MSG_ID_SDM_ATP_UPDATE_MSG_BOX_REQ */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_bool            result;
+    kal_uint8           mr;
+} sdm_atp_update_msg_box_req_struct;
+
+/* MSG_ID_SDM_ATP_UPDATE_MSG_BOX_CNF */
+typedef struct{
+    LOCAL_PARA_HDR
+    kal_bool           result;
+} sdm_atp_update_msg_box_cnf_struct;
+
+/*************************************
+*
+*    miscellaneous
+*
+*************************************/
+
+/*
+ * @brief 
+ * @note MSG_ID_ATP_SDM_ECFG_SET_REQ
+ *       AT> AT+ECFGSET=<cfg_name>,<cfg_value>
+ */
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8    name[64];      
+    kal_uint8    value[128];    
+} sdm_atp_ecfg_set_req_struct;
+
+/*
+ * @brief 
+ * @note MSG_ID_ATP_SDM_ECFG_SET_CNF
+ *       AT< OK or +CME ERROR:<err>
+ */
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool            result; // KAL_TRUE-success; KAL_FALSE-fail
+    ims_err_id_enum     cause;  
+                                
+} sdm_atp_ecfg_set_cnf_struct;
+
+
+/*
+ * @brief 
+ * @note MSG_ID_ATP_SDM_ECFG_GET_REQ
+ *       AT> AT+ECFGSET=<cfg_name>
+ */
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8    name[64];      
+} sdm_atp_ecfg_get_req_struct;
+
+
+/*
+ * @brief 
+ * @note MSG_ID_ATP_SDM_ECFG_GET_CNF
+ *       AT< +ECFGGET:<cfg_name>,<cfg_value>
+ *       AT< OK or +CME ERROR:<err>
+ */
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool            result;     // KAL_TRUE-success; KAL_FALSE-fail
+    ims_err_id_enum     cause;      
+                                    
+    kal_uint8           name[64];   
+    kal_uint8           value[128]; 
+} sdm_atp_ecfg_get_cnf_struct;
+
+/* 
+* @brief 
+* @note MSG_ID_SDM_ATP_REPORT_PSI_URC_IND
+*       +EPSI: <psi>    
+*/
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8           psi[128];
+} sdm_atp_report_psi_urc_ind_struct;
+
+/*
+ *  MSG_ID_ATP_SDM_SMS_STATUS_IND
+ *       +C5GUSMS: <sms_available>, <sms_allowed>
+ */
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_uint8  sms_available;    
+    kal_uint8  sms_allowed;
+} atp_sdm_sms_status_urc_ind_struct; 
+
+/* MSG_ID_SDM_ATP_CMD_EXIT_SCBM_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    exit_scbm_reason_enum            reason;
+} sdm_atp_cmd_exit_scbm_ind_struct;
+
+/* MSG_ID_SDM_ATP_SEND_SCBM_URC_IND */
+typedef struct{
+    LOCAL_PARA_HDR
+    md_scbm_status_enum              md_scbm_status;
+} sdm_atp_send_scbm_urc_ind_struct;
+
+/******************************************************************************
+ * AT+EAPPROVE:<dial_string>
+ * +EAPPROVE:<is_allowed>,<is_emergency>
+ *****************************************************************************/
+typedef struct 
+{  
+    LOCAL_PARA_HDR 
+    kal_uint8                       dial_num[MAX_CC_ATD_NUM_LEN];
+} sdm_atp_fdn_ecc_check_req_struct;
+
+typedef struct 
+{  
+    LOCAL_PARA_HDR
+    kal_bool                        is_allowed;
+    kal_bool                        is_emergency;
+    kal_uint16                      emergency_service_category;
+} sdm_atp_fdn_ecc_check_cnf_struct;
+
+/******************************************************************************
+ * AT+ESMSEND:<domain>,<direction>
+ *****************************************************************************/
+typedef struct 
+{  
+    LOCAL_PARA_HDR 
+    sdm_sms_current_domain_enum     domain; //0: cs, 1: ims
+    kal_uint8                       direction; //0: mo, 1: mt
+} sdm_atp_ims_mt_sms_end_req_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool            is_ut_mode_valid;
+    kal_bool            ut_mode;
+    kal_bool            is_force_sms_category_valid;
+    kal_uint8           force_sms_category; //0: normal, 1: emergency
+} sdm_ut_config_struct;
+
+/******************************************************************************
+ * +EIMSINFO: <rat>,<cell_id>,<cell_service>, <plmn_id>,<plmn_type>,
+ *            <lac>,<tac>,<support_emc>,<lte_underly_cs_plmn_id>
+ *****************************************************************************/
+typedef struct 
+{  
+    LOCAL_PARA_HDR 
+    rat_enum                        rat;
+    cell_service_enum               cell_service;
+    kal_bool                        is_limited_service_emc_support;
+    kal_uint32                      cell_id;
+    plmn_id_struct                  plmn_id;
+    domain_id_enum                  domain_id;
+    plmn_id_struct                  lte_cs_plmn_id;//LTE underlying CS PLMN ID, only available for LTE combined attach UE
+} sdm_atp_cell_info_update_ind_struct;
+
+#endif // SDM_ATP_STRUCT_H
+