Commit | Line | Data |
---|---|---|
1da177e4 | 1 | /* |
7b718769 NS |
2 | * Copyright (c) 2000-2005 Silicon Graphics, Inc. |
3 | * All Rights Reserved. | |
1da177e4 | 4 | * |
7b718769 NS |
5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License as | |
1da177e4 LT |
7 | * published by the Free Software Foundation. |
8 | * | |
7b718769 NS |
9 | * This program is distributed in the hope that it would be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
1da177e4 | 13 | * |
7b718769 NS |
14 | * You should have received a copy of the GNU General Public License |
15 | * along with this program; if not, write the Free Software Foundation, | |
16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
1da177e4 LT |
17 | */ |
18 | #ifndef __XFS_SUPPORT_DEBUG_H__ | |
19 | #define __XFS_SUPPORT_DEBUG_H__ | |
20 | ||
21 | #include <stdarg.h> | |
22 | ||
73efe4a4 DC |
23 | struct xfs_mount; |
24 | ||
25 | #define CE_DEBUG KERN_DEBUG | |
26 | #define CE_CONT KERN_INFO | |
27 | #define CE_NOTE KERN_NOTICE | |
28 | #define CE_WARN KERN_WARNING | |
29 | #define CE_ALERT KERN_ALERT | |
30 | #define CE_PANIC KERN_EMERG | |
31 | ||
32 | void cmn_err(const char *lvl, const char *fmt, ...) | |
33 | __attribute__ ((format (printf, 2, 3))); | |
34 | void xfs_fs_cmn_err( const char *lvl, struct xfs_mount *mp, | |
35 | const char *fmt, ...) __attribute__ ((format (printf, 3, 4))); | |
36 | void xfs_cmn_err( int panic_tag, const char *lvl, struct xfs_mount *mp, | |
37 | const char *fmt, ...) __attribute__ ((format (printf, 4, 5))); | |
38 | ||
3762ec6b | 39 | extern void assfail(char *expr, char *f, int l); |
1da177e4 | 40 | |
3762ec6b | 41 | #define ASSERT_ALWAYS(expr) \ |
ee5c8023 | 42 | (unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__)) |
1da177e4 | 43 | |
3762ec6b | 44 | #ifndef DEBUG |
ee5c8023 | 45 | #define ASSERT(expr) ((void)0) |
7989cb8e DC |
46 | |
47 | #ifndef STATIC | |
48 | # define STATIC static noinline | |
49 | #endif | |
50 | ||
7989cb8e DC |
51 | #else /* DEBUG */ |
52 | ||
ee5c8023 CH |
53 | #define ASSERT(expr) \ |
54 | (unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__)) | |
1da177e4 | 55 | |
3762ec6b | 56 | #ifndef STATIC |
7989cb8e | 57 | # define STATIC noinline |
3762ec6b | 58 | #endif |
1da177e4 | 59 | |
7989cb8e | 60 | #endif /* DEBUG */ |
1da177e4 | 61 | #endif /* __XFS_SUPPORT_DEBUG_H__ */ |