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 #define CIFS_DEBUG		/* BB temporary */
22 
23 #ifndef _H_CIFS_DEBUG
24 #define _H_CIFS_DEBUG
25 
26 void cifs_dump_mem(char *label, void *data, int length);
27 #ifdef CONFIG_CIFS_DEBUG2
28 #define DBG2 2
29 void cifs_dump_detail(struct smb_hdr *);
30 void cifs_dump_mids(struct TCP_Server_Info *);
31 #else
32 #define DBG2 0
33 #endif
34 extern int traceSMB;		/* flag which enables the function below */
35 void dump_smb(struct smb_hdr *, int);
36 #define CIFS_INFO	0x01
37 #define CIFS_RC		0x02
38 #define CIFS_TIMER	0x04
39 
40 /*
41  *	debug ON
42  *	--------
43  */
44 #ifdef CIFS_DEBUG
45 
46 /* information message: e.g., configuration, major event */
47 extern int cifsFYI;
48 #define cifsfyi(fmt, arg...)						\
49 do {									\
50 	if (cifsFYI & CIFS_INFO)					\
51 		printk(KERN_DEBUG "%s: " fmt "\n", __FILE__, ##arg);	\
52 } while (0)
53 
54 #define cFYI(set, fmt, arg...)			\
55 do {						\
56 	if (set)				\
57 		cifsfyi(fmt, ##arg);		\
58 } while (0)
59 
60 #define cifswarn(fmt, arg...)			\
61 	printk(KERN_WARNING fmt "\n", ##arg)
62 
63 /* debug event message: */
64 extern int cifsERROR;
65 
66 #define cEVENT(fmt, arg...)						\
67 do {									\
68 	if (cifsERROR)							\
69 		printk(KERN_EVENT "%s: " fmt "\n", __FILE__, ##arg);	\
70 } while (0)
71 
72 /* error event message: e.g., i/o error */
73 #define cifserror(fmt, arg...)					\
74 do {								\
75 	if (cifsERROR)						\
76 		printk(KERN_ERR "CIFS VFS: " fmt "\n", ##arg);	\
77 } while (0)
78 
79 #define cERROR(set, fmt, arg...)		\
80 do {						\
81 	if (set)				\
82 		cifserror(fmt, ##arg);		\
83 } while (0)
84 
85 /*
86  *	debug OFF
87  *	---------
88  */
89 #else		/* _CIFS_DEBUG */
90 #define cERROR(set, fmt, arg...)
91 #define cEVENT(fmt, arg...)
92 #define cFYI(set, fmt, arg...)
93 #define cifserror(fmt, arg...)
94 #endif		/* _CIFS_DEBUG */
95 
96 #endif				/* _H_CIFS_DEBUG */
97