1 /* 2 * linux/include/linux/sunrpc/stats.h 3 * 4 * Client statistics collection for SUN RPC 5 * 6 * Copyright (C) 1996 Olaf Kirch <[email protected]> 7 */ 8 9 #ifndef _LINUX_SUNRPC_STATS_H 10 #define _LINUX_SUNRPC_STATS_H 11 12 #include <linux/config.h> 13 #include <linux/proc_fs.h> 14 15 struct rpc_stat { 16 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 void rpc_proc_init(void); 43 void rpc_proc_exit(void); 44 #ifdef MODULE 45 void rpc_modcount(struct inode *, int); 46 #endif 47 48 #ifdef CONFIG_PROC_FS 49 struct proc_dir_entry * rpc_proc_register(struct rpc_stat *); 50 void rpc_proc_unregister(const char *); 51 void rpc_proc_zero(struct rpc_program *); 52 struct proc_dir_entry * svc_proc_register(struct svc_stat *, 53 struct file_operations *); 54 void svc_proc_unregister(const char *); 55 56 void svc_seq_show(struct seq_file *, 57 const struct svc_stat *); 58 59 extern struct proc_dir_entry *proc_net_rpc; 60 61 #else 62 63 static inline struct proc_dir_entry *rpc_proc_register(struct rpc_stat *s) { return NULL; } 64 static inline void rpc_proc_unregister(const char *p) {} 65 static inline void rpc_proc_zero(struct rpc_program *p) {} 66 67 static inline struct proc_dir_entry *svc_proc_register(struct svc_stat *s, 68 struct file_operations *f) { return NULL; } 69 static inline void svc_proc_unregister(const char *p) {} 70 71 static inline void svc_seq_show(struct seq_file *seq, 72 const struct svc_stat *st) {} 73 74 #define proc_net_rpc NULL 75 76 #endif 77 78 #endif /* _LINUX_SUNRPC_STATS_H */ 79