home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / primcuts.zip / Time_since_IPL.c < prev    next >
Text File  |  1999-09-16  |  2KB  |  63 lines

  1. /*---------------------------------------------------------------------------*\
  2.  *    Title: Time since initial program load                                 *
  3.  * Filename: Time since IPL.c                                                *
  4.  *     Date: 1999-04-16                                                      *
  5.  *   Author: Jan M. Danielsson                                               *
  6.  *                                                                           *
  7.  *  Purpose:                                                                 *
  8.  *                                                                           *
  9.  * (C) Treadstone, 1999. All rights reserved.                                *
  10.  *                                                                           *
  11.  * ToDo:                                                                     *
  12.  *   - Nothing, yet                                                          *
  13.  *                                                                           *
  14.  * Known bugs:                                                               *
  15.  *   - Since the counter is a 32-bit millisecond counter, it will wrap after *
  16.  *     4.2 billion milliseconds. It will take a couple of weeks for the      *
  17.  *     counter to wrap.                                                      *
  18. \*---------------------------------------------------------------------------*/
  19. #define INCL_DOSMISC
  20.  
  21. #include <os2.h>
  22.  
  23. #include <stdio.h>
  24.  
  25.  
  26. #define  SECOND   1000
  27. #define  MINUTE   (SECOND * 60)
  28. #define  HOUR     (MINUTE * 60)
  29. #define  DAY      (HOUR * 24)
  30.  
  31.  
  32. void main(void)
  33. {
  34.    APIRET   rc = NO_ERROR;
  35.    ULONG    ulRunTime = 0;
  36.  
  37.    ULONG    ulMilliSec = 0;
  38.    ULONG    ulSeconds = 0;
  39.    ULONG    ulMinutes = 0;
  40.    ULONG    ulHours = 0;
  41.    ULONG    ulDays = 0;
  42.  
  43.    ULONG    ulTmp = 0;
  44.  
  45.    rc = DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &ulRunTime, sizeof(ULONG));
  46.  
  47.    ulDays    = ulRunTime / DAY;
  48.    ulTmp     = ulRunTime % DAY;
  49.  
  50.    ulHours   = ulTmp     / HOUR;
  51.    ulTmp     = ulTmp     % HOUR;
  52.  
  53.    ulMinutes = ulTmp     / MINUTE;
  54.    ulTmp     = ulTmp     % MINUTE;
  55.  
  56.    ulSeconds = ulTmp     / SECOND;
  57.    ulTmp     = ulTmp     % SECOND;
  58.  
  59.    ulMilliSec = ulTmp;
  60.  
  61.    printf("%d days, %d hours, %d minutes, %d seconds and %d milliseconds\n", ulDays, ulHours, ulMinutes, ulSeconds, ulMilliSec);
  62. }
  63.