home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / LIBSRC.ZOO / libsrc / local / getrusag.c < prev    next >
Text File  |  1992-02-16  |  765b  |  35 lines

  1. #define INCL_DOSDATETIME
  2. #include <os2.h>
  3.  
  4. #include <sys/time.h>
  5. #include <sys/resource.h>
  6.  
  7. extern struct rusage _rusage;
  8. extern DATETIME _startup_time;
  9.  
  10. ULONG Dos32GetDateTime() asm ("Dos32GetDateTime");
  11.  
  12. int getrusage (int who, struct rusage *rusage)
  13. {
  14.    long diffsecs;
  15.    DATETIME buf;
  16.  
  17.    Dos32GetDateTime (&buf);
  18.  
  19.    *rusage = _rusage;
  20.  
  21.    diffsecs = (buf.seconds
  22.             + (buf.minutes * 60)
  23.             + (buf.hours * 3600))
  24.             - (_startup_time.seconds
  25.             + (_startup_time.minutes * 60)
  26.             + (_startup_time.hours * 3600));
  27.  
  28.    rusage -> ru_utime.tv_sec = diffsecs;
  29.    rusage -> ru_utime.tv_usec =
  30.                       (buf.hundredths - _startup_time.hundredths) * 10000;
  31.  
  32.    return (0);
  33. }
  34.  
  35.