Subversion Repositories shark

Rev

Rev 423 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
423 giacomo 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
#include <linux/config.h>
13
 
14
#include <linux/timer.h>
15
#include <linux/workqueue.h>
16
 
17
/*
18
 * Enable RPC debugging/profiling.
19
 */
20
#ifdef CONFIG_SYSCTL
21
#define  RPC_DEBUG
22
#endif
23
/* #define  RPC_PROFILE */
24
 
25
/*
26
 * RPC debug facilities
27
 */
28
#define RPCDBG_XPRT             0x0001
29
#define RPCDBG_CALL             0x0002
30
#define RPCDBG_DEBUG            0x0004
31
#define RPCDBG_NFS              0x0008
32
#define RPCDBG_AUTH             0x0010
33
#define RPCDBG_PMAP             0x0020
34
#define RPCDBG_SCHED            0x0040
35
#define RPCDBG_SVCSOCK          0x0100
36
#define RPCDBG_SVCDSP           0x0200
37
#define RPCDBG_MISC             0x0400
38
#define RPCDBG_CACHE            0x0800
39
#define RPCDBG_ALL              0x7fff
40
 
41
#ifdef __KERNEL__
42
 
43
/*
44
 * Debugging macros etc
45
 */
46
#ifdef RPC_DEBUG
47
extern unsigned int             rpc_debug;
48
extern unsigned int             nfs_debug;
49
extern unsigned int             nfsd_debug;
50
extern unsigned int             nlm_debug;
51
#endif
52
 
53
#define dprintk(args...)        dfprintk(FACILITY, ## args)
54
 
55
#undef ifdebug
56
#ifdef RPC_DEBUG                        
57
# define ifdebug(fac)           if (rpc_debug & RPCDBG_##fac)
58
# define dfprintk(fac, args...) do { ifdebug(fac) printk(args); } while(0)
59
# define RPC_IFDEBUG(x)         x
60
#else
61
# define ifdebug(fac)           if (0)
62
# define dfprintk(fac, args...) do ; while (0)
63
# define RPC_IFDEBUG(x)
64
#endif
65
 
66
#ifdef RPC_PROFILE
67
# define pprintk(args...)       printk(## args)
68
#else
69
# define pprintk(args...)       do ; while (0)
70
#endif
71
 
72
/*
73
 * Sysctl interface for RPC debugging
74
 */
75
#ifdef RPC_DEBUG
76
void            rpc_register_sysctl(void);
77
void            rpc_unregister_sysctl(void);
78
#endif
79
 
80
#endif /* __KERNEL__ */
81
 
82
/*
83
 * Declarations for the sysctl debug interface, which allows to read or
84
 * change the debug flags for rpc, nfs, nfsd, and lockd. Since the sunrpc
85
 * module currently registers its sysctl table dynamically, the sysctl path
86
 * for module FOO is <CTL_SUNRPC, CTL_FOODEBUG>.
87
 */
88
#define CTL_SUNRPC      7249    /* arbitrary and hopefully unused */
89
 
90
enum {
91
        CTL_RPCDEBUG = 1,
92
        CTL_NFSDEBUG,
93
        CTL_NFSDDEBUG,
94
        CTL_NLMDEBUG,
95
};
96
 
97
#endif /* _LINUX_SUNRPC_DEBUG_H_ */