diff options
| -rw-r--r-- | hardinfo2/arch/linux/alpha/processor.h | 3 | ||||
| -rw-r--r-- | hardinfo2/arch/linux/armv4l/processor.h | 4 | ||||
| -rw-r--r-- | hardinfo2/arch/linux/ia64/processor.h | 4 | ||||
| -rw-r--r-- | hardinfo2/arch/linux/s390/processor.h | 4 | ||||
| -rw-r--r-- | hardinfo2/arch/linux/sparc/processor.h | 3 | ||||
| -rw-r--r-- | hardinfo2/devices.c | 16 | 
6 files changed, 30 insertions, 4 deletions
| diff --git a/hardinfo2/arch/linux/alpha/processor.h b/hardinfo2/arch/linux/alpha/processor.h index e6013103..1e5b014c 100644 --- a/hardinfo2/arch/linux/alpha/processor.h +++ b/hardinfo2/arch/linux/alpha/processor.h @@ -18,7 +18,7 @@  struct _Processor {      gchar *model_name; -    gfloat bogomips; +    gfloat bogomips, cpu_mhz;      gchar *strmodel;  }; @@ -52,6 +52,7 @@ __scan_processors(void)      gchar *tmp = g_strconcat("Alpha ", processor->model_name, NULL);      g_free(processor->model_name);      processor->model_name = tmp; +    processor->cpu_mhz = 0.0f;      fclose(cpuinfo); diff --git a/hardinfo2/arch/linux/armv4l/processor.h b/hardinfo2/arch/linux/armv4l/processor.h index b64fd5eb..82b6be04 100644 --- a/hardinfo2/arch/linux/armv4l/processor.h +++ b/hardinfo2/arch/linux/armv4l/processor.h @@ -19,7 +19,7 @@  struct _Processor {      gchar *model_name;      gchar *flags; -    gfloat bogomips; +    gfloat bogomips, cpu_mhz;      gchar *has_fpu;  }; @@ -53,6 +53,8 @@ __scan_processors(void)  	g_strfreev(tmp);      } +    processor->cpu_mhz = 0.0f; +      fclose(cpuinfo);      return g_slist_append(NULL, processor); diff --git a/hardinfo2/arch/linux/ia64/processor.h b/hardinfo2/arch/linux/ia64/processor.h index d5e01776..d3d41519 100644 --- a/hardinfo2/arch/linux/ia64/processor.h +++ b/hardinfo2/arch/linux/ia64/processor.h @@ -19,7 +19,7 @@  struct _Processor {      gchar *model_name;      gchar *vendor_id; -    gfloat bogomips; +    gfloat bogomips, cpu_mhz;      gchar *strmodel;  }; @@ -50,6 +50,8 @@ __scan_processors(void)  	}  	g_strfreev(tmp);      } + +    processor->cpu_mhz = 0.0f;      fclose(cpuinfo); diff --git a/hardinfo2/arch/linux/s390/processor.h b/hardinfo2/arch/linux/s390/processor.h index 1550d239..25dab8ca 100644 --- a/hardinfo2/arch/linux/s390/processor.h +++ b/hardinfo2/arch/linux/s390/processor.h @@ -19,7 +19,7 @@  struct _Processor {      gchar *vendor_id, *model_name;      gint cache_size; -    gfloat bogomips; +    gfloat bogomips, cpu_mhz;  };  static GSList * @@ -48,6 +48,8 @@ __scan_processors(void)  	}  	g_strfreev(tmp);      } + +    processor->cpu_mhz = 0.0f;      processor->model_name = g_strconcat("S390 ", processor->vendor_id, NULL);      g_free(processor->vendor_id); diff --git a/hardinfo2/arch/linux/sparc/processor.h b/hardinfo2/arch/linux/sparc/processor.h index 3bbea922..0272c963 100644 --- a/hardinfo2/arch/linux/sparc/processor.h +++ b/hardinfo2/arch/linux/sparc/processor.h @@ -19,6 +19,7 @@  struct _Processor {      gchar *model_name;      gchar *has_fpu; +    gfloat cpu_mhz;  };  static GSList * @@ -48,6 +49,8 @@ __scan_processors(void)      fclose(cpuinfo); +    processor->cpu_mhz = 0.0f; +      return g_slist_append(NULL, processor);  } diff --git a/hardinfo2/devices.c b/hardinfo2/devices.c index e4a2fa7b..4150d6fb 100644 --- a/hardinfo2/devices.c +++ b/hardinfo2/devices.c @@ -168,9 +168,24 @@ gchar *get_input_devices(void)  gchar *get_processor_count(void)  {      scan_processors(FALSE); +      return g_strdup_printf("%d", g_slist_length(processors));  } +gchar *get_processor_frequency(void) +{ +    Processor *p; + +    scan_processors(FALSE); + +    p = (Processor *)processors->data; +    if (p->cpu_mhz == 0.0f) { +        return g_strdup("Unknown"); +    } else { +        return g_strdup_printf("%d", p->cpu_mhz); +    } +} +  gchar *get_pci_device_description(gchar *pci_id)  {      gchar *description; @@ -191,6 +206,7 @@ ShellModuleMethod *hi_exported_methods(void)      static ShellModuleMethod m[] = {          {"getProcessorCount", get_processor_count},  	{"getProcessorName", get_processor_name}, +	{"getProcessorFrequency", get_processor_frequency},  	{"getStorageDevices", get_storage_devices},  	{"getPrinters", get_printers},  	{"getInputDevices", get_input_devices}, | 
