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