File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / igmpproxy / src / syslog.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:00:29 2012 UTC (12 years, 4 months ago) by misho
Branches: igmpproxy, MAIN
CVS tags: v0_1p0, v0_1, HEAD
igmpproxy

    1: /*
    2: **  igmpproxy - IGMP proxy based multicast router 
    3: **  Copyright (C) 2005 Johnny Egeland <johnny@rlo.org>
    4: **
    5: **  This program is free software; you can redistribute it and/or modify
    6: **  it under the terms of the GNU General Public License as published by
    7: **  the Free Software Foundation; either version 2 of the License, or
    8: **  (at your option) any later version.
    9: **
   10: **  This program is distributed in the hope that it will be useful,
   11: **  but WITHOUT ANY WARRANTY; without even the implied warranty of
   12: **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   13: **  GNU General Public License for more details.
   14: **
   15: **  You should have received a copy of the GNU General Public License
   16: **  along with this program; if not, write to the Free Software
   17: **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   18: **
   19: **----------------------------------------------------------------------------
   20: **
   21: **  This software is derived work from the following software. The original
   22: **  source code has been modified from it's original state by the author
   23: **  of igmpproxy.
   24: **
   25: **  smcroute 0.92 - Copyright (C) 2001 Carsten Schill <carsten@cschill.de>
   26: **  - Licensed under the GNU General Public License, version 2
   27: **  
   28: **  mrouted 3.9-beta3 - COPYRIGHT 1989 by The Board of Trustees of 
   29: **  Leland Stanford Junior University.
   30: **  - Original license can be found in the Stanford.txt file.
   31: **
   32: */
   33: 
   34: #include "igmpproxy.h"
   35: 
   36: int LogLevel = LOG_WARNING;
   37: bool Log2Stderr = false;
   38: 
   39: void my_log( int Severity, int Errno, const char *FmtSt, ... )
   40: {
   41:     char LogMsg[ 128 ];
   42: 
   43:     va_list ArgPt;
   44:     unsigned Ln;
   45:     va_start( ArgPt, FmtSt );
   46:     Ln = vsnprintf( LogMsg, sizeof( LogMsg ), FmtSt, ArgPt );
   47:     if( Errno > 0 )
   48:         snprintf( LogMsg + Ln, sizeof( LogMsg ) - Ln,
   49:                 "; Errno(%d): %s", Errno, strerror(Errno) );
   50:     va_end( ArgPt );
   51: 
   52:     if (Severity <= LogLevel) {
   53:         if (Log2Stderr)
   54:             fprintf(stderr, "%s\n", LogMsg);
   55:         else {
   56:             syslog(Severity, "%s", LogMsg);
   57: 	}
   58:     }
   59: 
   60:     if( Severity <= LOG_ERR )
   61:         exit( -1 );
   62: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>