Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / core / log.c
1 /*
2  * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  * 02110-1301, USA.
18  */
19
20 FILE_LICENCE ( GPL2_OR_LATER );
21
22 /** @file
23  *
24  * System logger
25  *
26  */
27
28 #include <stdarg.h>
29 #include <syslog.h>
30 #include <ipxe/console.h>
31
32 /**
33  * Write message to system log
34  *
35  * @v fmt               Format string
36  * @v args              Arguments
37  */
38 void log_vprintf ( const char *fmt, va_list args ) {
39         int saved_usage;
40
41         /* Mark console as in use for log messages */
42         saved_usage = console_set_usage ( CONSOLE_USAGE_LOG );
43
44         /* Print message */
45         vprintf ( fmt, args );
46
47         /* Restore console usage */
48         console_set_usage ( saved_usage );
49 }
50
51 /**
52  * Write message to system log
53  *
54  * @v fmt               Format string
55  * @v ...               Arguments
56  */
57 void log_printf ( const char *fmt, ... ) {
58         va_list args;
59
60         va_start ( args, fmt );
61         log_vprintf ( fmt, args );
62         va_end ( args );
63 }