cifs_debug.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. #ifndef _H_CIFS_DEBUG
  22. #define _H_CIFS_DEBUG
  23. void cifs_dump_mem(char *label, void *data, int length);
  24. void cifs_dump_detail(void *);
  25. void cifs_dump_mids(struct TCP_Server_Info *);
  26. extern bool traceSMB; /* flag which enables the function below */
  27. void dump_smb(void *, int);
  28. #define CIFS_INFO 0x01
  29. #define CIFS_RC 0x02
  30. #define CIFS_TIMER 0x04
  31. #define VFS 1
  32. #define FYI 2
  33. extern int cifsFYI;
  34. #ifdef CONFIG_CIFS_DEBUG2
  35. #define NOISY 4
  36. #else
  37. #define NOISY 0
  38. #endif
  39. /*
  40. * debug ON
  41. * --------
  42. */
  43. #ifdef CONFIG_CIFS_DEBUG
  44. __printf(1, 2) void cifs_vfs_err(const char *fmt, ...);
  45. /* information message: e.g., configuration, major event */
  46. #define cifs_dbg(type, fmt, ...) \
  47. do { \
  48. if (type == FYI && cifsFYI & CIFS_INFO) { \
  49. pr_debug_ratelimited("%s: " \
  50. fmt, __FILE__, ##__VA_ARGS__); \
  51. } else if (type == VFS) { \
  52. cifs_vfs_err(fmt, ##__VA_ARGS__); \
  53. } else if (type == NOISY && type != 0) { \
  54. pr_debug_ratelimited(fmt, ##__VA_ARGS__); \
  55. } \
  56. } while (0)
  57. /*
  58. * debug OFF
  59. * ---------
  60. */
  61. #else /* _CIFS_DEBUG */
  62. #define cifs_dbg(type, fmt, ...) \
  63. do { \
  64. if (0) \
  65. pr_debug(fmt, ##__VA_ARGS__); \
  66. } while (0)
  67. #endif
  68. #endif /* _H_CIFS_DEBUG */