⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 r64_decode_message.cpp

📁 wimax bs simulator对应的GUI程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
/**********************************************************************************    Copyright (c) 2007, UTStarcom, Inc.**            All Rights Reserved.****    Subsystem : Wimax BS**    File      : r64_decode_message.c**    Created By: scott.wang**    Created On: 1/18/2007****    Purpose:**        R64 decode function**    History:**    Programmer  Date       Rev     Description**    Scott.wang   1/18/2007   0.0     Creating file******************************************************************************/#include "global.h"#include "r64_type_length.h"#include "r64_message_ie.h"#include "r64_message.h"#include "r64_endec.h"#include "common.h"/* decode function type declare */int r64_decode_ft_qos(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_handoff(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_context(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_r3_mobility(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_paging(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_rrm(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_auth_relay(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_acct_info(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);/* decode message type declare */int r64_decode_ft_qos_msg_registration_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_qos_msg_registration_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_qos_msg_pd_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_qos_msg_pd_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_qos_msg_pr_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_qos_msg_pr_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_qos_msg_lu_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_qos_msg_lu_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_handoff_msg_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_handoff_msg_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_handoff_msg_confirm(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_handoff_msg_complete(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_handoff_msg_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_pre_registration(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_registration_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_de_registration_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_modification_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_pre_registration_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_registration_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_de_registration_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_modification_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_registration_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_setup_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_setup_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_modify_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_release_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_release_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_release_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_de_registration_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_data_path_msg_setup_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_context_msg_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_context_msg_report(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_context_msg_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_context_msg_rsp(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_context_msg_ms_info_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_context_msg_ms_info_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_r3_mobility_msg_relocation_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_r3_mobility_msg_relocation_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_r3_mobility_msg_relocation_confirm(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_paging_msg_location_update_reuqest(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_paging_msg_location_update_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_paging_msg_location_update_confirm(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_paging_msg_paging_announce(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_paging_msg_init_paging_req(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_paging_msg_init_paging_rsp(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_rrm_msg_phy_parameter_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_rrm_msg_phy_parameter_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_rrm_msg_spare_capacity_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_rrm_msg_spare_capacity_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_auth_relay_msg_eap_start(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_auth_relay_msg_eap_transfer(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_auth_relay_msg_authenticated_eap_start(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_auth_relay_msg_authenticated_eap_relay(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_delete_ms_context_directive(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_delete_ms_context_directive_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_entry_ms_state_change_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_entry_ms_state_change_directive(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_entry_ms_state_change_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_entry_ms_state_change_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_exit_ms_state_change_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_exit_ms_state_change_directive(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_exit_ms_state_change_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_im_exit_ms_state_change_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_nw_entry_ms_state_change_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_nw_entry_ms_state_change_directive(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_nw_entry_ms_state_change_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_ms_state_change_msg_nw_entry_ms_state_change_response(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_acct_info_msg_request(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_acct_info_msg_report(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);int r64_decode_ft_acct_info_msg_ack(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);/* decode tlv functions */int r64_decode_tlv_context_purpose_indicator(R64_CONTEXT_PURPOSE_INDICATOR_S * p_context_purpose_indicator, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ms_id(R64_MS_ID_S * p_ms_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ms_nai(R64_MS_NAI_S * p_ms_nai, BYTE * p_offset, WORD w_len);int r64_decode_tlv_bs_id(R64_BS_ID_S * p_bs_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sf_id(R64_SFID_S * p_sf_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_cause_code(R64_CAUSE_CODE_S * p_cause_code, BYTE * p_offset, WORD w_len);int r64_decode_tlv_registration_type(R64_REGISTRATION_TYPE_S * p_registration_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_cs_type(R64_CS_TYPE_S * p_cs_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_key_sn(R64_KEY_SN_S * p_key_sn, BYTE * p_offset, WORD w_len);int r64_decode_tlv_gw_id(R64_GW_ID_S * p_gw_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_anchor_gw_info(R64_ANCHOR_GW_INFO_S * p_anchor_gw_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_anchor_authenticator_id(R64_ANCHOR_AUTHENTICATOR_ID_S * p_authenticator_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ak(R64_AK_S * p_ak, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ak_id(R64_AK_ID_S * p_ak_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ak_life_time(R64_AK_LIFE_TIME_S * p_ak_life_time, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ak_sn(R64_AK_SN_S * p_ak_sn, BYTE * p_offset, WORD w_len);int r64_decode_tlv_eap_message(R64_EAP_MESSAGE_S * p_eap_message, BYTE * p_offset, WORD w_len);int r64_decode_tlv_packet_classifier_rule_priority(R64_PACKET_CLASSIFIER_RULE_PRIORITY_S * p_packet_classifier_rule_priority, BYTE * p_offset, WORD w_len);int r64_decode_tlv_dscp_rang_and_mask(R64_DSCP_RANG_AND_MASK_S * p_dscp_rang_and_mask, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ip_protocol(R64_IP_PROTOCOL_S * p_ip_protocol, BYTE * p_offset, WORD w_len);int r64_decode_tlv_source_address_and_mask(R64_SOURCE_ADDRESS_AND_MASK_S * p_source_address_and_mask, BYTE * p_offset, WORD w_len);int r64_decode_tlv_destination_address_and_mask(R64_DESTINATION_ADDRESS_AND_MASK_S * p_destination_address_and_mask, BYTE * p_offset, WORD w_len);int r64_decode_tlv_source_port_range(R64_SOURCE_PORT_RANGE_S * p_source_port_range, BYTE * p_offset, WORD w_len);int r64_decode_tlv_destination_port_range(R64_DESTINATION_PORT_RANGE_S * p_destination_port_range, BYTE * p_offset, WORD w_len);int r64_decode_tlv_trafic_priority(R64_TRAFIC_PRIORITY_S * p_trafic_priority, BYTE * p_offset, WORD w_len);int r64_decode_tlv_maximam_sustained_trafic_rate(R64_MAXIMAM_SUSTAINED_TRAFIC_RATE_S * p_maximam_sustained_trafic_rate, BYTE * p_offset, WORD w_len);int r64_decode_tlv_minimam_reserved_trafic_rate(R64_MINIMAM_RESERVED_TRAFIC_RATE_S * p_minimam_reserved_trafic_rate, BYTE * p_offset, WORD w_len);int r64_decode_tlv_maximam_latency(R64_MAXIMAM_LATENCY_S * p_maximam_latency, BYTE * p_offset, WORD w_len);int r64_decode_tlv_classifier_action(R64_CLASSIFIER_ACTION_S * p_classifier_action, BYTE * p_offset, WORD w_len);int r64_decode_tlv_tolerated_jitter(R64_TOLERATED_JITTER_S * p_tolerated_jitter, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sdu_size(R64_SDU_SIZE_S * p_sdu_size, BYTE * p_offset, WORD w_len);int r64_decode_tlv_unsolicited_grant_interval(R64_UNSOLICITED_GRANT_INTERVAL_S * p_unsolicited_grant_interval, BYTE * p_offset, WORD w_len);int r64_decode_tlv_maximam_trafic_burst(R64_MAXIMAM_TRAFIC_BURST_S * p_maximam_trafic_burst, BYTE * p_offset, WORD w_len);int r64_decode_tlv_service_flow_type(R64_SERVICE_FLOW_TYPE_S * p_service_flow_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_request_transmission_policy_type_of_data_delivery_service(R64_REQUEST_TRANSMISSION_POLICY_TYPE_OF_DATA_DELIVERY_SERVICE_S * p_request_transmission_policy_type_of_data_delivery_service, BYTE * p_offset, WORD w_len);int r64_decode_tlv_reduced_source_code(R64_REDUCED_SOURCE_CODE_S * p_reduced_source_code, BYTE * p_offset, WORD w_len);int r64_decode_tlv_data_path_type(R64_DATA_PATH_TYPE_S * p_data_path_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_data_path_id(R64_DATA_PATH_ID_S * p_data_path_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_reservation_action(R64_RESERVATION_ACTION_S * p_reservation_action, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sa_id(R64_SA_ID_S * p_sa_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sa_index(R64_SA_INDEX_S * p_sa_index, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sa_type(R64_SA_TYPE_S * p_sa_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sa_service_type(R64_SA_SERVICE_TYPE_S * p_sa_service_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_dl_phy_quality_info(R64_DL_PHY_QUALITY_INFO_S * p_dl_phy_quality_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ul_phy_quality_info(R64_UL_PHY_QUALITY_INFO_S * p_ul_phy_quality_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_relative_delay(R64_RELATIVE_DELAY_S * p_relative_delay, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ho_id(R64_HO_ID_S * p_ho_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_service_level_prediction(R64_SERVICE_LEVEL_PREDICTION_S * p_service_level_prediction, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ho_process_optimization(R64_HO_PROCESS_OPTIMIZATION_S * p_ho_process_optimization, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ho_authorization_policy_support(R64_HO_AUTHORIZATION_POLICY_SUPPORT_S * p_ho_authorization_policy_support, BYTE * p_offset, WORD w_len);int r64_decode_tlv_data_path_establishment_option(R64_DATA_PATH_ESTABLISHMENT_OPTION_S * p_data_path_establishment_option, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ho_authorization_policy_indicator(R64_HO_AUTHORIZATION_POLICY_INDICATOR_S * p_ho_authorization_policy_indicator, BYTE * p_offset, WORD w_len);int r64_decode_tlv_action_time(R64_ACTION_TIME_S * p_action_time, BYTE * p_offset, WORD w_len);int r64_decode_tlv_resource_retain_type(R64_RESOURCE_RETAIN_TYPE_S * p_resource_retain_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_resource_retain_time(R64_RESOURCE_RETAIN_TIME_S * p_resource_retain_time, BYTE * p_offset, WORD w_len);int r64_decode_tlv_preamble_index_subchannel_index(R64_PREAMBLE_INDEX_SUBCHANNEL_INDEX_S * p_preamble_index_subchannel_index, BYTE * p_offset, WORD w_len);int r64_decode_tlv_auth_result(R64_AUTH_RESULT_S * p_auth_result, BYTE * p_offset, WORD w_len);int r64_decode_tlv_number_of_uplink_cids(R64_NUMBER_OF_UPLINK_CIDS_S * p_number_of_uplink_cids, BYTE * p_offset, WORD w_len);int r64_decode_tlv_number_of_downlink_cids(R64_NUMBER_OF_DOWNLINK_CIDS_S * p_number_of_downlink_cids, BYTE * p_offset, WORD w_len);int r64_decode_tlv_number_of_classifiers(R64_NUMBER_OF_CLASSIFIERS_S * p_number_of_classifiers, BYTE * p_offset, WORD w_len);int r64_decode_tlv_auth_policy(R64_AUTH_POLICY_S * p_auth_policy, BYTE * p_offset, WORD w_len);int r64_decode_tlv_pkmv2_message_code(R64_PKMV2_MESSAGE_CODE_S * p_pkmv2_message_code, BYTE * p_offset, WORD w_len);int r64_decode_tlv_reservation_result(R64_RESERVATION_RESULT_S * p_reservation_result, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sf_direction(R64_SF_DIRECTION_S * p_sf_direction, BYTE * p_offset, WORD w_len);int r64_decode_tlv_correlation_id(R64_CORRELATION_ID_S * p_correlation_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_target_serving_indicator(R64_TARGET_SERVING_INDICATOR_S * p_target_serving_indicator, BYTE * p_offset, WORD w_len);int r64_decode_tlv_phsi(R64_PHSI_S * p_phsi, BYTE * p_offset, WORD w_len);int r64_decode_tlv_phsm(R64_PHSM_S * p_phsm, BYTE * p_offset, WORD w_len);int r64_decode_tlv_phss(R64_PHSS_S * p_phss, BYTE * p_offset, WORD w_len);int r64_decode_tlv_phsf(R64_PHSF_S * p_phsf, BYTE * p_offset, WORD w_len);int r64_decode_tlv_phsv(R64_PHSV_S * p_phsv, BYTE * p_offset, WORD w_len);int r64_decode_tlv_phs_rule_action(R64_PHS_RULE_ACTION_S * p_phs_rule_action, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_cycle(R64_PAGING_CYCLE_S * p_paging_cycle, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_offset(R64_PAGING_OFFSET_S * p_paging_offset, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_group_id(R64_PAGING_GROUP_ID_S * p_paging_group_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_action(R64_PAGING_ACTION_S * p_paging_action, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_cause(R64_PAGING_CAUSE_S * p_paging_cause, BYTE * p_offset, WORD w_len);int r64_decode_tlv_powerdown_indicator(R64_POWERDOWN_INDICATOR_S * p_powerdown_indicator, BYTE * p_offset, WORD w_len);int r64_decode_tlv_anchor_pc_id(R64_ANCHOR_PC_ID_S * p_anchor_pc_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_lu_status(R64_LU_STATUS_S * p_lu_status, BYTE * p_offset, WORD w_len);int r64_decode_tlv_lu_indicator(R64_LU_INDICATOR_S * p_lu_indicator, BYTE * p_offset, WORD w_len);int r64_decode_tlv_idle_mode_retain_info(R64_IDLE_MODE_RETAIN_INFO_S * p_idle_mode_retain_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_cycle_request(R64_PAGING_CYCLE_REQUEST_S * p_paging_cycle_request, BYTE * p_offset, WORD w_len);int r64_decode_tlv_idle_mode_timer(R64_IDLE_MODE_TIMER_S * p_idle_mode_timer, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_controller_id(R64_PAGING_CONTROLLER_ID_S * p_paging_controller_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_im_event_code(R64_IM_EVENT_CODE_S * p_im_event_code, BYTE * p_offset, WORD w_len);int r64_decode_tlv_authentication_indicator(R64_AUTHENTICATION_INDICATOR_S * p_authentication_indicator, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ho_type(R64_HO_TYPE_S * p_ho_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_pre_reg_result_code(R64_PRE_REG_RESULT_CODE_S * p_pre_reg_result_code, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ho_indication_type(R64_HO_INDICATION_TYPE_S * p_ho_indication_type, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sbc_context(R64_SBC_CONTEXT_S * p_sbc_context, BYTE * p_offset, WORD w_len);int r64_decode_tlv_reg_context(R64_REG_CONTEXT_S * p_reg_context, BYTE * p_offset, WORD w_len);int r64_decode_tlv_pkm_context(R64_PKM_CONTEXT_S * p_pkm_context, BYTE * p_offset, WORD w_len);int r64_decode_tlv_tek_context(R64_TEK_CONTEXT_S * p_tek_context, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ak_context(R64_AK_CONTEXT_S * p_ak_context, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sa_descriptor(R64_SA_DESCRIPTOR_S * p_sa_descriptor, BYTE * p_offset, WORD w_len);int r64_decode_tlv_rule_index(R64_RULE_INDEX_S * p_rule_index, BYTE * p_offset, WORD w_len);int r64_decode_tlv_packet_classification_rule(R64_PACKET_CLASSIFICATION_RULE_S * p_packet_classification_rule, BYTE * p_offset, WORD w_len);int r64_decode_tlv_phs_context(R64_PHS_CONTEXT_S * p_phs_context, BYTE * p_offset, WORD w_len);int r64_decode_tlv_data_path_info(R64_DATA_PATH_INFO_S * p_data_path_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_paging_info(R64_PAGING_INFO_S * p_paging_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_be_data_delivery_service(R64_BE_DATA_DELIVERY_SERVICE_S * p_be_data_delivery_service, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ugs_delivery_service(R64_UGS_DELIVERY_SERVICE_S * p_ugs_delivery_service, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ertvr_delivery_service(R64_ERTVR_DELIVERY_SERVICE_S * p_ertvr_delivery_service, BYTE * p_offset, WORD w_len);int r64_decode_tlv_qos_info_resource_descriptor(R64_QOS_INFO_RESOURCE_DESCRIPTOR_S * p_qos_info_resource_descriptor, BYTE * p_offset, WORD w_len);int r64_decode_tlv_tos_id(R64_TOS_ID_S * p_tos_id, BYTE * p_offset, WORD w_len);int r64_decode_tlv_sf_info(R64_SF_INFO_S * p_sf_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ms_info(R64_MS_INFO_S * p_ms_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_bs_info(R64_BS_INFO_S * p_bs_info, BYTE * p_offset, WORD w_len);int r64_decode_tlv_auth_complete(R64_AUTH_COMPLETE_S * p_auth_complete, BYTE * p_offset, WORD w_len);int r64_decode_tlv_ho_operation_mode(R64_HO_OPERATION_MODE_S * p_ho_operation_mode, BYTE * p_offset, WORD w_len);int r64_decode_tlv_init_paging_rsp_code(R64_INIT_PAGING_RSP_CODE_S * p_init_paging_rsp_code, BYTE * p_offset, WORD w_len);int r64_decode_tlv_acct_info(R64_ACCT_INFO_S * p_acct_info, BYTE * p_offset, WORD w_len);int r64_check_tlvs_len(BYTE * p_buf, WORD w_tlvs_len);int r64_decode_msg_header_r6(UDP_MSG_S * p_udp_msg, R64_MESSAGE_HEAD_S * p_head);int r64_decode_msg_header_r4(UDP_MSG_S * p_udp_msg, R64_MESSAGE_HEAD_S * p_head);int r64_decode_msg_header(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg);DWORD adw_r64_decode_msg_stat[R64_MAX_FUNCTION_TYPE][R64_MAX_MSG_TYPE]={{0}};/********************************************************************************* Function Name: r64_decode_msg** Input parameters description:       a - p_udp_msg, pointer to the msg that contains the original data       b - p_r64_msg, pointer to the msg that saves the encode result** Output results description:       a - ERROR, encode failure       b - SUCCESS, encode success.** function description:      r64 decode function entry*******************************************************************************/int r64_decode_msg(UDP_MSG_S * p_udp_msg, R64_MSG_S * p_r64_msg){    int i_ret = FAILURE;/*    memcpy((BYTE *)p_r64_msg, p_udp_msg->data, p_udp_msg->dataLen);    return SUCCESS;*/    if (FAILURE == r64_decode_msg_header(p_udp_msg, p_r64_msg))    {        printf("r64_decode_msg, decode msg header error.\n");        R64_SAVE_DECODE_ERROR_LINE; \        return FAILURE;    }    /* if just header exist, not need to decode other tlv */    if ((p_r64_msg->msgHead.length == R64_R4_HEADER_LEN)        && (p_r64_msg->msgHead.ifType == IF_TYPE_R4))        return SUCCESS;    if ((p_r64_msg->msgHead.length == R64_R6_HEADER_LEN)        && (p_r64_msg->msgHead.ifType == IF_TYPE_R6))        return SUCCESS;    switch(p_r64_msg->msgHead.functionType)    {    case R64_FUNCTION_TYPE_QOS:        i_ret = r64_decode_ft_qos(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_HANDOFF:        i_ret = r64_decode_ft_handoff(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_DATA_PATH:        i_ret = r64_decode_ft_data_path(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_CONTEXT:        i_ret = r64_decode_ft_context(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_R3_MOBILITY:        i_ret = r64_decode_ft_r3_mobility(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_PAGING:        i_ret = r64_decode_ft_paging(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_RRM:        i_ret = r64_decode_ft_rrm(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_AUTH_RELAY:        i_ret = r64_decode_ft_auth_relay(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_MS_STATE_CHANGE:        i_ret = r64_decode_ft_ms_state_change(p_udp_msg, p_r64_msg);        break;    case R64_FUNCTION_TYPE_ACCT_INFO:        i_ret = r64_decode_ft_acct_info(p_udp_msg, p_r64_msg);        break;    default:        R64_SAVE_DECODE_ERROR_LINE;        printf("Unknown function type %d\n", p_r64_msg->msgHead.functionType);        break;    }    if (FAILURE == i_ret)    {        printf("r64_decode_msg Decode error \n");    }    else    {        adw_r64_decode_msg_stat[p_r64_msg->msgHead.functionType-1][p_r64_msg->msgHead.messageType-1]++;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -