📄 r64_print_message.c
字号:
"PHY_PARAMETER_RESPONSE", "SPARE_CAPACITY_REQUEST", "SPARE_CAPACITY_RESPONSE", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },/* R64_FUNCTION_TYPE_AUTH_RELAY 8 */ { "AUTH_RELAY_EAP_START", "AUTH_RELAY_EAP_TRANSFER", "AUTH_RELAY_AUTHENTICATED_EAP_START", "AUTH_RELAY_AUTHENTICATED_EAP_RELAY", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },/* R64_FUNCTION_TYPE_MS_STATE_CHANGE 9 */ { "DELETE_MS_CONTEXT_DIRECTIVE", "DELETE_MS_CONTEXT_DIRECTIVE_ACK", "IM_ENTRY_MS_STATE_CHANGE_ACK", "IM_ENTRY_MS_STATE_CHANGE_DIRECTIVE", "IM_ENTRY_MS_STATE_CHANGE_REQUEST", "IM_ENTRY_MS_STATE_CHANGE_RESPONSE", "IM_EXIT_MS_STATE_CHANGE_ACK", "IM_EXIT_MS_STATE_CHANGE_DIRECTIVE", "IM_EXIT_MS_STATE_CHANGE_REQUEST", "IM_EXIT_MS_STATE_CHANGE_RESPONSE", "NW_ENTRY_MS_STATE_CHANGE_ACK", "NW_ENTRY_MS_STATE_CHANGE_DIRECTIVE", "NW_ENTRY_MS_STATE_CHANGE_REQUEST", "NW_ENTRY_MS_STATE_CHANGE_RESPONSE", NULL, NULL, NULL },/* R64_FUNCTION_TYPE_ACCT_INFO 10 */ { "ACCT_INFO_REQUEST", "ACCT_INFO_REPORT", "ACC_INFO_ACK", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }};int gi_r64_endec_print = 1;/********************************************************************************* Function Name: r64_print_msg** Input parameters description: a - p_r64_msg, pointer to the msg to print** Output results description: a - none** function description: print r64 msg*******************************************************************************/void r64_print_msg(R64_MSG_S * p_r64_msg){ if (!gi_r64_endec_print) return; if ((p_r64_msg->msgHead.functionType == 0) || (p_r64_msg->msgHead.functionType > R64_MAX_FUNCTION_TYPE)) { printf("Function Type %d error, >%d or = 0\n", p_r64_msg->msgHead.functionType, R64_MAX_FUNCTION_TYPE); return; } if ((p_r64_msg->msgHead.messageType == 0) || (p_r64_msg->msgHead.messageType > R64_MAX_MSG_TYPE)) { printf("Message Type %d error, >%d or = 0\n", p_r64_msg->msgHead.messageType, R64_MAX_MSG_TYPE); return; } r64_print_header(p_r64_msg); printf("message body information:\n"); switch(p_r64_msg->msgHead.functionType) { case R64_FUNCTION_TYPE_QOS: r64_print_ft_qos(p_r64_msg); break; case R64_FUNCTION_TYPE_HANDOFF: r64_print_ft_handoff(p_r64_msg); break; case R64_FUNCTION_TYPE_DATA_PATH: r64_print_ft_data_path(p_r64_msg); break; case R64_FUNCTION_TYPE_CONTEXT: r64_print_ft_context(p_r64_msg); break; case R64_FUNCTION_TYPE_R3_MOBILITY: r64_print_ft_r3_mobility(p_r64_msg); break; case R64_FUNCTION_TYPE_PAGING: r64_print_ft_paging(p_r64_msg); break; case R64_FUNCTION_TYPE_RRM: r64_print_ft_rrm(p_r64_msg); break; case R64_FUNCTION_TYPE_AUTH_RELAY: r64_print_ft_auth_relay(p_r64_msg); break; case R64_FUNCTION_TYPE_MS_STATE_CHANGE: r64_print_ft_ms_state_change(p_r64_msg); break; case R64_FUNCTION_TYPE_ACCT_INFO: r64_print_ft_acct_info(p_r64_msg); break; default: printf("Unknown function type %d\n", p_r64_msg->msgHead.functionType); break; } return;}/********************************************************************************* Function Name: r64_print_header** Input parameters description: a - p_r64_msg, pointer to the msg to print** Output results description: a - none** function description: print r64 msg header*******************************************************************************/void r64_print_header(R64_MSG_S * p_r64_msg){ printf("Header information:\n"); if (IF_TYPE_R4 == p_r64_msg->msgHead.ifType) { printf("R4, Function type %s, message type %s\n", gp_function_type_str[p_r64_msg->msgHead.functionType-1], gp_message_type_str[p_r64_msg->msgHead.functionType-1][p_r64_msg->msgHead.messageType-1]); } else { printf("R6, Function type %s, message type %s\n", gp_function_type_str[p_r64_msg->msgHead.functionType-1], gp_message_type_str[p_r64_msg->msgHead.functionType-1][p_r64_msg->msgHead.messageType-1]); } printf("version = %d\n", p_r64_msg->msgHead.version); printf("flags = %d\n", p_r64_msg->msgHead.flags); printf("length = %d\n", p_r64_msg->msgHead.length); printf("MS ID = %02x-%02x-%02x-%02x-%02x-%02x\n", p_r64_msg->msgHead.msId.id[0], p_r64_msg->msgHead.msId.id[1], p_r64_msg->msgHead.msId.id[2], p_r64_msg->msgHead.msId.id[3], p_r64_msg->msgHead.msId.id[4], p_r64_msg->msgHead.msId.id[5]); printf("transaction id = %d\n", p_r64_msg->msgHead.transId); printf("fragment id = %d\n", p_r64_msg->msgHead.fragmentId); if (IF_TYPE_R4 == p_r64_msg->msgHead.ifType) { printf("destination id = %ld\n", p_r64_msg->msgHead.destinationId); printf("source id = %ld\n", p_r64_msg->msgHead.sourceId); } printf("dest IP = 0x%lx\n", p_r64_msg->msgHead.destinationIp); printf("dest udp port = %d\n", p_r64_msg->msgHead.destinationUdpPort); printf("source IP = 0x%lx\n", p_r64_msg->msgHead.sourceIp); printf("source udp port = %d\n", p_r64_msg->msgHead.sourceUdpPort); return;}/********************************************************************************* Function Name: r64_print_ft_???** Input parameters description: a - p_r64_msg, pointer to the msg to print** Output results description: a - none** function description: print r64 function type entry*******************************************************************************/void r64_print_ft_qos(R64_MSG_S * p_r64_msg){ switch (p_r64_msg->msgHead.messageType) { case R64_ID_RESOURCE_REGISTRATION_REQUEST: r64_print_ft_qos_msg_registration_request(p_r64_msg); break; case R64_ID_RESOURCE_REGISTRATION_RESPONSE: r64_print_ft_qos_msg_registration_response(p_r64_msg); break; case R64_ID_PD_REQUEST: r64_print_ft_qos_msg_pd_request(p_r64_msg); break; case R64_ID_PD_RESPONSE: r64_print_ft_qos_msg_pd_response(p_r64_msg); break; case R64_ID_PR_REQUEST: r64_print_ft_qos_msg_pr_request(p_r64_msg); break; case R64_ID_PR_RESPONSE: r64_print_ft_qos_msg_pr_response(p_r64_msg); break; case R64_ID_LU_REQUEST: r64_print_ft_qos_msg_lu_request(p_r64_msg); break; case R64_ID_LU_RESPONSE: r64_print_ft_qos_msg_lu_response(p_r64_msg); break; default: printf("r64_print_ft_qos, unknown msg type %d\n", p_r64_msg->msgHead.messageType); break; } return;}void r64_print_ft_handoff(R64_MSG_S * p_r64_msg){ switch (p_r64_msg->msgHead.messageType) { case R64_ID_HANDOFF_REQUEST: r64_print_ft_handoff_msg_request(p_r64_msg); break; case R64_ID_HANDOFF_RESPONSE: r64_print_ft_handoff_msg_response(p_r64_msg); break; case R64_ID_HANDOFF_CONFIRM: r64_print_ft_handoff_msg_confirm(p_r64_msg); break; case R64_ID_HANDOFF_COMPLETE: r64_print_ft_handoff_msg_complete(p_r64_msg); break; case R64_ID_HANDOFF_ACK: r64_print_ft_handoff_msg_ack(p_r64_msg); break; default: printf("r64_print_ft_handoff, unknown msg type %d\n", p_r64_msg->msgHead.messageType); break; } return;}void r64_print_ft_data_path(R64_MSG_S * p_r64_msg){ switch (p_r64_msg->msgHead.messageType) { case R64_ID_DATA_PATH_PRE_REGISTRATION_REQUEST: r64_print_ft_data_path_msg_pre_registration(p_r64_msg); break; case R64_ID_DATA_PATH_REGISTRATION_REQUEST: r64_print_ft_data_path_msg_registration_request(p_r64_msg); break; case R64_ID_DATA_PATH_DE_REGISTRATION_REQUEST: r64_print_ft_data_path_msg_de_registration_request(p_r64_msg); break; case R64_ID_DATA_PATH_MODIFICATION_REQUEST: r64_print_ft_data_path_msg_modification_request(p_r64_msg); break; case R64_ID_DATA_PATH_PRE_REGISTRATION_RESPONSE: r64_print_ft_data_path_msg_pre_registration_response(p_r64_msg); break; case R64_ID_DATA_PATH_REGISTRATION_RESPONSE: r64_print_ft_data_path_msg_registration_response(p_r64_msg); break; case R64_ID_DATA_PATH_DE_REGISTRATION_RESPONSE: r64_print_ft_data_path_msg_de_registration_response(p_r64_msg); break; case R64_ID_DATA_PATH_MODIFICATION_RESPONSE: r64_print_ft_data_path_msg_modification_response(p_r64_msg); break; case R64_ID_DATA_PATH_REGISTRATION_ACK: r64_print_ft_data_path_msg_registration_ack(p_r64_msg); break; case R64_ID_DATA_PATH_SETUP_REQUEST: r64_print_ft_data_path_msg_setup_request(p_r64_msg); break; case R64_ID_DATA_PATH_SETUP_RESPONSE: r64_print_ft_data_path_msg_setup_response(p_r64_msg); break; case R64_ID_DATA_PATH_MODIFY_ACK: r64_print_ft_data_path_msg_modify_ack(p_r64_msg); break; case R64_ID_DATA_PATH_RELEASE_REQUEST: r64_print_ft_data_path_msg_release_request(p_r64_msg); break; case R64_ID_DATA_PATH_RELEASE_RESPONSE: r64_print_ft_data_path_msg_release_response(p_r64_msg); break; case R64_ID_DATA_PATH_RELEASE_ACK: r64_print_ft_data_path_msg_release_ack(p_r64_msg); break; case R64_ID_DATA_PATH_DE_REGISTRATION_ACK: r64_print_ft_data_path_msg_de_registration_ack(p_r64_msg); break; case R64_ID_DATA_PATH_SETUP_ACK: r64_print_ft_data_path_msg_setup_ack(p_r64_msg); break; default: printf("r64_print_ft_data_path, unknown msg type %d\n", p_r64_msg->msgHead.messageType); break; } return;}void r64_print_ft_context(R64_MSG_S * p_r64_msg){ switch (p_r64_msg->msgHead.messageType) { case R64_ID_CONTEXT_REQUEST: r64_print_ft_context_msg_request(p_r64_msg); break; case R64_ID_CONTEXT_REPORT: r64_print_ft_context_msg_report(p_r64_msg); break; case R64_ID_CONTEXT_ACK: r64_print_ft_context_msg_ack(p_r64_msg); break; case R64_ID_CONTEXT_RSP: r64_print_ft_context_msg_rsp(p_r64_msg); break; case R64_ID_MS_INFO_REQUEST: r64_print_ft_context_msg_ms_info_request(p_r64_msg); break; case R64_ID_MS_INFO_RESPONSE: r64_print_ft_context_msg_ms_info_response(p_r64_msg); break; default: printf("r64_print_ft_context, unknown msg type %d\n", p_r64_msg->msgHead.messageType); break; } return;}void r64_print_ft_r3_mobility(R64_MSG_S * p_r64_msg){ switch (p_r64_msg->msgHead.messageType) { case R64_ID_RELOCATION_REQUEST:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -