/* docsis_log_support.ex.c */
/* DOCSIS support package to display */
/* diagnostic information */
/****************************************/
/* Copyright (c) 1986-2008 */
/* by OPNET Technologies, Inc. */
/* (A Delaware Corporation) */
/* 7255 Woodmont Av., Suite 250 */
/* Bethesda, MD 20814, U.S.A. */
/* All Rights Reserved. */
/****************************************/
/***** Include *****/
#include <opnet.h>
#include <docsis.h>
#include <docsis_frame.h>
#include <docsis_qos.h>
#include <docsis_log_support.h>
#include <string.h>
#include <docsis_constants.h>
#include <oms_tan.h>
/* Log handles for messages */
static Log_Handle docsis_results_warn_loghndl;
static Log_Handle docsis_results_loghndl;
static Log_Handle docsis_config_error_loghndl;
/* Macro definition for string handling. */
#define PKPRINT_STRING_INSERT(str, contents, list) \
{ \
str = (char*) op_prg_mem_alloc ((strlen (contents) + 1) * sizeof (char));\
strcpy (str, contents); \
op_prg_list_insert (list, str, OPC_LISTPOS_TAIL); \
}
void
docsis_log_serv_type_to_str_convert (DocsisT_QoS_Srvc service_type, char * print_array)
{
/** This is a routine that maps the service_type to **/
/** a corresponding char array to make the output user **/
/** friendly. **/
FIN (docsis_log_serv_type_to_str_convert (service_type, print_array));
switch (service_type)
{
case DocsisC_QoS_Srvc_Undefined:
strcpy (print_array, "Undefined ");
break;
case DocsisC_QoS_Srvc_Best_Effort:
strcpy (print_array, "Best Effort ");
break;
case DocsisC_QoS_Srvc_Non_Real_Time_Polling:
strcpy (print_array, "Non Real Time Polling");
break;
case DocsisC_QoS_Srvc_Real_Time_Polling:
strcpy (print_array, "Real Time Polling ");
break;
case DocsisC_QoS_Srvc_Unslctd_Grant:
strcpy (print_array, "Unsolicited Grant ");
default:
break;
}
FOUT;
}
void
docsis_log_ie_type_to_str_convert (DocsisT_IE_Type ie_type, char * print_array)
{
/** This is a routine that maps the IE type to a **/
/** corresponding char array to make the output user **/
/** friendly. **/
FIN (docsis_log_ie_type_to_str_convert());
switch (ie_type)
{
case DocsisC_IE_Type_Request:
strcpy (print_array, "Request ");
break;
case DocsisC_IE_Type_Req_Data:
strcpy (print_array, "Req/Data ");
break;
case DocsisC_IE_Type_Maintenance:
strcpy (print_array, "Maintenance ");
break;
case DocsisC_IE_Type_Station_Maint:
strcpy (print_array, "Station Maintenance");
break;
case DocsisC_IE_Type_Short_Data_Grant:
strcpy (print_array, "Short Data Grant ");
break;
case DocsisC_IE_Type_Long_Data_Grant:
strcpy (print_array, "Long Data Grant ");
break;
case DocsisC_IE_Type_Data_Ack:
strcpy (print_array, "Data Ack ");
break;
case DocsisC_IE_Type_Zero_Grant:
strcpy (print_array, "Zero Grant ");
default:
break;
}
FOUT;
}
void
docsis_log_frag_type_to_str_convert (DocsisT_Frag_Flag frag_type, char * print_array)
{
/** This is a routine that maps the frag type to **/
/** a corresponding char array to make the output user **/
/** friendly. **/
FIN (docsis_log_frag_type_to_str_convert());
switch (frag_type)
{
case DocsisC_Frag_Flag_None:
strcpy (print_array, "None ");
break;
case DocsisC_Frag_Flag_First:
strcpy (print_array, "First ");
break;
case DocsisC_Frag_Flag_Last:
strcpy (print_array, "Last ");
break;
case DocsisC_Frag_Flag_Middle:
strcpy (print_array, "Middle");
default:
break;
}
FOUT;
}
void
docsis_log_cont_type_to_str_convert (DocsisT_QoS_Cont cont_type, char * print_array)
{
/** This is a routine that maps the contention type to **/
/** a corresponding char array to make the output user **/
/** friendly. **/
FIN (docsis_log_cont_type_to_str_convert());
switch (cont_type)
{
case DocsisC_QoS_Req_Only:
strcpy (print_array, "Request Only ");
break;
case DocsisC_QoS_Data_Only:
strcpy (print_array, "Data Only ");
break;
case DocsisC_QoS_Req_and_Data:
strcpy (print_array, "Request and Data");
break;
case DocsisC_QoS_None:
strcpy (print_array, "None ");
default:
break;
}
FOUT;
}
void
docsis_log_boolean_type_to_str_convert (Boolean bool_type, char * print_array)
{
/** This is a routine that maps the boolean type to **/
/** a corresponding char array to make the output user **/
/** friendly. **/
FIN (docsis_log_boolean_type_to_str_convert ());
switch (bool_type)
{
case OPC_FALSE:
strcpy (print_array, "FALSE");
break;
case OPC_TRUE:
strcpy (print_array, "TRUE");
default:
break;
}
FOUT;
}
void
docsis_log_mgmt_msg_type_to_str_convert (DocsisT_Mgmt_Msg_Type msg_type, char * print_array)
{
/** This is a routine that maps the mgmt msseage type **/
/** to a corresponding char array to make the output **/
/** user friendly. **/
FIN (docsis_log_mgmt_msg_type_to_str_convert());
switch (msg_type)
{
case DocsisC_Mgmt_Msg_Type_Undef:
strcpy (print_array, "Undefined");
break;
case DocsisC_Mgmt_Msg_Type_Sync:
strcpy (print_array, "SYNC");
break;
case DocsisC_Mgmt_Msg_Type_Ucd:
strcpy (print_array, "UCD");
break;
case DocsisC_Mgmt_Msg_Type_Map:
strcpy (print_array, "MAP");
break;
case DocsisC_Mgmt_Msg_Type_Rng_Req:
strcpy (print_array, "Range Req");
break;
case DocsisC_Mgmt_Msg_Type_Rng_Rsp:
strcpy (print_array, "Range Resp");
break;
case DocsisC_Mgmt_Msg_Type_Req_Req:
strcpy (print_array, "Req Req");
break;
case DocsisC_Mgmt_Msg_Type_Req_Rsp:
strcpy (print_array, "Req Resp");
break;
case DocsisC_Mgmt_Msg_Type_Data:
strcpy (print_array, "Data");
default:
break;
}
FOUT;
}
void
docsis_log_frm_cntrl_parm_type_to_str_convert (DocsisT_Frame_Cntrl_Parm param_type, char * print_array)
{
/** This is a routine that maps the frag control param **/
/** to corresponding char array to make the output user **/
/** friendly. **/
FIN (docsis_log_frm_cntrl_parm_type_to_str_convert());
switch (param_type)
{
case DocsisC_Frame_Cntrl_Parm_Unset:
strcpy (print_array, "Unset");
break;
case DocsisC_Frame_Cntrl_Parm_Data:
strcpy (print_array, "Data");
break;
case DocsisC_Frame_Cntrl_Parm_Timing:
strcpy (print_array, "Timing");
break;
case DocsisC_Frame_Cntrl_Parm_Mgmt:
strcpy (print_array, "Management");
break;
case DocsisC_Frame_Cntrl_Parm_Req:
strcpy (print_array, "Request");
break;
case DocsisC_Frame_Cntrl_Parm_Frag:
strcpy (print_array, "Frag");
break;
case DocsisC_Frame_Cntrl_Parm_Concat:
strcpy (print_array, "Concat");
break;
case DocsisC_Frame_Cntrl_Parm_Reserved:
strcpy (print_array, "Reserved");
default:
break;
}
FOUT;
}
void
docsis_log_frag_supp_to_str_convert (DocsisT_QoS_Frag frag_type, char * print_array)
{
FIN (docsis_log_frag_supp_to_str_convert (frag_type, print_array));
switch (frag_type)
{
case DocsisC_QoS_Frag_None:
strcpy (print_array, "None");
break;
case DocsisC_QoS_Frag_Piggyback:
strcpy (print_array, "Piggyback");
break;
case DocsisC_QoS_Frag_Multi:
strcpy (print_array, "Multi");
break;
default:
strcpy (print_array, "Unspecified");
break;
}
FOUT;
}
void
docsis_log_cmts_map_list_print (List* list_ptr, double slot_time)
{
int i;
int list_size;
char iuc_type [40];
DocsisT_Map_IE* ie_ptr;
/** This is a routine that prints the individual IEs **/
/** in the MAP. This is called recursively to print **/
/** out the entire MAP **/
FIN (docsis_log_cmts_map_list_print (list_ptr))
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
docsis.rar (45个子文件)
docsis
docsis_ethernet_cable_modem_adv.nd.m 12KB
DOCSIS_adv.lk.m 4KB
docsis_msg_support.ex.c 26KB
docsis_cm_server.nd.d 4KB
docsis_ethernet_cable_modem.nd.d 2KB
DOCSIS_adv.cml 414B
CS_uBR7246_docsis4_slip2_gtwy_adv.nd.m 119KB
docsis_cmts.ic.m 533B
CS_uBR7246_docsis4_slip2_gtwy.nd.d 6KB
DOCSIS_Attribute_Config.nd.m 5KB
docsis_pdu.pk.m 2KB
docsis2_slip8_gtwy.nd.d 6KB
docsis_cm_mac.pr.m 121KB
docsis_cm_server_adv.nd.m 74KB
DOCSIS.cml 414B
docsis_cm.pr.m 60KB
docsis_mng_sync.pk.m 3KB
docsis_req.pk.m 4KB
docsis_mng_map.pk.m 4KB
CS_uBR7223_docsis2_slip_gtwy_adv.nd.m 95KB
CS_uBR7223_docsis2_slip_gtwy.nd.d 6KB
docsis_cm_wkstn_adv.nd.m 86KB
docsis_cmts_rtp.pr.m 14KB
docsis_cmts_server_adv.nd.m 74KB
docsis_cmts_usg.pr.m 8KB
docsis_attribute_definer.pr.m 104KB
docsis_log_support.ex.c 37KB
docsis_mng_reg_rng.pk.m 3KB
docsis2_slip8_gtwy_adv.nd.m 107KB
docsis_active_attrib_handler.gui64.i0.ets.dll 51KB
docsis_cmts.pr.m 207KB
docsis_cmts_txctl.pr.m 17KB
docsis_coll.ps.c 2KB
docsis_mng_ucd.pk.m 4KB
docsis_active_attrib_handler.gui32.i0.ets.dll 68KB
docsis_mng_req_rng.pk.m 3KB
docsis_closure.ps.c 1KB
docsis_support.ex.c 12KB
docsis_data.pk.m 3KB
docsis_gw.ex.c 22KB
docsis_cm_wkstn.nd.d 4KB
docsis_txdel.ps.c 1KB
docsis_cmts_server.nd.d 2KB
DOCSIS.lk.d 1KB
docsis_standalone_cm.pr.m 14KB
共 45 条
- 1
资源评论
APei
- 粉丝: 64
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功