[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/general/esm_smic_struct.h b/mcu/protocol/interface/general/esm_smic_struct.h
new file mode 100644
index 0000000..1b50780
--- /dev/null
+++ b/mcu/protocol/interface/general/esm_smic_struct.h
@@ -0,0 +1,169 @@
+#ifndef ESM_FAKE_SMIC_STRUCT_H
+#define ESM_FAKE_SMIC_STRUCT_H
+
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+#include "smic_struct.h"
+
+#define ESM_FAKE_SMIC_MAX_PSI 10
+#define ESM_FAKE_SMIC_MAX_EBI 15 //Should refer to ESM_EPSB_ID_TOTAL_NUM in module, ESM
+#define ESM_FAKE_SMIC_MAX_5G_CONFIG_LEN 20 // This only used by log_smic_5g_config_option_struct
+//----- For Simulating SMIC APIs -----//
+typedef struct
+{
+ kal_bool is_ebi_active[ESM_FAKE_SMIC_MAX_EBI + 1]; // ebi -> If state is active;
+} smic_4g_if_ebi_mapped_success_context_struct;
+
+typedef struct
+{
+ esm_smic_epsb_context_struct epsb_context[ESM_FAKE_SMIC_MAX_EBI + 1]; // ebi -> EPSB Context;
+} smic_4g_get_5g4_ebi_context_struct;
+
+typedef struct
+{
+ kal_uint8 psi;
+ kal_uint64 qfi_bitmap;
+} smic_get_ebi_mapped_psi_and_qfi_struct;
+
+typedef struct
+{
+ kal_uint8 psi; //ebi[1] = 5 => ebi 1 <> psi 5
+} smic_get_ebi_mapped_psi_after_23G4_struct;
+
+typedef struct
+{
+ ps_cause_enum cause_to_nw;
+ smic_4g_set_result_enum ret;
+} smic_4g_peer_msg_precheck_struct;
+typedef struct
+{
+ smic_4g_if_ebi_mapped_success_context_struct smic_4g_if_ebi_mapped_success_api;
+ smic_4g_get_5g4_ebi_context_struct smic_4g_get_5g4_ebi_api;
+ smic_get_ebi_mapped_psi_and_qfi_struct smic_get_ebi_mapped_psi_and_qfi_api[ESM_FAKE_SMIC_MAX_EBI + 1]; // ebi -> PSI and QFI Info;
+ smic_get_ebi_mapped_psi_after_23G4_struct smic_4g_get_psi_by_ebi_after_23G4_api[ESM_FAKE_SMIC_MAX_EBI + 1]; // ebi -> PSI
+ smic_4g_peer_msg_precheck_struct smic_4g_peer_msg_precheck[ESM_FAKE_SMIC_MAX_PSI + 1]; // psi -> smic_4g_peer_msg_precheck() output
+ esm_smic_precheck_epsb_context_struct smic_4g_precheck_epsb_context;
+} esm_ut_fake_smic_context_struct;
+
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ esm_ut_fake_smic_context_struct esm_ut_fake_smic_context;
+} esm_ut_set_fake_smic_context_struct; // MSG_ID_ESM_UT_SET_FAKE_SMIC_CONTEXT, used to set g_esm_ut_fake_smic_context
+
+//---- [End] For Simulating SMIC APIS ----//
+
+typedef enum
+{
+ FUNC_IDX_smic_4g_do_context_transfer_4g5 = 1, // Align with the start idx example in esm_uniontag.txt
+ FUNC_IDX_smic_4g_if_ebi_mapped_success,
+ FUNC_IDX_smic_4g_process_pdn_released,
+ FUNC_IDX_smic_4g_get_5g4_ebi_context,
+ FUNC_IDX_smic_get_ebi_mapped_psi_and_qfi,
+ FUNC_IDX_smic_4g_set_associated_ctx_and_pco,
+ FUNC_IDX_smic_4g_get_psi_by_ebi_after_23G4,
+ FUNC_IDX_smic_4g_peer_msg_precheck,
+} esm_log_args_of_smic_api_enum; // Define func_idx<>func_name mapping in esm_uniontag.txt
+
+
+typedef struct
+{
+ kal_uint16 protocol_id;
+ kal_uint16 protocol_config_len;
+ kal_uint8 protocol_config[ESM_FAKE_SMIC_MAX_5G_CONFIG_LEN];
+} log_smic_5g_config_option_struct; // This is only for ESM UT, and should include the same content as smic_5g_config_option_struct
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ esm_log_args_of_smic_api_enum func_idx; // Will determine the which member to use in the union func_name
+ union {
+ struct{
+ //[In]
+ kal_uint8 sim_idx;
+ //[Out]
+ kal_bool ret;
+ } smic_4g_do_context_transfer_4g5;
+
+ struct{
+ //[In]
+ kal_uint8 sim_idx;
+ kal_uint8 ebi;
+ kal_uint8 psi;
+ //[Out]
+ kal_bool ret;
+ } smic_4g_if_ebi_mapped_success;
+
+ struct{
+ //[In]
+ kal_uint8 sim_idx;
+ kal_uint8 ebi;
+ //[Out]
+ //(void)
+ } smic_4g_process_pdn_released;
+
+ struct{
+ //[In]
+ kal_uint8 sim_idx;
+ kal_uint8 ebi;
+ //[Out]
+ esm_smic_epsb_context_struct ebi_ctx;
+ kal_bool ret;
+ } smic_4g_get_5g4_ebi_context;
+
+ struct{
+ //[In]
+ kal_uint8 sim_idx;
+ kal_uint8 ebi;
+ //[Out]
+ kal_uint8 psi;
+ kal_uint64 qfi_bitmap;
+ kal_bool ret;
+ } smic_get_ebi_mapped_psi_and_qfi;
+
+ struct{
+ //[In]
+ kal_uint8 sim_idx;
+ kal_uint8 ebi;
+ kal_uint8 psi;
+ esm_smic_epsb_context_struct associated_ctx;
+ log_smic_5g_config_option_struct pco_5g[SMIC_MAX_NUM_OF_5G_IE_IN_PCO];
+ kal_uint8 num_of_pco_5g;
+ //[Out]
+ //ps_cause_enum cause_to_nw;
+ //tft_bearer_act_enum bearer_action;
+ smic_4g_set_result_enum ret;
+ } smic_4g_set_associated_ctx_and_pco;
+
+ struct
+ {
+ //[In]
+ kal_uint8 sim_idx;
+ kal_uint8 ebi;
+ //[Out]
+ kal_uint8 psi;
+ kal_bool ret;
+ } smic_4g_get_psi_by_ebi_after_23G4;
+
+
+ struct
+ {
+ //[in]
+ kal_uint8 sim_idx;
+ kal_uint8 psi;
+ kal_uint8 ebi;
+ smic_esm_peer_msg_precheck_info_struct esm_precheck_info;
+ log_smic_5g_config_option_struct pco_5g[SMIC_MAX_NUM_OF_5G_IE_IN_PCO];
+ kal_uint8 num_of_pco_5g;
+ tft_bearer_act_enum bearer_action;
+ //[out]
+ ps_cause_enum cause_to_nw;
+ smic_4g_set_result_enum ret;
+ } smic_4g_peer_msg_precheck;
+
+ } func_name;
+} esm_log_args_of_smic_api_struct; // MSG_ID_ESM_LOG_ARGS_OF_SMIC_API
+
+#endif