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

📄 lc_syslog.c

📁 open source for car navigation in linux
💻 C
字号:
/* * Copyright (C) 2002 Ricardo Arroyo <ricardo.arroyo@eresmas.net> * * This code may be used under the terms of Version 2 of the GPL, * read the file COPYING for details. * */#include <syslog.h>#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <stdlib.h>#include <stdarg.h>#include <string.h>#include "lc_syslog.h"static int bFirst = 1;/*----------------------------------------------------------------------------*//*  FUNCTION :                                                                *//*               SYSTEM LOG        vLC_syslog(iCode, va_alist);               *//*          .-   Writes an error in system log                                *//*          .-   iCode is the LOG code (see lc_syslog.h)                      *//*          .-   va_alist is a list of variable arguments                     *//*                                                                            *//*----------------------------------------------------------------------------*/void vLC_syslog(int iCode, ...){va_list ap;char *sAux1;char *sAux2;char *sAux3;char *sAux4;int iAux1;long lAux1;    va_start(ap, iCode);    if (bFirst)    {        openlog(NULL, LOG_PID, LOG_USER);	bFirst = 0;    }    switch (iCode)    {    // *************************** WARNINGS **************************** //    // ***************************************************************** //    // *************************** Modules start message *************** //    case LCLOG_WAR_GPSRECSTART:        sAux1 = va_arg(ap, char *);        sAux2 = va_arg(ap, char *);        sAux3 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);        sAux4 = va_arg(ap, char *);	syslog( LOG_INFO | LOG_USER, "%s-%s: %s, Port: %s, TO: %d, Protocol: %s\n",sAux1, sAux2, LCLOG_WAR_GPSRECSTART_MSG, sAux3, iAux1, sAux4);	break;    case LCLOG_WAR_WGS2UTMERR:        sAux1 = va_arg(ap, char *);	syslog( LOG_INFO | LOG_USER, "%s, %s\n",LCLOG_WAR_WGS2UTMERR_MSG, sAux1);	break;    case LCLOG_WAR_DATUMCONVERR:        sAux1 = va_arg(ap, char *);	syslog( LOG_INFO | LOG_USER, "%s, %s\n",LCLOG_WAR_DATUMCONVERR_MSG, sAux1);	break;    // *************************** ERRORS ****************************** //    // ***************************************************************** //        // *********************** MEMORY ********************************** //    case LCLOG_ERR_MALLOC:        sAux1 = va_arg(ap, char *);	syslog( LOG_ERR | LOG_USER, "%s %s, %m\n",LCLOG_ERR_MALLOC_MSG, sAux1);	break;    case LCLOG_ERR_REALLOC:        sAux1 = va_arg(ap, char *);	syslog( LOG_ERR | LOG_USER, "%s %s\n",LCLOG_ERR_REALLOC_MSG, sAux1);	break;    case LCLOG_ERR_MEMCPY:        sAux1 = va_arg(ap, char *);	syslog( LOG_ERR | LOG_USER, "%s %s\n",LCLOG_ERR_MEMCPY_MSG, sAux1);	break;    // ************************* IPC MESSAGE QUEUES ********************* //    case LCLOG_ERR_MSGQCREATE:        sAux1 = va_arg(ap, char *);        lAux1 = va_arg(ap, long);	syslog( LOG_ERR | LOG_USER, "%s %s, %ld, %m\n",LCLOG_ERR_MSGQCREATE_MSG, sAux1, lAux1);	break;    case LCLOG_ERR_MSGQOPEN:        sAux1 = va_arg(ap, char *);        lAux1 = va_arg(ap, long);	syslog( LOG_ERR | LOG_USER, "%s %s, %ld, %m\n",LCLOG_ERR_MSGQOPEN_MSG, sAux1, lAux1);	break;    case LCLOG_ERR_MSGQDEL:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %d, %m\n",LCLOG_ERR_MSGQDEL_MSG, sAux1, iAux1);	break;    case LCLOG_ERR_MSGQSEND:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %d, %m\n",LCLOG_ERR_MSGQSEND_MSG, sAux1, iAux1);	break;    case LCLOG_ERR_MSGQRECEIVE:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %d, %m\n",LCLOG_ERR_MSGQRECEIVE_MSG, sAux1, iAux1);	break;    // ************************** IPC SHARED MEMORY ************************ //    case LCLOG_ERR_SHMGET:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, errno = %d,%s\n",LCLOG_ERR_SHMGET_MSG, sAux1, iAux1, strerror(iAux1));	break;    case LCLOG_ERR_SHMAT:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, errno = %d,%s\n",LCLOG_ERR_SHMAT_MSG, sAux1, iAux1, strerror(iAux1));	break;    // ************************** IPC SEMAPHORES ***************************** //    case LCLOG_ERR_SEMGET:        sAux1 = va_arg(ap, char *);        lAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %ld\n",LCLOG_ERR_SEMGET_MSG, sAux1, lAux1);	break;    case LCLOG_ERR_SEMULK:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %d\n",LCLOG_ERR_SEMULK_MSG, sAux1, iAux1);	break;    case LCLOG_ERR_SEMLK:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %d\n",LCLOG_ERR_SEMLK_MSG, sAux1, iAux1);	break;    case LCLOG_ERR_SEMRM:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %d\n",LCLOG_ERR_SEMRM_MSG, sAux1, iAux1);	break;    // **************************** GPS LIBRARY ****************************** //    case LCLOG_ERR_NOGPSINIT:        sAux1 = va_arg(ap, char *);	syslog( LOG_ERR | LOG_USER, "%s %s \n",LCLOG_ERR_NOGPSINIT_MSG, sAux1);	break;    case LCLOG_ERR_NOGPSOFF:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, err=%d \n",LCLOG_ERR_NOGPSOFF_MSG, sAux1, iAux1);	break;    case LCLOG_ERR_PTVCONS:        sAux1 = va_arg(ap, char *);	syslog( LOG_ERR | LOG_USER, "%s %s \n",LCLOG_ERR_PTVCONS_MSG, sAux1);	break;    case LCLOG_ERR_PTVON:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, error=%d \n",LCLOG_ERR_PTVON_MSG, sAux1, iAux1);	break;    // **************************** Threads ****************************** //    case LCLOG_ERR_THREADCREATE:        sAux1 = va_arg(ap, char *);        iAux1 = va_arg(ap, int);	syslog( LOG_ERR | LOG_USER, "%s %s, %d, %m \n",LCLOG_ERR_THREADCREATE_MSG, sAux1, iAux1);	break;    }    if ( iCode >= LCLOG_MIN_ERR) exit (-90);    va_end(ap);}

⌨️ 快捷键说明

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