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$ 22 * 23 */ 24 25 #include <sys/cmn_err.h> 26 27 void 28 vcmn_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(buf); 52 if (ce != CE_IGNORE) 53 vprintf(buf, adx); 54 } 55 56 void 57 cmn_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