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/config.h> 13#include <linux/proc_fs.h> 14 15struct 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 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 42void rpc_proc_init(void); 43void rpc_proc_exit(void); 44#ifdef MODULE 45void rpc_modcount(struct inode *, int); 46#endif 47 48#ifdef CONFIG_PROC_FS 49struct proc_dir_entry * rpc_proc_register(struct rpc_stat *); 50void rpc_proc_unregister(const char *); 51int rpc_proc_read(char *, char **, off_t, int, 52 int *, void *); 53void rpc_proc_zero(struct rpc_program *); 54struct proc_dir_entry * svc_proc_register(struct svc_stat *); 55void svc_proc_unregister(const char *); 56int svc_proc_read(char *, char **, off_t, int, 57 int *, void *); 58void svc_proc_zero(struct svc_program *); 59 60#else 61 62static inline void svc_proc_unregister(const char *p) {} 63static inline struct proc_dir_entry*svc_proc_register(struct svc_stat *s) 64{ 65 return NULL; 66} 67 68static inline int svc_proc_read(char *a, char **b, off_t c, int d, int *e, void *f) 69{ 70 return 0; 71} 72#endif 73 74#endif /* _LINUX_SUNRPC_STATS_H */ 75