open-license-manager
2014-08-01 55f87d90a521f73c11408383bfc3fc7d84cc70ff
src/library/os/linux/os-linux.c
@@ -49,9 +49,9 @@
   FUNCTION_RETURN f_return = OK;
   struct ifaddrs *ifaddr, *ifa;
   int family, i, s, n, if_name_position;
   int family, i,  n, if_name_position;
   unsigned int if_num, if_max;
   char host[NI_MAXHOST];
   //char host[NI_MAXHOST];
   char *ifnames;
   if (getifaddrs(&ifaddr) == -1) {
@@ -363,6 +363,28 @@
   }
}
static void _getCpuid(unsigned int* p, unsigned int ax) {
   __asm __volatile
   ( "movl %%ebx, %%esi\n\t"
         "cpuid\n\t"
         "xchgl %%ebx, %%esi"
         : "=a" (p[0]), "=S" (p[1]),
         "=c" (p[2]), "=d" (p[3])
         : "0" (ax)
   );
}
FUNCTION_RETURN getCpuId(unsigned char identifier[6]) {
   unsigned int i;
   unsigned int cpuinfo[4] = { 0, 0, 0, 0 };
   _getCpuid(cpuinfo, 0);
   for (i = 0; i < 3; i++) {
      identifier[i * 2] = cpuinfo[i] & 0xFF;
      identifier[i * 2 + 1] = (cpuinfo[i] & 0xFF00) >> 8;
   }
   return OK;
}
VIRTUALIZATION getVirtualization() {
//http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
//