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