1 /* 2 * Copyright (c) 2000-2004 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 #ifndef __XFS_SUPPORT_DEBUG_H__ 33 #define __XFS_SUPPORT_DEBUG_H__ 34 35 #include <stdarg.h> 36 37 #define CE_DEBUG 7 /* debug */ 38 #define CE_CONT 6 /* continuation */ 39 #define CE_NOTE 5 /* notice */ 40 #define CE_WARN 4 /* warning */ 41 #define CE_ALERT 1 /* alert */ 42 #define CE_PANIC 0 /* panic */ 43 44 extern void icmn_err(int, char *, va_list); 45 /* PRINTFLIKE2 */ 46 extern void cmn_err(int, char *, ...); 47 48 #ifndef STATIC 49 # define STATIC static 50 #endif 51 52 #ifdef DEBUG 53 # ifdef lint 54 # define ASSERT(EX) ((void)0) /* avoid "constant in conditional" babble */ 55 # else 56 # define ASSERT(EX) ((!doass||(EX))?((void)0):assfail(#EX, __FILE__, __LINE__)) 57 # endif /* lint */ 58 #else 59 # define ASSERT(x) ((void)0) 60 #endif 61 62 extern int doass; /* dynamically turn off asserts */ 63 extern void assfail(char *, char *, int); 64 #ifdef DEBUG 65 extern unsigned long random(void); 66 extern int get_thread_id(void); 67 #endif 68 69 #define ASSERT_ALWAYS(EX) ((EX)?((void)0):assfail(#EX, __FILE__, __LINE__)) 70 #define debug_stop_all_cpus(param) /* param is "cpumask_t *" */ 71 72 #endif /* __XFS_SUPPORT_DEBUG_H__ */ 73