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

📄 iccp_log.c

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 C
📖 第 1 页 / 共 3 页
字号:
/************************************************************************//* SISCO SOFTWARE MODULE HEADER *****************************************//************************************************************************//*   (c) Copyright Systems Integration Specialists Company, Inc.,	*//*      	  1986 - 1998, All Rights Reserved.		        *//*									*//*		    PROPRIETARY AND CONFIDENTIAL			*//*									*//* MODULE NAME : iccp_log.c						*//* PRODUCT(S)  : ICCP Interop. Testing					*//*									*//* MODULE DESCRIPTION : 						*//*									*//* GLOBAL FUNCTIONS DEFINED IN THIS MODULE :				*//*									*//* MODIFICATION LOG :							*//*  Date     Who   Rev			Comments			*//* --------  ---  ------   -------------------------------------------	*//* 05/19/00  nav    9      Set logCtrl to 0 before reading .cfg		*//* 02/09/00  nav    8      Add ICA_LOG_DATA				*//* 05/13/98  nav    7      move dyn_iccp_slog_fun from ictautil.c	*//* 03/19/98  nav    6      Use sLogCtrl insteal of lc			*//* 01/16/98  EJV    5      Deleted cfg reparsing function.		*//* 06/11/97  nav    4      Add acse NERRR print				*//* 06/05/97  nav    3      Convert to MMS-EASE V7.00			*//* 10/04/96  nav    1      add function to turn on and off slog_dyn_fun	*//************************************************************************/#ifdef _WIN32#include <conio.h>  #endif#include "glbtypes.h"#include "sysincs.h"#include "asn1defs.h"#include "stdarg.h"#include "mem_chk.h"#include "slog.h"#include "cfg_util.h"#include "mms_usr.h"#include "mloguser.h"#include "suicacse.h"#include "icapi.h"#include "iccp_log.h"/* Control bit set/clear macros                                         */ST_VOID mem_chk_error_detected(ST_VOID);#define M_SET_CTRL(a)      {sLogCtrl->logCtrl |=  (a);}#define M_CLR_CTRL(a)      {sLogCtrl->logCtrl &= ~(a);}#define M_SET_FILE_CTRL(a) {sLogCtrl->fc.ctrl |=  (a);}#define M_CLR_FILE_CTRL(a) {sLogCtrl->fc.ctrl &= ~(a);}#define M_SET_MEM_CTRL(a)  {sLogCtrl->mc.ctrl |=  (a);}#define M_CLR_MEM_CTRL(a)  {sLogCtrl->mc.ctrl &= ~(a);}#define IC_SET_LOG_MASK1(a) {sLogCtrl->logMask1 |=  (a);}static ST_CHAR *thisFileName = __FILE__;static ST_BOOLEAN  user_file_log_en_flg;  /* SD_TRUE if user set FileLogEn in cfg file */static ST_BOOLEAN  user_mem_log_en_flg;   /* SD_TRUE if user set MemLogEn in cfg file */ST_CHAR	log_file_name[ 100 ];ST_CHAR	logmem_file_name[ 100 ];ST_VOID	dyn_slog_fun( LOG_CTRL 	*lc,                      ST_INT 	logType,                       ST_CHAR 	*sourceFile,                      ST_INT 	lineNum,                      ST_INT 	count,                      ST_CHAR 	*slog_buf );/*----- Internal functions prototypes for handling state tables -----*/  ST_VOID  cfg_mlog_begin( ST_VOID );ST_VOID  cfg_mlog_lc_begin( ST_VOID );ST_VOID  cfg_mlog_lc_file_log_en( ST_VOID );ST_VOID  cfg_mlog_lc_mem_log_en( ST_VOID );ST_VOID  cfg_mlog_lc_hard_flush( ST_VOID );ST_VOID  cfg_mlog_lc_no_append( ST_VOID );ST_VOID  cfg_mlog_lc_no_msg_header( ST_VOID );ST_VOID  cfg_mlog_lc_no_wipe( ST_VOID );ST_VOID  cfg_mlog_lc_no_wrap( ST_VOID );ST_VOID  cfg_mlog_lc_setbuf( ST_VOID );ST_VOID  cfg_mlog_lc_end( ST_VOID );ST_VOID  cfg_mlog_lm_memerr_log( ST_VOID );ST_VOID  cfg_mlog_lm_calloc_log( ST_VOID );ST_VOID  cfg_mlog_lm_malloc_log( ST_VOID );ST_VOID  cfg_mlog_lm_realloc_log( ST_VOID );ST_VOID  cfg_mlog_lm_free_log( ST_VOID );ST_VOID  cfg_mic_m_fill_en( ST_VOID );          ST_VOID  cfg_mic_m_heap_check_enable( ST_VOID );ST_VOID  cfg_mic_m_check_list_enable( ST_VOID );ST_VOID  cfg_mic_m_find_node_enable( ST_VOID ); ST_VOID  cfg_mic_m_track_prev_free( ST_VOID );  extern ST_INT16 m_track_prev_free;	/* used to record previous free of pointer */ST_VOID  cfg_mic_list_debug_sel( ST_VOID );     ST_VOID  cfg_mic_m_no_realloc_smaller( ST_VOID );     ST_VOID  cfg_mlog_asn1_log_dec( ST_VOID );     ST_VOID  cfg_mlog_asn1_log_enc( ST_VOID );     ST_VOID  cfg_mlog_asn1_log_err( ST_VOID );     ST_VOID  cfg_mlog_asn1_log_nerr( ST_VOID );     ST_VOID  cfg_mlog_mms_log_dec( ST_VOID );     ST_VOID  cfg_mlog_mms_log_enc( ST_VOID );     ST_VOID  cfg_mlog_mms_log_acse( ST_VOID );    ST_VOID  cfg_mlog_mms_log_llc( ST_VOID );     ST_VOID  cfg_mlog_mms_log_ique( ST_VOID );    ST_VOID  cfg_mlog_mms_log_rque( ST_VOID );    ST_VOID  cfg_mlog_mms_log_ind( ST_VOID );     ST_VOID  cfg_mlog_mms_log_conf( ST_VOID );    ST_VOID  cfg_mlog_mms_log_vm( ST_VOID );      ST_VOID  cfg_mlog_mms_log_data( ST_VOID );    ST_VOID  cfg_mlog_mms_log_err( ST_VOID );     ST_VOID  cfg_mlog_mms_log_nerr( ST_VOID );    ST_VOID  cfg_mlog_mms_log_pdu( ST_VOID );     ST_VOID  cfg_mlog_mms_log_config( ST_VOID );  			      	ST_VOID  cfg_mlog_mms_log_rt( ST_VOID );      ST_VOID  cfg_mlog_mms_log_rtaa( ST_VOID );    ST_VOID  cfg_mlog_mms_log_aa( ST_VOID );      ST_VOID  cfg_mlog_mms_log_req( ST_VOID );     ST_VOID  cfg_mlog_mms_log_resp( ST_VOID );    ST_VOID  cfg_mlog_mmsconf_print( ST_VOID );    ST_VOID  cfg_mlog_mmsind_print( ST_VOID );    ST_VOID  cfg_mlog_acse_ind_print( ST_VOID );    ST_VOID  cfg_mlog_acse_cnf_print( ST_VOID );    ST_VOID  cfg_mlog_acse_err_print( ST_VOID );    ST_VOID  cfg_mlog_acse_dec_print( ST_VOID );    ST_VOID  cfg_mlog_acse_nerr_print(ST_VOID );    ST_VOID  cfg_mlog_ica_err_log( ST_VOID );    ST_VOID  cfg_mlog_ica_flow_log( ST_VOID );    ST_VOID  cfg_mlog_ica_data_log( ST_VOID );    ST_VOID  cfg_mlog_osak_print( ST_VOID );    ST_VOID  cfg_mlog_osak_deb( ST_VOID );    ST_VOID  cfg_mlog_lm_end( ST_VOID );ST_VOID  cfg_mlog_time_enable( ST_VOID );ST_VOID  cfg_mlog_log_file_size( ST_VOID );ST_VOID  cfg_mlog_log_file_name( ST_VOID );ST_VOID  cfg_mlog_log_mem_items( ST_VOID );ST_VOID  cfg_mlog_dump_file_name( ST_VOID );ST_VOID  cfg_mlog_mem_auto_dump( ST_VOID );ST_VOID  cfg_mlog_end( ST_VOID );ST_VOID  m_readLogCfg( ST_CHAR * logging_control_filename, LOG_CTRL *lc );/*#define S_TABLE_DEBUG*/struct cfg_kw_el mlog_base_kwtbl[] =  {    {"%LogBegin",		cfg_mlog_begin,                NULL },    { NULL, NULL, NULL}  };struct cfg_kw_el mlog_log_mask_kwtbl[] =  {    /* Memory use logging */    {"MEM_LOG_ERR",             cfg_mlog_lm_memerr_log,        NULL },    {"MEM_LOG_CALLOC",          cfg_mlog_lm_calloc_log,        NULL },    {"MEM_LOG_MALLOC",          cfg_mlog_lm_malloc_log,        NULL },    {"MEM_LOG_REALLOC",         cfg_mlog_lm_realloc_log,       NULL },    {"MEM_LOG_FREE",            cfg_mlog_lm_free_log,          NULL },    /* Integrity checking on buffers */    {"m_fill_en",               cfg_mic_m_fill_en,             NULL },    {"m_heap_check_enable",     cfg_mic_m_heap_check_enable,   NULL },    {"m_check_list_enable",     cfg_mic_m_check_list_enable,   NULL },    {"m_find_node_enable",      cfg_mic_m_find_node_enable,    NULL },    {"m_track_prev_free",       cfg_mic_m_track_prev_free,     NULL },    {"list_debug_sel",          cfg_mic_list_debug_sel,        NULL },    {"m_no_realloc_smaller",    cfg_mic_m_no_realloc_smaller,  NULL },    /* ASN.1 Log masks */    {"ASN1_LOG_DEC",            cfg_mlog_asn1_log_dec,         NULL },    {"ASN1_LOG_ENC",            cfg_mlog_asn1_log_enc,         NULL },    {"ASN1_LOG_ERR",            cfg_mlog_asn1_log_err,         NULL },    {"ASN1_LOG_NERR",           cfg_mlog_asn1_log_nerr,        NULL },    /* MMS Demo Log masks */    {"MMS_LOG_DEC",             cfg_mlog_mms_log_dec,          NULL },     {"MMS_LOG_ENC",             cfg_mlog_mms_log_enc,          NULL },     {"MMS_LOG_ACSE",            cfg_mlog_mms_log_acse,         NULL },     {"MMS_LOG_LLC",             cfg_mlog_mms_log_llc,          NULL },     {"MMS_LOG_IQUE",            cfg_mlog_mms_log_ique,         NULL },     {"MMS_LOG_RQUE",            cfg_mlog_mms_log_rque,         NULL },     {"MMS_LOG_IND",             cfg_mlog_mms_log_ind,          NULL },     {"MMS_LOG_CONF",            cfg_mlog_mms_log_conf,         NULL },     {"MMS_LOG_REQ",             cfg_mlog_mms_log_req,          NULL },     {"MMS_LOG_RESP",            cfg_mlog_mms_log_resp,         NULL },     {"MMS_LOG_VM",              cfg_mlog_mms_log_vm,           NULL },     {"MMS_LOG_DATA",            cfg_mlog_mms_log_data,         NULL },     {"MMS_LOG_ERR",             cfg_mlog_mms_log_err,          NULL },     {"MMS_LOG_NERR",            cfg_mlog_mms_log_nerr,         NULL },     {"MMS_LOG_PDU",             cfg_mlog_mms_log_pdu,          NULL },     {"MMS_LOG_CONFIG",          cfg_mlog_mms_log_config,       NULL },     {"MMS_LOG_RT",              cfg_mlog_mms_log_rt,           NULL },     {"MMS_LOG_RTAA",            cfg_mlog_mms_log_rtaa,         NULL },     {"MMS_LOG_AA",              cfg_mlog_mms_log_aa,           NULL },     {"MMSCONF_PRINT",           cfg_mlog_mmsconf_print,        NULL },     {"MMSIND_PRINT",            cfg_mlog_mmsind_print,         NULL },     /* SUIC log masks */    {"ACSE_IND_PRINT",          cfg_mlog_acse_ind_print,       NULL },     {"ACSE_CNF_PRINT",          cfg_mlog_acse_cnf_print,       NULL },     {"ACSE_ERR_PRINT",          cfg_mlog_acse_err_print,       NULL },     {"ACSE_DEC_PRINT",          cfg_mlog_acse_dec_print,       NULL },     {"ACSE_NERR_PRINT",         cfg_mlog_acse_nerr_print,      NULL },     {"ICA_LOG_ERR",             cfg_mlog_ica_err_log,          NULL },     {"ICA_LOG_FLOW",            cfg_mlog_ica_flow_log,         NULL },     {"ICA_LOG_DATA",            cfg_mlog_ica_data_log,         NULL },     /* DECnet/OSI SUIC needs extra help!! */    {"OSAK_PRINT",              cfg_mlog_osak_print,           NULL },     {"OSAK_DEB",                cfg_mlog_osak_deb,             NULL },     {"FileLogEn",	        cfg_mlog_lc_file_log_en,       NULL },    {"MemLogEn",                cfg_mlog_lc_mem_log_en,        NULL },    /* Misc. Control Flags   */          {"TimeEnable",              cfg_mlog_time_enable,          NULL },    {"HardFlush",               cfg_mlog_lc_hard_flush,        NULL },    {"NoAppend",                cfg_mlog_lc_no_append,         NULL },    {"NoMsgheader",             cfg_mlog_lc_no_msg_header,     NULL },    {"NoWipe",                  cfg_mlog_lc_no_wipe,           NULL },    {"NoWrap",                  cfg_mlog_lc_no_wrap,           NULL },    {"Setbuf",                  cfg_mlog_lc_setbuf,            NULL },    /* Log File Attributes */    {"LogFileSize",             cfg_mlog_log_file_size,        NULL },    {"LogFileName",             cfg_mlog_log_file_name,        NULL },    /* Memory Resident Logging Attributes */    {"LogMemItems",             cfg_mlog_log_mem_items,        NULL },    {"DumpFileName",            cfg_mlog_dump_file_name,       NULL },    {"MemAutoDump",             cfg_mlog_mem_auto_dump,        NULL },    {"%LogEnd",                 cfg_mlog_end,                 NULL},    { NULL, NULL, NULL}  };/************************************************************************//************************************************************************//************************************************************************/ ST_VOID mem_chk_error_detected (ST_VOID)  {  printf ( "\n MEM_CHK found a serious memory overwrite!!" );  printf ("\n press any key to continue" );  while (!kbhit ());  }/************************************************************************//*			     m_set_log_config				*//************************************************************************/ST_VOID m_set_log_config (ST_CHAR *logging_control_filename)  {FILE	*file_ptr;/* trap mem_chk errors							*/  mem_chk_err = mem_chk_error_detected;/* Initialize the logging for MMS-EASE					*//* Set the flags that should normally be turned on 			*/  sLogCtrl->mc.ctrl = MEM_CTRL_MSG_HDR_EN;  sLogCtrl->fc.ctrl = (FIL_CTRL_WIPE_EN |                        FIL_CTRL_WRAP_EN |                        FIL_CTRL_MSG_HDR_EN);  IC_SET_LOG_MASK1( ICA_LOG_ALWAYS );  cfg_log_mask = CFG_LOG_ERR; /* | CFG_LOG_FLOW;*//* NOTE: Setting up defaults is only requried when there is no		*//* logging configuration file to deal with.				*/  if (!(file_ptr = fopen (logging_control_filename,"r")))    {/* If no file is present, use defaults					*//* Use File logging							*/    sLogCtrl->logCtrl = LOG_FILE_EN;/* Use time/date time log						*/    sLogCtrl->logCtrl |= (LOG_TIMEDATE_EN | LOG_TIME_EN);/* File Logging Control defaults 					*/    sLogCtrl->fc.fileName = "mms.log";    sLogCtrl->fc.maxSize = 250000L;    sLogCtrl->fc.ctrl = (FIL_CTRL_WIPE_EN |                          FIL_CTRL_WRAP_EN |                          FIL_CTRL_MSG_HDR_EN);    }  else    {    sLogCtrl->logCtrl = 0;	    fclose( file_ptr );    m_readLogCfg( logging_control_filename, sLogCtrl );    }  if (strlen(log_file_name) > 0)    {    /* if log_file_name different then default close current log file	*/    /* (if open) so next slog call will reopen the new log file name.	*/   if (strcmpi(log_file_name, sLogCtrl->fc.fileName) != 0)     {     slogCloseFile (sLogCtrl);     sLogCtrl->fc.fileName = log_file_name;     }   }  slog_dyn_log_fun = NULL;  }/************************************************************************//*                             m_readLogCfg                             *//************************************************************************/ST_VOID m_readLogCfg (ST_CHAR *logging_control_filename, LOG_CTRL *localLc)  {ST_RET    ret_val;  /* If errors in configuration file, use defaults                      */  user_file_log_en_flg = SD_FALSE;  user_mem_log_en_flg = SD_FALSE;  ret_val = cfg_process_file( logging_control_filename, mlog_base_kwtbl );   /* check for errors encountered by the state functions                */  if ( ret_val == SD_SUCCESS )    {    /* If user doesn't have FileLogEn flag set, disable default value   */    if ( !user_file_log_en_flg )      M_CLR_CTRL( LOG_FILE_EN );    /* If user doesn't have MemLogEn flag set, disable default value    */    if ( !user_mem_log_en_flg )      M_CLR_CTRL( LOG_MEM_EN );    }  }/*------------- Internal functions for handling state tables -----------*/  /************************************************************************//*                         cfg_mlog_begin                              	*//************************************************************************//* Initial state for parsing Logging configuration file                 */ST_VOID cfg_mlog_begin (ST_VOID)  {#ifdef S_TABLE_DEBUG  printf( "\ncfg_mlog_begin: entered." );#endif  /* Configuration file successfully opened *//*  if ( cfg_tbl_push( mlog_logging_ctrl_begin_kwtbl) != SD_SUCCESS ) */  if ( cfg_tbl_push( mlog_log_mask_kwtbl) != SD_SUCCESS )     cfg_set_config_err();  }/************************************************************************//*                         cfg_mlog_lc_file_log_en                     	*//************************************************************************/ST_VOID cfg_mlog_lc_file_log_en (ST_VOID)  {#ifdef S_TABLE_DEBUG  printf( "\ncfg_mlog_lc_file_log_en: entered." );#endif  /* Found 'FileLogEn' flag                                             */  M_SET_CTRL( LOG_FILE_EN );  user_file_log_en_flg = SD_TRUE;  }/************************************************************************//*                         cfg_mlog_lc_mem_log_en                      *//************************************************************************/ST_VOID cfg_mlog_lc_mem_log_en (ST_VOID)  {#ifdef S_TABLE_DEBUG  printf( "\ncfg_mlog_lc_mem_log_en: entered." );#endif  /* Found 'MemLogEn' flag                                              */  M_SET_CTRL( LOG_MEM_EN );  user_mem_log_en_flg = SD_TRUE;  }/************************************************************************//*                         cfg_mlog_lc_hard_flush                      	*//************************************************************************/ST_VOID cfg_mlog_lc_hard_flush (ST_VOID)  {#ifdef S_TABLE_DEBUG  printf( "\ncfg_mlog_lc_hard_flush: entered." );#endif  /* Found 'HardFlush' flag                                             */

⌨️ 快捷键说明

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