unsigned int totalFunc,
int isServer);
+extern void rx_GetCallStatus(struct rx_call *call,
+ afs_int32 *readNext,
+ afs_int32 *transmitNext,
+ int *lastSendTime,
+ int *lastReceiveTime);
/* Peer management */
extern afs_uint32 rx_HostOf(struct rx_peer *peer);
extern u_short rx_PortOf(struct rx_peer *peer);
totalFunc, &queue, &exec, call->app.bytesSent,
call->app.bytesRcvd, 1);
}
+
+/*
+ * Accessor for VolMonitor 'vos status'
+ * note: the rx_call members are all unsigned, but our return targets
+ * in wire struct transDebugInfo are all signed. Sigh.
+ */
+void
+rx_GetCallStatus(struct rx_call *call, afs_int32 *readNext,
+ afs_int32 *transmitNext, int *lastSendTime,
+ int *lastReceiveTime)
+{
+ if (readNext != NULL)
+ *readNext = call->rnext;
+ if (transmitNext != NULL)
+ *transmitNext = call->tnext;
+ if (lastSendTime != NULL)
+ *lastSendTime = call->lastSendTime;
+ if (lastReceiveTime != NULL)
+ *lastReceiveTime = call->lastReceiveTime;
+}
pntr->callValid = 0;
if (tt->rxCallPtr) { /*record call related info */
pntr->callValid = 1;
-#if 0
- pntr->readNext = tt->rxCallPtr->rnext;
- pntr->transmitNext = tt->rxCallPtr->tnext;
- pntr->lastSendTime = tt->rxCallPtr->lastSendTime;
- pntr->lastReceiveTime = tt->rxCallPtr->lastReceiveTime;
-#endif
+ rx_GetCallStatus(tt->rxCallPtr, &(pntr->readNext), &(pntr->transmitNext),
+ &(pntr->lastSendTime), &(pntr->lastReceiveTime));
}
VTRANS_OBJ_UNLOCK(tt);
pntr++;