2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 #include <afs/param.h>
11 #include <afsconfig.h>
16 #include <rx/rxstat.h>
17 #if defined(KERNEL) && !defined(UKERNEL)
18 #include "sys/errno.h"
19 #else /* KERNEL && !UKERNEL */
21 #endif /* KERNEL && !UKERNEL */
24 * This file creates a centralized mechanism for implementing the rpc
25 * stat code - which is generic across all servers.
29 MRXSTATS_RetrieveProcessRPCStats(struct rx_call *call,
30 IN afs_uint32 clientVersion,
31 OUT afs_uint32 * serverVersion,
32 OUT afs_uint32 * clock_sec,
33 OUT afs_uint32 * clock_usec,
34 OUT afs_uint32 * stat_count,
40 rc = rx_RetrieveProcessRPCStats(clientVersion, serverVersion, clock_sec,
41 clock_usec, &allocSize, stat_count,
42 &stats->rpcStats_val);
43 stats->rpcStats_len = (u_int)(allocSize / sizeof(afs_uint32));
49 MRXSTATS_RetrievePeerRPCStats(struct rx_call * call,
50 IN afs_uint32 clientVersion,
51 OUT afs_uint32 * serverVersion,
52 OUT afs_uint32 * clock_sec,
53 OUT afs_uint32 * clock_usec,
54 OUT afs_uint32 * stat_count,
60 rc = rx_RetrievePeerRPCStats(clientVersion, serverVersion, clock_sec,
61 clock_usec, &allocSize, stat_count,
62 &stats->rpcStats_val);
63 stats->rpcStats_len = (u_int)(allocSize / sizeof(afs_uint32));
69 MRXSTATS_QueryProcessRPCStats(struct rx_call * call, OUT afs_int32 * on)
72 *on = rx_queryProcessRPCStats();
78 MRXSTATS_QueryPeerRPCStats(struct rx_call * call, OUT afs_int32 * on)
81 *on = rx_queryPeerRPCStats();
87 MRXSTATS_EnableProcessRPCStats(struct rx_call * call)
90 if (!rx_RxStatUserOk(call)) {
93 rx_enableProcessRPCStats();
99 MRXSTATS_EnablePeerRPCStats(struct rx_call * call)
102 if (!rx_RxStatUserOk(call)) {
105 rx_enablePeerRPCStats();
112 MRXSTATS_DisableProcessRPCStats(struct rx_call * call)
115 if (!rx_RxStatUserOk(call)) {
118 rx_disableProcessRPCStats();
124 MRXSTATS_DisablePeerRPCStats(struct rx_call * call)
127 if (!rx_RxStatUserOk(call)) {
130 rx_disablePeerRPCStats();
136 MRXSTATS_QueryRPCStatsVersion(struct rx_call * call, OUT afs_uint32 * ver)
139 *ver = RX_STATS_RETRIEVAL_VERSION;
144 MRXSTATS_ClearProcessRPCStats(struct rx_call * call, IN afs_uint32 clearFlag)
147 if (!rx_RxStatUserOk(call)) {
150 rx_clearProcessRPCStats(clearFlag);
156 MRXSTATS_ClearPeerRPCStats(struct rx_call * call, IN afs_uint32 clearFlag)
159 if (!rx_RxStatUserOk(call)) {
162 rx_clearPeerRPCStats(clearFlag);