]> Pileus Git - ~andy/linux/blob - fs/cifs/cifs_debug.h
Merge branch 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
[~andy/linux] / fs / cifs / cifs_debug.h
1 /*
2  *
3  *   Copyright (c) International Business Machines  Corp., 2000,2002
4  *   Modified by Steve French (sfrench@us.ibm.com)
5  *
6  *   This program is free software;  you can redistribute it and/or modify
7  *   it under the terms of the GNU General Public License as published by
8  *   the Free Software Foundation; either version 2 of the License, or
9  *   (at your option) any later version.
10  *
11  *   This program is distributed in the hope that it will be useful,
12  *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
13  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
14  *   the GNU General Public License for more details.
15  *
16  *   You should have received a copy of the GNU General Public License
17  *   along with this program;  if not, write to the Free Software
18  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20 */
21
22 #ifndef _H_CIFS_DEBUG
23 #define _H_CIFS_DEBUG
24
25 void cifs_dump_mem(char *label, void *data, int length);
26 void cifs_dump_detail(void *);
27 void cifs_dump_mids(struct TCP_Server_Info *);
28 extern int traceSMB;            /* flag which enables the function below */
29 void dump_smb(void *, int);
30 #define CIFS_INFO       0x01
31 #define CIFS_RC         0x02
32 #define CIFS_TIMER      0x04
33
34 #define VFS 1
35 #define FYI 2
36 extern int cifsFYI;
37 #ifdef CONFIG_CIFS_DEBUG2
38 #define NOISY 4
39 #else
40 #define NOISY 0
41 #endif
42
43 /*
44  *      debug ON
45  *      --------
46  */
47 #ifdef CONFIG_CIFS_DEBUG
48
49 __printf(1, 2) void cifs_vfs_err(const char *fmt, ...);
50
51 /* information message: e.g., configuration, major event */
52 #define cifs_dbg(type, fmt, ...)                                        \
53 do {                                                                    \
54         if (type == FYI) {                                              \
55                 if (cifsFYI & CIFS_INFO) {                              \
56                         printk(KERN_DEBUG "%s: " fmt,                   \
57                                __FILE__, ##__VA_ARGS__);                \
58                 }                                                       \
59         } else if (type == VFS) {                                       \
60                 cifs_vfs_err(fmt, ##__VA_ARGS__);                       \
61         } else if (type == NOISY && type != 0) {                        \
62                 printk(KERN_DEBUG fmt, ##__VA_ARGS__);                  \
63         }                                                               \
64 } while (0)
65
66 /*
67  *      debug OFF
68  *      ---------
69  */
70 #else           /* _CIFS_DEBUG */
71 #define cifs_dbg(type, fmt, ...)                                        \
72 do {                                                                    \
73         if (0)                                                          \
74                 printk(KERN_DEBUG fmt, ##__VA_ARGS__);                  \
75 } while (0)
76 #endif
77
78 #endif                          /* _H_CIFS_DEBUG */