1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * linux/include/linux/sunrpc/stats.h |
4 | * |
5 | * Client statistics collection for SUN RPC |
6 | * |
7 | * Copyright (C) 1996 Olaf Kirch <okir@monad.swb.de> |
8 | */ |
9 | |
10 | #ifndef _LINUX_SUNRPC_STATS_H |
11 | #define _LINUX_SUNRPC_STATS_H |
12 | |
13 | #include <linux/proc_fs.h> |
14 | |
15 | struct 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 | |
29 | struct 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 | |
42 | struct net; |
43 | #ifdef CONFIG_PROC_FS |
44 | int rpc_proc_init(struct net *); |
45 | void rpc_proc_exit(struct net *); |
46 | struct proc_dir_entry * rpc_proc_register(struct net *,struct rpc_stat *); |
47 | void rpc_proc_unregister(struct net *,const char *); |
48 | void rpc_proc_zero(const struct rpc_program *); |
49 | struct proc_dir_entry * svc_proc_register(struct net *, struct svc_stat *, |
50 | const struct proc_ops *); |
51 | void svc_proc_unregister(struct net *, const char *); |
52 | |
53 | void svc_seq_show(struct seq_file *, |
54 | const struct svc_stat *); |
55 | #else |
56 | static inline int rpc_proc_init(struct net *net) |
57 | { |
58 | return 0; |
59 | } |
60 | |
61 | static inline void rpc_proc_exit(struct net *net) |
62 | { |
63 | } |
64 | static inline struct proc_dir_entry *rpc_proc_register(struct net *net, struct rpc_stat *s) { return NULL; } |
65 | static inline void rpc_proc_unregister(struct net *net, const char *p) {} |
66 | static inline void rpc_proc_zero(const struct rpc_program *p) {} |
67 | |
68 | static inline struct proc_dir_entry *svc_proc_register(struct net *net, struct svc_stat *s, |
69 | const struct proc_ops *proc_ops) { return NULL; } |
70 | static inline void svc_proc_unregister(struct net *net, const char *p) {} |
71 | |
72 | static inline void svc_seq_show(struct seq_file *seq, |
73 | const struct svc_stat *st) {} |
74 | #endif |
75 | |
76 | #endif /* _LINUX_SUNRPC_STATS_H */ |
77 | |