linux/include/linux/sunrpc/debug.h
<<
>>
Prefs
   1/*
   2 * linux/include/linux/sunrpc/debug.h
   3 *
   4 * Debugging support for sunrpc module
   5 *
   6 * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
   7 */
   8
   9#ifndef _LINUX_SUNRPC_DEBUG_H_
  10#define _LINUX_SUNRPC_DEBUG_H_
  11
  12/*
  13 * RPC debug facilities
  14 */
  15#define RPCDBG_XPRT             0x0001
  16#define RPCDBG_CALL             0x0002
  17#define RPCDBG_DEBUG            0x0004
  18#define RPCDBG_NFS              0x0008
  19#define RPCDBG_AUTH             0x0010
  20#define RPCDBG_BIND             0x0020
  21#define RPCDBG_SCHED            0x0040
  22#define RPCDBG_TRANS            0x0080
  23#define RPCDBG_SVCXPRT          0x0100
  24#define RPCDBG_SVCDSP           0x0200
  25#define RPCDBG_MISC             0x0400
  26#define RPCDBG_CACHE            0x0800
  27#define RPCDBG_ALL              0x7fff
  28
  29#ifdef __KERNEL__
  30
  31#include <linux/timer.h>
  32#include <linux/workqueue.h>
  33
  34/*
  35 * Enable RPC debugging/profiling.
  36 */
  37#ifdef CONFIG_SYSCTL
  38#define  RPC_DEBUG
  39#endif
  40/* #define  RPC_PROFILE */
  41
  42/*
  43 * Debugging macros etc
  44 */
  45#ifdef RPC_DEBUG
  46extern unsigned int             rpc_debug;
  47extern unsigned int             nfs_debug;
  48extern unsigned int             nfsd_debug;
  49extern unsigned int             nlm_debug;
  50#endif
  51
  52#define dprintk(args...)        dfprintk(FACILITY, ## args)
  53
  54#undef ifdebug
  55#ifdef RPC_DEBUG                        
  56# define ifdebug(fac)           if (unlikely(rpc_debug & RPCDBG_##fac))
  57# define dfprintk(fac, args...) do { ifdebug(fac) printk(args); } while(0)
  58# define RPC_IFDEBUG(x)         x
  59#else
  60# define ifdebug(fac)           if (0)
  61# define dfprintk(fac, args...) do ; while (0)
  62# define RPC_IFDEBUG(x)
  63#endif
  64
  65/*
  66 * Sysctl interface for RPC debugging
  67 */
  68#ifdef RPC_DEBUG
  69void            rpc_register_sysctl(void);
  70void            rpc_unregister_sysctl(void);
  71#endif
  72
  73#endif /* __KERNEL__ */
  74
  75/*
  76 * Declarations for the sysctl debug interface, which allows to read or
  77 * change the debug flags for rpc, nfs, nfsd, and lockd. Since the sunrpc
  78 * module currently registers its sysctl table dynamically, the sysctl path
  79 * for module FOO is <CTL_SUNRPC, CTL_FOODEBUG>.
  80 */
  81
  82enum {
  83        CTL_RPCDEBUG = 1,
  84        CTL_NFSDEBUG,
  85        CTL_NFSDDEBUG,
  86        CTL_NLMDEBUG,
  87        CTL_SLOTTABLE_UDP,
  88        CTL_SLOTTABLE_TCP,
  89        CTL_MIN_RESVPORT,
  90        CTL_MAX_RESVPORT,
  91};
  92
  93#endif /* _LINUX_SUNRPC_DEBUG_H_ */
  94
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.