Main Page | Data Structures | File List | Data Fields | Globals

lininfo.h File Reference

#include <glib.h>

Go to the source code of this file.

Data Structures

struct  cpu_info
 Contains cpu characteristics. This struct contains several fields that represent different cpu characteristics as clock MHz or cache size. More...
struct  mem_info
 Contains memory data and statistics. Contains fields for total, free and other interesting information. More...

Defines

#define PROC_DIR   "/proc/"
#define CPU_FILE   "/proc/cpuinfo"
#define MEM_FILE   "/proc/meminfo"
#define MAX_FIELD_SZ   255
#define FIELD_SZ   10

Functions

void update_cpu ()
 Refresh data in window widgets for cpu.
void update_mem ()
 Refresh data in window widgets for memory.
int get_cpu_info ()
 Fills cpu_info struct fields.
int get_mem_info ()
 Fills mem_struct fields.


Define Documentation

#define CPU_FILE   "/proc/cpuinfo"
 

Definition at line 27 of file lininfo.h.

Referenced by get_cpu_info().

#define FIELD_SZ   10
 

Definition at line 30 of file lininfo.h.

#define MAX_FIELD_SZ   255
 

Definition at line 29 of file lininfo.h.

#define MEM_FILE   "/proc/meminfo"
 

Definition at line 28 of file lininfo.h.

Referenced by get_mem_info().

#define PROC_DIR   "/proc/"
 

Definition at line 26 of file lininfo.h.


Function Documentation

int get_cpu_info  ) 
 

Fills cpu_info struct fields.

Referenced by update_cpu().

int get_mem_info  ) 
 

Fills mem_struct fields.

Referenced by update_mem().

void update_cpu  ) 
 

Refresh data in window widgets for cpu.

Update gtk widgets for cpu panel This function updates labels to show recent values. Before, it calls to get_cpu_info to collect data

Definition at line 145 of file update.c.

References cpu_info::bogomips, cpu_info::cache, cpu, cpu_info::cpu_family, cpu_info::cpuid_level, cpu_info::flags, cpu_info::fpu, cpu_info::fpu_exception, get_cpu_info(), lookup_widget(), cpu_info::Mhz, cpu_info::model, cpu_info::model_name, cpu_info::processor, cpu_info::stepping, cpu_info::vendor_id, window1, and cpu_info::wp.

Referenced by main().

00146 {
00147 
00148   get_cpu_info (&cpu);
00149 
00150   GtkLabel *cosa;
00151 
00152   /*This function is called only once, before collector thread is created.
00153   So, we don't need thread lock. Only one thread is accessing gtk widgets
00154   at a time.*/
00155         
00156   cosa = (GtkLabel *) lookup_widget (window1, "lbl_processor");
00157   gtk_label_set_text (cosa, (gchar *) cpu.processor);
00158 
00159   cosa = (GtkLabel *) lookup_widget (window1, "lbl_vendor");
00160   gtk_label_set_text (cosa, (gchar *) cpu.vendor_id);
00161 
00162   cosa = (GtkLabel *) lookup_widget (window1, "lbl_family");
00163   gtk_label_set_text (cosa, (gchar *) cpu.cpu_family);
00164 
00165 
00166   cosa = (GtkLabel *) lookup_widget (window1, "lbl_model");
00167   gtk_label_set_text (cosa, (gchar *) cpu.model);
00168 
00169   cosa = (GtkLabel *) lookup_widget (window1, "lbl_model_name");
00170   gtk_label_set_text (cosa, (gchar *) cpu.model_name);
00171 
00172   cosa = (GtkLabel *) lookup_widget (window1, "lbl_stepping");
00173   gtk_label_set_text (cosa, (gchar *) cpu.stepping);
00174 
00175   cosa = (GtkLabel *) lookup_widget (window1, "lbl_Mhz");
00176   gtk_label_set_text (cosa, (gchar *) cpu.Mhz);
00177 
00178   cosa = (GtkLabel *) lookup_widget (window1, "lbl_cache");
00179   gtk_label_set_text (cosa, (gchar *) cpu.cache);
00180 
00181   cosa = (GtkLabel *) lookup_widget (window1, "lbl_fpu");
00182   gtk_label_set_text (cosa, (gchar *) cpu.fpu);
00183 
00184   cosa = (GtkLabel *) lookup_widget (window1, "lbl_fpu_exception");
00185   gtk_label_set_text (cosa, (gchar *) cpu.fpu_exception);
00186 
00187   cosa = (GtkLabel *) lookup_widget (window1, "lbl_cpu_id_level");
00188   gtk_label_set_text (cosa, (gchar *) cpu.cpuid_level);
00189 
00190   cosa = (GtkLabel *) lookup_widget (window1, "lbl_wp");
00191   gtk_label_set_text (cosa, (gchar *) cpu.wp);
00192 
00193   cosa = (GtkLabel *) lookup_widget (window1, "lbl_bogomips");
00194   gtk_label_set_text (cosa, (gchar *) cpu.bogomips);
00195 
00196   cosa = (GtkLabel *) lookup_widget (window1, "lbl_flags");
00197   gtk_label_set_text (cosa, (gchar *) cpu.flags);
00198 
00199  
00200 }

