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

📄 r64_print_message.c

📁 wimax bs模拟器
💻 C
📖 第 1 页 / 共 5 页
字号:
        "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 + -