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 #else 47 static inline int rpc_proc_init(struct net *net) 48 { 49 return 0; 50 } 51 52 static inline void rpc_proc_exit(struct net *net) 53 { 54 } 55 #endif 56 57 #ifdef MODULE 58 void rpc_modcount(struct inode *, int); 59 #endif 60 61 #ifdef CONFIG_PROC_FS 62 struct proc_dir_entry * rpc_proc_register(struct net *,struct rpc_stat *); 63 void rpc_proc_unregister(struct net *,const char *); 64 void rpc_proc_zero(const struct rpc_program *); 65 struct proc_dir_entry * svc_proc_register(struct net *, struct svc_stat *, 66 const struct proc_ops *); 67 void svc_proc_unregister(struct net *, const char *); 68 69 void svc_seq_show(struct seq_file *, 70 const struct svc_stat *); 71 #else 72 73 static inline struct proc_dir_entry *rpc_proc_register(struct net *net, struct rpc_stat *s) { return NULL; } 74 static inline void rpc_proc_unregister(struct net *net, const char *p) {} 75 static inline void rpc_proc_zero(const struct rpc_program *p) {} 76 77 static inline struct proc_dir_entry *svc_proc_register(struct net *net, struct svc_stat *s, 78 const struct proc_ops *proc_ops) { return NULL; } 79 static inline void svc_proc_unregister(struct net *net, const char *p) {} 80 81 static inline void svc_seq_show(struct seq_file *seq, 82 const struct svc_stat *st) {} 83 #endif 84 85 #endif /* _LINUX_SUNRPC_STATS_H */ 86