xref: /freebsd/usr.sbin/bluetooth/sdpd/log.c (revision 42b388439bd3795e09258c57a74ce9eec3651c7b)
11de7b4b8SPedro F. Giffuni /*-
207be7a6cSMaksim Yevmenkin  * log.c
307be7a6cSMaksim Yevmenkin  *
4*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
51de7b4b8SPedro F. Giffuni  *
607be7a6cSMaksim Yevmenkin  * Copyright (c) 2004 Maksim Yevmenkin <m_evmenkin@yahoo.com>
707be7a6cSMaksim Yevmenkin  * All rights reserved.
807be7a6cSMaksim Yevmenkin  *
907be7a6cSMaksim Yevmenkin  * Redistribution and use in source and binary forms, with or without
1007be7a6cSMaksim Yevmenkin  * modification, are permitted provided that the following conditions
1107be7a6cSMaksim Yevmenkin  * are met:
1207be7a6cSMaksim Yevmenkin  * 1. Redistributions of source code must retain the above copyright
1307be7a6cSMaksim Yevmenkin  *    notice, this list of conditions and the following disclaimer.
1407be7a6cSMaksim Yevmenkin  * 2. Redistributions in binary form must reproduce the above copyright
1507be7a6cSMaksim Yevmenkin  *    notice, this list of conditions and the following disclaimer in the
1607be7a6cSMaksim Yevmenkin  *    documentation and/or other materials provided with the distribution.
1707be7a6cSMaksim Yevmenkin  *
1807be7a6cSMaksim Yevmenkin  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1907be7a6cSMaksim Yevmenkin  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2007be7a6cSMaksim Yevmenkin  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2107be7a6cSMaksim Yevmenkin  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
2207be7a6cSMaksim Yevmenkin  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2307be7a6cSMaksim Yevmenkin  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2407be7a6cSMaksim Yevmenkin  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2507be7a6cSMaksim Yevmenkin  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2607be7a6cSMaksim Yevmenkin  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2707be7a6cSMaksim Yevmenkin  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2807be7a6cSMaksim Yevmenkin  * SUCH DAMAGE.
2907be7a6cSMaksim Yevmenkin  *
3007be7a6cSMaksim Yevmenkin  * $Id: log.c,v 1.1 2004/01/07 23:15:00 max Exp $
3107be7a6cSMaksim Yevmenkin  */
3207be7a6cSMaksim Yevmenkin 
3307be7a6cSMaksim Yevmenkin #include <sys/types.h>
3407be7a6cSMaksim Yevmenkin #include <stdarg.h>
3507be7a6cSMaksim Yevmenkin #include <syslog.h>
3607be7a6cSMaksim Yevmenkin 
3707be7a6cSMaksim Yevmenkin void
log_open(char const * prog,int32_t log2stderr)3807be7a6cSMaksim Yevmenkin log_open(char const *prog, int32_t log2stderr)
3907be7a6cSMaksim Yevmenkin {
4007be7a6cSMaksim Yevmenkin 	openlog(prog, LOG_PID|LOG_NDELAY|(log2stderr? LOG_PERROR:0), LOG_USER);
4107be7a6cSMaksim Yevmenkin }
4207be7a6cSMaksim Yevmenkin 
4307be7a6cSMaksim Yevmenkin void
log_close(void)4407be7a6cSMaksim Yevmenkin log_close(void)
4507be7a6cSMaksim Yevmenkin {
4607be7a6cSMaksim Yevmenkin 	closelog();
4707be7a6cSMaksim Yevmenkin }
4807be7a6cSMaksim Yevmenkin 
4907be7a6cSMaksim Yevmenkin void
log_emerg(char const * message,...)5007be7a6cSMaksim Yevmenkin log_emerg(char const *message, ...)
5107be7a6cSMaksim Yevmenkin {
5207be7a6cSMaksim Yevmenkin 	va_list	ap;
5307be7a6cSMaksim Yevmenkin 
5407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
5507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_EMERG, message, ap);
5607be7a6cSMaksim Yevmenkin 	va_end(ap);
5707be7a6cSMaksim Yevmenkin }
5807be7a6cSMaksim Yevmenkin 
5907be7a6cSMaksim Yevmenkin void
log_alert(char const * message,...)6007be7a6cSMaksim Yevmenkin log_alert(char const *message, ...)
6107be7a6cSMaksim Yevmenkin {
6207be7a6cSMaksim Yevmenkin 	va_list	ap;
6307be7a6cSMaksim Yevmenkin 
6407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
6507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_ALERT, message, ap);
6607be7a6cSMaksim Yevmenkin 	va_end(ap);
6707be7a6cSMaksim Yevmenkin }
6807be7a6cSMaksim Yevmenkin 
6907be7a6cSMaksim Yevmenkin void
log_crit(char const * message,...)7007be7a6cSMaksim Yevmenkin log_crit(char const *message, ...)
7107be7a6cSMaksim Yevmenkin {
7207be7a6cSMaksim Yevmenkin 	va_list	ap;
7307be7a6cSMaksim Yevmenkin 
7407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
7507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_CRIT, message, ap);
7607be7a6cSMaksim Yevmenkin 	va_end(ap);
7707be7a6cSMaksim Yevmenkin }
7807be7a6cSMaksim Yevmenkin 
7907be7a6cSMaksim Yevmenkin void
log_err(char const * message,...)8007be7a6cSMaksim Yevmenkin log_err(char const *message, ...)
8107be7a6cSMaksim Yevmenkin {
8207be7a6cSMaksim Yevmenkin 	va_list	ap;
8307be7a6cSMaksim Yevmenkin 
8407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
8507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_ERR, message, ap);
8607be7a6cSMaksim Yevmenkin 	va_end(ap);
8707be7a6cSMaksim Yevmenkin }
8807be7a6cSMaksim Yevmenkin 
8907be7a6cSMaksim Yevmenkin void
log_warning(char const * message,...)9007be7a6cSMaksim Yevmenkin log_warning(char const *message, ...)
9107be7a6cSMaksim Yevmenkin {
9207be7a6cSMaksim Yevmenkin 	va_list	ap;
9307be7a6cSMaksim Yevmenkin 
9407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
9507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_WARNING, message, ap);
9607be7a6cSMaksim Yevmenkin 	va_end(ap);
9707be7a6cSMaksim Yevmenkin }
9807be7a6cSMaksim Yevmenkin 
9907be7a6cSMaksim Yevmenkin void
log_notice(char const * message,...)10007be7a6cSMaksim Yevmenkin log_notice(char const *message, ...)
10107be7a6cSMaksim Yevmenkin {
10207be7a6cSMaksim Yevmenkin 	va_list	ap;
10307be7a6cSMaksim Yevmenkin 
10407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
10507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_NOTICE, message, ap);
10607be7a6cSMaksim Yevmenkin 	va_end(ap);
10707be7a6cSMaksim Yevmenkin }
10807be7a6cSMaksim Yevmenkin 
10907be7a6cSMaksim Yevmenkin void
log_info(char const * message,...)11007be7a6cSMaksim Yevmenkin log_info(char const *message, ...)
11107be7a6cSMaksim Yevmenkin {
11207be7a6cSMaksim Yevmenkin 	va_list	ap;
11307be7a6cSMaksim Yevmenkin 
11407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
11507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_INFO, message, ap);
11607be7a6cSMaksim Yevmenkin 	va_end(ap);
11707be7a6cSMaksim Yevmenkin }
11807be7a6cSMaksim Yevmenkin 
11907be7a6cSMaksim Yevmenkin void
log_debug(char const * message,...)12007be7a6cSMaksim Yevmenkin log_debug(char const *message, ...)
12107be7a6cSMaksim Yevmenkin {
12207be7a6cSMaksim Yevmenkin 	va_list	ap;
12307be7a6cSMaksim Yevmenkin 
12407be7a6cSMaksim Yevmenkin 	va_start(ap, message);
12507be7a6cSMaksim Yevmenkin 	vsyslog(LOG_DEBUG, message, ap);
12607be7a6cSMaksim Yevmenkin 	va_end(ap);
12707be7a6cSMaksim Yevmenkin }
12807be7a6cSMaksim Yevmenkin 
129