The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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  * Copyright 2007 John Birrell <jb@FreeBSD.org>. All rights reserved.
   25  * Copyright 2012 Martin Matuska <mm@FreeBSD.org>. All rights reserved.
   26  */
   27 
   28 #include <sys/assfail.h>
   29 #include <sys/cmn_err.h>
   30 
   31 void
   32 vcmn_err(int ce, const char *fmt, va_list adx)
   33 {
   34         char buf[256];
   35         const char *prefix;
   36 
   37         prefix = NULL; /* silence unwitty compilers */
   38         switch (ce) {
   39         case CE_CONT:
   40                 prefix = "Solaris(cont): ";
   41                 break;
   42         case CE_NOTE:
   43                 prefix = "Solaris: NOTICE: ";
   44                 break;
   45         case CE_WARN:
   46                 prefix = "Solaris: WARNING: ";
   47                 break;
   48         case CE_PANIC:
   49                 prefix = "Solaris(panic): ";
   50                 break;
   51         case CE_IGNORE:
   52                 break;
   53         default:
   54                 panic("Solaris: unknown severity level");
   55         }
   56         if (ce == CE_PANIC) {
   57                 vsnprintf(buf, sizeof(buf), fmt, adx);
   58                 panic("%s%s", prefix, buf);
   59         }
   60         if (ce != CE_IGNORE) {
   61                 printf("%s", prefix);
   62                 vprintf(fmt, adx);
   63                 printf("\n");
   64         }
   65 }
   66 
   67 void
   68 cmn_err(int type, const char *fmt, ...)
   69 {
   70         va_list ap;
   71 
   72         va_start(ap, fmt);
   73         vcmn_err(type, fmt, ap);
   74         va_end(ap);
   75 }
   76 
   77 int
   78 assfail(const char *a, const char *f, int l)
   79 {
   80 
   81         panic("solaris assert: %s, file: %s, line: %d", a, f, l);
   82 
   83         return (0);
   84 }
   85 
   86 void
   87 assfail3(const char *a, uintmax_t lv, const char *op, uintmax_t rv,
   88     const char *f, int l)
   89 {
   90 
   91         panic("solaris assert: %s (0x%jx %s 0x%jx), file: %s, line: %d",
   92             a, lv, op, rv, f, l);
   93 }

Cache object: 8771ca68605d3c263a5a045d40e21d5b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.