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 <afsconfig.h>
11 #include <afs/param.h>
19 #include <rx/rxstat.h>
20 #if defined(KERNEL) && !defined(UKERNEL)
21 #include "sys/errno.h"
22 #else /* KERNEL && !UKERNEL */
24 #endif /* KERNEL && !UKERNEL */
27 * This file creates a centralized mechanism for implementing the rpc
28 * stat code - which is generic across all servers.
32 MRXSTATS_RetrieveProcessRPCStats(struct rx_call *call,
33 IN afs_uint32 clientVersion,
34 OUT afs_uint32 * serverVersion,
35 OUT afs_uint32 * clock_sec,
36 OUT afs_uint32 * clock_usec,
37 OUT afs_uint32 * stat_count,
43 rc = rx_RetrieveProcessRPCStats(clientVersion, serverVersion, clock_sec,
44 clock_usec, &allocSize, stat_count,
45 &stats->rpcStats_val);
46 stats->rpcStats_len = (u_int)(allocSize / sizeof(afs_uint32));
52 MRXSTATS_RetrievePeerRPCStats(struct rx_call * call,
53 IN afs_uint32 clientVersion,
54 OUT afs_uint32 * serverVersion,
55 OUT afs_uint32 * clock_sec,
56 OUT afs_uint32 * clock_usec,
57 OUT afs_uint32 * stat_count,
63 rc = rx_RetrievePeerRPCStats(clientVersion, serverVersion, clock_sec,
64 clock_usec, &allocSize, stat_count,
65 &stats->rpcStats_val);
66 stats->rpcStats_len = (u_int)(allocSize / sizeof(afs_uint32));
72 MRXSTATS_QueryProcessRPCStats(struct rx_call * call, OUT afs_int32 * on)
75 *on = rx_queryProcessRPCStats();
81 MRXSTATS_QueryPeerRPCStats(struct rx_call * call, OUT afs_int32 * on)
84 *on = rx_queryPeerRPCStats();
90 MRXSTATS_EnableProcessRPCStats(struct rx_call * call)
93 if (!rx_RxStatUserOk(call)) {
96 rx_enableProcessRPCStats();
102 MRXSTATS_EnablePeerRPCStats(struct rx_call * call)
105 if (!rx_RxStatUserOk(call)) {
108 rx_enablePeerRPCStats();
115 MRXSTATS_DisableProcessRPCStats(struct rx_call * call)
118 if (!rx_RxStatUserOk(call)) {
121 rx_disableProcessRPCStats();
127 MRXSTATS_DisablePeerRPCStats(struct rx_call * call)
130 if (!rx_RxStatUserOk(call)) {
133 rx_disablePeerRPCStats();
139 MRXSTATS_QueryRPCStatsVersion(struct rx_call * call, OUT afs_uint32 * ver)
142 *ver = RX_STATS_RETRIEVAL_VERSION;
147 MRXSTATS_ClearProcessRPCStats(struct rx_call * call, IN afs_uint32 clearFlag)
150 if (!rx_RxStatUserOk(call)) {
153 rx_clearProcessRPCStats(clearFlag);
159 MRXSTATS_ClearPeerRPCStats(struct rx_call * call, IN afs_uint32 clearFlag)
162 if (!rx_RxStatUserOk(call)) {
165 rx_clearPeerRPCStats(clearFlag);