void update_mem  ) 
 

Refresh data in window widgets for memory.

Update gtk widgets for memory panel This function updates labels, progress bar and other widgets to show the most recent values. Before, it calls to get_mem_info to collect data

Definition at line 47 of file update.c.

References mem_info::active, mem_info::buffers, mem_info::cached, mem_info::dirty, mem_info::free, get_mem_info(), mem_info::high_free, mem_info::high_total, mem_info::hugepages_free, mem_info::hugepages_size, mem_info::hugepages_total, mem_info::inactive, lookup_widget(), mem_info::low_free, mem_info::low_total, mem, mem_info::swap_cached, mem_info::swap_free, mem_info::swap_total, mem_info::total, and window1.

Referenced by refresh().

00048 {
00049 
00050   GtkLabel *cosa;
00051   GtkProgressBar *progreso;
00052   gfloat total, free;
00053 
00054   get_mem_info (&mem);
00055         
00056   //Get Gtk thread lock
00057   gdk_threads_enter();
00058 
00059   cosa = (GtkLabel *) lookup_widget (window1, "lbl_total");
00060   gtk_label_set_text (cosa, (gchar *) mem.total);
00061 
00062   cosa = (GtkLabel *) lookup_widget (window1, "lbl_free");
00063   gtk_label_set_text (cosa, (gchar *) mem.free);
00064 
00065   cosa = (GtkLabel *) lookup_widget (window1, "lbl_buffers");
00066   gtk_label_set_text (cosa, (gchar *) mem.buffers);
00067 
00068   cosa = (GtkLabel *) lookup_widget (window1, "lbl_cached");
00069   gtk_label_set_text (cosa, (gchar *) mem.cached);
00070 
00071   cosa = (GtkLabel *) lookup_widget (window1, "lbl_swap_cached");
00072   gtk_label_set_text (cosa, (gchar *) mem.swap_cached);
00073 
00074   cosa = (GtkLabel *) lookup_widget (window1, "lbl_active");
00075   gtk_label_set_text (cosa, (gchar *) mem.active);
00076 
00077   cosa = (GtkLabel *) lookup_widget (window1, "lbl_inactive");
00078   gtk_label_set_text (cosa, (gchar *) mem.inactive);
00079 
00080   cosa = (GtkLabel *) lookup_widget (window1, "lbl_dirty");
00081   gtk_label_set_text (cosa, (gchar *) mem.dirty);
00082 
00083   cosa = (GtkLabel *) lookup_widget (window1, "lbl_hp_total");
00084   gtk_label_set_text (cosa, (gchar *) mem.hugepages_total);
00085 
00086   cosa = (GtkLabel *) lookup_widget (window1, "lbl_hp_free");
00087   gtk_label_set_text (cosa, (gchar *) mem.hugepages_free);
00088 
00089   cosa = (GtkLabel *) lookup_widget (window1, "lbl_hp_size");
00090   gtk_label_set_text (cosa, (gchar *) mem.hugepages_size);
00091 
00092   cosa = (GtkLabel *) lookup_widget (window1, "lbl_high_total");
00093   gtk_label_set_text (cosa, (gchar *) mem.high_total);
00094 
00095   cosa = (GtkLabel *) lookup_widget (window1, "lbl_high_free");
00096   gtk_label_set_text (cosa, (gchar *) mem.high_free);
00097 
00098   cosa = (GtkLabel *) lookup_widget (window1, "lbl_low_total");
00099   gtk_label_set_text (cosa, (gchar *) mem.low_total);
00100 
00101 
00102   cosa = (GtkLabel *) lookup_widget (window1, "lbl_low_free");
00103   gtk_label_set_text (cosa, (gchar *) mem.low_free);
00104 
00105   cosa = (GtkLabel *) lookup_widget (window1, "lbl_swap_total");
00106   gtk_label_set_text (cosa, (gchar *) mem.swap_total);
00107 
00108   cosa = (GtkLabel *) lookup_widget (window1, "lbl_swap_free");
00109   gtk_label_set_text (cosa, (gchar *) mem.swap_free);
00110 
00111   //Compute percentage of memory use
00112   total = atoi (strtok (mem.total, " "));
00113   free = atoi (strtok (mem.free, " "));
00114 
00115   g_assert(total!=0);
00116   
00117   progreso = (GtkProgressBar *) (lookup_widget (window1, "pb_mem"));
00118   gtk_progress_bar_set_fraction (progreso, (gfloat) ((total - free) / total));
00119 
00120 
00121   //Compute percentage of swap use. Reuse variables.
00122 
00123 
00124   total = atoi (strtok (mem.swap_total, " "));
00125   free = atoi (strtok (mem.swap_free, " "));
00126 
00127   //g_assert(total!=0);
00128   
00129   progreso = (GtkProgressBar *) (lookup_widget (window1, "pb_swap"));
00130   
00131   if(total!=0)
00132     gtk_progress_bar_set_fraction (progreso, (gfloat) ((total - free) / total));
00133   else
00134     gtk_progress_bar_set_text(progreso, (gchar *)"Not present");
00135   
00136   gdk_threads_leave();
00137 }                               


Generated on Wed Feb 15 11:24:02 2006 for lkmonitor by  doxygen 1.3.9.1