home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / SYS / CLOCK.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-02  |  726 b   |  22 lines

  1. /* sys/clock.c (emx+gcc) -- Copyright (c) 1992-1993 by Eberhard Mattes */
  2.  
  3. #include <sys/emx.h>
  4. #include <os2emx.h>
  5. #include "syscalls.h"
  6.  
  7. /* This function requires QSV_TIME_LOW/QSV_TIME_HIGH to be synchronized */
  8. /* with QSV_MS_COUNT, that is, the first timer is incremented at the    */
  9. /* same time as the latter one.                                         */
  10.  
  11. long long __clock (void)
  12. {
  13.   ULONG val_lo, val_hi, val_ms;
  14.   long long res;
  15.  
  16.   _sys_get_clock (&val_lo, &val_hi, &val_ms);
  17.   res = (long long)(((val_ms - _sys_clock0_ms) % 1000) / 10)
  18.     + 100 * (((long long)val_hi << 32) + (long long)val_lo -
  19.              ((long long)_sys_clock0_hi << 32) + (long long)_sys_clock0_lo);
  20.   return (res);
  21. }
  22.