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