blob: 5fa0f20843078a94c8822ef1a1ace6cc5d0ae2c0 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
Linus Torvalds1da177e2005-04-16 15:20:36 -070012#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 *,
Arjan van de Ven99ac48f2006-03-28 01:56:41 -080052 const struct file_operations *);
Linus Torvalds1da177e2005-04-16 15:20:36 -070053void 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,
Arjan van de Ven99ac48f2006-03-28 01:56:41 -080067 const struct file_operations *f) { return NULL; }
Linus Torvalds1da177e2005-04-16 15:20:36 -070068static 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 */