]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/gnu/fs/xfs/FreeBSD/support/debug.c
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / sys / gnu / fs / xfs / FreeBSD / support / debug.c
1 /*
2  * Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
3  * 
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of version 2 of the GNU General Public License as
6  * published by the Free Software Foundation.
7  * 
8  * This program is distributed in the hope that it would be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * 
12  * Further, this software is distributed without any warranty that it is
13  * free of the rightful claim of any third person regarding infringement
14  * or the like.  Any license provided herein, whether implied or
15  * otherwise, applies only to this software file.  Patent licenses, if
16  * any, provided herein do not apply to combinations of this program with
17  * other software, or any other product whatsoever.
18  * 
19  * You should have received a copy of the GNU General Public License along
20  * with this program; if not, write the Free Software Foundation, Inc., 59
21  * Temple Place - Suite 330, Boston MA 02111-1307, USA.
22  * 
23  * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
24  * Mountain View, CA  94043, or:
25  * 
26  * http://www.sgi.com 
27  * 
28  * For further information regarding this notice, see: 
29  * 
30  * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
31  */
32  
33
34 #include <sys/param.h>
35 #include <sys/proc.h>
36 #include <sys/kernel.h>
37 #include <sys/systm.h>
38 #include <sys/sysctl.h>
39 #include <machine/stdarg.h>
40
41 #include <support/debug.h>
42
43 static SYSCTL_NODE(_debug, OID_AUTO, xfs, CTLFLAG_RD, 0, "XFS debug options");
44
45 static int verbosity = 10;
46 SYSCTL_INT(_debug_xfs, OID_AUTO, verbosity, CTLFLAG_RW, &verbosity, 0, "");
47
48 #ifdef DEBUG
49
50 static int doass = 1;
51 SYSCTL_INT(_debug_xfs, OID_AUTO, assert, CTLFLAG_RW, &doass, 0, "");
52
53 void
54 assfail(char *a, char *f, int l)
55 {
56         if (doass == 0) return;
57         panic("XFS assertion failed: %s, file: %s, line: %d\n", a, f, l);
58 }
59
60 int
61 get_thread_id(void)
62 {
63         return curthread->td_proc->p_pid;
64 }
65
66 #endif
67
68 void
69 cmn_err(register int level, char *fmt, ...)
70 {
71         char    *fp = fmt;
72         char    message[256];
73         va_list ap;
74
75         if (verbosity < level)
76                 return;
77
78         va_start(ap, fmt);
79         if (*fmt == '!') fp++;
80         vsprintf(message, fp, ap);
81         printf("%s\n", message);
82         va_end(ap);
83 }
84
85
86 void
87 icmn_err(register int level, char *fmt, va_list ap)
88
89         char    message[256];
90
91         if (verbosity < level)
92                 return;
93
94         vsprintf(message, fmt, ap);
95         printf("cmn_err level %d %s\n",level, message);
96 }
97