| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | 
| Chuck Lever | a509050 | 2007-03-29 16:48:04 -0400 | [diff] [blame] | 20 | #define RPCDBG_BIND		0x0020 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | #define RPCDBG_SCHED		0x0040 | 
| Chuck Lever | 9903cd1 | 2005-08-11 16:25:26 -0400 | [diff] [blame] | 22 | #define RPCDBG_TRANS		0x0080 | 
| Tom Tucker | 1d8206b | 2007-12-30 21:07:15 -0600 | [diff] [blame] | 23 | #define RPCDBG_SVCXPRT		0x0100 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | #define RPCDBG_SVCDSP		0x0200 | 
|  | 25 | #define RPCDBG_MISC		0x0400 | 
|  | 26 | #define RPCDBG_CACHE		0x0800 | 
|  | 27 | #define RPCDBG_ALL		0x7fff | 
|  | 28 |  | 
|  | 29 | #ifdef __KERNEL__ | 
| David Woodhouse | 1af0422 | 2006-04-25 15:16:44 +0100 | [diff] [blame] | 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 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 |  | 
|  | 42 | /* | 
|  | 43 | * Debugging macros etc | 
|  | 44 | */ | 
|  | 45 | #ifdef RPC_DEBUG | 
|  | 46 | extern unsigned int		rpc_debug; | 
|  | 47 | extern unsigned int		nfs_debug; | 
|  | 48 | extern unsigned int		nfsd_debug; | 
|  | 49 | extern 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 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 65 | /* | 
|  | 66 | * Sysctl interface for RPC debugging | 
|  | 67 | */ | 
|  | 68 | #ifdef RPC_DEBUG | 
|  | 69 | void		rpc_register_sysctl(void); | 
|  | 70 | void		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 | */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 81 |  | 
|  | 82 | enum { | 
|  | 83 | CTL_RPCDEBUG = 1, | 
|  | 84 | CTL_NFSDEBUG, | 
|  | 85 | CTL_NFSDDEBUG, | 
|  | 86 | CTL_NLMDEBUG, | 
|  | 87 | CTL_SLOTTABLE_UDP, | 
|  | 88 | CTL_SLOTTABLE_TCP, | 
| Chuck Lever | 529b33c | 2005-08-25 16:25:54 -0700 | [diff] [blame] | 89 | CTL_MIN_RESVPORT, | 
|  | 90 | CTL_MAX_RESVPORT, | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 91 | }; | 
|  | 92 |  | 
|  | 93 | #endif /* _LINUX_SUNRPC_DEBUG_H_ */ |