+ return;
+ }
+}
+
+scale60(tvp)
+ register struct timeval *tvp;
+{
+
+ return (tvp->tv_sec * 60 + tvp->tv_usec / 16667);
+}
+
+#include "../h/vtimes.h"
+
+ovtimes()
+{
+ register struct a {
+ struct vtimes *par;
+ struct vtimes *chi;
+ } *uap = (struct a *)u.u_ap;
+ struct vtimes avt;
+
+ if (uap->par) {
+ getvtimes(&u.u_ru, &avt);
+ if (copyout((caddr_t)&avt, (caddr_t)uap->par, sizeof (avt))) {
+ u.u_error = EFAULT;
+ return;
+ }
+ }
+ if (uap->chi) {
+ getvtimes(&u.u_cru, &avt);
+ if (copyout((caddr_t)&avt, (caddr_t)uap->chi, sizeof (avt))) {
+ u.u_error = EFAULT;
+ return;
+ }
+ }
+}
+
+getvtimes(aru, avt)
+ register struct rusage *aru;
+ register struct vtimes *avt;
+{
+
+ avt->vm_utime = scale60(&aru->ru_utime);
+ avt->vm_stime = scale60(&aru->ru_stime);
+ avt->vm_idsrss = ((aru->ru_idrss+aru->ru_isrss) / hz) * 60;
+ avt->vm_ixrss = aru->ru_ixrss / hz * 60;
+ avt->vm_maxrss = aru->ru_maxrss;
+ avt->vm_majflt = aru->ru_majflt;
+ avt->vm_minflt = aru->ru_minflt;
+ avt->vm_nswap = aru->ru_nswap;
+ avt->vm_inblk = aru->ru_inblock;
+ avt->vm_oublk = aru->ru_oublock;