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
11 #include "afs/param.h"
13 #include <afs/param.h>
15 #include <afsconfig.h>
21 #include "afs/sysincludes.h"
22 #include "afsincludes.h"
23 #include <rx/rxstat.h>
27 #include <rx/rxstat.h>
29 #include "sys/errno.h"
36 * This file creates a centralized mechanism for implementing the rpc
37 * stat code - which is generic across all servers.
41 MRXSTATS_RetrieveProcessRPCStats(struct rx_call *call,
42 IN afs_uint32 clientVersion,
43 OUT afs_uint32 * serverVersion,
44 OUT afs_uint32 * clock_sec,
45 OUT afs_uint32 * clock_usec,
46 OUT afs_uint32 * stat_count,
52 rc = rx_RetrieveProcessRPCStats(clientVersion, serverVersion, clock_sec,
53 clock_usec, &allocSize, stat_count,
54 &stats->rpcStats_val);
55 stats->rpcStats_len = (u_int)(allocSize / sizeof(afs_uint32));
61 MRXSTATS_RetrievePeerRPCStats(struct rx_call * call,
62 IN afs_uint32 clientVersion,
63 OUT afs_uint32 * serverVersion,
64 OUT afs_uint32 * clock_sec,
65 OUT afs_uint32 * clock_usec,
66 OUT afs_uint32 * stat_count,
72 rc = rx_RetrievePeerRPCStats(clientVersion, serverVersion, clock_sec,
73 clock_usec, &allocSize, stat_count,
74 &stats->rpcStats_val);
75 stats->rpcStats_len = (u_int)(allocSize / sizeof(afs_uint32));
81 MRXSTATS_QueryProcessRPCStats(struct rx_call * call, OUT afs_int32 * on)
84 *on = rx_queryProcessRPCStats();
90 MRXSTATS_QueryPeerRPCStats(struct rx_call * call, OUT afs_int32 * on)
93 *on = rx_queryPeerRPCStats();
99 MRXSTATS_EnableProcessRPCStats(struct rx_call * call)
102 if (!rx_RxStatUserOk(call)) {
105 rx_enableProcessRPCStats();
111 MRXSTATS_EnablePeerRPCStats(struct rx_call * call)
114 if (!rx_RxStatUserOk(call)) {
117 rx_enablePeerRPCStats();
124 MRXSTATS_DisableProcessRPCStats(struct rx_call * call)
127 if (!rx_RxStatUserOk(call)) {
130 rx_disableProcessRPCStats();
136 MRXSTATS_DisablePeerRPCStats(struct rx_call * call)
139 if (!rx_RxStatUserOk(call)) {
142 rx_disablePeerRPCStats();
148 MRXSTATS_QueryRPCStatsVersion(struct rx_call * call, OUT afs_uint32 * ver)
151 *ver = RX_STATS_RETRIEVAL_VERSION;
156 MRXSTATS_ClearProcessRPCStats(struct rx_call * call, IN afs_uint32 clearFlag)
159 if (!rx_RxStatUserOk(call)) {
162 rx_clearProcessRPCStats(clearFlag);
168 MRXSTATS_ClearPeerRPCStats(struct rx_call * call, IN afs_uint32 clearFlag)
171 if (!rx_RxStatUserOk(call)) {
174 rx_clearPeerRPCStats(clearFlag);