[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/ddm/atp_ursp_struct.h b/mcu/protocol/interface/ddm/atp_ursp_struct.h
new file mode 100644
index 0000000..1fc10c1
--- /dev/null
+++ b/mcu/protocol/interface/ddm/atp_ursp_struct.h
@@ -0,0 +1,170 @@
+#ifndef _ATP_URSP_STRUCT_H
+#define _ATP_URSP_STRUCT_H
+
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+#include "mcd_l3_inc_struct.h"
+#include "atcmd_struct.h"
+#include "ursp_public_defs.h"
+#include "ursp_struct.h"
+
+/*******************************************************************************/
+/* Caution!! */
+/* LOCAL_PARA_HDR and src_id MUST be the 1st and 2nd parameters, respectively. */
+/*******************************************************************************/
+#define ATP_URSP_REQ_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 src_id; \
+ kal_uint32 cmd_mode;
+
+#define ATP_URSP_CNF_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 src_id; \
+ kal_bool is_success; \
+ kal_uint16 err_cause;
+
+#define ATP_URSP_IND_LOCAL_PARA_HDR \
+ LOCAL_PARA_HDR \
+ kal_uint32 src_id;
+
+
+/*******************************************************************************
+ * URSP Internal *
+ *******************************************************************************/
+
+// => Internal data type for URSP
+typedef struct
+{
+ atcmd_SSC_mode_enum ssc_mode; // by default ATCMD_SSC_MODE_MAX
+ at_s_nssai_struct s_nssai; // by default is_sst_present, is_sd_present, is_mapped_configured_sst_present, is_mapped_configured_sd_present) = (KAL_FALSE, KAL_FALSE, KAL_FALSE, KAL_FALSE)
+ kal_char dnn[URSP_DNN_SIZE]; // by default a NULL string
+ pdp_addr_type_enum pdx_type; // by default NULL_PDP_ADDR_TYPE in ps_public_enum_public.h
+ atcmd_Access_type_enum access_type; // by default ATCMD_ACCESS_TYPE_MAX
+}ursp_at_ue_local_conf_struct;
+typedef ursp_at_ue_local_conf_struct ursp_at_est_req_param_struct;
+
+/******************************************************************************************************************************************************************************
+* AT+EGURSPRDP[=<cid>] *
+*******************************************************************************************************************************************************************************/
+
+// MSG_ID_ATP_D2AT_EGURSPRDP_REQ
+typedef struct
+{
+ ATP_URSP_REQ_LOCAL_PARA_HDR
+
+ kal_int32 cid;
+}atp_d2at_egursprdp_req_struct;
+
+// MSG_ID_ATP_D2AT_EGURSPRDP_IND
+typedef struct
+{
+ ATP_URSP_IND_LOCAL_PARA_HDR
+
+ kal_int32 cid;
+
+ int type;
+ union
+ {
+ ursp_est_req_param_struct est_req;
+ struct
+ {
+ ursp_traffic_desc_struct traffic_desc;
+ ursp_ue_local_conf_struct ue_local_conf;
+ kal_bool match_all_disallow;
+ }app_req;
+ }param;
+}atp_d2at_egursprdp_ind_struct;
+
+// MSG_ID_ATP_D2AT_EGURSPRDP_CNF
+typedef struct
+{
+ ATP_URSP_CNF_LOCAL_PARA_HDR
+
+ kal_int32 res;
+}atp_d2at_egursprdp_cnf_struct;
+
+
+/******************************************************************************************************************************************************************************
+* +EGURSPREEVALU: <cid>,<event> *
+*******************************************************************************************************************************************************************************/
+
+// MSG_ID_ATP_D2AT_EGURSPREEVAL_URC_IND
+typedef struct
+{
+ ATP_URSP_IND_LOCAL_PARA_HDR
+
+ kal_int32 cid;
+ kal_uint32 event;
+}atp_d2at_egurspreeval_urc_ind_struct;
+
+
+/******************************************************************************************************************************************************************************
+* AT+EGUEPOLICY=0,"<plmn_id>"[,"<ue_policy_part_content>"] *
+* AT+EGUEPOLICY=1,"<plmn_id>"[,<rule_precedence>,"<traffic_desc>",<num_of_route_sel_desc>[,<route_sel_desc_precedence>,"<route_sel_desc>"][...]][...]
] *
+*******************************************************************************************************************************************************************************/
+
+// MSG_ID_ATP_D2AT_EGUEPOLICY_REQ
+typedef struct
+{
+ ATP_URSP_REQ_LOCAL_PARA_HDR
+
+ plmn_id_struct plmn_id;
+ kal_uint8 num_of_rule;
+ ursp_rule_struct rule_list[URSP_UE_POLICY_MAX_RULE_LIST_SIZE]; // 'eight' refers to the maximum size of allowed NSSAI, i.e. at most eight different slices
+}atp_d2at_eguepolicy_req_struct;
+
+// MSG_ID_ATP_D2AT_EGUEPOLICY_CNF
+typedef struct
+{
+ ATP_URSP_CNF_LOCAL_PARA_HDR
+
+ kal_int32 res;
+}atp_d2at_eguepolicy_cnf_struct;
+
+
+/******************************************************************************************************************************************************************************
+* +EGUEPOLICYU:<plmn_id> *
+*******************************************************************************************************************************************************************************/
+
+// MSG_ID_ATP_D2AT_EGUEPOLICY_URC_IND
+typedef struct
+{
+ ATP_URSP_IND_LOCAL_PARA_HDR
+
+ plmn_id_struct plmn_id;
+}atp_d2at_eguepolicy_urc_ind_struct;
+
+
+/******************************************************************************************************************************************************************************
+* AT+EGUEPOLICYRDP=<msg_type>[,"<plmn_id>"] *
+*******************************************************************************************************************************************************************************/
+
+// MSG_ID_ATP_D2AT_EGUEPOLICYRDP_REQ
+typedef struct
+{
+ ATP_URSP_REQ_LOCAL_PARA_HDR
+
+ kal_int8 msg_type;
+ plmn_id_struct plmn_id;
+}atp_d2at_eguepolicyrdp_req_struct;
+
+// MSG_ID_ATP_D2AT_EGUEPOLICYRDP_IND
+typedef struct
+{
+ ATP_URSP_IND_LOCAL_PARA_HDR
+
+ kal_int8 msg_type;
+ plmn_id_struct plmn_id;
+ kal_uint8 num_of_rule;
+ ursp_rule_struct rule_list[URSP_UE_POLICY_MAX_RULE_LIST_SIZE]; // 'eight' refers to the maximum size of allowed NSSAI, i.e. at most eight different slices
+}atp_d2at_eguepolicyrdp_ind_struct;
+
+// MSG_ID_ATP_D2AT_EGUEPOLICYRDP_CNF
+typedef struct
+{
+ ATP_URSP_CNF_LOCAL_PARA_HDR
+
+ kal_int32 res;
+}atp_d2at_eguepolicyrdp_cnf_struct;
+
+#endif