Subversion Repositories Kolibri OS

Rev

Rev 3245 | Rev 6822 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. int cmd_ver(char param[])
  3. {
  4.  
  5. if (!strcmp(param, "kernel"))
  6.         {
  7.         char            *kvbuf;
  8.         char            *vA, *vB, *vC, *vD;
  9.         unsigned        *Rev;
  10.  
  11.         kvbuf = malloc(16);
  12.         kol_get_kernel_ver(kvbuf);
  13.         vA = kvbuf+0;
  14.         vB = kvbuf+1;
  15.         vC = kvbuf+2;
  16.         vD = kvbuf+3;
  17.         Rev = kvbuf+5;
  18.  
  19.         #if LANG_ENG
  20.                 printf ("  KolibriOS v%d.%d.%d.%d. Kernel SVN-rev.: %d\n\r", *vA, *vB, *vC, *vD, *Rev);
  21.         #elif LANG_RUS
  22.                 printf ("  KolibriOS v%d.%d.%d.%d. SVN-ॢ. ï¤à : %d\n\r", *vA, *vB, *vC, *vD, *Rev);
  23.         #endif
  24.  
  25.         free(kvbuf);
  26.  
  27.         return TRUE;
  28.         }
  29.  
  30. if (!strcmp(param, "cpu"))
  31.    {
  32.    unsigned a, b, c, d;
  33.    char str[13];
  34.  
  35.    str[12] = '\0';
  36.  
  37.    asm ("cpuid" :
  38.                 "=a" (a),
  39.         "=b" (b),
  40.         "=c" (c),
  41.         "=d" (d):
  42.         "a"(0));
  43.  
  44.     str[0] = (b&0x000000ff)     >> 0;
  45.     str[1] = (b&0x0000ff00)     >> 8;
  46.     str[2] = (b&0x00ff0000)     >> 16;
  47.     str[3] = (b&0xff000000)     >> 24;
  48.  
  49.     str[4] = (d&0x000000ff)     >> 0;
  50.     str[5] = (d&0x0000ff00)     >> 8;
  51.     str[6] = (d&0x00ff0000)     >> 16;
  52.     str[7] = (d&0xff000000)     >> 24;
  53.  
  54.     str[8] = (c&0x000000ff)     >> 0;
  55.     str[9] = (c&0x0000ff00)     >> 8;
  56.     str[10] = (c&0x00ff0000)    >> 16;
  57.     str[11] = (c&0xff000000)    >> 24;
  58.  
  59.     printf("%s\n\r", str);
  60.     return TRUE;
  61.    }
  62.  
  63.  
  64. printf ("  Shell v%s\n\r", SHELL_VERSION);
  65. return TRUE;
  66. }
  67.  
  68.