示例#1
0
/*-------------------------------------------------------------------*/
DLL_EXPORT void logdevtr(DEVBLK *dev,char *msg,...)
{
    char    *bfr=NULL;
    int     rc;
    int     siz=1024;
    va_list vl;
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);
  #endif
    if(dev->ccwtrace||dev->ccwstep)
    {
        BFR_VSNPRINTF();
        if(bfr)
        {
            if ( !strncmp(bfr, "HHC", 3) && strlen(bfr) > 10 )
                log_write( 2, ( sysblk.emsg & EMSG_TEXT ) ? &bfr[10] : bfr );
            else
                log_write( 2, bfr );
        }
    }
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);
  #endif
    if(bfr)
    {
        free(bfr);
    }
} /* end function logdevtr */
示例#2
0
/*-------------------------------------------------------------------*/
DLL_EXPORT void logmsgb(char *msg,...)
{
    char *bfr=NULL;
    char *ptr;
    int rc;
    int siz=1024;
    va_list vl;
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);
  #endif
    BFR_VSNPRINTF();
    if(bfr)
    {
        if ( !strncmp(bfr, "HHC", 3) && strlen(bfr) > 10 )
            log_write( 2, ( sysblk.emsg & EMSG_TEXT ) ? &bfr[10] : bfr );
        else
            log_write( 2, bfr );
    }
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);
  #endif
    if(bfr)
    {
        free(bfr);
    }
}
示例#3
0
/*-------------------------------------------------------------------*/
DLL_EXPORT void logmsgb(char *msg,...)
{
    char *bfr=NULL;
    int rc;
    int siz=1024;
    va_list vl;
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);  
  #endif
    BFR_VSNPRINTF();
    if(bfr)
        log_write(2,bfr); 
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);  
  #endif
    if(bfr)
    {
        free(bfr);
    }
}
示例#4
0
/*-------------------------------------------------------------------*/
DLL_EXPORT void logdevtr(DEVBLK *dev,char *msg,...)
{
    char *bfr=NULL;
    int rc;
    int siz=1024;
    va_list vl;
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);  
  #endif
    if(dev->ccwtrace||dev->ccwstep) 
    { 
        logmsg("%4.4X:",dev->devnum); 
        BFR_VSNPRINTF();
        if(bfr)
            log_write(2,bfr); 
    } 
  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);  
  #endif
    if(bfr)
    {
        free(bfr);
    }
} /* end function logdevtr */ 
示例#5
0
DLL_EXPORT void writemsg(const char *srcfile, int line, const char* function,
                         int grp, int lvl, char *color, char *msg, ...)
{
    char   *bfr     =   NULL;
    char   *msgbuf  =   NULL;
    int     rc      =   1;
    int     errmsg  =   FALSE;
    int     siz     =   1024;
    char    file[FILENAME_MAX];
    char    prefix[64];
    va_list vl;

    bfr = strdup(srcfile);
    strlcpy(file, basename(bfr), sizeof(file));
    free(bfr);
    bfr = NULL;

    memset(prefix, 0, sizeof(prefix));

#ifdef OPTION_MSGLCK
    if(!sysblk.msggrp || (sysblk.msggrp && !grp))
        WRGMSG_ON;
#endif

  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);
  #endif

    BFR_VSNPRINTF();

    if (!bfr)
    {
#ifdef OPTION_MSGLCK
        if(!sysblk.msggrp || (sysblk.msggrp && !grp))
            WRGMSG_OFF;
#endif
        return;
    }

    if ( strlen(bfr) > 10 && SNCMP(bfr,"HHC",3) && (bfr[8] == 'S' || bfr[8] == 'E' || bfr[8] == 'W') )
        errmsg = TRUE;

#if defined( OPTION_MSGCLR )
    if ( !strlen(color) )
    {
        if ( errmsg )
            color = "<pnl,color(lightred,black),keep>";
        else
            color = "";
    }
#else
    color = "";
#endif // defined( OPTION_MSGCLR )

    if ( lvl & MLVL_DEBUG )
    {
#if defined( OPTION_MSGCLR )
        if (strlen(color) > 0 && !sysblk.shutdown && sysblk.panel_init && !sysblk.daemon_mode)
            MSGBUF(prefix, "%s" MLVL_DEBUG_PRINTF_PATTERN, color, file, line);
        else
#endif
            MSGBUF(prefix, MLVL_DEBUG_PRINTF_PATTERN, file, line);
    }
    else
    {
#if defined( OPTION_MSGCLR )
        if (strlen(color) > 0 && !sysblk.shutdown && sysblk.panel_init && !sysblk.daemon_mode)
        {
            MSGBUF(prefix, "%s", color );
        }
#endif // defined( OPTION_MSGCLR )
    }

    if(bfr)
    {
        size_t l = strlen(prefix)+strlen(bfr)+256;
        msgbuf = calloc(1,l);
        if (msgbuf)
        {
            if ( strlen(bfr) > 10 && SNCMP(bfr, "HHC", 3) )
                snprintf( msgbuf, l-1, "%s%s", prefix, ( sysblk.emsg & EMSG_TEXT ) ? &bfr[10] : bfr );
            else
                snprintf( msgbuf, l-1, "%s%s", prefix, bfr );
            log_write( 0, msgbuf );
            free(msgbuf);
        }
        free(bfr);
    }

    if ( errmsg && !MLVL(DEBUG) )
        logmsg("HHC00007" "I" " " HHC00007 "\n", function, file, line);

  #ifdef NEED_LOGMSG_FFLUSH
    fflush(stdout);
  #endif

#ifdef OPTION_MSGLCK
    if(!sysblk.msggrp || (sysblk.msggrp && !grp))
        WRGMSG_OFF;
#endif

    log_wakeup(NULL);
}