BSD 4_2 release
[unix-history] / usr / src / lib / libc / compat-4.1 / times.c
/* times.c 4.2 83/06/02 */
#include <sys/time.h>
#include <sys/resource.h>
/*
* Backwards compatible times.
*/
struct tms {
int tms_utime; /* user time */
int tms_stime; /* system time */
int tms_cutime; /* user time, children */
int tms_cstime; /* system time, children */
};
times(tmsp)
register struct tms *tmsp;
{
struct rusage ru;
if (getrusage(RUSAGE_SELF, &ru) < 0)
return (-1);
tmsp->tms_utime = scale60(&ru.ru_utime);
tmsp->tms_stime = scale60(&ru.ru_stime);
if (getrusage(RUSAGE_CHILDREN, &ru) < 0)
return (-1);
tmsp->tms_cutime = scale60(&ru.ru_utime);
tmsp->tms_cstime = scale60(&ru.ru_stime);
return (0);
}
static
scale60(tvp)
register struct timeval *tvp;
{
return (tvp->tv_sec * 60 + tvp->tv_usec / 16667);
}