home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / unix / emx / test / version.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-11-24  |  1.2 KB  |  52 lines

  1. /* version.c (emx+gcc) */
  2.  
  3. #include <sys/emx.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7.  
  8. int main (int argc, char *argv[]);
  9. static void bit (char *s, int n);
  10.  
  11.  
  12. static void bit (char *s, int n)
  13. {
  14.   printf ("%s  %s\n", s, ((_emx_env & n) ? "YES" : "NO"));
  15. }
  16.  
  17.  
  18. int main (int argc, char *argv[])
  19. {
  20.   int sz[2], i;
  21.   int mem_flag = FALSE;
  22.   int scr_flag = FALSE;
  23.  
  24.   for (i = 1; i < argc; ++i)
  25.     if (strcmp (argv[i], "-m") == 0)
  26.       mem_flag = TRUE;
  27.     else if (strcmp (argv[i], "-s") == 0)
  28.       scr_flag = TRUE;
  29.   printf ("emx version %s (0x%lx)\n", _emx_vprt, _emx_vcmp);
  30.   bit ("VCPI     ", 0x001);
  31.   bit ("XMS      ", 0x002);
  32.   bit ("VDISK 3.3", 0x004);
  33.   bit ("DESQview ", 0x008);
  34.   bit ("287      ", 0x010);
  35.   bit ("387      ", 0x020);
  36.   bit ("OS/2 2.0 ", 0x200);
  37.   bit ("-t       ", 0x400);
  38.   bit ("-ac      ", 0x800);
  39.   printf ("Operating system: %s %d.%d\n",
  40.           (_osmode == DOS_MODE ? "MS-DOS"
  41.            : (_osmode == OS2_MODE ? "OS/2" : "unknown")),
  42.           _osmajor, _osminor);
  43.   if (mem_flag)
  44.     printf ("Available memory: %d KByte\n", __memavail () * 4);
  45.   if (scr_flag)
  46.     {
  47.       _scrsize (sz);
  48.       printf ("Screen size: %dx%d\n", sz[0], sz[1]);
  49.     }
  50.   return (0);
  51. }
  52.