Subversion Repositories Kolibri OS

Rev

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