94 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * linux/include/linux/sunrpc/debug.h
 | 
						|
 *
 | 
						|
 * Debugging support for sunrpc module
 | 
						|
 *
 | 
						|
 * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _LINUX_SUNRPC_DEBUG_H_
 | 
						|
#define _LINUX_SUNRPC_DEBUG_H_
 | 
						|
 | 
						|
/*
 | 
						|
 * RPC debug facilities
 | 
						|
 */
 | 
						|
#define RPCDBG_XPRT		0x0001
 | 
						|
#define RPCDBG_CALL		0x0002
 | 
						|
#define RPCDBG_DEBUG		0x0004
 | 
						|
#define RPCDBG_NFS		0x0008
 | 
						|
#define RPCDBG_AUTH		0x0010
 | 
						|
#define RPCDBG_BIND		0x0020
 | 
						|
#define RPCDBG_SCHED		0x0040
 | 
						|
#define RPCDBG_TRANS		0x0080
 | 
						|
#define RPCDBG_SVCXPRT		0x0100
 | 
						|
#define RPCDBG_SVCDSP		0x0200
 | 
						|
#define RPCDBG_MISC		0x0400
 | 
						|
#define RPCDBG_CACHE		0x0800
 | 
						|
#define RPCDBG_ALL		0x7fff
 | 
						|
 | 
						|
#ifdef __KERNEL__
 | 
						|
 | 
						|
#include <linux/timer.h>
 | 
						|
#include <linux/workqueue.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * Enable RPC debugging/profiling.
 | 
						|
 */
 | 
						|
#ifdef CONFIG_SYSCTL
 | 
						|
#define  RPC_DEBUG
 | 
						|
#endif
 | 
						|
/* #define  RPC_PROFILE */
 | 
						|
 | 
						|
/*
 | 
						|
 * Debugging macros etc
 | 
						|
 */
 | 
						|
#ifdef RPC_DEBUG
 | 
						|
extern unsigned int		rpc_debug;
 | 
						|
extern unsigned int		nfs_debug;
 | 
						|
extern unsigned int		nfsd_debug;
 | 
						|
extern unsigned int		nlm_debug;
 | 
						|
#endif
 | 
						|
 | 
						|
#define dprintk(args...)	dfprintk(FACILITY, ## args)
 | 
						|
 | 
						|
#undef ifdebug
 | 
						|
#ifdef RPC_DEBUG			
 | 
						|
# define ifdebug(fac)		if (unlikely(rpc_debug & RPCDBG_##fac))
 | 
						|
# define dfprintk(fac, args...)	do { ifdebug(fac) printk(args); } while(0)
 | 
						|
# define RPC_IFDEBUG(x)		x
 | 
						|
#else
 | 
						|
# define ifdebug(fac)		if (0)
 | 
						|
# define dfprintk(fac, args...)	do ; while (0)
 | 
						|
# define RPC_IFDEBUG(x)
 | 
						|
#endif
 | 
						|
 | 
						|
/*
 | 
						|
 * Sysctl interface for RPC debugging
 | 
						|
 */
 | 
						|
#ifdef RPC_DEBUG
 | 
						|
void		rpc_register_sysctl(void);
 | 
						|
void		rpc_unregister_sysctl(void);
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* __KERNEL__ */
 | 
						|
 | 
						|
/*
 | 
						|
 * Declarations for the sysctl debug interface, which allows to read or
 | 
						|
 * change the debug flags for rpc, nfs, nfsd, and lockd. Since the sunrpc
 | 
						|
 * module currently registers its sysctl table dynamically, the sysctl path
 | 
						|
 * for module FOO is <CTL_SUNRPC, CTL_FOODEBUG>.
 | 
						|
 */
 | 
						|
 | 
						|
enum {
 | 
						|
	CTL_RPCDEBUG = 1,
 | 
						|
	CTL_NFSDEBUG,
 | 
						|
	CTL_NFSDDEBUG,
 | 
						|
	CTL_NLMDEBUG,
 | 
						|
	CTL_SLOTTABLE_UDP,
 | 
						|
	CTL_SLOTTABLE_TCP,
 | 
						|
	CTL_MIN_RESVPORT,
 | 
						|
	CTL_MAX_RESVPORT,
 | 
						|
};
 | 
						|
 | 
						|
#endif /* _LINUX_SUNRPC_DEBUG_H_ */
 |