/* sim-times.c - times support routines for PowerPC. * * Written by Aldy Hernandez. * * This file is licensed with the default Red Hat license * found in COPYING.NEWLIB. * http://sourceware.org/cgi-bin/cvsweb.cgi/src/COPYING.NEWLIB?rev=1.32&content-type=text/x-cvsweb-markup&cvsroot=src */ #include <_ansi.h> #include #include #include #include clock_t times (struct tms *tp) { struct rusage usage; union { struct rusage r; /* Newlib's rusage has only 2 fields. We need to make room for when we call the system's rusage. This should be enough. */ int filler[32]; } host_ru; getrusage (RUSAGE_SELF, (void *)&host_ru); if (tp) { tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 + host_ru.r.ru_utime.tv_usec; tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 + host_ru.r.ru_stime.tv_usec; tp->tms_cutime = 0; /* user time, children */ tp->tms_cstime = 0; /* system time, children */ } return tp->tms_utime; }