00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifdef HAVE_CONFIG_H
00030 # include <config.h>
00031 #endif
00032
00033 #include <glib.h>
00034
00035 #include <gtk/gtk.h>
00036 #include <signal.h>
00037 #include <string.h>
00038 #include <stdio.h>
00039 #include <stdlib.h>
00040 #include "processes.h"
00041 #include "lininfo.h"
00042 #include "support.h"
00043 #include "lkmonitor.h"
00044 #include "others.h"
00045
00046
00047 extern GtkWidget *window1;
00048 extern struct mem_info mem;
00049 extern struct cpu_info cpu;
00050 extern struct dev_info devs;
00051 extern struct settings_info settings;
00052 extern struct stats_info stats;
00053 extern struct acpi_info acpi;
00054 extern struct cmd_ver cmdversion;
00055 extern struct channels_info cn_info;
00056 extern struct net_dev_info netinfo;
00057 extern struct fs_info fsinfo;
00058 extern struct modules_info modinfo;
00059
00065 void
00066 update_mem ()
00067 {
00068
00069 GtkLabel *widget;
00070 GtkProgressBar *progreso;
00071 gfloat total, free;
00072
00073 get_mem_info (&mem);
00074
00075
00076 gdk_threads_enter();
00077
00078
00079 widget = GTK_LABEL(lookup_widget (window1, "lbl_total"));
00080 gtk_label_set_text (widget, (gchar *) mem.total);
00081
00082 widget = GTK_LABEL( lookup_widget (window1, "lbl_free"));
00083 gtk_label_set_text (widget, (gchar *) mem.free);
00084
00085 widget = GTK_LABEL(lookup_widget (window1, "lbl_buffers"));
00086 gtk_label_set_text (widget, (gchar *) mem.buffers);
00087
00088 widget = GTK_LABEL( lookup_widget (window1, "lbl_cached"));
00089 gtk_label_set_text (widget, (gchar *) mem.cached);
00090
00091 widget = GTK_LABEL( lookup_widget (window1, "lbl_swap_cached"));
00092 gtk_label_set_text (widget, (gchar *) mem.swap_cached);
00093
00094 widget = GTK_LABEL( lookup_widget (window1, "lbl_active"));
00095 gtk_label_set_text (widget, (gchar *) mem.active);
00096
00097 widget = GTK_LABEL( lookup_widget (window1, "lbl_inactive"));
00098 gtk_label_set_text (widget, (gchar *) mem.inactive);
00099
00100 widget = GTK_LABEL( lookup_widget (window1, "lbl_dirty"));
00101 gtk_label_set_text (widget, (gchar *) mem.dirty);
00102
00103 widget = GTK_LABEL( lookup_widget (window1, "lbl_hp_total"));
00104 gtk_label_set_text (widget, (gchar *) mem.hugepages_total);
00105
00106 widget = GTK_LABEL( lookup_widget (window1, "lbl_hp_free"));
00107 gtk_label_set_text (widget, (gchar *) mem.hugepages_free);
00108
00109 widget = GTK_LABEL( lookup_widget (window1, "lbl_hp_size"));
00110 gtk_label_set_text (widget, (gchar *) mem.hugepages_size);
00111
00112 widget = GTK_LABEL( lookup_widget (window1, "lbl_high_total"));
00113 gtk_label_set_text (widget, (gchar *) mem.high_total);
00114
00115 widget = GTK_LABEL( lookup_widget (window1, "lbl_high_free"));
00116 gtk_label_set_text (widget, (gchar *) mem.high_free);
00117
00118 widget = GTK_LABEL( lookup_widget (window1, "lbl_low_total"));
00119 gtk_label_set_text (widget, (gchar *) mem.low_total);
00120
00121
00122 widget = GTK_LABEL( lookup_widget (window1, "lbl_low_free"));
00123 gtk_label_set_text (widget, (gchar *) mem.low_free);
00124
00125 widget = GTK_LABEL( lookup_widget (window1, "lbl_swap_total"));
00126 gtk_label_set_text (widget, (gchar *) mem.swap_total);
00127
00128 widget = GTK_LABEL( lookup_widget (window1, "lbl_swap_free"));
00129 gtk_label_set_text (widget, (gchar *) mem.swap_free);
00130
00131
00132 total = atoi (strtok (mem.total, " "));
00133 free = atoi (strtok (mem.free, " "));
00134
00135 g_assert(total!=0);
00136
00137 progreso = GTK_PROGRESS_BAR(lookup_widget (window1, "pb_mem"));
00138 gtk_progress_bar_set_fraction (progreso,
00139 (gfloat) CLAMP(((total - free) / total),0,1));
00140
00141
00142
00143
00144
00145 total = atoi (strtok (mem.swap_total, " "));
00146 free = atoi (strtok (mem.swap_free, " "));
00147
00148 progreso = GTK_PROGRESS_BAR (lookup_widget (window1, "pb_swap"));
00149
00150 if(total!=0){
00151 gtk_progress_bar_set_fraction (progreso,
00152 (gfloat) CLAMP(((total - free) / total),0,1));
00153 }
00154 else
00155 gtk_progress_bar_set_text(progreso, (gchar *)_("Not present"));
00156
00157 gdk_threads_leave();
00158 }
00159
00160
00165 void
00166 update_cpu ()
00167 {
00168
00169 get_cpu_info (&cpu);
00170
00171 GtkLabel *widget;
00172
00173
00174
00175 widget = GTK_LABEL( lookup_widget (window1, "lbl_processor"));
00176 gtk_label_set_text (widget, (gchar *) cpu.processor);
00177
00178 widget = GTK_LABEL( lookup_widget (window1, "lbl_vendor"));
00179 gtk_label_set_text (widget, (gchar *) cpu.vendor_id);
00180
00181 widget = GTK_LABEL( lookup_widget (window1, "lbl_family"));
00182 gtk_label_set_text (widget, (gchar *) cpu.cpu_family);
00183
00184
00185 widget = GTK_LABEL( lookup_widget (window1, "lbl_model"));
00186 gtk_label_set_text (widget, (gchar *) cpu.model);
00187
00188 widget = GTK_LABEL(lookup_widget (window1, "lbl_model_name"));
00189 gtk_label_set_text (widget, (gchar *) cpu.model_name);
00190
00191 widget = GTK_LABEL( lookup_widget (window1, "lbl_stepping"));
00192 gtk_label_set_text (widget, (gchar *) cpu.stepping);
00193
00194 widget = GTK_LABEL( lookup_widget (window1, "lbl_Mhz"));
00195 gtk_label_set_text (widget, (gchar *) cpu.Mhz);
00196
00197 widget = GTK_LABEL( lookup_widget (window1, "lbl_cache"));
00198 gtk_label_set_text (widget, (gchar *) cpu.cache);
00199
00200 widget = GTK_LABEL( lookup_widget (window1, "lbl_fpu"));
00201 gtk_label_set_text (widget, (gchar *) cpu.fpu);
00202
00203 widget = GTK_LABEL( lookup_widget (window1, "lbl_fpu_exception"));
00204 gtk_label_set_text (widget, (gchar *) cpu.fpu_exception);
00205
00206 widget = GTK_LABEL( lookup_widget (window1, "lbl_cpu_id_level"));
00207 gtk_label_set_text (widget, (gchar *) cpu.cpuid_level);
00208
00209 widget = GTK_LABEL( lookup_widget (window1, "lbl_wp"));
00210 gtk_label_set_text (widget, (gchar *) cpu.wp);
00211
00212 widget = GTK_LABEL( lookup_widget (window1, "lbl_bogomips"));
00213 gtk_label_set_text (widget, (gchar *) cpu.bogomips);
00214
00215 widget = GTK_LABEL( lookup_widget (window1, "lbl_flags"));
00216 gtk_label_set_text (widget, (gchar *) cpu.flags);
00217
00218
00219 }
00220
00224 void update_cpu_mhz(void)
00225 {
00226 GtkLabel *mhz_label;
00227 char str[10];
00228
00229 get_mhz_info(str);
00230
00231 gdk_threads_enter();
00232
00233 mhz_label=GTK_LABEL(lookup_widget(window1,"lbl_Mhz"));
00234 gtk_label_set_text(mhz_label,str);
00235
00236 gdk_threads_leave();
00237 }
00238
00242 void update_devs()
00243 {
00244 if(get_devs_info(&devs)==-1){
00245
00246 return;
00247 }
00248
00249 GtkListStore *model;
00250 GtkTreeView *gtv;
00251 GtkTreeIter iter;
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263 gtv=GTK_TREE_VIEW(lookup_widget(window1,"gtv_char"));
00264 model=GTK_LIST_STORE(gtk_tree_view_get_model(gtv));
00265
00266 gtk_tree_view_set_model(gtv,NULL);
00267 gtk_list_store_clear(model);
00268 lkmonitor_fill_tv(model,gtv,iter,devs.characters->str,TV_DEVS);
00269 gtk_tree_view_set_model(gtv,GTK_TREE_MODEL(model));
00270
00271
00272 gtv=GTK_TREE_VIEW(lookup_widget(window1,"gtv_block"));
00273 model=GTK_LIST_STORE(gtk_tree_view_get_model(gtv));
00274 gtk_tree_view_set_model(gtv,NULL);
00275 gtk_list_store_clear(model);
00276 lkmonitor_fill_tv(model,gtv,iter,devs.blocks->str,TV_DEVS);
00277 gtk_tree_view_set_model(gtv,GTK_TREE_MODEL(model));
00278
00279 }
00280
00284 void update_settings()
00285 {
00286 GtkSpinButton *spb;
00287 GtkLabel *lbl;
00288 GtkEntry *ent;
00289 gchar str[10];
00290
00291 if(get_settings_info(&settings)==1){
00292
00293
00294
00295
00296 }
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308 ent=GTK_ENTRY(lookup_widget(window1,"ent_hostname"));
00309 gtk_entry_set_text(ent,settings.host->str);
00310
00311 ent=GTK_ENTRY(lookup_widget(window1,"ent_domainname"));
00312 gtk_entry_set_text(ent,settings.domain->str);
00313
00314
00315
00316 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_maxthreads"));
00317 gtk_spin_button_set_value(spb,(gdouble)settings.threads);
00318
00319
00320 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_fdmax"));
00321 gtk_spin_button_set_value(spb,(gdouble)settings.fdmax);
00322
00323 lbl=GTK_LABEL(lookup_widget(window1,"lbl_inmax"));
00324 sprintf(str,"%d",settings.inmax);
00325 gtk_label_set_text(lbl,str);
00326
00327 lbl=GTK_LABEL(lookup_widget(window1,"lbl_fda"));
00328 sprintf(str,"%d",settings.fdasig);
00329 gtk_label_set_text(lbl,str);
00330
00331 lbl=GTK_LABEL(lookup_widget(window1,"lbl_ufd"));
00332 sprintf(str,"%d",settings.fdfreed);
00333 gtk_label_set_text(lbl,str);
00334
00335 lbl=GTK_LABEL(lookup_widget(window1,"lbl_ina"));
00336 sprintf(str,"%d",settings.inasig);
00337 gtk_label_set_text(lbl,str);
00338
00339
00340 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_mq"));
00341 gtk_spin_button_set_value(spb,(gdouble)settings.posix_mq);
00342
00343 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_max_mpq"));
00344 gtk_spin_button_set_value(spb,(gdouble)settings.posix_mpq);
00345
00346 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_max_ms"));
00347 gtk_spin_button_set_value(spb,(gdouble)settings.posix_ms);
00348
00349
00350 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_max_pages"));
00351 gtk_spin_button_set_value(spb,(gdouble)settings.page_max);
00352
00353 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_max_segs"));
00354 gtk_spin_button_set_value(spb,(gdouble)settings.seg_max);
00355
00356 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_seg_size"));
00357 gtk_spin_button_set_value(spb,(gdouble)settings.seg_size);
00358
00359
00360
00361 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_sem_per_id"));
00362 gtk_spin_button_set_value(spb,(gdouble)settings.max_seminset);
00363
00364 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_sem_val"));
00365 gtk_spin_button_set_value(spb,(gdouble)settings.max_semsys);
00366
00367 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_ops"));
00368 gtk_spin_button_set_value(spb,(gdouble)settings.max_opcall);
00369
00370 spb=GTK_SPIN_BUTTON(lookup_widget(window1,"spb_sem_id"));
00371 gtk_spin_button_set_value(spb,(gdouble)settings.max_semsets);
00372
00373
00374 }
00375
00379 void update_misc()
00380 {
00381 GtkLabel *lbl;
00382 GtkProgressBar *pb;
00383 gfloat total,free;
00384 static float old_total,old_use;
00385 float use;
00386 gchar percent[4];
00387 gchar user[10];
00388 gchar nice[10];
00389 gchar system[10];
00390 gchar idle[10];
00391 gchar iowait[10];
00392 gchar irq[10];
00393 gchar softirq[10];
00394 int ret_stats, ret_acpi;
00395
00396
00397 ret_acpi = get_acpi_info(&acpi);
00398
00399 ret_stats = get_stats_info(&stats);
00400 sscanf(stats.cpu->str,"%s %s %s %s %s %s %s",user,nice,system,idle,iowait,\
00401 irq,softirq);
00402 gdk_threads_enter();
00403
00404 if(ret_stats!=-1){
00405 lbl=GTK_LABEL(lookup_widget(window1,"lbl_user"));
00406 gtk_label_set_text(lbl,user);
00407 lbl=GTK_LABEL(lookup_widget(window1,"lbl_nice"));
00408 gtk_label_set_text(lbl,nice);
00409 lbl=GTK_LABEL(lookup_widget(window1,"lbl_system"));
00410 gtk_label_set_text(lbl,system);
00411 lbl=GTK_LABEL(lookup_widget(window1,"lbl_idle"));
00412 gtk_label_set_text(lbl,idle);
00413 lbl=GTK_LABEL(lookup_widget(window1,"lbl_iowait"));
00414 gtk_label_set_text(lbl,iowait);
00415 lbl=GTK_LABEL(lookup_widget(window1,"lbl_irq"));
00416 gtk_label_set_text(lbl,irq);
00417 lbl=GTK_LABEL(lookup_widget(window1,"lbl_softirq"));
00418 gtk_label_set_text(lbl,softirq);
00419
00420 lbl=GTK_LABEL(lookup_widget(window1,"lbl_context"));
00421 gtk_label_set_text(lbl,stats.ctxt->str);
00422
00423 total=atof(user)+atof(nice)+atof(system)+atof(idle)+atof(iowait)+
00424 atof(irq)+atof(softirq);
00425
00426 free=atof(idle)+atof(iowait)+atof(irq)+atof(softirq);
00427 use=total-free;
00428
00429 pb=GTK_PROGRESS_BAR(lookup_widget(window1,"pb_cpu"));
00430 gtk_progress_bar_set_fraction(pb,CLAMP((use-old_use)/(total-old_total),0,1));
00431 sprintf(percent,"%.0f%s",CLAMP((use-old_use),0,100),"%");
00432 gtk_progress_bar_set_text(pb,percent);
00433
00434 old_use=use;
00435 old_total=total;
00436
00437 }
00438
00439
00440
00441 if(ret_acpi != -1){
00442
00443 lbl=GTK_LABEL(lookup_widget(window1,"lbl_cap"));
00444 gtk_label_set_text(lbl,acpi.battery.cap->str);
00445 lbl=GTK_LABEL(lookup_widget(window1,"lbl_last_cap"));
00446 gtk_label_set_text(lbl,acpi.battery.last_cap->str);
00447 lbl=GTK_LABEL(lookup_widget(window1,"lbl_cap_warning"));
00448 gtk_label_set_text(lbl,acpi.battery.cap_warning->str);
00449 lbl=GTK_LABEL(lookup_widget(window1,"lbl_cap_low"));
00450 gtk_label_set_text(lbl,acpi.battery.cap_low->str);
00451 lbl=GTK_LABEL(lookup_widget(window1,"lbl_batt_type"));
00452 gtk_label_set_text(lbl,acpi.battery.type->str);
00453
00454 if(strcmp(acpi.temp->str,"")!=0){
00455 total=atof(acpi.temp_critical->str);
00456 free=atof(acpi.temp->str);
00457
00458 pb=GTK_PROGRESS_BAR(lookup_widget(window1,"pb_temp"));
00459 gtk_progress_bar_set_fraction(pb,free/total);
00460 gtk_progress_bar_set_text(pb,acpi.temp->str);
00461 }else{
00462 pb=GTK_PROGRESS_BAR(lookup_widget(window1,"pb_temp"));
00463 gtk_progress_bar_set_text(pb,_("Unknown"));
00464 }
00465
00466 if(strcmp(acpi.battery.rem->str,"")!=0){
00467 total=atof(acpi.battery.cap->str);
00468 free=atof(acpi.battery.rem->str);
00469
00470 pb=GTK_PROGRESS_BAR(lookup_widget(window1,"pb_batt"));
00471 gtk_progress_bar_set_fraction(pb,free/total);
00472 gtk_progress_bar_set_text(pb,acpi.battery.rem->str);
00473 }else{
00474 pb=GTK_PROGRESS_BAR(lookup_widget(window1,"pb_batt"));
00475 gtk_progress_bar_set_text(pb,_("Unknown"));
00476 }
00477
00478 }
00479
00480 gdk_threads_leave();
00481 }
00482
00483
00486 static void update_process_list()
00487 {
00488 static GSList *pidlist;
00489 int numfiles,i,j,p,pidtemp,dato;
00490 gboolean found;
00491 gchar cmdline[100];
00492 char path[20];
00493 struct dirent **proclist;
00494 struct lnode *mynode;
00495 FILE *fstatus;
00496 GtkTreeIter iter;
00497 GtkListStore *model;
00498 GtkTreeView *gtv;
00499
00500 gdk_threads_enter();
00501
00502 gtv=GTK_TREE_VIEW(lookup_widget(window1,"gtv_processes"));
00503 model=GTK_LIST_STORE(gtk_tree_view_get_model(gtv));
00504
00505 if ((numfiles=get_proc_list(&proclist))<0){
00506 g_warning("Error while scaning /proc");
00507 }
00508 else{
00509 for(i=0;i<numfiles;i++){
00510 mynode=g_malloc(sizeof(struct lnode));
00511 mynode->pid=atoi(proclist[i]->d_name);
00512 if(g_slist_find_custom(pidlist,(gpointer)(mynode),list_com)==NULL){
00513
00514
00515
00516 sprintf(path,"/proc/%s/status",proclist[i]->d_name);
00517 fstatus=fopen(path,"r");
00518 fscanf(fstatus,"Name: %[^\n]",cmdline);
00519 mynode->cmdname=g_string_new(cmdline);
00520 pidlist=g_slist_append(pidlist,mynode);
00521 gtk_list_store_append(model,&iter);
00522 gtk_list_store_set(model,&iter,0,mynode->pid,1,cmdline,-1);
00523 fclose(fstatus);
00524 }else{
00525
00526 g_free(mynode);
00527 }
00528
00529 }
00530
00531
00532
00533
00534
00535
00536 if(gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model),&iter)==FALSE)
00537 g_warning("Problem while getting iter first.\n");
00538
00539
00540 for(i=0;i<g_slist_length(pidlist);i++){
00541 dato=0;
00542 found=FALSE;
00543 mynode=g_slist_nth_data(pidlist,i);
00544 pidtemp=mynode->pid;
00545 for (j=0;(j<numfiles && found==FALSE);j++){
00546 if ((p=atoi(proclist[j]->d_name))==pidtemp){
00547 found=TRUE;
00548 }
00549 }
00550 if (found==FALSE){
00551
00552 pidlist=g_slist_remove(pidlist,(gpointer)mynode);
00553 g_string_free(mynode->cmdname,TRUE);
00554 g_free(mynode);
00555 gtk_list_store_remove(model,&iter);
00556 g_print("Deleted %d process\n",pidtemp);
00557 }else{
00558 gtk_tree_model_iter_next(GTK_TREE_MODEL(model),&iter);
00559 }
00560 }
00561 }
00562
00563
00564 gdk_threads_leave();
00565
00566
00567
00568
00569 for(i=0;i<numfiles;i++)
00570 free(proclist[i]);
00571
00572
00573 free(proclist);
00574
00575 }
00576
00577
00580 void update_process()
00581 {
00582 GtkLabel *lbl;
00583 GString *text;
00584 float one,five,fifteen;
00585 int pid,ret;
00586 char executing[15];
00587
00588
00589
00590 update_process_list();
00591
00592
00593 ret = get_loadavg_info(&cmdversion);
00594
00595 sscanf(cmdversion.loadavg->str,"%f %f %f %s %d",&one,&five,&fifteen, executing,&pid);
00596 text=g_string_new("");
00597 if(ret != -1)
00598 g_string_printf(text,"%.2f %.2f %.2f",one,five,fifteen);
00599
00600 gdk_threads_enter();
00601
00602 lbl=GTK_LABEL(lookup_widget(window1,"lbl_load"));
00603 gtk_label_set_text(lbl,text->str);
00604
00605 lbl=GTK_LABEL(lookup_widget(window1,"lbl_entities"));
00606 gtk_label_set_text(lbl,executing);
00607
00608 gdk_threads_leave();
00609
00610 }
00611
00614 void update_cmd_ver()
00615 {
00616 GtkLabel *lbl;
00617
00618
00619 if(get_cmd_ver_info(&cmdversion)==-1){
00620
00621
00622
00623 }
00624
00625 gdk_threads_enter();
00626
00627 lbl=GTK_LABEL(lookup_widget(window1,"lbl_cmd"));
00628 gtk_label_set_text(lbl,cmdversion.cmd->str);
00629
00630 lbl=GTK_LABEL(lookup_widget(window1,"lbl_version"));
00631 gtk_label_set_text(lbl,cmdversion.version->str);
00632
00633 gdk_threads_leave();
00634
00635 }
00636
00637
00640 void update_channels()
00641 {
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652 GtkTextView *gtextv;
00653 GtkTextBuffer *gtbuffer;
00654
00655
00656 if(get_channels_info(&cn_info)==-1){
00657
00658
00659
00660 }
00661
00662
00663 gtextv=GTK_TEXT_VIEW(lookup_widget(window1, "gtextv_ioports"));
00664 gtbuffer=gtk_text_view_get_buffer(gtextv);
00665 gtk_text_buffer_set_text(gtbuffer,cn_info.ioports->str,cn_info.ioports->len);
00666
00667 gtextv=GTK_TEXT_VIEW(lookup_widget(window1, "gtextv_iomem"));
00668 gtbuffer=gtk_text_view_get_buffer(gtextv);
00669 gtk_text_buffer_set_text(gtbuffer,cn_info.iomem->str,cn_info.iomem->len);
00670
00671 gtextv=GTK_TEXT_VIEW(lookup_widget(window1, "gtextv_dma"));
00672 gtbuffer=gtk_text_view_get_buffer(gtextv);
00673 gtk_text_buffer_set_text(gtbuffer,cn_info.dma->str,cn_info.dma->len);
00674
00675 }
00676
00679 void update_net_info()
00680 {
00681 GtkComboBox *gcb_netdevs;
00682 GtkLabel *lbl;
00683 int ret;
00684
00685
00686 gdk_threads_enter();
00687 gcb_netdevs=GTK_COMBO_BOX(lookup_widget(window1,"cb_net_devs"));
00688 gdk_threads_leave();
00689
00690 if(GTK_WIDGET_IS_SENSITIVE(gcb_netdevs)){
00691
00692 ret = get_net_info(&netinfo,gtk_combo_box_get_active(gcb_netdevs));
00693
00694 if(ret != -1){
00695 gdk_threads_enter();
00696
00697
00698
00699
00700 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_bytes"));
00701 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.bytes[0]));
00702 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_bytes"));
00703 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.bytes[1]));
00704
00705
00706 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_packets"));
00707 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.packets[0]));
00708 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_packets"));
00709 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.packets[1]));
00710
00711
00712 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_errors"));
00713 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.errs[0]));
00714 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_errors"));
00715 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.errs[1]));
00716
00717
00718 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_drop"));
00719 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.drop[0]));
00720 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_drop"));
00721 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.drop[1]));
00722
00723
00724 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_fifo"));
00725 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.fifo[0]));
00726 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_fifo"));
00727 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.fifo[1]));
00728
00729
00730 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_compressed"));
00731 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.compressed[0]));
00732 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_compressed"));
00733 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.compressed[1]));
00734
00735
00736
00737 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_frame"));
00738 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.r_frame));
00739 lbl=GTK_LABEL(lookup_widget(window1,"lbl_r_multicast"));
00740 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.r_multicast));
00741
00742
00743 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_colls"));
00744 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.t_colls));
00745 lbl=GTK_LABEL(lookup_widget(window1,"lbl_t_carrier"));
00746 gtk_label_set_text(lbl,(gchar *)lkmonitor_itoa(netinfo.t_carrier));
00747
00748 gdk_threads_leave();
00749
00750 }
00751
00752 }
00753
00754 }
00755
00756
00759 void update_fs_info()
00760 {
00761
00762 GtkTextBuffer *gtbuffer;
00763 GtkTextView *gtextv;
00764 int ret;
00765
00766
00767 ret = get_fs_info(&fsinfo);
00768
00769 if(ret == -1){
00770
00771 }
00772
00773 gdk_threads_enter();
00774
00775
00776
00777 gtextv=GTK_TEXT_VIEW(lookup_widget(window1,"gtextv_fs"));
00778 gtbuffer=gtk_text_view_get_buffer(gtextv);
00779 gtk_text_buffer_set_text(gtbuffer,fsinfo.devs->str,fsinfo.devs->len);
00780
00781
00782 gtextv=GTK_TEXT_VIEW(lookup_widget(window1,"gtextv_pfs"));
00783 gtbuffer=gtk_text_view_get_buffer(gtextv);
00784 gtk_text_buffer_set_text(gtbuffer,fsinfo.nodevs->str,fsinfo.nodevs->len);
00785
00786 gdk_threads_leave();
00787
00788
00789 }
00790
00791
00792
00795 void update_modules_info()
00796 {
00797
00798 GtkListStore *model;
00799 GtkTreeView *gtv;
00800 GtkTreeIter iter;
00801 int ret;
00802
00803
00804 ret = get_mod_info(&modinfo);
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814
00815 if(ret != -1){
00816
00817 gtv=GTK_TREE_VIEW(lookup_widget(window1,"gtv_modules"));
00818 model=GTK_LIST_STORE(gtk_tree_view_get_model(gtv));
00819
00820 gtk_tree_view_set_model(gtv,NULL);
00821 gtk_list_store_clear(model);
00822 lkmonitor_fill_tv(model,gtv,iter,modinfo.contents->str,TV_MODS);
00823 gtk_tree_view_set_model(gtv,GTK_TREE_MODEL(model));
00824 }
00825
00826 }