| #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 |