linux/fs/cifs/cifs_debug.h
<<
>>
Prefs
   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                        pr_debug("%s: " fmt, __FILE__, ##__VA_ARGS__);  \
  57                }                                                       \
  58        } else if (type == VFS) {                                       \
  59                cifs_vfs_err(fmt, ##__VA_ARGS__);                       \
  60        } else if (type == NOISY && type != 0) {                        \
  61                pr_debug(fmt, ##__VA_ARGS__);                           \
  62        }                                                               \
  63} while (0)
  64
  65/*
  66 *      debug OFF
  67 *      ---------
  68 */
  69#else           /* _CIFS_DEBUG */
  70#define cifs_dbg(type, fmt, ...)                                        \
  71do {                                                                    \
  72        if (0)                                                          \
  73                pr_debug(fmt, ##__VA_ARGS__);                           \
  74} while (0)
  75#endif
  76
  77#endif                          /* _H_CIFS_DEBUG */
  78