syslog.h
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*
  2.  * Copyright (c) 1982, 1986 Regents of the University of California.
  3.  * All rights reserved.  The Berkeley software License Agreement
  4.  * specifies the terms and conditions for redistribution.
  5.  *
  6.  * @(#)syslog.h 7.8 (Berkeley) 5/26/88
  7.  */
  8. #ifndef SYSLOG_H
  9. #define SYSLOG_H
  10. /* Added __[BEGIN/END]_DECLS so this file would work with C++. (mevans) */
  11. #include <sys/cdefs.h>
  12. #include <stdarg.h>
  13. /* Discipline: openlog(), closelog(), and setlogmask() are not thread-safe
  14.  * and should only be called when other threads will not be calling syslog
  15.  * functions.  syslog() and vsyslog() are thread-safe and may be called
  16.  * asynchronously, even if openlog() has not been called. */
  17. /*
  18.  *  Facility codes
  19.  */
  20. #define LOG_KERN (0<<3) /* kernel messages */
  21. #define LOG_USER (1<<3) /* random user-level messages */
  22. #define LOG_MAIL (2<<3) /* mail system */
  23. #define LOG_DAEMON (3<<3) /* system daemons */
  24. #define LOG_AUTH (4<<3) /* security/authorization messages */
  25. #define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */
  26. #define LOG_LPR (6<<3) /* line printer subsystem */
  27. #define LOG_NEWS (7<<3) /* network news subsystem */
  28. #define LOG_UUCP (8<<3) /* UUCP subsystem */
  29. /* other codes through 15 reserved for system use */
  30. #define LOG_LOCAL0 (16<<3) /* reserved for local use */
  31. #define LOG_LOCAL1 (17<<3) /* reserved for local use */
  32. #define LOG_LOCAL2 (18<<3) /* reserved for local use */
  33. #define LOG_LOCAL3 (19<<3) /* reserved for local use */
  34. #define LOG_LOCAL4 (20<<3) /* reserved for local use */
  35. #define LOG_LOCAL5 (21<<3) /* reserved for local use */
  36. #define LOG_LOCAL6 (22<<3) /* reserved for local use */
  37. #define LOG_LOCAL7 (23<<3) /* reserved for local use */
  38. #define LOG_NFACILITIES 24 /* maximum number of facilities */
  39. #define LOG_FACMASK 0x03f8 /* mask to extract facility part */
  40. #define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) /* facility of pri */
  41. /*
  42.  *  Priorities (these are ordered)
  43.  */
  44. #define LOG_EMERG 0 /* system is unusable */
  45. #define LOG_ALERT 1 /* action must be taken immediately */
  46. #define LOG_CRIT 2 /* critical conditions */
  47. #define LOG_ERR 3 /* error conditions */
  48. #define LOG_WARNING 4 /* warning conditions */
  49. #define LOG_NOTICE 5 /* normal but signification condition */
  50. #define LOG_INFO 6 /* informational */
  51. #define LOG_DEBUG 7 /* debug-level messages */
  52. #define LOG_PRIMASK 0x0007 /* mask to extract priority part (internal) */
  53. #define LOG_PRI(p) ((p) & LOG_PRIMASK) /* extract priority */
  54. #define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri))
  55. #ifdef KERNEL
  56. #define LOG_PRINTF -1 /* pseudo-priority to indicate use of printf */
  57. #endif
  58. /*
  59.  * arguments to setlogmask.
  60.  */
  61. #define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */
  62. #define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */
  63. /*
  64.  *  Option flags for openlog.
  65.  *
  66.  * LOG_ODELAY no longer does anything; LOG_NDELAY is the
  67.  * inverse of what it used to be.
  68.  */
  69. #define LOG_PID 0x01 /* log the pid with each message */
  70. #define LOG_CONS 0x02 /* log on the console if errors in sending */
  71. #define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */
  72. #define LOG_NDELAY 0x08 /* don't delay open */
  73. #define LOG_NOWAIT 0x10 /* if forking to log on console, don't wait() */
  74. __BEGIN_DECLS
  75. /* Syslogging functions. */
  76. void syslog(int pri, char *fmt, ...);
  77. void vsyslog(int pri, char *fmt, va_list args);
  78. void openlog(char *ident, int logstat, int logfac);
  79. void closelog(void);
  80. int setlogmask(int pmask);
  81. __END_DECLS
  82. #endif