[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/ims/simmngr_struct.h b/mcu/protocol/interface/ims/simmngr_struct.h
new file mode 100644
index 0000000..2bae879
--- /dev/null
+++ b/mcu/protocol/interface/ims/simmngr_struct.h
@@ -0,0 +1,262 @@
+#ifndef _SIMMNGR_STRUCT_H
+#define _SIMMNGR_STRUCT_H
+
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+#include "atcmd_struct.h"
+#include "ims_common_def.h"
+
+#include "simmngr_def_enums.h"
+
+typedef struct simmngr_sim_type_check_req_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+} simmngr_sim_type_check_req_struct;
+
+typedef struct simmngr_sim_insert_check_req_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+} simmngr_sim_insert_check_req_struct;
+
+typedef struct simmngr_sim_state_check_req_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+} simmngr_sim_state_check_req_struct;
+
+typedef struct simmngr_query_sim_info_req_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint16 request;//simmngr_sim_info_query_enum
+ kal_uint8 sim_type;// 0 : usim, 1 : isim
+ kal_uint8 ch_id;// isim only
+} simmngr_query_sim_info_req_struct;
+
+typedef struct simmngr_write_sim_ef_req_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint16 request;
+ kal_uint8 sim_type;// 0 : usim, 1 : isim
+ kal_uint8 ch_id;// isim only
+ //Data in peer buff struct
+} simmngr_write_sim_ef_req_struct;
+
+typedef struct simmngr_sim_aka_req_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 sim_type;// 0 : usim, 1 : isim
+ kal_uint8 ch_id;// isim only
+ kal_uint8 rand_len;
+ kal_uint8 autn_len;
+ kal_uint8 rand[32];
+ kal_uint8 autn[32];
+} simmngr_sim_aka_req_struct;
+
+typedef struct simmngr_sim_aka_cnf_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 result;
+ kal_uint8 sim_type;
+ kal_uint16 response_len;
+ kal_uint8 response[256];
+} simmngr_sim_aka_cnf_struct;
+
+typedef struct simmngr_sim_gba_auth_req_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 sim_type;// 0 : usim, 1 : isim
+ kal_uint8 ch_id;// isim only
+ kal_uint8 param1_len;
+ kal_uint8 param2_len;
+ kal_uint8 param1[64];
+ kal_uint8 param2[64];
+ kal_uint8 gba_type;
+} simmngr_sim_gba_auth_req_struct;
+
+typedef struct simmngr_sim_gba_auth_cnf_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 result;
+ kal_uint8 sw1;//Only available when result is Success
+ kal_uint8 sw2;//Only available when result is Success
+ kal_uint8 sim_type;
+ kal_uint16 response_len;
+ kal_uint8 response[256];
+} simmngr_sim_gba_auth_cnf_struct;
+
+typedef struct simmngr_sim_insert_check_cnf_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 insert_state;// simmngr_sim_insert_state_enum
+} simmngr_sim_insert_check_cnf_struct;
+
+typedef struct simmngr_query_sim_info_cnf_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint16 request;//simmngr_sim_info_query_enum
+ kal_uint8 result;
+} simmngr_query_sim_info_cnf_struct;
+
+typedef struct simmngr_write_sim_ef_cnf_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint16 request;
+ kal_uint8 result;
+} simmngr_write_sim_ef_cnf_struct;
+
+typedef struct simmngr_sim_type_check_cnf_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 result;
+ kal_uint8 sim_type;// 0 : usim, 1 : isim
+ kal_uint8 ch_id;// isim only
+} simmngr_sim_type_check_cnf_struct;
+
+typedef struct simmngr_imsi_result_t {
+ kal_uint8 imsi[16];
+ kal_uint8 imsi_len;
+ kal_uint8 mnc_len;
+} simmngr_imsi_result_t;
+
+typedef struct simmngr_imei_result_t {
+ kal_uint8 imei[16];
+ kal_uint8 imei_len;
+} simmngr_imei_result_t;
+
+typedef struct simmngr_mnc_len_result_t {
+ kal_uint8 mnc_len;
+} simmngr_mnc_len_result_t;
+
+typedef struct simmngr_psismsc_result_t {
+ kal_uint8 psismsc[256];
+ kal_uint16 psismsc_len;
+} simmngr_psismsc_result_t;
+
+typedef struct simmngr_impu_result_t {
+ kal_uint8 impu_num;
+ kal_uint8 impu_len[20];
+ kal_uint8 impu[20][256];
+} simmngr_impu_result_t;
+
+typedef struct simmngr_smsp_result_t {
+ kal_uint8 smsp[64];
+ kal_uint8 smsp_len;
+} simmngr_smsp_result_t;
+
+typedef struct simmngr_impi_result_t {
+ kal_uint8 impi[256];
+ kal_uint16 impi_len;
+} simmngr_impi_result_t;
+
+typedef struct simmngr_domain_result_t {
+ kal_uint8 domain[256];
+ kal_uint16 domain_len;
+} simmngr_domain_result_t;
+
+typedef struct simmngr_service_table_result_t {
+ kal_uint8 service_table[256];
+ kal_uint16 service_table_len;
+} simmngr_service_table_result_t;
+
+typedef struct simmngr_msisdn_result_t {
+ kal_uint8 msisdn_str_len;
+ kal_uint8 msisdn_str[24];// only 20bytes(string), 4bytes reserved
+} simmngr_msisdn_result_t;
+
+typedef struct simmngr_pcscf_result_t {
+ kal_uint8 pcscf_len[20];// V4 + V6
+ kal_uint8 pcscf[20][128];// V4 + V6
+ kal_uint8 pcscf_num;
+} simmngr_pcscf_result_t;
+
+typedef struct simmngr_trans_ef256_result_t {
+ kal_uint8 ef256_data[256];
+ kal_uint16 ef256_result_len;
+} simmngr_trans_ef256_result_t; //Many EF data are maximum 256 len, so use the same structure
+
+typedef struct simmngr_gid1_result_t {
+ kal_uint8 gid1_len;
+ kal_uint8 gid1[30];//currently we use 30 as max length
+} simmngr_gid1_result_t;
+
+typedef struct simmngr_gid2_result_t {
+ kal_uint8 gid2_len;
+ kal_uint8 gid2[30];//currently we use 30 as max length
+} simmngr_gid2_result_t;
+
+typedef struct simmngr_sim_state_check_cnf_struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint16 state;//simmngr_sim_state_check_cnf_enum
+ kal_uint8 result;
+} simmngr_sim_state_check_cnf_struct;
+
+typedef struct simmngr_sim_data_ind_struct {
+ LOCAL_PARA_HDR
+ kal_uint32 data;
+} simmngr_sim_state_ind_struct,simmngr_sim_data_ind_struct;
+
+typedef struct simmngr_sim_app_ready_ind_struct {
+ LOCAL_PARA_HDR
+ kal_uint32 ch_id;
+ kal_uint8 trans_id; /* Used by DSBP_RECONFIG's users. Use 1~255 in order for each SIM task. */
+} simmngr_usim_detected_ind_struct,simmngr_isim_ch_ind_struct;
+
+/* ATP */
+//From SIMMNGR to ATP
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 value;
+} atp_simmngr_cmee_set_req_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+} atp_simmngr_cpin_query_req_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+} atp_simmngr_esims_query_req_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+} atp_simmngr_imei_query_req_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ //0:ISIM 1:USIM 2:CSIM 3:SIM 4:RUIM
+ kal_uint8 application_id;
+} atp_simmngr_esimapp_query_req_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+//Response to SIMMNGR
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ ims_result_code_enum result;
+ ims_err_id_enum err_id;
+} atp_simmngr_cmee_set_cnf_struct,atp_simmngr_common_at_cnf_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ ims_result_code_enum result;
+ ims_err_id_enum err_id;
+ kal_uint8 code[40]; //Raw data for CPIN, i.e. +CPIN:<code>
+} atp_simmngr_cpin_query_cnf_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 success; //Query Result
+ kal_uint8 inserted_status;
+} atp_simmngr_esims_query_cnf_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ kal_uint8 success; //Query Result
+ kal_uint8 imei_len;
+ kal_uint8 imei[20];
+} atp_simmngr_imei_query_cnf_struct;
+
+typedef struct {
+ SIMMNGR_LOCAL_PARA_HDR
+ ims_result_code_enum result;
+ ims_err_id_enum err_id;
+ kal_uint8 application_id; //For ISIM
+ kal_uint8 ch_id; //For ISIM
+} atp_simmngr_esimapp_query_cnf_struct;
+
+#endif