home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume4 / sco-crash / stats.c < prev    next >
C/C++ Source or Header  |  1989-02-03  |  1KB  |  58 lines

  1. #include <sys/param.h>
  2. #include <sys/sysmacros.h>
  3. #include <sys/types.h>
  4. #include <sys/utsname.h>
  5. #include <sys/param.h>
  6. #include <a.out.h>
  7. #include <time.h>
  8. #include "crash.h"
  9.  
  10. #define    MINUTE    (60L)
  11. #define    HOUR    (MINUTE*60L)
  12. #define    DAY    (HOUR*24L)
  13.  
  14. prstats ()
  15. {
  16.     l_lseek (kmemfd, namelist[NM_UTSNAME].xl_value, 0);
  17.     r_read (kmemfd, &utsname, sizeof utsname);
  18.  
  19.     l_lseek (kmemfd, namelist[NM_TIME].xl_value, 0);
  20.     r_read (kmemfd, &ktime, sizeof ktime);
  21.  
  22.     l_lseek (kmemfd, namelist[NM_LBOLT].xl_value, 0);
  23.     r_read (kmemfd, &klbolt, sizeof klbolt);
  24.  
  25.     printf ("    sysname: %.*s\n",
  26.         sizeof utsname.sysname, utsname.sysname);
  27.     printf ("    nodename: %.*s\n",
  28.         sizeof utsname.nodename, utsname.nodename);
  29.     printf ("    release: %.*s\n",
  30.         sizeof utsname.release, utsname.release);
  31.     printf ("    version: %.*s\n",
  32.         sizeof utsname.version, utsname.version);
  33.     printf ("    machine: %.*s\n",
  34.         sizeof utsname.machine, utsname.machine);
  35.  
  36.     printf ("    time of crash: %s", ctime (&ktime));
  37.  
  38.     klbolt /= HZ;            /* convert to seconds */
  39.  
  40.     printf ("    age of system:");
  41.  
  42.     if (klbolt >= DAY)
  43.         printf (" %d %s,", klbolt / DAY,
  44.             klbolt >= (2*DAY) ? "days":"day");
  45.  
  46.     klbolt %= DAY;
  47.  
  48.     if (klbolt >= HOUR)
  49.         printf (" %d %s,", klbolt / HOUR,
  50.             klbolt >= (2*HOUR) ? "hrs.":"hr.");
  51.  
  52.     klbolt %= HOUR;
  53.     klbolt /= MINUTE;
  54.  
  55.     printf (" %d %s\n", klbolt,
  56.         klbolt == 0 || klbolt >= 2 ? "mins.":"min.");
  57. }
  58.