linux/include/linux/sunrpc/stats.h
<<
>>
Prefs
   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