1
2
3
4
5
6
7
8
9
10#ifndef _LINUX_SUNRPC_STATS_H
11#define _LINUX_SUNRPC_STATS_H
12
13#include <linux/proc_fs.h>
14
15struct rpc_stat {
16 const struct rpc_program *program;
17
18 unsigned int netcnt,
19 netudpcnt,
20 nettcpcnt,
21 nettcpconn,
22 netreconn;
23 unsigned int rpccnt,
24 rpcretrans,
25 rpcauthrefresh,
26 rpcgarbage;
27};
28
29struct svc_stat {
30 struct svc_program * program;
31
32 unsigned int netcnt,
33 netudpcnt,
34 nettcpcnt,
35 nettcpconn;
36 unsigned int rpccnt,
37 rpcbadfmt,
38 rpcbadauth,
39 rpcbadclnt;
40};
41
42struct net;
43#ifdef CONFIG_PROC_FS
44int rpc_proc_init(struct net *);
45void rpc_proc_exit(struct net *);
46#else
47static inline int rpc_proc_init(struct net *net)
48{
49 return 0;
50}
51
52static inline void rpc_proc_exit(struct net *net)
53{
54}
55#endif
56
57#ifdef MODULE
58void rpc_modcount(struct inode *, int);
59#endif
60
61#ifdef CONFIG_PROC_FS
62struct proc_dir_entry * rpc_proc_register(struct net *,struct rpc_stat *);
63void rpc_proc_unregister(struct net *,const char *);
64void rpc_proc_zero(const struct rpc_program *);
65struct proc_dir_entry * svc_proc_register(struct net *, struct svc_stat *,
66 const struct file_operations *);
67void svc_proc_unregister(struct net *, const char *);
68
69void svc_seq_show(struct seq_file *,
70 const struct svc_stat *);
71#else
72
73static inline struct proc_dir_entry *rpc_proc_register(struct net *net, struct rpc_stat *s) { return NULL; }
74static inline void rpc_proc_unregister(struct net *net, const char *p) {}
75static inline void rpc_proc_zero(const struct rpc_program *p) {}
76
77static inline struct proc_dir_entry *svc_proc_register(struct net *net, struct svc_stat *s,
78 const struct file_operations *f) { return NULL; }
79static inline void svc_proc_unregister(struct net *net, const char *p) {}
80
81static inline void svc_seq_show(struct seq_file *seq,
82 const struct svc_stat *st) {}
83#endif
84
85#endif
86