1 /* $OpenBSD: log.h,v 1.5 2004/12/15 06:11:40 jfb Exp $ */ 2 /* 3 * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. The name of the author may not be used to endorse or promote products 13 * derived from this software without specific prior written permission. 14 * 15 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 16 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 17 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 18 * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 21 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 22 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 23 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 24 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27 #ifndef LOG_H 28 #define LOG_H 29 30 #include <sys/types.h> 31 32 #include <stdarg.h> 33 34 /* log destinations */ 35 #define LD_STD 0x01 36 #define LD_SYSLOG 0x02 37 #define LD_CONS 0x04 38 39 #define LD_ALL (LD_STD|LD_SYSLOG|LD_CONS) 40 41 /* log flags */ 42 #define LF_PID 0x01 /* include PID in messages */ 43 44 45 /* log priority levels */ 46 #define LP_DEBUG 0 47 #define LP_INFO 1 48 #define LP_NOTICE 2 49 #define LP_WARNING 3 50 #define LP_WARN LP_WARNING 51 #define LP_ERROR 4 52 #define LP_ERR LP_ERROR 53 #define LP_ALERT 5 54 #define LP_ERRNO 6 55 #define LP_ABORT 7 56 #define LP_TRACE 8 57 58 #define LP_MAX 8 59 #define LP_ALL 255 60 61 /* filtering methods */ 62 #define LP_FILTER_SET 0 /* set a filter */ 63 #define LP_FILTER_UNSET 1 /* remove a filter */ 64 #define LP_FILTER_TOGGLE 2 65 66 int cvs_log_init (u_int, u_int); 67 void cvs_log_cleanup (void); 68 int cvs_log_filter (u_int, u_int); 69 int cvs_log (u_int, const char *, ...); 70 int cvs_vlog (u_int, const char *, va_list); 71 int cvs_printf (const char *, ...); 72 73 #endif /* LOG_H */ 74