opensolaris_cmn_err.c revision 225736
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 *
21 * $FreeBSD: stable/9/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c 213791 2010-10-13 17:13:43Z rpaulo $
22 *
23 */
24
25#include <sys/cmn_err.h>
26
27void
28vcmn_err(int ce, const char *fmt, va_list adx)
29{
30	char buf[256];
31
32	switch (ce) {
33	case CE_CONT:
34		snprintf(buf, sizeof(buf), "Solaris(cont): %s\n", fmt);
35		break;
36	case CE_NOTE:
37		snprintf(buf, sizeof(buf), "Solaris: NOTICE: %s\n", fmt);
38		break;
39	case CE_WARN:
40		snprintf(buf, sizeof(buf), "Solaris: WARNING: %s\n", fmt);
41		break;
42	case CE_PANIC:
43		snprintf(buf, sizeof(buf), "Solaris(panic): %s\n", fmt);
44		break;
45	case CE_IGNORE:
46		break;
47	default:
48		panic("Solaris: unknown severity level");
49	}
50	if (ce == CE_PANIC)
51		panic("%s", buf);
52	if (ce != CE_IGNORE)
53		vprintf(buf, adx);
54}
55
56void
57cmn_err(int type, const char *fmt, ...)
58{
59	va_list ap;
60
61	va_start(ap, fmt);
62	vcmn_err(type, fmt, ap);
63	va_end(ap);
64}
65