home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Mint / mntlib25.zoo / times.c < prev    next >
C/C++ Source or Header  |  1992-09-05  |  857b  |  42 lines

  1. #ifdef __TURBOC__
  2. #include <sys\times.h>
  3. #else
  4. #include <sys/times.h>
  5. #endif
  6. #include <time.h>
  7. #include <mintbind.h>
  8.  
  9. extern int __mint;
  10. extern long _childtime;
  11.  
  12. /* macro to convert milliseconds into CLK_TCKs */
  13. #define CVRT(x) ((x)/((1000L/CLK_TCK)))
  14.  
  15. int
  16. times(buffer)
  17. struct tms *buffer;
  18. {
  19.     long usage[8], r, real_time;
  20.  
  21.     real_time = clock();
  22.  
  23.     if (__mint) {
  24.         r = Prusage(usage);
  25.         if (r >= 0 && buffer) {
  26.             buffer->tms_cutime = CVRT(usage[3]);
  27.             buffer->tms_cstime = CVRT(usage[2]);
  28.             buffer->tms_utime = CVRT(usage[1]);
  29.             buffer->tms_stime = CVRT(usage[0]);
  30.             return (int) real_time;
  31.         }
  32.     }
  33.  
  34.     if (buffer) {
  35.         buffer->tms_cstime = (time_t) 0;
  36.         buffer->tms_cutime = (time_t) _childtime;
  37.         buffer->tms_stime = (time_t) 0;
  38.         buffer->tms_utime = (time_t) real_time - _childtime;
  39.     }
  40.     return (int) real_time;
  41. }
  42.