Loading...
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
25void cifs_dump_mem(char *label, void *data, int length);
26void cifs_dump_detail(void *);
27void cifs_dump_mids(struct TCP_Server_Info *);
28extern int traceSMB; /* flag which enables the function below */
29void 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
36extern 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, ...) \
53do { \
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, ...) \
72do { \
73 if (0) \
74 printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
75} while (0)
76#endif
77
78#endif /* _H_CIFS_DEBUG */
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
26void cifs_dump_mem(char *label, void *data, int length);
27void cifs_dump_detail(void *);
28void cifs_dump_mids(struct TCP_Server_Info *);
29#ifdef CONFIG_CIFS_DEBUG2
30#define DBG2 2
31#else
32#define DBG2 0
33#endif
34extern int traceSMB; /* flag which enables the function below */
35void dump_smb(void *, 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 */
47extern int cifsFYI;
48#define cifsfyi(fmt, arg...) \
49do { \
50 if (cifsFYI & CIFS_INFO) \
51 printk(KERN_DEBUG "%s: " fmt "\n", __FILE__, ##arg); \
52} while (0)
53
54#define cFYI(set, fmt, arg...) \
55do { \
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: */
64extern int cifsERROR;
65
66#define cEVENT(fmt, arg...) \
67do { \
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...) \
74do { \
75 if (cifsERROR) \
76 printk(KERN_ERR "CIFS VFS: " fmt "\n", ##arg); \
77} while (0)
78
79#define cERROR(set, fmt, arg...) \
80do { \
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 */