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