Compare commits

...

718 Commits

Author SHA1 Message Date
Benoît Dejean
1f2325b441 Released 2.19.91.
svn path=/trunk/; revision=2639
2007-08-26 16:11:32 +00:00
Benoît Dejean
b1757616d8 Bump version number.
svn path=/trunk/; revision=2638
2007-08-26 16:08:39 +00:00
Benoît Dejean
871f300a2c Added a bufsiz argument to file_to_buffer().
Increased read buffer size in get_sysinfo().

svn path=/trunk/; revision=2637
2007-08-26 16:05:36 +00:00
Stéphane Raimbault
650c8f2582 Updated French translation.
svn path=/trunk/; revision=2636
2007-08-24 19:26:29 +00:00
Yannig MARCHEGAY
28ae85c10b Updated Occitan translation
svn path=/trunk/; revision=2635
2007-08-21 11:12:23 +00:00
Yannig MARCHEGAY
ce37ceeb15 Updated Occitan translation
svn path=/trunk/; revision=2634
2007-08-17 17:51:47 +00:00
Runa Bhattacharjee
706c847b17 Added Entry for Bengali India Translation Updation
svn path=/trunk/; revision=2633
2007-08-10 09:23:19 +00:00
Runa Bhattacharjee
82be8d7f8d Updated Bengali India Translation
svn path=/trunk/; revision=2632
2007-08-10 09:23:07 +00:00
Benoît Dejean
22e55d2e37 Formated as Olav Vitters requested it.
svn path=/trunk/; revision=2631
2007-08-08 18:10:49 +00:00
Ankitkumar Rameshchandra Patel
31844753e8 Updated Translation
svn path=/trunk/; revision=2630
2007-08-07 11:56:49 +00:00
Ilkka Tuohela
0ad36c2f62 Updated Finnish translation
svn path=/trunk/; revision=2629
2007-08-06 13:31:44 +00:00
Inaki Larranaga Murgoitio
79143ecad7 Updated Basque translation.
2007-08-05  Inaki Larranaga Murgoitio  <dooteo@zundan.com>

	* eu.po: Updated Basque translation.


svn path=/trunk/; revision=2628
2007-08-05 11:48:39 +00:00
Benoît Dejean
62dba864d7 Removed empty directory.
svn path=/trunk/; revision=2627
2007-07-29 16:22:09 +00:00
Leonardo Ferreira Fontenelle
21a763e55a Brazilian Portuguese translation updated by Og Maciel
2007-07-21  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Brazilian Portuguese translation updated by Og Maciel
	<ogmaciel@ubuntu.com>.

svn path=/trunk/; revision=2626
2007-07-21 17:39:11 +00:00
Hendrik Richter
c81d6306e5 Updated German translation.
2007-07-19  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.

svn path=/trunk/; revision=2625
2007-07-19 17:27:33 +00:00
Wouter Bolsterlee
7270bcc9d5 Dutch translation updated by Wouter Bolsterlee.
2007-07-17  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* nl.po: Dutch translation updated by Wouter Bolsterlee.


svn path=/trunk/; revision=2624
2007-07-17 16:53:54 +00:00
Ilkka Tuohela
3c39f89281 Updated Finnish translation
svn path=/trunk/; revision=2623
2007-07-16 16:10:14 +00:00
Benoît Dejean
e34f38d3fc Released 2.19.5.
svn path=/trunk/; revision=2621
2007-07-09 19:54:17 +00:00
Felix I
a207cc1580 updated ta translation
svn path=/trunk/; revision=2620
2007-07-09 11:21:44 +00:00
Takeshi AIHANA
b219d3181e Updated Japanese translation.
2007-07-07  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/trunk/; revision=2619
2007-07-07 16:23:51 +00:00
Benoît Dejean
bc848239ff Forgot to add these files.
svn path=/trunk/; revision=2618
2007-07-02 15:47:24 +00:00
Benoît Dejean
0285e018f4 Fixe some problems as well as implements procwd and procopenfiles for
2007-07-01  Benoît Dejean  <benoit@placenet.org>

	Fixe some problems as well as implements procwd and procopenfiles
	for FreeBSD using a wrapper around lsof. This same backend should
	also work on kFreeBSD.

	Patch by Joe Marcus Clarke <marcus@freebsd.org>

svn path=/trunk/; revision=2617
2007-07-01 13:21:07 +00:00
Clytie Siddall
01f1e7e955 Updated Vietnamese translation.
svn path=/trunk/; revision=2616
2007-06-27 08:13:35 +00:00
Benoît Dejean
ef34cfb38a git-svn sucks. Kill r2609
svn path=/trunk/; revision=2611
2007-06-25 17:30:40 +00:00
Benoît Dejean
1e0ba1d7aa Fixed smaps parsing with linux > 2.6.21.
Closes #449595.
Improved example.

svn path=/trunk/; revision=2610
2007-06-25 17:27:29 +00:00
Benoît Dejean
6b0bafcafb New API : glibtop_get_proc_affinity.
Implemented for linux.

svn path=/trunk/; revision=2609
2007-06-25 17:27:27 +00:00
Kjartan Maraas
c0856a39bd Updated Norwegian bokmål translation.
2007-06-23  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/trunk/; revision=2608
2007-06-23 09:52:40 +00:00
Benoît Dejean
270820a05c Released 2.19.4.
svn path=/trunk/; revision=2606
2007-06-18 16:49:07 +00:00
Pema Geyleg
358660837c updated dzongkha translation
svn path=/trunk/; revision=2605
2007-06-13 08:41:43 +00:00
Benoît Dejean
e387c66aad Fixed build. Patch by Damien Carbery <damien.carbery@sun.com>. Closes
2007-06-07  Benoît Dejean  <benoit@placenet.org>

        * proclist.c: (glibtop_get_proclist_s):

        Fixed build.
        Patch by Damien Carbery <damien.carbery@sun.com>.
        Closes #444815.

svn path=/trunk/; revision=2604
2007-06-07 16:30:59 +00:00
Benoît Dejean
e774440e77 Released 2.19.3.
svn path=/trunk/; revision=2602
2007-06-03 20:04:13 +00:00
Benoît Dejean
c7295cd5f0 Got rid of G_GNUC_INTERNAL.
svn path=/trunk/; revision=2601
2007-05-31 20:31:22 +00:00
Benoît Dejean
65fe248d66 Got rid of G_GNUC_INTERNAL.
svn path=/trunk/; revision=2600
2007-05-31 20:04:32 +00:00
Daniel Nylander
5c479c9a45 sv.po: Updated Swedish translation
svn path=/trunk/; revision=2599
2007-05-27 09:59:02 +00:00
Benoît Dejean
6509ddff4c Got rid of glibtop_init_s calls. If i'm right, these are only no-op and
2007-05-20  Benoît Dejean  <benoit@placenet.org>

        * *.c:

        Got rid of glibtop_init_s calls.
        If i'm right, these are only no-op and the legacy stub/ don't
        have any calls to them, so it's should harmless.
        So let's try it.

svn path=/trunk/; revision=2598
2007-05-20 21:55:42 +00:00
Benoît Dejean
ee78aaf29c Fixed returned type.
2007-05-19  Benoît Dejean  <benoit@placenet.org>

        * default.c:

        Fixed returned type.

svn path=/trunk/; revision=2597
2007-05-19 19:43:31 +00:00
Benoît Dejean
a5f59cb81a Fixed warnings.
2007-05-19  Benoît Dejean  <benoit@placenet.org>

        * proclist.c: (glibtop_get_proclist_s):

        Fixed warnings.

svn path=/trunk/; revision=2596
2007-05-19 19:42:33 +00:00
Benoît Dejean
a99011fd5c Small API change. get_proclist returns pid_t instead of unsigned for
2007-05-19  Benoît Dejean  <benoit@placenet.org>

        * features.def:
        * include/glibtop/proclist.h:

        Small API change.
        get_proclist returns pid_t instead of unsigned for consistency.
        I have checked many archs and this doesn't break the ABI.

svn path=/trunk/; revision=2595
2007-05-19 19:40:33 +00:00
Benoît Dejean
598374bb1c Enable example by default. Renamed option to --with-examples.
2007-05-17  Benoît Dejean  <benoit@placenet.org>

	* libgtop-sysdeps.m4:
	
	Enable example by default.
	Renamed option to --with-examples.

svn path=/trunk/; revision=2594
2007-05-19 14:27:52 +00:00
Benoît Dejean
b1acd4461e Fixed wd and new simple mem example.
2007-05-19  Benoît Dejean  <benoit@placenet.org>

	* Makefile.am:
	* mem.c: (main):
	* wd.c: (main):

	Fixed wd and new simple mem example.

svn path=/trunk/; revision=2593
2007-05-19 14:26:11 +00:00
Theppitak Karoonboonyanan
0e2fe6158c Updated Thai translation.
* th.po: Updated Thai translation.


svn path=/trunk/; revision=2592
2007-05-18 10:26:58 +00:00
Benoît Dejean
f8b9e6f7cc Added missing sizeof.
2007-05-17  Benoît Dejean  <benoit@placenet.org>

	* procopenfiles.c: (glibtop_get_proc_open_files_s):
	
	Added missing sizeof.

svn path=/trunk/; revision=2591
2007-05-17 12:10:11 +00:00
Benoît Dejean
8fc7451000 Bumped version number.
2007-05-17  Benoît Dejean  <benoit@placenet.org>

	* configure.in:

	Bumped version number.

svn path=/trunk/; revision=2590
2007-05-17 12:08:52 +00:00
Priit Laes
aaab91cc20 Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
2007-05-17  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.

svn path=/trunk/; revision=2589
2007-05-17 09:37:24 +00:00
Yannig MARCHEGAY
cde89c59b1 Occitan first translation
svn path=/trunk/; revision=2588
2007-05-16 17:02:00 +00:00
Yannig MARCHEGAY
0ce04dd037 + Occitan
svn path=/trunk/; revision=2587
2007-05-16 17:00:43 +00:00
David Lodge
8e4c6df830 Updated en_GB translation
svn path=/trunk/; revision=2586
2007-05-15 21:53:32 +00:00
Benoît Dejean
da54431af5 Fixed dist.
2007-05-14  Benoît Dejean  <benoit@placenet.org>

        * include/glibtop/Makefile.am:
        * lib/Makefile.am:

        Fixed dist.

svn path=/trunk/; revision=2583
2007-05-14 08:04:19 +00:00
Jorge Gonzalez Gonzalez
ace68aa492 Updated Spanish translation
svn path=/trunk/; revision=2582
2007-05-14 07:33:38 +00:00
Benoît Dejean
eee0cad2b6 Added missing files
svn path=/trunk/; revision=2580
2007-05-13 14:28:50 +00:00
Benoît Dejean
785b30aeb6 Released 2.19.2.
2007-05-13  Benoît Dejean  <benoit@placenet.org>

	* NEWS:
	* configure.in:
	
	Released 2.19.2.

svn path=/trunk/; revision=2579
2007-05-13 13:53:27 +00:00
Benoît Dejean
3eb958dc6c Manual commit from my local git-svn which is broken :/
svn path=/trunk/; revision=2578
2007-05-13 08:20:10 +00:00
Benoît Dejean
cd389851b9 Got rid of InodeDB. This feature was optionnal and i have never heard of
2007-04-27  Benoît Dejean  <benoit@placenet.org>

	Got rid of InodeDB.
	This feature was optionnal and i have never heard of anyone using
	it. I have never touched it so it may be broken since 2.6.

svn path=/trunk/; revision=2573
2007-04-27 17:37:47 +00:00
Felix I
7ee8dae9c5 updated ta translation
svn path=/trunk/; revision=2572
2007-04-27 05:48:21 +00:00
Benoît Dejean
4b9bb4ee71 Updated Tamil translation. Translated by Senthil Kumar
2007-04-25  Benoît Dejean  <benoit@placenet.org>

        * ta.po: Updated Tamil translation.
        Translated by Senthil Kumar  <senthil0627@gmail.com>.

svn path=/trunk/; revision=2570
2007-04-25 18:15:21 +00:00
Benoît Dejean
aa9fafe5c3 Renamed all glibtop_init_xxx functions to _glibtop_init_xxx so they get
2007-04-11  Benoît Dejean  <benoit@placenet.org>

	* *:
	
	Renamed all glibtop_init_xxx functions
	to _glibtop_init_xxx so they get internal visibility.

	* configure.in:
	
	Bumped version number.

svn path=/trunk/; revision=2569
2007-04-11 17:52:14 +00:00
Ignacio Casal Quinteiro
e0c1214cdd Updated Galician translation.
svn path=/trunk/; revision=2568
2007-03-25 21:09:29 +00:00
Benoît Dejean
82612af053 Ignore securityfs and fusectl. Patch by Fryderyk Dziarmagowski
2007-03-16  Benoît Dejean  <benoit@placenet.org>

	* mountlist.c: (ignore_mount_entry):
	
	Ignore securityfs and fusectl.
	Patch by Fryderyk Dziarmagowski  <freetz@gmx.net>
	Closes #418718.

svn path=/trunk/; revision=2567
2007-03-16 22:53:05 +00:00
Benoît Dejean
2f6439a239 Fixed stat parsing for md devices. Patch by Martin Bailey
2007-03-13  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (get_sys_path), (linux_2_6_0):
	
	Fixed stat parsing for md devices.
	Patch by Martin Bailey  <martin@pcalpha.com>.

svn path=/trunk/; revision=2566
2007-03-13 21:41:43 +00:00
Benoît Dejean
44ff5b7599 Updated.
2007-03-13  Benoît Dejean  <benoit@placenet.org>

	* MAINTAINERS:
	
	Updated.

svn path=/trunk/; revision=2565
2007-03-13 18:50:00 +00:00
Artur Flinta
eb6c8b696f Updated Polish translation by GNOME PL Team.
2007-03-03  Artur Flinta  <aflinta@svn.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/trunk/; revision=2564
2007-03-03 20:27:39 +00:00
Gintautas Miliauskas
177d1aa841 Updated Lithuanian translation.
2007-02-27  Gintautas Miliauskas  <gintas@akl.lt>

	* lt.po: Updated Lithuanian translation.


svn path=/trunk/; revision=2563
2007-02-27 14:49:12 +00:00
Amanpreet Singh Alam
021153bc49 updating for Punjabi by alam
svn path=/trunk/; revision=2562
2007-02-25 14:19:25 +00:00
Benoît Dejean
89810a70ec Released 2.14.8.
2007-02-25  Benoît Dejean  <benoit@placenet.org>

	* NEWS:
	
	Released 2.14.8.

svn path=/trunk/; revision=2560
2007-02-25 10:54:07 +00:00
Maxim Dziumanenko
504ff4ec59 Update Ukrainian translation.
2007-02-20 Maxim Dziumanenko <dziumanenko@gmail.com>

	* Update Ukrainian translation.


svn path=/trunk/; revision=2559
2007-02-20 12:23:52 +00:00
Benoît Dejean
04a5531a46 Removed noisy $Id$.
2007-02-20  Benoît Dejean  <benoit@placenet.org>

	* *:
	
	Removed noisy $Id$.

svn path=/trunk/; revision=2558
2007-02-19 23:10:10 +00:00
Benoît Dejean
5a15e409cf Huge (k)FreeBSD update. (k)FreeBSD support is freebsd/ Other BSD are in
2007-02-18  Benoît Dejean  <benoit@placenet.org>

	* configure.in:
	* libgtop-sysdeps.m4:
	* sysdeps/Makefile.am:
	
	Huge (k)FreeBSD update.
	(k)FreeBSD support is freebsd/
	Other BSD are in bsd/
	
	Patch by Joe Marcus Clarke  <marcus@freebsd.org>
	Alexander Nedotsukov  <bland@FreeBSD.org>
	
	Closes #407693.

svn path=/trunk/; revision=2557
2007-02-18 01:10:53 +00:00
Benoît Dejean
747438e334 Fixed distcheck.
2007-02-15  Benoît Dejean  <benoit@placenet.org>

	* reference/Makefile.am:
	
	Fixed distcheck.

svn path=/trunk/; revision=2556
2007-02-15 22:06:09 +00:00
Benoît Dejean
10211bf7da Some more const.
2007-02-15  Benoît Dejean  <benoit@placenet.org>

	* procmap.c: (add_smaps):
	
	Some more const.

svn path=/trunk/; revision=2555
2007-02-15 21:09:11 +00:00
Benoît Dejean
09f8aaec1e Handle EINTR.
2007-02-14  Benoît Dejean  <benoit@placenet.org>

	* lib/read.c: (glibtop_read_l):
	* lib/write.c: (glibtop_write_l):

	Handle EINTR.
	
	* configure.in:
	
	Post release version bump.

svn path=/trunk/; revision=2554
2007-02-14 22:19:01 +00:00
Benoît Dejean
9f509067d4 Released 2.14.7.
2007-02-10  Benoît Dejean  <benoit@placenet.org>

	* NEWS:
	* configure.in:
	
	Released 2.14.7.

svn path=/trunk/; revision=2552
2007-02-10 15:41:15 +00:00
Benoît Dejean
a085c85db6 Make sure avail <= free. Closes #406280.
2007-02-10  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (glibtop_get_fsusage_s):
	
	Make sure avail <= free.
	Closes #406280.

svn path=/trunk/; revision=2551
2007-02-10 15:33:09 +00:00
Benoît Dejean
c6a7459bc9 Various FreeBSD and kFreeBSD updates. Patch by Roy Marples
2007-01-31  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):
	* netload.c: (glibtop_get_netload_p):
	* prockernel.c: (glibtop_get_proc_kernel_p):
	* procmap.c: (glibtop_get_proc_map_p):
	* proctime.c:
	* siglist.c:
	* /libgtop-sysdeps.m4:
	
	Various FreeBSD and kFreeBSD updates.
	Patch by Roy Marples  <uberlord@gentoo.org>.
	Reviewed by Petr Salinger  <Petr.Salinger@seznam.cz>.
	Closes #387200.

svn path=/trunk/; revision=2550
2007-01-31 21:23:21 +00:00
Benoît Dejean
3d06443c2c Fixed order. Added objfs and ctfs. Closes #400557.
2007-01-31  Benoît Dejean  <benoit@placenet.org>

	* mountlist.c: (ignore_mount_entry):
	
	Fixed order.
	Added objfs and ctfs.
	Closes #400557.

svn path=/trunk/; revision=2549
2007-01-31 21:01:54 +00:00
Benoît Dejean
3f49e555fc Released 2.14.6.
2007-01-14  Benoît Dejean  <benoit@placenet.org>

	* NEWS:

	Released 2.14.6.

svn path=/trunk/; revision=2547
2007-01-14 19:28:24 +00:00
Benoît Dejean
e156172e7c Fixed stack overflow in proc_map. Switched to Glibc getline because fgets
2007-01-14  Benoît Dejean  <benoit@placenet.org>

	* procmap.c: (glibtop_get_proc_map_s):
	* procopenfiles.c: (parse_file):

	Fixed stack overflow in proc_map.
	Switched to Glibc getline because fgets gets fooled by long
	lines.
	Closes #396477.

svn path=/trunk/; revision=2546
2007-01-14 18:09:56 +00:00
Benoît Dejean
c9385972bd Bumped version number to 2.14.6.
2007-01-11  Benoît Dejean  <benoit@placenet.org>

	* configure.in:
	
	Bumped version number to 2.14.6.
	
	* *:
	
	Got rid of CVS admin files.

svn path=/trunk/; revision=2545
2007-01-11 20:35:33 +00:00
Benoît Dejean
b411ee115f Replaced two strstr by a hand-written loop in this critical code.
2007-01-11  Benoît Dejean  <benoit@placenet.org>

	* glibtop_private.c: (get_scaled):
	
	Replaced two strstr by a hand-written loop in this critical code.

svn path=/trunk/; revision=2544
2007-01-11 20:28:02 +00:00
Benoît Dejean
63fb94127a Made gtk-doc happy in order to dist.
2006-12-03  Benoît Dejean  <benoit@placenet.org>

	* doc/reference/libgtop-docs.xml:
	* glibtop.h:
	* include/glibtop/sysinfo.h:

	Made gtk-doc happy in order to dist.
2006-12-03 18:21:01 +00:00
Benoît Dejean
37fc9c1544 Released 2.14.5.
2006-12-03  Benoît Dejean  <benoit@placenet.org>

	* NEWS:

	Released 2.14.5.
2006-12-03 15:53:19 +00:00
Benoît Dejean
9055b90aef Converted to gtk-doc. Patch by Germán Poó-Caamaño <gpoo@ubiobio.cl>.
2006-12-02  Benoît Dejean  <benoit@placenet.org>

	* Makefile.am:
	* configure.in:
	* doc/Makefile.am:
	* doc/reference/Makefile.am:
	* doc/reference/libgtop-docs.xml:
	* doc/reference/libgtop-sections.txt:
	* doc/reference/version.xml.in:
	* gtk-doc.make:
	* sysdeps/common/default.c:

	Converted to gtk-doc.
	Patch by Germán Poó-Caamaño <gpoo@ubiobio.cl>.
2006-12-02 13:42:48 +00:00
Julio M. Merino Vidal
3f25ae9b43 Use the AS_HELP_STRING macro to format help messages. Fixes bug #337068.
2006-12-19  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* configure.in:
	* libgtop-sysdeps.m4:

	Use the AS_HELP_STRING macro to format help messages.
	Fixes bug #337068.
2006-12-01 18:48:22 +00:00
Djihed Afifi
a288a086f7 Updated Arabic Translation. 2006-12-01 11:06:47 +00:00
Benoît Dejean
25a398fc24 Added kfreebsd support. Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
2006-11-27  Benoît Dejean  <benoit@placenet.org>

	* libgtop-sysdeps.m4:

	Added kfreebsd support.
	Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
2006-11-27 19:32:57 +00:00
Benoît Dejean
0b438b5250 Added kfreebsd support. Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
2006-11-27  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):
	* mem.c: (glibtop_get_mem_p):
	* prockernel.c: (glibtop_get_proc_kernel_p):
	* proclist.c: (glibtop_get_proclist_p):
	* procmap.c: (glibtop_get_proc_map_p):
	* procmem.c: (glibtop_get_proc_mem_p):
	* procsignal.c: (glibtop_get_proc_signal_p):
	* procstate.c: (glibtop_get_proc_state_p):
	* proctime.c:
	* procuid.c: (glibtop_get_proc_uid_p):
	* swap.c: (glibtop_init_swap_p), (glibtop_get_swap_p):

	Added kfreebsd support.
	Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
2006-11-27 19:22:45 +00:00
Benoît Dejean
0d2382e666 Bumped version number.
2006-11-27  Benoît Dejean  <benoit@placenet.org>

	* configure.in:

	Bumped version number.
2006-11-27 18:58:57 +00:00
Wouter Bolsterlee
56b06c7433 Translation updated by GNOME PL Team.
2006-11-19  Wouter Bolsterlee  <wbolster@cvs.gnome.org>

	* pl.po: Translation updated by GNOME PL Team.
2006-11-19 18:37:56 +00:00
Djihed Afifi
84f690d318 Updated Arabic Translation. QA'ed by Khaled Hosny 2006-11-18 20:28:56 +00:00
Djihed Afifi
fef76514ed Added/Updated Arabic Translation. 2006-10-30 10:09:43 +00:00
Satoru SATOH
1bc8ce6f23 Fixed wrong plural form entries.
2006-10-30  Satoru SATOH <ss@gnome.gr.jp>

	* ja.po: Fixed wrong plural form entries.
2006-10-29 16:38:20 +00:00
Benoît Dejean
920a936511 Added nfsd to the exclude list.
2006-09-21  Benoît Dejean  <benoit@placenet.org>

        * mountlist.c: (ignore_mount_entry):

        Added nfsd to the exclude list.
2006-09-21 13:05:22 +00:00
Pawan Chitrakar
648c28b332 Updated Nepali Translation 2006-09-21 12:21:48 +00:00
Sunil Mohan Adapa
d9282f6102 Added Telugu "te" translation done by Sree Ganesh <mrthottempudi@yahoo.com>. 2006-09-19 15:08:41 +00:00
Benoît Dejean
1ca0e5c5e7 Added glibtop_get_proc_open_files implementation by Henry Zhang
2006-09-19  Benoît Dejean  <benoit@placenet.org>

        * Makefile.am:
        * procopenfiles.c: (glibtop_init_proc_open_files_s),
        (glibtop_get_proc_open_files_s):

        Added glibtop_get_proc_open_files implementation by
        Henry Zhang <hua.zhang@sun.com>.
        Closes #346174.
2006-09-19 14:38:14 +00:00
Benoît Dejean
537bf34f94 Released 2.14.4.
2006-09-16  Benoît Dejean  <benoit@placenet.org>

	* NEWS:
	* configure.in:

	Released 2.14.4.
2006-09-16 16:20:52 +00:00
Benoît Dejean
5982287f48 Fixed parsing s?maps on 64bit kernel. Closes #355290. Removed useless
2006-09-11  Benoît Dejean  <benoit@placenet.org>

	* procmap.c: (glibtop_get_proc_map_s):

	Fixed parsing s?maps on 64bit kernel.
	Closes #355290.
	Removed useless casts.
2006-09-11 17:47:51 +00:00
Benoît Dejean
24f5bb1e22 Removed wrong inline documentation. Closes #355286.
2006-09-10  Benoît Dejean  <benoit@placenet.org>

	* configure.in:
	* include/glibtop/procstate.h:

	Removed wrong inline documentation.
	Closes #355286.
2006-09-10 21:53:29 +00:00
Benoît Dejean
499f599e95 Released 2.14.3.
2006-09-05  Benoît Dejean  <benoit@placenet.org>

	* NEWS:

	Released 2.14.3.
2006-09-05 18:38:03 +00:00
Runa Bhattacharjee
71ce0e790b Added Entry for Bengali India Translation Updation 2006-09-01 12:12:00 +00:00
Runa Bhattacharjee
05dfb867a3 Updated Bengali India Translation 2006-09-01 12:11:40 +00:00
Kwok-Koon Cheung
2345eaf4ee recover changelog 2006-09-01 10:47:16 +00:00
Kwok-Koon Cheung
7b3d57c9e9 Add missing entries into LINGUAS 2006-09-01 10:00:57 +00:00
Theppitak Karoonboonyanan
9ebea04e19 Fixed plural strings.
2006-08-27  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Fixed plural strings.
2006-08-27 10:59:49 +00:00
Gabor Kelemen
0cefbb6df0 Translation updated.
2006-08-16  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.
2006-08-16 02:25:49 +00:00
Matic Žgur
272a72d7bc Updated Slovenian translation.
2006-08-14  Matic Žgur  <mr.zgur@gmail.com>

	* sl.po: Updated Slovenian translation.
2006-08-14 09:50:36 +00:00
Benoît Dejean
75f11dc5d6 Fixed inodedb build with --as-needed to please people who want to compile
2006-08-14  Benoît Dejean  <benoit@placenet.org>

        * src/inodedb/Makefile.am:

        Fixed inodedb build with --as-needed to please people
        who want to compile and optimize broken, deprecated and
        never-used feature.
        Patch by Daniel Gryniewicz <dang@gentoo.org>
        Closes #341041.
2006-08-14 07:56:39 +00:00
Benoît Dejean
383b4c480e Bumped version number.
2006-08-10  Benoît Dejean  <benoit@placenet.org>

	* configure.in:

	Bumped version number.

	* glibtop.h:
	* include/glibtop/init_hooks.h:

	Added missing G_(BEGIN|END)_DECLS.
2006-08-10 20:36:58 +00:00
Benoît Dejean
610c0071cc Only print the warning if (number of real cpu's) != (number of cpu's
2006-08-10  Benoît Dejean  <benoit@placenet.org>

	* open.c: (glibtop_open_s):

	Only print the warning if
		(number of real cpu's) != (number of cpu's monitored).
	Patch by Wouter Bolsterlee (uws) <uws+gnome@xs4all.nl>.
	Closes #350705.
2006-08-10 11:21:39 +00:00
Runa Bhattacharjee
08887909fa Added Entry for Bengali India Translation Updation 2006-08-07 07:22:47 +00:00
Runa Bhattacharjee
6bd78a815b Updated Bengali India Translation 2006-08-07 07:22:06 +00:00
Ani Peter
34e8fd7400 Updated Malayalam Translation 2006-08-05 06:05:38 +00:00
Benoît Dejean
1f7f18b399 Released 2.14.2.
2006-07-27  Benoît Dejean  <benoit@placenet.org>

	* NEWS:

	Released 2.14.2.
2006-07-27 18:50:58 +00:00
Benoît Dejean
a7a9e7e9f8 Updated implementation.
2006-07-27  Benoît Dejean  <benoit@placenet.org>

	* netload.c: (glibtop_get_netload_s):

	Updated implementation.
2006-07-27 18:26:38 +00:00
Benoît Dejean
c51a13bf0e Tiny interface addition to handle wireless interfaces.
2006-07-27  Benoît Dejean  <benoit@placenet.org>

	* include/glibtop/netload.h:

	Tiny interface addition to handle wireless interfaces.
2006-07-27 18:25:24 +00:00
Benoît Dejean
d497c25081 New has_sysfs function to avoid stating over and over '/sys' on each
2006-07-27  Benoît Dejean  <benoit@placenet.org>

        * glibtop_private.c: (has_sysfs):
        * glibtop_private.h:
        * netload.c: (glibtop_get_netload_s):
        * open.c: (set_linux_version):

        New has_sysfs function to avoid stating
        over and over '/sys' on each netload call.
2006-07-27 09:23:32 +00:00
Thierry Randrianiriana
3345ef1704 Added Malagasy translation Added Malagasy code 'mg' to the list
* mg.po: Added Malagasy translation
* LINGUAS: Added Malagasy code 'mg' to the list
2006-07-05 19:00:42 +00:00
Runa Bhattacharjee
af52067b3a Added entry for addition of bengali India (bn_IN) translation and to LINGUAS 2006-07-03 13:59:08 +00:00
Runa Bhattacharjee
a3e3a224a2 Added bengali India (bn_IN) 2006-07-03 13:58:56 +00:00
Runa Bhattacharjee
b9e498c0b8 Added Bengali India Translation 2006-07-03 13:58:27 +00:00
Simos Xenitellis
875df72edf Fixed ^M issue with Nepali translation, bug #316750 2006-07-03 08:07:25 +00:00
Benoît Dejean
c5e81bacbf Dropped dead file.
2006-06-26  Benoît Dejean  <benoit@placenet.org>

	* po/Makefile.in.in.in:

	Dropped dead file.
2006-06-26 16:55:18 +00:00
Kwok-Koon Cheung
8663fc3fda Added zh_HK translation 2006-06-26 15:07:56 +00:00
Benoît Dejean
37487d4e62 Fixed build. Closes #341779.
2006-06-25  Benoît Dejean  <benoit@placenet.org>

	* Makefile.am:

	Fixed build.
	Closes #341779.
2006-06-25 08:07:55 +00:00
Benoît Dejean
d52fc3f868 Build examples only when needed. Patch by dmacks@netspace.org. Closes
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* Makefile.am:

	Build examples only when needed.
	Patch by dmacks@netspace.org.
	Closes #342863.
2006-06-24 17:54:41 +00:00
Benoît Dejean
bc79bf010a Updated the GLIBTOP_SOLARIS_RELEASE
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* libgtop-sysdeps.m4:
	* sysdeps/solaris/glibtop_machine.h:

	Updated the GLIBTOP_SOLARIS_RELEASE

	Patch by hua.zhang@sun.com.
	Closes #345821.
2006-06-24 17:52:28 +00:00
Benoît Dejean
7f477561f0 Fixed start time.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* proctime.c: (glibtop_get_proc_time_s):

	Fixed start time.

	Patch by hua.zhang@sun.com.
	Closes #345819.
2006-06-24 17:47:34 +00:00
Benoît Dejean
c7e0a7ac59 Fixed writable memory.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* procmap.c: (glibtop_get_proc_map_s):

	Fixed writable memory.

	Patch by hua.zhang@sun.com.
	Closes #345817.
2006-06-24 17:45:29 +00:00
Benoît Dejean
bc6ff2cb59 Can't get cpu_stat_kstat, didn't close kstat, this will make other program
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* open.c: (glibtop_get_kstats), (glibtop_open_s):

	Can't get cpu_stat_kstat, didn't close kstat, this will make other
	program used kstat wrong.
	Patch by hua.zhang@sun.com.
	Closes #345814.
2006-06-24 17:39:49 +00:00
Benoît Dejean
1826be8ef6 Fixed. Patch by hua.zhang@sun.com. Closes #345813.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* netlist.c: (glibtop_get_netlist_s):

	Fixed.
	Patch by hua.zhang@sun.com.
	Closes #345813.
2006-06-24 17:35:39 +00:00
Benoît Dejean
739e9cac4a Ensure file is closed.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* mountlist.c: (read_filesystem_list):

	Ensure file is closed.

	(glibtop_get_mountlist_s):

	Fixed .flags.

	Patch by hua.zhang@sun.com.
	Closes #345812.
2006-06-24 17:28:48 +00:00
Benoît Dejean
8c7e0e6f2e Don't use kvm on newer solaris. Patch by hua.zhang@sun.com. Closes
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* configure.in:

	Don't use kvm on newer solaris.
	Patch by hua.zhang@sun.com.
	Closes #345811.
2006-06-24 17:20:22 +00:00
Benoît Dejean
46c9f6ebeb Don't use kvm anymore. Patch by hua.zhang@sun.com. Closes #345811.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* msg_limits.c: (glibtop_init_msg_limits_p),
	(glibtop_get_msg_limits_p):
	* open_suid.c: (glibtop_open_p):
	* sem_limits.c: (glibtop_init_sem_limits_p),
	(glibtop_get_sem_limits_p):
	* shm_limits.c: (glibtop_init_shm_limits_p),
	(glibtop_get_shm_limits_p):

	Don't use kvm anymore.
	Patch by hua.zhang@sun.com.
	Closes #345811.
2006-06-24 17:16:53 +00:00
Gora Mohanty
e6d6b0bba7 po/LINGUAS: Added 'eo' (Esperanto)
po/eo.po: Added Esperanto translation
po/ChangeLog: Changed to reflect this
2006-06-07 19:06:49 +00:00
Benoît Dejean
8d60c52922 Removed undefined LIBGTOP_HACKER_TESTS. Closes #342890.
2006-06-04  Benoît Dejean  <benoit@placenet.org>

	* libgtop-sysdeps.m4:

	Removed undefined LIBGTOP_HACKER_TESTS.
	Closes #342890.
2006-06-03 22:06:53 +00:00
Benoît Dejean
21f74a6427 Use po/LINGUAS. Closes #337902.
2006-06-03  Benoît Dejean  <benoit@placenet.org>

	* .cvsignore:
	* Makefile.am:
	* configure.in:
	* po/LINGUAS:

	Use po/LINGUAS.
	Closes #337902.
2006-06-03 17:03:47 +00:00
German Poo-Caaman~o
05b94bd263 Changed struct's definitions to be one type-one member. To avoid problems
2006-04-18  German Poo-Caaman~o  <gpoo@ubiobio.cl>

	* /include/glibtop/cpu.h:
	* /include/glibtop/fsusage.h:
	* /include/glibtop/loadavg.h:
	* /include/glibtop/mem.h:
	* /include/glibtop/mountlist.h:
	* /include/glibtop/msg_limits.h:
	* /include/glibtop/netload.h:
	* /include/glibtop/ppp.h:
	* /include/glibtop/procargs.h:
	* /include/glibtop/prockernel.h:
	* /include/glibtop/proclist.h:
	* /include/glibtop/procmap.h:
	* /include/glibtop/procmem.h:
	* /include/glibtop/procopenfiles.h:
	* /include/glibtop/procsegment.h:
	* /include/glibtop/procsignal.h:
	* /include/glibtop/procstate.h:
	* /include/glibtop/proctime.h:
	* /include/glibtop/procuid.h:
	* /include/glibtop/sem_limits.h:
	* /include/glibtop/shm_limits.h:
	* /include/glibtop/swap.h:
	* /include/glibtop/sysdeps.h:
	* /include/glibtop/uptime.h:

	Changed struct's definitions to be one type-one member.  To
	avoid problems with any further gtk-doc's implementation.
2006-04-18 20:17:25 +00:00
Kjartan Maraas
956527cb57 Remove obsolete entry for no_NO And the translation.
2006-04-18  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Remove obsolete entry for no_NO
	* po/no.po: And the translation.
2006-04-18 09:11:53 +00:00
Benoît Dejean
d8f9e265cf Released 2.14.1.
2006-04-10  Benoît Dejean  <benoit@placenet.org>

        * NEWS:

        Released 2.14.1.
2006-04-10 10:18:12 +00:00
Benoît Dejean
64fe5d591b Fixed a bunch of signedness warnings.
2006-04-10  Benoît Dejean  <benoit@placenet.org>

        * lib/open.c: (glibtop_open_l):
        * lib/read.c: (glibtop_read_l):
        * lib/write.c: (glibtop_write_l):

        Fixed a bunch of signedness warnings.
2006-04-10 08:41:46 +00:00
Benoît Dejean
12502c2673 Fixed typo.
2006-04-09  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):

	Fixed typo.
2006-04-09 16:54:29 +00:00
Benoît Dejean
5d2f45803b Fixed trivial warning.
2006-04-09  Benoît Dejean  <benoit@placenet.org>

	* Makefile.am: Fixed trivial warning.
2006-04-09 10:55:03 +00:00
Julio M. Merino Vidal
3c21c70b64 Use configure checks to detect whether we need to define either KERNEL or
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* libgtop-sysdeps.m4:
	* sysdeps/freebsd/msg_limits.c:

	Use configure checks to detect whether we need to define either
	KERNEL or _KERNEL to get the definition of 'struct msginfo' in a
	BSD system.  This replaces the previous checks in the code that
	relied on __FreeBSD__ and similar macros.

	Before this change, the explicit definition of _KERNEL in the
	msg_limits.c file broke the build in NetBSD because it made the
	system headers pull in stuff unavailable to userland.

	Fixes bug #337207.
2006-04-09 10:50:43 +00:00
Julio M. Merino Vidal
9e6115f322 Check for the kvm library and use it to link the suid freebsd sysdeps code
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* libgtop-sysdeps.m4:
	* sysdeps/freebsd/Makefile.am:

	Check for the kvm library and use it to link the suid freebsd
	sysdeps code (only if available).  This library provides all the
	kvm_* functions used in it and is needed, at least, under NetBSD.

	Fixes bug #337247.
2006-04-09 10:12:17 +00:00
Julio M. Merino Vidal
cead508eae Use statvfs(2) if available instead of statfs(2). The latter was replaced
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/freebsd/fsusage.c:

	Use statvfs(2) if available instead of statfs(2).  The latter was
	replaced by the former and is no longer available under, e.g. NetBSD.

	Fixes bug #337235.
2006-04-09 10:08:22 +00:00
Ales Nyakhaychyk
26d85d02fb Updated Belarusian translaiton. 2006-04-07 15:12:07 +00:00
Benoît Dejean
afa9757a0e Store only strings in values' values. g_strdup these strings. Even if
2006-04-04  Benoît Dejean  <benoit@placenet.org>

	* sysinfo.c: (init_sysinfo):

	Store only strings in values' values. g_strdup these strings.
	Even if values is never destroyed, set key_destroy_func to NULL.

	Leave description to NULL.
2006-04-04 21:23:46 +00:00
Julio M. Merino Vidal
80855eabe2 Bring back to life (from the 1.x versions) the sysinfo.c file for the
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/freebsd/Makefile.am:
	* sysdeps/freebsd/sysinfo.c:

	Bring back to life (from the 1.x versions) the sysinfo.c file for
	the freebsd sysdeps.  The new file comes from the FreeBSD ports
	repository and has some minor style changes by me.  This is required
	to get the glibtop_get_sysinfo_s function used by the sysdeps common
	code.

	Fixes bug #337251.
2006-04-04 20:36:43 +00:00
Julio M. Merino Vidal
3558c4d5c3 Synch the list of GLIBTOP_SUID_* constants with those expected by the
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/aix/glibtop_server.h:
	* sysdeps/freebsd/glibtop_server.h:
	* sysdeps/osf1/glibtop_server.h:
	* sysdeps/stub/glibtop_server.h:
	* sysdeps/stub_suid/glibtop_server.h:

	Synch the list of GLIBTOP_SUID_* constants with those expected by
	the lib/sysdeps.c file.  Fixes the build under, at least, NetBSD
	and FreeBSD.

	Fixes bug #337246.
2006-04-04 20:06:14 +00:00
Julio M. Merino Vidal
1870a03538 Remove obsolete and non-functional code that breaks the build under
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/freebsd/proctime.c:

	Remove obsolete and non-functional code that breaks the build under
	NetBSD.  It was guarded by a conditional but could not compile
	anyway because it referred to an undefined variable.

	Fixes bug #337234.
2006-04-04 20:01:43 +00:00
Kjartan Maraas
214e1decbd Remove non-existing files. Updated Norwegian bokmål translation.
2006-04-02  Kjartan Maraas  <kmaraas@gnome.org>

	* POTFILES.skip: Remove non-existing files.
	* nb.po: Updated Norwegian bokmål translation.
2006-04-02 12:49:06 +00:00
Benoît Dejean
3c173b95b4 Bumped version to 2.14.1. Removed no longer needed gcc flag.
* configure.in:

	Bumped version to 2.14.1.
	Removed no longer needed gcc flag.
2006-04-02 09:27:48 +00:00
Benoît Dejean
2083db6c34 Fixed a bunch of warnings.
* msg_limits.c: (glibtop_get_msg_limits_s):
	* sem_limits.c: (glibtop_get_sem_limits_s):
	* shm_limits.c: (glibtop_get_shm_limits_s):

	Fixed a bunch of warnings.
2006-04-02 09:16:20 +00:00
Benoît Dejean
a7cf016d67 Reverted. See #336837
* configure.in:
	* src/daemon/daemon.h:
	* src/daemon/gnuserv.c: (main):

	Reverted. See #336837
2006-04-02 09:09:41 +00:00
Michael Terry
ec7922c6bd bug 336837: convert from popt to goption 2006-04-02 03:58:45 +00:00
Guntupalli Karunakar
c2104f2f0b Added Dzongkha translation 2006-03-30 15:27:29 +00:00
Yair Hershkovitz
47776e8f21 Updated Hebrew translation 2006-03-27 15:41:46 +00:00
Gora Mohanty
88cd202147 po/or.po: Updated Oriya translation.
po/Changelog: Changed to reflect this.
2006-03-21 18:44:20 +00:00
Vladimer Sichinava
6226594f04 Update Georgian translation 2006-03-18 02:32:28 +00:00
Benoît Dejean
580558333e Released 2.14.0.
* NEWS:
	* configure.in:

	Released 2.14.0.
2006-03-13 09:14:52 +00:00
Žygimantas Beručka
702e3775c3 Updated Lithuanian translation.
2006-03-03  Žygimantas Beručka  <zygis@gnome.org>

	* lt.po: Updated Lithuanian translation.
2006-03-03 10:25:08 +00:00
Clytie Siddall
a597640830 lv.po: Updated Latvian translation. 2006-02-28 05:15:51 +00:00
Benoît Dejean
a956784797 Released 2.13.92.
* NEWS:
        * configure.in:

        Released 2.13.92.
2006-02-27 08:26:56 +00:00
Benoît Dejean
e71023b362 Added proc_mem example.
* pprint.c: (pprint_get_proc_mem), (main):

        Added proc_mem example.
2006-02-27 08:14:12 +00:00
Benoît Dejean
89f9c1d43a Fixed glibtop_get_proc_state doc. Patch by Emil Nowak <emil5@go2.pl>.
* reference.texi: Fixed glibtop_get_proc_state doc.
        Patch by Emil Nowak <emil5@go2.pl>.
2006-02-21 10:17:21 +00:00
Benoît Dejean
29adf02352 Also ignores linprocfs, mfs and devfs. Closes #331856. Patch by Andreas
* mountlist.c: (ignore_mount_entry): Also ignores linprocfs, mfs
	and devfs.
	Closes #331856.
	Patch by Andreas Kohn <andreas.kohn@gmail.com>
2006-02-21 09:06:40 +00:00
Benoît Dejean
35030c878b Bump version to 2.13.4. Reordered libs. Closes #329153.
* configure.in:

	Bump version to 2.13.4.
	Reordered libs. Closes #329153.
2006-02-20 18:58:41 +00:00
Benoît Dejean
9b916ee402 Released 2.13.3.
* configure.in:
	* NEW:

	Released 2.13.3.
2006-01-23 18:02:22 +00:00
Benoît Dejean
23ca9669ae I can't believe i've been so stupid :) Uses smaps if linux > 2.6.14.
* procmap.c: (glibtop_get_proc_map_s):

	I can't believe i've been so stupid :)
	Uses smaps if linux > 2.6.14.
2006-01-23 16:41:10 +00:00
Benoît Dejean
d66ae501f9 /me stupid. Revert last commit. Sorry 2006-01-02 17:43:45 +00:00
Benoît Dejean
ccb10a7b33 Updated. 2006-01-02 17:13:18 +00:00
Benoît Dejean
9d2131a4b5 Released 2.13.2.
* NEWS:
	* configure.in:

	Released 2.13.2.
2006-01-02 13:13:11 +00:00
James Henstridge
7d3059e732 add quotes around symbol definition.
2006-01-02  James Henstridge  <james@jamesh.id.au>

	* configure.in (LT_VERSION_INFO): add quotes around symbol definition.
2006-01-02 11:30:32 +00:00
Benoît Dejean
d3add9e115 Released 2.13.1.
* configure.in:
	* NEWS:

	Released 2.13.1.
2005-12-15 13:10:53 +00:00
Benoît Dejean
101fe5874f Improved example.
* proclist.c: (print_pids), (main):

	Improved example.
2005-12-15 13:05:55 +00:00
Benoît Dejean
3afe2bf629 Fixed when which == GLIBTOP_KERN_PROC_UID. Closes #324055.
* proclist.c: (glibtop_get_proclist_s):

	Fixed when which == GLIBTOP_KERN_PROC_UID.
	Closes #324055.
2005-12-15 13:04:04 +00:00
Benoît Dejean
e296c3a37a Implemented server->real_ncpu. Add a warning to display ncpu and real_ncpu
* open.c: (glibtop_open_s):

	Implemented server->real_ncpu.
	Add a warning to display ncpu and real_ncpu on open.
2005-12-14 10:53:53 +00:00
Benoît Dejean
2f3120d6c9 Released 2.13.0.
* NEWS:

	Released 2.13.0.
2005-12-13 09:23:02 +00:00
Benoît Dejean
806a816026 Fixed server->ncpu usage (SMP handling). Need more testing.
* cpu.c: (glibtop_get_cpu_s):
	* glibtop_private.c: (get_scaled), (check_cpu_line):
	* glibtop_private.h:
	* open.c: (glibtop_open_s):
	* proctime.c: (glibtop_get_proc_time_s):

	Fixed server->ncpu usage (SMP handling). Need more testing.
2005-12-13 09:15:49 +00:00
Benoît Dejean
ba7355df9e Implemented smap support. Closes #320710.
* procmap.c: (add_smaps), (glibtop_get_proc_map_s):

	Implemented smap support.
	Closes #320710.
2005-12-12 13:37:15 +00:00
Benoît Dejean
451f9f9d6c Improved so that it doesn't stat(2) every /proc/<PID>/.
* proclist.c: (glibtop_get_proclist_s):

	Improved so that it doesn't stat(2) every /proc/<PID>/.
2005-12-12 13:32:06 +00:00
Benoît Dejean
52fa57a39b Added quick example for glibtop_get_proclist() and updated procmap example
* .cvsignore:
	* Makefile.am:
	* proclist.c: (main):
	* procmap.c: (main):

	Added quick example for glibtop_get_proclist()
	and updated procmap example to display smap.
2005-12-12 13:23:54 +00:00
James Henstridge
aa5ac8fc10 remove unused file.
2005-12-12  James Henstridge  <james@jamesh.id.au>

	* doc/auto-macros.texi.in: remove unused file.

	* doc/libgtop2.texi: don't include auto-macros.texi.

	* doc/Makefile.am: don't build auto-macros.texi, since none of its
	macros are used in the documentation any more.

	* include/glibtop/global.h: don't include <config.h> from headers.

	* .../*.c: make sure <config.h> is the first thing included.

	* acinclude.m4: m4_include() libgtop-sysdeps.m4 rather than
	inlining it.

	* acinclude.m4, libgtop-sysdeps.m4: use third argument to
	AC_DEFINE() to set the comment.

	* configure.in: modernise a bit.

	* acconfig.h: remove file, since it is deprecated

	* autogen.sh: require automake 1.9 instead of 1.4.
2005-12-12 09:38:15 +00:00
Benoît Dejean
a7db1f4dfd Increased GLIBTOP_NCPU to 32. Added real_ncpu to struct glibtop. Added
* configure.in:
	* glibtop.h:
	* include/glibtop/cpu.h:
	* include/glibtop/procmap.h:

	Increased GLIBTOP_NCPU to 32.
	Added real_ncpu to struct glibtop.
	Added smaps members to glibtop_map_entry.

	Bumped version number to 2.13.0
	Broke ABI again. Sorry.
2005-12-09 16:15:44 +00:00
Benoît Dejean
91a312768d Dropped unused file and updated documentation.
* doc/reference.texi:
        * include/glibtop/limits.h:

        Dropped unused file and updated documentation.
2005-12-08 10:25:56 +00:00
Benoît Dejean
d9a666470c Bumped version number.
* configure.in:

        Bumped version number.
2005-12-07 09:52:36 +00:00
Benoît Dejean
79fc0e70c0 Small improvements. Use g_array_sized_new instead of g_array_new with
* procmap.c: (glibtop_get_proc_map_s):

        Small improvements.
        Use g_array_sized_new instead of g_array_new with
        reserved_size = 100.
        Don't use g_array_append_val to avoid copying
        glibtop_map_entries. Use g_array_set_size(size + 1) instead.

        I've run a little python benchmark and this shows a little
        speedup. I hope this would be more sensible in
        gnome-system-monitor (glibtop_get_procmap is intensively used for
        the 'Writable Memory' column).
2005-12-07 09:35:50 +00:00
Theppitak Karoonboonyanan
532f5ceb4f Added 'th' (Thai) to ALL_LINGUAS. Added Thai translation.
2005-12-04  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* configure.in: Added 'th' (Thai) to ALL_LINGUAS.
	* po/th.po: Added Thai translation.
2005-12-04 10:08:56 +00:00
Benoît Dejean
a326e2dcac Released 2.12.2. No 2.12.1.
* NEWS:
	* configure.in:

	Released 2.12.2.
	No 2.12.1.
2005-11-29 11:04:28 +00:00
Timur Jamakeev
8a626d9f97 Added 'ky' to ALL_LINGUAS.
2005-11-17  Timur Jamakeev  <timurj@cvs.gnome.org>

	* configure.in: Added 'ky' to ALL_LINGUAS.
2005-11-17 11:50:34 +00:00
Priit Laes
a6513af1c6 Translation updated by Ivar Smolin.
2005-11-16  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-11-16 06:23:21 +00:00
Benoît Dejean
95b2dfa326 Dropped many dead files. Bumped release number. I guess this closes
* configure.in:
	* include/glibtop/glibtop-backend-info.h:
	* include/glibtop/glibtop-backend.h:
	* include/glibtop/glibtop-client.h:
	* lib/glibtop-backend-info.c:
	* lib/glibtop-backend.c:
	* lib/glibtop-client-private.h:
	* lib/glibtop-client.c:
	* lib/test-backends.c:
	* sysdeps/common/backend.c:
	* sysdeps/common/libgtop-common.backend:

	Dropped many dead files.
	Bumped release number.
	I guess this closes #320250.
2005-10-30 18:46:27 +00:00
Benoît Dejean
ac3ad6d2aa Removed 1 g_return_*.
* glibtop_private.c: (read_boot_time):

	Removed 1 g_return_*.
2005-10-29 19:23:50 +00:00
Erdal Ronahi
4186c9a956 Added Kurdish translation 2005-10-28 21:45:43 +00:00
Christian Rose
7770480ad2 Reverted unauthorized changes made by user 'kloczek'.
2005-10-03  Christian Rose  <menthos@menthos.com>

	* sv.po: Reverted unauthorized changes made by
	user 'kloczek'.
2005-10-02 22:17:33 +00:00
Runa Bhattacharjee
50f20979df Added entry for Bengali (bn) Translation updation:10/01 2005-10-01 09:55:48 +00:00
Runa Bhattacharjee
78ec6945df Updated Bengali (bn) Translaion:10/01 2005-10-01 09:55:32 +00:00
Tomasz Kłoczko
170b03f4f2 s/charset=utf-8/charset=UTF-8/ 2005-09-25 16:25:35 +00:00
Tomasz Kłoczko
c183276e2b remove outdated strings and run "make update-po". 2005-09-25 16:24:46 +00:00
Inaki Larranaga
d7945bdc36 Updated Basque translation.
2005-09-08  Inaki Larranaga  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.
2005-09-08 19:29:41 +00:00
Benoît Dejean
2930c9f092 Released 2.12.0.
* NEWS:
        * configure.in:

        Released 2.12.0.
2005-09-04 22:31:58 +00:00
Josep Puigdemont i Casamajó
fe6a33a5fd Fixed some typos and strings. 2005-09-03 23:17:21 +00:00
Telsa Gwynne
30ebfb45d0 Updated Welsh Translation 2005-08-29 19:34:50 +00:00
Benoît Dejean
b43a1e01c0 Hum hum, it's better if release number is 2.11.92 too.
* configure.in:

	Hum hum, it's better if release number is 2.11.92 too.
2005-08-22 17:06:23 +00:00
Benoît Dejean
88d606d814 Released 2.11.92.
* NEWS:

	Released 2.11.92.
2005-08-22 17:02:57 +00:00
Mugurel Tudor
dd0d06898a Updated Romanian translation by Misu Moldovan <dumol@gnome.ro>
2005-08-22  Mugurel Tudor  <mugurelu@gnome.ro>

        * ro.po: Updated Romanian translation
	 by Misu Moldovan <dumol@gnome.ro>
2005-08-21 23:37:57 +00:00
Benoît Dejean
3e77f3cf13 Do not add irq, softirq and iowait to idle.
* cpu.c: (glibtop_get_cpu_s):

	Do not add irq, softirq and iowait to idle.
2005-08-15 00:09:47 +00:00
Benoît Dejean
22a1120348 Added missing includes. Added missing GLIBTOP_SUID_NETLIST.
* glibtop_server.h:
	* open.c:
	* open_suid.c:
	* procdata.c:

	Added missing includes.
	Added missing GLIBTOP_SUID_NETLIST.
2005-08-12 14:55:38 +00:00
Benoît Dejean
da4dc46b7a Released 2.11.91.
* NEWS:

	Released 2.11.91.
2005-08-07 23:12:39 +00:00
Benoît Dejean
03bcc48da6 Removed static examples.
* configure.in:
	* examples/Makefile.am:

	Removed static examples.
2005-08-03 22:47:19 +00:00
Benoît Dejean
708285f0d2 Reworked a bit. Warn on 2.6 without /sys.
* open.c: (set_linux_version), (glibtop_open_s):

	Reworked a bit.
	Warn on 2.6 without /sys.
2005-08-03 22:39:17 +00:00
Benoît Dejean
a0493a0ff1 Fixed for people running 2.6 without /sys.
* netload.c: (glibtop_get_netload_s):

	Fixed for people running 2.6 without /sys.
2005-08-03 13:26:06 +00:00
Dave Neary
9f7d505d20 Fix a C formatting string translation.
2005-08-02  Dave Neary  <bolsh@gimp.org>

	* tr.po: Fix a C formatting string translation.
2005-08-03 13:21:44 +00:00
Benoît Dejean
78cb7832c5 Moved _glibtop_init_hook_[sp] declaration to private glibtop/init_hooks.h.
* configure.in:
	* include/glibtop/Makefile.am:
	* include/glibtop/glibtop-server.h:
	* include/glibtop/init_hooks.h:
	* include/glibtop/sysdeps.h:
	* lib/init.c: (glibtop_init_s):
	* lib/sysdeps.c:
	* sysdeps/aix/open.c: (glibtop_init_p):
	* sysdeps/common/sysdeps_suid.c:
	* sysdeps/freebsd/open.c: (glibtop_init_p):
	* sysdeps/osf1/open_suid.c: (glibtop_init_p):
	* sysdeps/solaris/open_suid.c: (glibtop_init_p):
	* sysdeps/stub_suid/open.c: (glibtop_init_p):

	Moved _glibtop_init_hook_[sp] declaration to private
	glibtop/init_hooks.h. Marked them const.

	Fixed GLIBTOP_SUID_NETLIST issues.
2005-08-02 09:47:21 +00:00
Benoît Dejean
b3979e6942 Added GLIBTOP_SUID_NETLIST.
* glibtop_server.h:

	Added GLIBTOP_SUID_NETLIST.
2005-08-02 05:04:35 +00:00
Benoît Dejean
92d3176303 Added pprint_get_proc_kernel(pid).
Fixed prototypes.
2005-08-02 04:39:13 +00:00
Alexander Shopov
e5c7f87f50 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2005-06-28  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2005-07-28 11:01:25 +00:00
Benoît Dejean
7e506a6c83 Released 2.11.90.
* NEWS:
        * configure.in: Released 2.11.90.
2005-07-25 13:20:08 +00:00
Benoît Dejean
1645027004 Fixed .flags.
* uptime.c:

	Fixed .flags.
2005-07-23 00:01:11 +00:00
Benoît Dejean
8e656af060 2.11.3 post release version bump.
* configure.in: 2.11.3 post release version bump.
2005-07-22 19:24:40 +00:00
Benoît Dejean
4efcfb2cb3 Cached getpagesize().
* glibtop_private.c: (get_page_size):
	* glibtop_private.h:
	* procmem.c: (glibtop_get_proc_mem_s):
	* procsegment.c: (glibtop_get_proc_segment_s):

	Cached getpagesize().
2005-07-22 19:20:39 +00:00
Nguyen Thai Ngoc Duy
59da1618b0 Merged from gnome-2.10 2005-07-21 11:47:39 +00:00
Ivan Stojmirov
e9ce3ccc1c done 2005-07-20 16:02:35 +00:00
Benoît Dejean
84e45a6519 Released 2.11.2.
* NEWS: Released 2.11.2.
2005-07-13 14:50:16 +00:00
Benoît Dejean
96fe554afd Split implementations. New (simpler) implementation for 2.6 (/sys is so
* netload.c: (read_value), (linux_2_6_stats), (linux_2_0_stats),
	(linux_2_4_stats), (glibtop_get_netload_s): Split implementations.
	New (simpler) implementation for 2.6 (/sys is so nice ;)
2005-07-09 21:09:15 +00:00
Benoît Dejean
16e0c943b2 Cached boot_time.
* glibtop_private.c: (read_boot_time), (get_boot_time): Cached boot_time.
2005-07-07 19:34:18 +00:00
Benoît Dejean
f409c553f5 Et m***e ... CVS got me. I wanted to commit a single change on the
toplevel configure.in but commited the whole tree. Sorry.

	* glibtop_private.c:
	* glibtop_private.h:
	* proctime.c:
	* uptime.c:

	Added new function get_boot_time.

	Retrieve boot_time from /proc/stat.
2005-07-05 23:08:58 +00:00
Benoît Dejean
b6a10fd8f7 Made some checks solaris only.
* configure.in: Made some checks solaris only.
2005-07-05 23:05:20 +00:00
Benoît Dejean
efeca4a865 2.11.2 post release version bump.
* configure.in: 2.11.2 post release version bump.
2005-07-05 23:02:46 +00:00
Hendrik Richter
5e70932b66 Fixed German translation by Jens Seidel <jensseidel@users.sf.net>.
2005-07-04  Hendrik Richter  <hendi@gnome-de.org>

	* de.po: Fixed German translation by
	Jens Seidel <jensseidel@users.sf.net>.
2005-07-04 18:01:16 +00:00
Benoît Dejean
d499bd3761 Released 2.11.1.
* NEWS: Released 2.11.1.
2005-07-03 10:08:38 +00:00
Ivan Stojmirov
48e3d5b2ec translated 100% 2005-07-02 10:17:37 +00:00
Rajesh Ranjan
55270e618e updted by rranjan@redhat.com 2005-06-24 07:53:11 +00:00
Kwok-Koon Cheung
a5c897b846 fix language team reference 2005-06-24 03:32:09 +00:00
Alexander Shopov
b0093954b3 Updated Bulgarian translation by Rostislav Raykov <zbrox@i-space.org>
2005-06-15  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Rostislav Raykov <zbrox@i-space.org>
2005-06-15 13:26:39 +00:00
Benoît Dejean
c81e055427 Removed LT_VERSION_INFO from LDFLAGS when unused.
* sysdeps/common/Makefile.am:
	* sysdeps/linux/Makefile.am: Removed LT_VERSION_INFO from LDFLAGS
	when unused.
2005-06-14 22:21:06 +00:00
Benoît Dejean
06fb19b5c6 Ensures buffer is 0-terminated.
* glibtop_private.c: (try_file_to_buffer): Ensures buffer is 0-terminated.
2005-06-14 22:17:49 +00:00
Ignacio Casal Quinteiro
f8d9557257 *** empty log message *** 2005-06-13 15:28:03 +00:00
Benoît Dejean
ef2ed50bf7 Added pagein/pageout for linux 2.6.
* swap.c: (glibtop_get_swap_s): Added pagein/pageout for linux 2.6.
2005-06-13 09:03:41 +00:00
Benoît Dejean
c19ba1af03 2.11.1 post release version bump.
* configure.in: 2.11.1 post release version bump.
2005-06-08 08:55:03 +00:00
Benoît Dejean
c1e5bdfb16 Released 2.11.0.
* NEWS: Released 2.11.0.
2005-06-08 08:41:13 +00:00
Benoît Dejean
be7dabf75d Added a lot of new functions to replace dirty macros. Every macro
* configure.in:
	* glibtop.h:
	* include/glibtop/close.h:
	* include/glibtop/cpu.h:
	* include/glibtop/fsusage.h:
	* include/glibtop/loadavg.h:
	* include/glibtop/mem.h:
	* include/glibtop/mountlist.h:
	* include/glibtop/msg_limits.h:
	* include/glibtop/netlist.h:
	* include/glibtop/netload.h:
	* include/glibtop/ppp.h:
	* include/glibtop/procargs.h:
	* include/glibtop/prockernel.h:
	* include/glibtop/proclist.h:
	* include/glibtop/procmap.h:
	* include/glibtop/procmem.h:
	* include/glibtop/procopenfiles.h:
	* include/glibtop/procsegment.h:
	* include/glibtop/procsignal.h:
	* include/glibtop/procstate.h:
	* include/glibtop/proctime.h:
	* include/glibtop/procuid.h:
	* include/glibtop/sem_limits.h:
	* include/glibtop/shm_limits.h:
	* include/glibtop/swap.h:
	* include/glibtop/sysdeps.h:
	* include/glibtop/sysinfo.h:
	* include/glibtop/uptime.h:
	* sysdeps/common/Makefile.am:
	* sysdeps/common/default.c: (glibtop_close), (glibtop_init),
	(glibtop_get_cpu), (glibtop_get_fsusage), (glibtop_get_uptime),
	(glibtop_get_sysinfo), (glibtop_get_swap), (glibtop_get_proc_uid),
	(glibtop_get_proc_time), (glibtop_get_proc_state),
	(glibtop_get_proc_signal), (glibtop_get_proc_segment),
	(glibtop_get_proc_open_files), (glibtop_get_proc_mem),
	(glibtop_get_proc_map), (glibtop_get_proc_args),
	(glibtop_get_proc_argv), (glibtop_get_proclist),
	(glibtop_get_proc_kernel), (glibtop_get_ppp),
	(glibtop_get_netlist), (glibtop_get_netload),
	(glibtop_get_mountlist), (glibtop_get_mem), (glibtop_get_loadavg),
	(glibtop_get_msg_limits), (glibtop_get_sem_limits),
	(glibtop_get_shm_limits), (glibtop_get_sysdeps):

	Added a lot of new functions to replace dirty macros.
	Every macro glibtop_get_*(buf[, args]) has been turned to a function.
2005-06-07 09:54:44 +00:00
Benoît Dejean
d37b1b9a2e Bye bye.
* dtd/: Bye bye.
2005-06-06 12:42:41 +00:00
Benoît Dejean
6f755a5ca7 Removed useless files.
* backends/: Removed useless files.
2005-06-06 12:40:47 +00:00
Benoît Dejean
4cd022b315 Removed translation.
* examples/smp.c: (main): Removed translation.

	* lib/lib.pl:
	* lib/read.c:
	* lib/read_data.c:
	* lib/write.c:
	* src/daemon/gnuserv.c: s/gi18n.h/gi18n-lib.h.
2005-06-06 12:33:42 +00:00
Benoît Dejean
69873a143d bye bye support.
* acinclude.m4: bye bye support.
2005-06-06 11:50:00 +00:00
Benoît Dejean
f5655f12d3 Removed unused files.
* support/ : Removed unused files.
2005-06-06 11:46:39 +00:00
Benoît Dejean
a71839c0a7 Got rid of include/libgtop-i18n.h.
* examples/smp.c:
	* include/Makefile.am:
	* include/libgtop-i18n.h:
	* lib/lib.pl:
	* lib/read.c:
	* lib/read_data.c:
	* lib/write.c:
	* src/daemon/gnuserv.c: Got rid of include/libgtop-i18n.h.
2005-06-06 11:25:36 +00:00
Benoît Dejean
74d9b24132 version bump.
* configure.in: version bump.
2005-06-06 10:02:33 +00:00
Benoît Dejean
d4ee5eb884 Updated so people can find the ChangeLogs.
* README: Updated so people can find the ChangeLogs.
2005-06-05 11:51:03 +00:00
Benoît Dejean
872a4180e4 Fixed compilation on mips. Closes #304570.
* siglist.c: Fixed compilation on mips. Closes #304570.
2005-05-25 22:28:42 +00:00
Jörgen Scheibengruber
e8351bae05 Added tmpfs to ignore list.
* mountlist.c: (ignore_mount_entry): Added tmpfs to ignore list.
2005-04-29 09:50:09 +00:00
Benoît Dejean
adb38dd2a3 2.10.2 post release bump.
* configure.in: 2.10.2 post release bump.

	* include/glibtop/Makefile.am:
	* include/glibtop/parameter.h:
	* lib/init.c: Re-install open.h to please GTop (libgtop perl wrapper).
2005-04-27 14:50:24 +00:00
Benoît Dejean
755d5fe5f5 Released 2.10.1.
* NEWS: Released 2.10.1.
2005-04-10 16:10:59 +00:00
Benoît Dejean
d1891b11ef Fixed gcc-4.0 warnings.
* glibtop_private.h: Fixed gcc-4.0 warnings.
2005-04-01 20:06:35 +00:00
Adi Attar
765a919305 Added Xhosa translation. Added "xh" to ALL_LINGUAS.
2005-04-01  Adi Attar  <aattar@cvs.gnome.org>

	* xh.po: Added Xhosa translation.
	* configure.in: Added "xh" to ALL_LINGUAS.
2005-04-01 09:23:50 +00:00
Steven Michael Murphy
ad2f74dbc3 Added new Language, Kinyarwanda (rw), to this package 2005-04-01 01:22:29 +00:00
Benoît Dejean
b017d60c83 Fixed.
* libgtop-2.0.pc.in: Fixed.
2005-03-31 12:05:52 +00:00
Benoît Dejean
29a991160c Fixed warning.
* lib/read_data.c: (glibtop_read_data_l): Fixed warning.
2005-03-29 13:18:15 +00:00
Benoît Dejean
59fd67c7e0 Removed a g_return_if_fail.
* fsusage.c: (get_partition): Removed a g_return_if_fail.
2005-03-29 13:16:58 +00:00
Benoît Dejean
bbc10e3790 Fixed behaviour when locale is not C s/strtod/g_ascii_strod/. (strtod
* loadavg.c: (glibtop_get_loadavg_s):
	* uptime.c: (glibtop_get_uptime_s): Fixed behaviour when locale is not C
	s/strtod/g_ascii_strod/. (strtod behaviour is locale specific, which is bad
	because linux /proc is always C.
2005-03-27 14:30:30 +00:00
Benoît Dejean
f4f88ff224 s/strerror/g_strerror.
* lib/error.c: (glibtop_error_io_vr), (glibtop_warn_io_vr):
s/strerror/g_strerror.
2005-03-25 13:26:24 +00:00
Benoît Dejean
fffccf3309 s/strerror/g_strerror.
* gnuserv.c: (syslog_io_message): s/strerror/g_strerror.
2005-03-25 13:25:41 +00:00
Benoît Dejean
3c0e03ee89 s/strerror/g_strerror/.
* open.c: (_glibtop_getkval): s/strerror/g_strerror/.
2005-03-25 13:25:01 +00:00
Benoît Dejean
fa9216f771 s/strerror/g_strerror/g.
* error.c: (glibtop_error_io_vr), (glibtop_warn_io_vr):
	* error_suid.c: (glibtop_error_io_vr), (glibtop_warn_io_vr):
	s/strerror/g_strerror/g.
2005-03-25 13:24:14 +00:00
Benoît Dejean
83a9bef192 s/strerror/g_strerror/.
* netload.c: (get_ipv6): s/strerror/g_strerror/.
2005-03-25 13:23:24 +00:00
Benoît Dejean
ca4dc56342 Updated.
* siglist.c: Updated.
2005-03-25 12:52:12 +00:00
Priit Laes
a97ee0a513 Translation updated by Ivar Smolin.
2005-03-19  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-03-19 08:35:47 +00:00
Adam Weinberger
41a723fde4 Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-03-17 05:25:52 +00:00
Baris Cicek
f673d2ea37 Updated Turkish Translation
* tr.po: Updated Turkish Translation
2005-03-12 23:34:22 +00:00
Benoît Dejean
cae488a4ee Post release version bump.
* configure.in: Post release version bump.
2005-03-11 15:06:12 +00:00
Benoît Dejean
ad79ab9540 Added mqueue to ignore list.
* mountlist.c: (ignore_mount_entry): Added mqueue to ignore list.
2005-03-11 14:54:11 +00:00
Benoît Dejean
e958d8dbbe Released 2.10.0.
* NEWS:
       * configure.in: Released 2.10.0.
2005-03-07 09:25:25 +00:00
Dan Damian
a58e2f6385 Updated Romanian translation by Mişu Moldovan <dumol@go.ro>.
* Updated Romanian translation by Mişu Moldovan <dumol@go.ro>.
2005-03-06 22:51:42 +00:00
Danilo Šegan
c505f26427 Updated Serbian translation. 2005-03-06 08:48:20 +00:00
Kwok-Koon Cheung
53aec7429f Updated traditional Chinese translation from GNOME HK Team Mark wrong
* zh_TW.po: Updated traditional Chinese translation from GNOME HK Team
	* bg.po: Mark wrong entry as fuzzy (msgfmt check failed).
2005-03-05 08:35:19 +00:00
Laszlo Dvornik
6099a46f42 Hungarian translation updated by Gabor Kelemen.
2005-03-04  Laszlo Dvornik  <dvornik@gnome.hu>

	* hu.po: Hungarian translation updated by Gabor Kelemen.
2005-03-04 15:05:40 +00:00
Alessio Frusciante
1711b912f1 Updated Italian translation. 2005-03-03 21:48:52 +00:00
Amanpreet Singh Alam
c817a9fac1 update by amanpreetalam@yahoo.com for pa.po 2005-03-03 12:10:00 +00:00
Benoît Dejean
a1657f81cb Released 2.9.92.
* NEWS: Released 2.9.92.
2005-02-28 08:59:38 +00:00
Benoît Dejean
0561316344 Forgot to add this file.
* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write): Forgot to add
	this file.
2005-02-28 08:54:41 +00:00
Benoît Dejean
2c0f291b3c Fix a bug in netlist where glibtop_netlist.number was never initialized to
* Makefile.am:
	* cpu.c: (glibtop_get_cpu_p):
	* netlist.c: (glibtop_get_netlist_s):
	* netload.c: (glibtop_get_netload_p):
	* procmem.c: (glibtop_get_proc_mem_p):

	Fix a bug in netlist where glibtop_netlist.number was never initialized to 0
	(this resulted in a NULL pointer dereference in the network load feature
	of the multiload applet)

	* Add support for getting interface flags and packet counts even on interfaces
	without IP addresses (needed for the network load feature of the multiload applet)

	* Restore per-process limits in the !FreeBSD or __FreeBSD_version < 500013
	case

	* Add CPU interrupt time as IOWAIT to get support for the cpu load feature of
	the multiload applet.

	Patch from marcus@freebsd.org (Joe Marcus Clarke).
	Closes #168704.
2005-02-28 08:15:59 +00:00
Benoît Dejean
fc7d872381 * Add support for file system read and write counting (needed for the disk
* fsusage.c: * Add support for file system read and write counting
	(needed for the disk load feature of the multiload applet).
2005-02-28 08:11:15 +00:00
Benoît Dejean
c97d63f368 /me stupid. I've already post-bumped version.
* configure.in: /me stupid. I've already post-bumped version.
2005-02-25 00:02:59 +00:00
Artur Flinta
675145ea55 Updated Polish translation by GNOME PL Team.
2005-02-24  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2005-02-24 20:36:48 +00:00
Benoît Dejean
965bd33d55 post release bump 2.9.93.
* configure.in: post release bump 2.9.93.
2005-02-24 17:22:25 +00:00
Ankitkumar Rameshchandra Patel
7a5e1a0f37 ankit@redhat.com * Updated Gujarati Translation 2005-02-24 12:52:11 +00:00
Amanpreet Singh Alam
da24dd8fd9 update by amanpreetalam@yahoo.com 2005-02-24 04:47:57 +00:00
Benoît Dejean
717ee1c88f Add support for FreeBSD 6-CURRENT. Use the more portable getrlimit to
* Makefile.am:
	* netlist.c: (glibtop_get_netlist_s):
	* procmap.c: (glibtop_get_proc_map_p):
	* procmem.c: (glibtop_get_proc_mem_p):
	* procopenfiles.c: (glibtop_init_proc_open_files_s),
	(glibtop_get_proc_open_files_s):
	* proctime.c:

	Add support for FreeBSD 6-CURRENT.
	Use the more portable getrlimit to obtain process memory limits.
	Correctly determine process time.
	Stub out the procopenfiles() function (this is not yet implemented, however).
	Fix a nasty infinite loop and memory leak due to a forgot pointer increment.

	Patch from marcus@freebsd.org (Joe Marcus Clarke).
	Closes #168232.
2005-02-23 08:20:45 +00:00
Benoît Dejean
f031b77b3b Correct file system size calculations. Patch from marcus@freebsd.org (Joe
* fsusage.c: (glibtop_get_fsusage_s): Correct file system size calculations.
	Patch from marcus@freebsd.org (Joe Marcus Clarke).
	Closes #168232.
2005-02-23 08:18:48 +00:00
Roozbeh Pournader
e0ae6ebcaa Updated Persian translation by Azin Azadi <aazadi@gmail.com>.
2004-02-22  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* fa.po: Updated Persian translation by
	  Azin Azadi <aazadi@gmail.com>.
2005-02-22 18:21:59 +00:00
Benoît Dejean
16123b6fe9 Build and install libgtop2_daemon only if needed.
* src/Makefile.am: Build and install libgtop2_daemon only if needed.
2005-02-22 12:42:09 +00:00
Priit Laes
672da9122e Translation updated by Ivar Smolin.
2005-02-22  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-02-22 09:46:02 +00:00
Benoît Dejean
35f0277afd don't export private symbols.
* lib/Makefile.am: don't export private symbols.
2005-02-21 15:24:26 +00:00
Leonid Kanter
8d77e50c03 fixed typo 2005-02-21 12:58:04 +00:00
Raphael Higino
82dc5aefe1 Updated pt_BR translation 2005-02-20 14:51:33 +00:00
Changwoo Ryu
f2f5ab9b73 Updated Korean translation.
2005-02-18  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.
2005-02-18 12:25:03 +00:00
Kostas Papadimas
49acc8769c Updated Greek Translation. 2005-02-18 11:45:38 +00:00
Vincent van Adrighem
15759a964a Translation updated by Tino Meinen.
2005-02-17  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2005-02-17 13:29:37 +00:00
Jordi Mallach
649b88a7fa Updated Catalan translation. 2005-02-16 09:47:35 +00:00
Maxim Dziumanenko
073a6dd8c1 Update Ukrainian translation.
2005-02-15  Maxim Dziumanenko <mvd@mylinux.com.ua>

	* Update Ukrainian translation.
2005-02-15 19:04:50 +00:00
Benoît Dejean
d61ad50e23 ChangeLog commit 2005-02-15 12:53:53 +00:00
Benoît Dejean
53c43e6e90 Removed some dead files. Don't install private headers.
* backends/server/server.h:
	* configure.in:
	* glibtop.h:
	* include/glibtop/Makefile.am:
	* include/glibtop/gnuserv.h:
	* include/glibtop/open.h:
	* include/glibtop/read.h:
	* include/glibtop/read_data.h:
	* include/glibtop/types.h:
	* include/glibtop/write.h:
	* lib/close.c:
	* lib/init.c:
	* lib/lib.pl:
	* lib/open.c:
	* lib/parameter.c:
	* lib/read.c:
	* lib/read_data.c:
	* lib/write.c:
	* src/daemon/daemon.h:
	* src/daemon/io.c:
	* src/daemon/main.c: (handle_parent_connection):
	* src/daemon/slave.c: (handle_slave_connection),
	(handle_slave_command):
	* sysdeps/common/gnuslib.c:
	* sysdeps/solaris/glibtop_private.h: Removed some dead files.
	Don't install private headers.
2005-02-15 12:48:34 +00:00
Benoît Dejean
b43e879cc0 Misc. cleanups.
* daemon.h:
* gnuserv.c: (syslog_message), (syslog_io_message):
* main.c: (handle_parent_connection):
* slave.c: (handle_slave_connection), (handle_slave_command): Misc. cleanups.
2005-02-15 10:35:44 +00:00
Benoît Dejean
0fdfd65a2a Don't export private symbols.
* include/glibtop/error.h: Don't export private symbols.
2005-02-15 10:14:59 +00:00
Benoît Dejean
1ac8744251 G_GNUC_NORETURN love.
* include/glibtop/error.h: G_GNUC_NORETURN love.

	* include/glibtop/errors.h:
	* lib/errors.c: Bye bye dead code.
2005-02-15 09:55:01 +00:00
Benoît Dejean
bbbbb27edc Fixed G_GNUC attribute usage. Replaced macro by inline function.
* fsusage.c: (_glibtop_get_fsusage_read_write): Fixed G_GNUC attribute usage.
	Replaced macro by inline function.
2005-02-15 09:51:59 +00:00
Benoît Dejean
a5982555b9 Fixed G_GNUC attribute usage.
* fsusage.c: Fixed G_GNUC attribute usage.
2005-02-15 09:51:12 +00:00
Christophe Merlet
7d44f04aed Updated French translation. 2005-02-14 21:35:31 +00:00
Laurent Dhima
c9dc0d0ef8 Updated Albanian translation.
2005-02-14  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2005-02-14 12:25:09 +00:00
Benoît Dejean
e82f908824 Updated French translation.
* fr.po: Updated French translation.
2005-02-14 08:31:47 +00:00
Leonid Kanter
8365f40856 Updated Russian translation 2005-02-08 15:24:30 +00:00
David Lodge
b2917db0be Updated British translation.
2005-02-07  David Lodge <dave@cirt.net>

        * en_GB.po: Updated British translation.
2005-02-07 12:37:01 +00:00
Benoît Dejean
3d21fd97f6 Released 2.9.91.
* NEWS:
	* configure.in: Released 2.9.91.
2005-02-06 18:46:05 +00:00
Ole Laursen
666a347f25 Updated Danish translation.
2005-02-06  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2005-02-06 15:47:24 +00:00
Pauli Virtanen
68db204d6a Updated Finnish translation.
2005-02-06  Pauli Virtanen <pauli.virtanen@hut.fi>

	 * fi.po: Updated Finnish translation.
2005-02-06 01:14:53 +00:00
Priit Laes
fbe5c8da8e Translation updated by Tõivo Leedjärv.
2005-02-04  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Tõivo Leedjärv.
2005-02-04 08:52:01 +00:00
Benoît Dejean
a354ca2635 Fixed typo. Closes #166090
* procopenfiles.c: Fixed typo. Closes #166090
2005-02-02 21:30:27 +00:00
Žygimantas Beručka
639ea4870c Updated Lithuanian translation.
2005-01-30  Žygimantas Beručka  <uid0@akl.lt>

        * lt.po: Updated Lithuanian translation.
2005-01-30 01:52:45 +00:00
Kjartan Maraas
702d9a1501 Update Update
2005-01-28  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2005-01-28 16:05:47 +00:00
Alexander Shopov
ea1a6dbaca Updated Bulgarian translation by Iassen Pramatarov <turin@fsa-bg.org>
2005-01-27  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Iassen Pramatarov <turin@fsa-bg.org>
2005-01-27 10:05:43 +00:00
Tomasz Kłoczko
bb60753844 fixed format string specification bugs in translations. 2005-01-26 08:03:07 +00:00
Duarte Loreto
d9781917c5 Updated Portuguese translation.
2005-01-26  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2005-01-26 01:08:31 +00:00
Funda Wang
bd119a72e2 Updated Simplified Chinese translation 2005-01-24 15:04:04 +00:00
Benoît Dejean
78c10bca9b Released 2.9.90.
* NEWS:
	* configure.in: Released 2.9.90.
2005-01-24 14:41:20 +00:00
Benoît Dejean
270ec235c1 UTF-8-ified.
* include/glibtop/procopenfiles.h:
	* sysdeps/linux/procopenfiles.c:
	* sysdeps/stub/procopenfiles.c: UTF-8-ified.
2005-01-24 14:27:19 +00:00
Alexander Shopov
2362be986b Updated Bulgarian translation by Vladimir Petkov <vpetkov@i-space.org>
2005-01-24  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Vladimir Petkov <vpetkov@i-space.org>
2005-01-24 10:33:28 +00:00
Benoît Dejean
8a1e1cff91 Removed lib/lib.c as it is generated. Closes #165038.
* POTFILES.in:
	* POTFILES.skip: Removed lib/lib.c as it is generated.
	Closes #165038.
2005-01-24 08:31:22 +00:00
Benoît Dejean
46380bf655 Total rewrite. socket/localsocket should be much faster.
* procopenfiles.c: (parse_file), (get_all), (inet_socket_parser),
	(get_all_inet_sockets), (local_socket_parser),
	(get_all_local_sockets), (glibtop_get_proc_open_files_s): Total rewrite.
	socket/localsocket should be much faster.
2005-01-21 23:30:54 +00:00
Benoît Dejean
91dda5b70d Updated.
* openfiles.c: (show_open_files): Updated.
2005-01-21 23:29:38 +00:00
Benoît Dejean
9b263e0fbb added localsock { name } to glibtop_open_files_entry. Should not break
* examples/openfiles.c: (show_open_files):
	* include/glibtop/procopenfiles.h: added localsock { name } to
	glibtop_open_files_entry. Should not break ABI.
2005-01-21 23:28:47 +00:00
Benoît Dejean
793807b07e Re-worked with bsearch.
* mountlist.c: (ignore_mount_entry): Re-worked with bsearch.
2005-01-18 21:57:52 +00:00
Benoît Dejean
9898e7ee58 Updated.
* POTFILES.in: Updated.
2005-01-17 12:32:26 +00:00
Hendrik Richter
7ecdcd712d Updated German translation. 2005-01-16 16:02:30 +00:00
Benoît Dejean
703a17f3f0 Uninlined.
* glibtop_private.c: (skip_token):
	* glibtop_private.h: Uninlined.
2005-01-16 11:16:19 +00:00
Updated ja.po. T.Aihana
92a9e7d937 2005-01-16 Updated ja.po. T.Aihana <aihana@jcom.home.ne.jp> 2005-01-16 05:29:47 +00:00
Benoît Dejean
01c7e99aa6 Don't translate examples/smp.c.
* POTFILES.in:
	* POTFILES.skip: Don't translate examples/smp.c.
2005-01-13 21:15:05 +00:00
Christian Rose
6fe16f1d91 Added missing file.
2005-01-13  Christian Rose  <menthos@menthos.com>

	* POTFILES.in: Added missing file.
2005-01-13 17:54:11 +00:00
Benoît Dejean
fcb83e637d Reworked. Should works with IDE, SCSI. DM support is ready, but i don't
* fsusage.c: (get_partition), (get_sys_path), (linux_2_6_0): Reworked.
	Should works with IDE, SCSI. DM support is ready, but i don't know why
	their /stat is empty ...
2005-01-13 08:56:54 +00:00
Benoît Dejean
50e4e07013 2.9.5.
* configure.in: 2.9.5.
2005-01-12 22:40:43 +00:00
Benoît Dejean
ab40c94db3 Parses /proc/net/tcp only once.
* procopenfiles.c: (get_all_sockets),
	(glibtop_get_proc_open_files_s): Parses /proc/net/tcp only once.
2005-01-12 22:39:31 +00:00
Tomasz Kłoczko
fee415ecd8 Fixed format string bug in plural forms: use in all forms %lu. 2005-01-11 02:09:50 +00:00
Benoît Dejean
647a313d5b Released 2.9.4.
* NEWS: Released 2.9.4.
2005-01-10 17:18:27 +00:00
Benoît Dejean
70ac398a44 Fixed.
* procopenfiles.c: (get_socket_endpoint): Fixed.
2005-01-10 17:04:50 +00:00
Benoît Dejean
48056f7d8a Disabled.
* glibtop_server.h:
	* procopenfiles.c: (get_socket_endpoint): Disabled.

	(glibtop_get_proc_open_files_s): Secured -> g_snprintf.
2005-01-10 12:05:13 +00:00
Benoît Dejean
7ca4171652 New feature by nick@reloco.com.ar (Nicolás Lichtmaier).
* configure.in:
	* examples/.cvsignore:
	* examples/Makefile.am:
	* examples/openfiles.c: (show_open_files), (main):
	* features.def:
	* include/glibtop/Makefile.am:
	* include/glibtop/command.h:
	* include/glibtop/procopenfiles.h:
	* include/glibtop/sysdeps.h:
	* include/glibtop/union.h:
	* structures.def:
	* sysdeps/linux/Makefile.am:
	* sysdeps/linux/procopenfiles.c: (glibtop_init_proc_open_files_s),
	(get_socket_endpoint), (glibtop_get_proc_open_files_s):
	* sysdeps/stub/Makefile.am:
	* sysdeps/stub/procopenfiles.c: (glibtop_init_proc_open_files_s),
	(glibtop_get_proc_open_files_s):

	New feature by nick@reloco.com.ar (Nicolás Lichtmaier).

	glibtop_get_open_files(pid) -> list of files by process.
	TODO: Add documentation.
2005-01-10 08:43:04 +00:00
Ivan Stojmirov
1537eea7e5 done 2005-01-09 16:05:26 +00:00
Benoît Dejean
0a425e4e41 Added I/O and IRQ wait time to glibtop_cpu. Closes #160443.
* examples/pprint.c: (pprint_get_cpu):
	* features.def:
	* include/glibtop/cpu.h:
	* sysdeps/linux/cpu.c: (glibtop_init_cpu_s), (glibtop_get_cpu_s):
	Added I/O and IRQ wait time to glibtop_cpu. Closes #160443.

	* configure.in: Post-release bump 2.9.4
2005-01-03 09:17:45 +00:00
Benoît Dejean
0fa9c9bc61 Updated.
* reference.texi: Updated.
2005-01-03 09:07:07 +00:00
Miloslav Trmac
9561cf34b2 Updated Czech translation.
2005-01-02  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-01-02 14:18:48 +00:00
Francisco Javier F. Serrador
be721ca476 Updated Spanish translation.
2004-12-29  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2004-12-29 19:29:51 +00:00
Marcel Telka
265da513de Updated Slovak translation.
2004-12-29  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2004-12-29 09:23:33 +00:00
Christian Rose
a180cb5b10 Updated Swedish translation.
2004-12-29  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2004-12-29 08:24:47 +00:00
Adam Weinberger
c517f20195 Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2004-12-29 08:14:58 +00:00
Pawan Chitrakar
e4ad12fd93 Added Nepali translation
2004-12-29  Pawan Chitrakar  <pawan@nplinux.org>

	* ne.po: Added Nepali translation

	* configure.in: Added ne "Nepali" in ALL_LINGUAS
2004-12-29 03:32:02 +00:00
Benoît Dejean
c22300d109 Fixed error messages. Closes #162406.
* lib/read_data.c: (glibtop_read_data_l):
	* lib/write.c: (glibtop_write_l): Fixed error messages.
	Closes #162406.
2004-12-29 00:14:29 +00:00
Benoît Dejean
bffc09b594 Removed a bunch of strings.
* POTFILES.in: Removed a bunch of strings.
2004-12-29 00:09:14 +00:00
Christian Rose
b7fd73bc5c Added comment and missing file. Added entries and cleaned up. Updated
2004-12-28  Christian Rose  <menthos@menthos.com>

	* POTFILES.in: Added comment and missing file.
	* .cvsignore: Added entries and cleaned up.
	* sv.po: Updated Swedish translation.
2004-12-28 22:57:32 +00:00
Kjartan Maraas
15904773f3 Update Update
2004-12-28  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2004-12-28 10:40:30 +00:00
Marcel Telka
b76ae7b1ca Updated Slovak translation.
2004-12-28  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2004-12-28 00:10:28 +00:00
Benoît Dejean
006eddb5fe Removed a lot of unused/useless files.
* POTFILES.in: Removed a lot of unused/useless files.
2004-12-27 16:23:19 +00:00
Adam Weinberger
7566ccf311 Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2004-12-26 08:35:44 +00:00
Miloslav Trmac
cde49f488c Updated Czech translation.
2004-12-25  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2004-12-25 15:03:54 +00:00
Benoît Dejean
ce9ce223ca Turned all macros to functions. Marked everything as G_GNUC_PRINTF and
* include/glibtop/error.h:
	* lib/parameter.c: (glibtop_set_parameter_l):
	* lib/read_data.c: (glibtop_read_data_l):
	* sysdeps/common/error.c: (print_server_name), (glibtop_error_vr),
	(glibtop_error_io_vr), (glibtop_warn_vr), (glibtop_warn_io_vr),
	(glibtop_error_r), (glibtop_warn_r), (glibtop_error_io_r),
	(glibtop_warn_io_r), (glibtop_error), (glibtop_warn),
	(glibtop_error_io), (glibtop_warn_io): Turned all macros to functions.
	Marked everything as G_GNUC_PRINTF and fixed format bugs.

	* sysdeps/common/fsusage.c: Marked some functions as G_GNUC_INTERNAL
2004-12-23 21:50:41 +00:00
Benoît Dejean
71900c0e30 s/glibtop_error/g_error/g
* netload.c: (main):
	* procmap.c: (main): s/glibtop_error/g_error/g
2004-12-23 15:58:34 +00:00
Benoît Dejean
817057bc3c Marked private functions G_GNUC_INTERNAL.
* fsusage.c: (_glibtop_linux_get_fsusage_read_write):
	* glibtop_private.h: Marked private functions G_GNUC_INTERNAL.
2004-12-23 15:56:51 +00:00
Benoît Dejean
9fe6dadcec Fixed.
* netlist.c: (glibtop_get_netlist_s): Fixed.
2004-12-23 15:44:24 +00:00
Benoît Dejean
3e06f95c84 Added dummy glibtop_get_netlist.
* netlist.c:
	* Makefile.am: Added dummy glibtop_get_netlist.
2004-12-23 15:43:35 +00:00
Benoît Dejean
2ca1905547 Released 2.9.3.
* NEWS:
	* configure.in: Released 2.9.3.
2004-12-20 10:53:57 +00:00
Benoît Dejean
65d2d61d41 Fixed Argument passing between library and server. Thanks everyone. Closes
* lib/lib.pl: Fixed Argument passing between library and server.
	Thanks everyone. Closes #139809.
2004-12-10 22:05:17 +00:00
Benoît Dejean
8a4fd3c971 Ignores unkown file system type.
* mountlist.c: (ignore_mount_entry): Ignores unkown file system type.
2004-12-09 15:57:44 +00:00
Benoît Dejean
c09e2fdead Removed libgtop_names :)
* acconfig.h:
	* configure.in:
	* debian/libgtop-dev.files.in:
	* doc/Makefile.am:
	* examples/Makefile.am:
	* examples/third.c:
	* include/glibtop/cpu.h:
	* include/glibtop/fsusage.h:
	* include/glibtop/loadavg.h:
	* include/glibtop/mem.h:
	* include/glibtop/mountlist.h:
	* include/glibtop/msg_limits.h:
	* include/glibtop/netlist.h:
	* include/glibtop/netload.h:
	* include/glibtop/ppp.h:
	* include/glibtop/procargs.h:
	* include/glibtop/prockernel.h:
	* include/glibtop/proclist.h:
	* include/glibtop/procmap.h:
	* include/glibtop/procmem.h:
	* include/glibtop/procsegment.h:
	* include/glibtop/procsignal.h:
	* include/glibtop/procstate.h:
	* include/glibtop/proctime.h:
	* include/glibtop/procuid.h:
	* include/glibtop/sem_limits.h:
	* include/glibtop/shm_limits.h:
	* include/glibtop/swap.h:
	* include/glibtop/sysdeps.h:
	* include/glibtop/uptime.h:
	* po/POTFILES.in:
	* sysdeps/Makefile.am:
	* sysdeps/names/.cvsignore:
	* sysdeps/names/Makefile.am:
	* sysdeps/names/cpu.c:
	* sysdeps/names/fsusage.c:
	* sysdeps/names/loadavg.c:
	* sysdeps/names/mem.c:
	* sysdeps/names/mountlist.c:
	* sysdeps/names/msg_limits.c:
	* sysdeps/names/netlist.c:
	* sysdeps/names/netload.c:
	* sysdeps/names/ppp.c:
	* sysdeps/names/procargs.c:
	* sysdeps/names/prockernel.c:
	* sysdeps/names/proclist.c:
	* sysdeps/names/procmap.c:
	* sysdeps/names/procmem.c:
	* sysdeps/names/procsegment.c:
	* sysdeps/names/procsignal.c:
	* sysdeps/names/procstate.c:
	* sysdeps/names/proctime.c:
	* sysdeps/names/procuid.c:
	* sysdeps/names/sem_limits.c:
	* sysdeps/names/shm_limits.c:
	* sysdeps/names/swap.c:
	* sysdeps/names/sysdeps.c:
	* sysdeps/names/uptime.c: Removed libgtop_names :)
2004-12-06 14:44:11 +00:00
Benoît Dejean
fe5bb1c39c Added glibtop_get_netlist. Patch from marcus@freebsd.org (Joe Marcus
* Makefile.am:
	* netlist.c: (glibtop_init_netlist_s), (glibtop_get_netlist_s):
	Added glibtop_get_netlist. Patch from marcus@freebsd.org (Joe Marcus Clarke).
2004-12-05 12:01:43 +00:00
Benoît Dejean
4b310d26f7 Updated.
* reference.texi: Updated.
2004-12-04 19:21:08 +00:00
Žygimantas Beručka
83759b2a4a Updated Lithuanian translation.
2004-12-04  Žygimantas Beručka  <uid0@akl.lt>

        * lt.po: Updated Lithuanian translation.
2004-12-04 06:56:10 +00:00
Benoît Dejean
209219d5ce post-release bump to 2.9.1.
* configure.in: post-release bump to 2.9.1.
2004-11-30 12:22:57 +00:00
Benoît Dejean
8ce468228a released 2.9.0
* NEWS:
	* configure.in: released 2.9.0
2004-11-30 12:06:46 +00:00
Benoît Dejean
e9e2b7c09b Glibified. g_array_free which returns a char* ! If you want to change
* proclist.c: (glibtop_get_proclist_s): Glibified. g_array_free which
	returns a char* ! If you want to change this, please tell them
	http://bugzilla.gnome.org/show_bug.cgi?id=145767 .
2004-11-29 23:55:03 +00:00
Benoît Dejean
2fa0dc1cd8 Added Added Removed
* Makefile.am:
	* cpu.c:
	* fsusage.c:
	* glibtop_private.c: (get_scaled), (try_file_to_buffer),
	(file_to_buffer): Added
	* glibtop_private.h: Added
	* glibtop_server.c: Removed
	* glibtop_server.h:
	* loadavg.c:
	* mem.c:
	* netload.c:
	* open.c:
	* prockernel.c:
	* procmem.c:
	* procsegment.c:
	* procsignal.c:
	* procstate.c:
	* proctime.c:
	* procuid.c:
	* swap.c:
	* sysinfo.c:
	* uptime.c: Moved linux impl utils function from glibtop_server.* to
	glibtob_private.* because glibtop_server.h is a public header.
2004-11-28 01:32:55 +00:00
Martin Willemoes Hansen
faa80b7b24 Updated Danish translation.
* da.po: Updated Danish translation.
2004-11-23 12:36:48 +00:00
Benoît Dejean
7ff2372249 UTF-8-ified.
* AUTHORS:
	* MAINTAINERS: UTF-8-ified.

	* acconfig.h:
	* acinclude.m4:
	* configure.in:
	* kernel/ChangeLog:
	* kernel/sysctl/.cvsignore:
	* kernel/sysctl/Makefile:
	* kernel/sysctl/libgtop.c:
	* kernel/sysctl/libgtop.h:
	* kernel/sysctl/libgtop_syms.c:
	* kernel/sysctl/main.c:
	* kernel/sysctl/patch-2.2.1:
	* kernel/sysctl/patch-2.2.x:
	* kernel/table.h:
	* kernel/table20/Makefile:
	* kernel/table20/README:
	* kernel/table20/entry-i386.S:
	* kernel/table20/kernel.patch:
	* kernel/table20/main.c:
	* kernel/table20/unistd-i386.h:
	* kernel/table20/version.h:
	* kernel/table21/.cvsignore:
	* kernel/table21/Makefile:
	* kernel/table21/README:
	* kernel/table21/entry-i386.S:
	* kernel/table21/main.c:
	* kernel/table21/module.c:
	* kernel/table21/unistd-i386.h:
	* kernel/table21/version.h:
	* kernel/version.h:
	* libgtop-sysdeps.m4:
	* sysdeps/Makefile.am:
	* sysdeps/kernel/.cvsignore:
	* sysdeps/kernel/ChangeLog:
	* sysdeps/kernel/Makefile.am:
	* sysdeps/kernel/close.c:
	* sysdeps/kernel/cpu.c:
	* sysdeps/kernel/glibtop_private.h:
	* sysdeps/kernel/glibtop_server.h:
	* sysdeps/kernel/kernel.h:
	* sysdeps/kernel/kernel.s:
	* sysdeps/kernel/loadavg.c:
	* sysdeps/kernel/mem.c:
	* sysdeps/kernel/msg_limits.c:
	* sysdeps/kernel/netload.c:
	* sysdeps/kernel/open.c:
	* sysdeps/kernel/ppp.c:
	* sysdeps/kernel/procargs.c:
	* sysdeps/kernel/procdata.c:
	* sysdeps/kernel/prockernel.c:
	* sysdeps/kernel/proclist.c:
	* sysdeps/kernel/procmap.c:
	* sysdeps/kernel/procmem.c:
	* sysdeps/kernel/procsegment.c:
	* sysdeps/kernel/procsignal.c:
	* sysdeps/kernel/procstate.c:
	* sysdeps/kernel/proctime.c:
	* sysdeps/kernel/procuid.c:
	* sysdeps/kernel/sem_limits.c:
	* sysdeps/kernel/shm_limits.c:
	* sysdeps/kernel/siglist.c:
	* sysdeps/kernel/swap.c:
	* sysdeps/kernel/sysinfo.c:
	* sysdeps/kernel/uptime.c: Removed kernel patch and implementation.
2004-11-22 11:13:24 +00:00
Benoît Dejean
f378a263b0 Forgot to ship libgtopconfig.h.
* Makefile.am: Forgot to ship libgtopconfig.h.
2004-11-19 08:32:16 +00:00
Benoît Dejean
77b892ebf7 Removed unused files.
* LIBGTOP-VERSION:
	* libgtop-mirror.sh: Removed unused files.

	* libgtopconfig.h.in: Added.
	* Makefile.am:
	* configure.in:
	* glibtop.h: Added libgtopconfig.h and LIBGTOP_VERSION_CHECK(X, Y, Z).
	This can be used in build tests.
2004-11-18 21:25:22 +00:00
Benoît Dejean
db2fed4da3 Added myself.
* copyright.txt: Added myself.
2004-11-15 21:50:35 +00:00
Benoît Dejean
160bdeaecd Updated.
* netload.c: (hwaddress_format_for_display), (main): Updated.
2004-11-15 16:07:23 +00:00
Benoît Dejean
1d6debfa56 Added a check for NULL pointer when wlaking though interfaces (though i
* netload.c: (get_ipv6), (glibtop_get_netload_s): Added a check for NULL
	pointer when wlaking though interfaces (though i don't understand why some
	interface don't have an ifa_addr).
	Move all ipv6 code into a separate function. Added a paranoid check on
	getifaddrs.
2004-11-15 14:58:06 +00:00
Benoît Dejean
bbb6cbaa87 Updated.
* pprint.c: (pprint_get_fsusage), (pprint_get_mountlist),
	(pprint_get_netload), (pprint_get_netlist), (main): Updated.
2004-11-13 21:06:08 +00:00
Benoît Dejean
ce229a4e19 Added stub for glibtop_get_netlist.
* Makefile.am:
	* netlist.c: (glibtop_init_netlist_s), (glibtop_get_netlist_s): Added
	stub for glibtop_get_netlist.
2004-11-13 12:43:28 +00:00
Benoît Dejean
544aff2f18 Removed SUID wrappers because glibtop_proc_argv_l is a client-side
* include/glibtop/procargs.h:
	* sysdeps/common/procargs.c: (glibtop_get_proc_argv_l): Removed SUID
	wrappers because glibtop_proc_argv_l is a client-side function that wraps
	glibtop_get_proc_args.
2004-11-13 11:42:48 +00:00
Benoît Dejean
74f20ca469 Removed old functions. OMG, everything is really broken here :/
* structures.def: Removed old functions. OMG, everything is really broken
	here :/
2004-11-13 11:14:33 +00:00
Benoît Dejean
edd5156ca0 Killed warning.
* netlist.c: (glibtop_get_netlist_s): Killed warning.
2004-11-13 11:10:57 +00:00
Benoît Dejean
7e5ccec8bf Bumped to 2.9.0
* configure.in: Bumped to 2.9.0

	* configure.in:
	* examples/.cvsignore:
	* examples/Makefile.am:
	* examples/netlist.c: (main):
	* features.def:
	* include/glibtop/Makefile.am:
	* include/glibtop/command.h:
	* include/glibtop/netlist.h:
	* include/glibtop/sysdeps.h:
	* include/glibtop/union.h:
	* include/glibtop/version.h:
	* src/daemon/version.c:
	* sysdeps/linux/Makefile.am:
	* sysdeps/linux/netlist.c: (glibtop_init_netlist_s),
	(glibtop_get_netlist_s):
	* sysdeps/names/Makefile.am:
	* sysdeps/names/netlist.c:
	* sysdeps/solaris/Makefile.am:
	* sysdeps/solaris/netlist.c: (glibtop_init_netlist_s),
	(glibtop_get_netlist_s): Added new function glibtop_get_netlist().
	Implemented for linux and solaris. Doc needed.
2004-11-13 00:53:20 +00:00
Benoît Dejean
fdf313cdf6 Set .rtime. At last !
* proctime.c: (glibtop_get_proc_time_s): Set .rtime. At last !
2004-10-26 20:26:25 +00:00
Ankitkumar Rameshchandra Patel
9a6bb02fb1 ankit@redhat.com * Changed some wrong rendered characters 2004-10-26 12:06:56 +00:00
Benoît Dejean
e6f0664c3b No longer abort() is no such pid. buf.flags == 0ULL means that there no
* procargs.c: (glibtop_get_proc_args_s):
	* prockernel.c: (glibtop_get_proc_kernel_s):
	* procmem.c: (glibtop_get_proc_mem_s):
	* procsegment.c: (glibtop_get_proc_segment_s):
	* procsignal.c: (glibtop_get_proc_signal_s):
	* procstate.c: (glibtop_get_proc_state_s):
	* proctime.c: (glibtop_get_proc_time_s):
	* procuid.c: (glibtop_get_proc_uid_s): No longer abort() is no such pid.
	buf.flags == 0ULL means that there no data could be retrieve at all.
	Closes #154876. Thanks to Christophe Belle.
2004-10-22 15:35:57 +00:00
Benoît Dejean
405f0602e0 Released 2.8.1.
* NEWS: Released 2.8.1.
2004-10-11 18:11:48 +00:00
Benoît Dejean
b3dfc1d1d2 Updated. Lots of cleanup.
* cpu.c: (glibtop_init_cpu_s), (glibtop_get_cpu_s):
        * loadavg.c: (glibtop_get_loadavg_s):
        * mem.c: (glibtop_init_mem_s), (glibtop_get_mem_s):
        * open.c: (glibtop_get_kstats), (glibtop_open_s):
        * procargs.c: (glibtop_get_proc_args_s):
        * procdata.c: (glibtop_get_proc_data_psinfo_s),
        (glibtop_get_proc_data_usage_s), (glibtop_get_proc_credentials_s),
        (glibtop_get_proc_status_s):
        * proclist.c: (glibtop_get_proclist_s):
        * procmap.c: (glibtop_get_proc_map_s):
        * procmem.c: (glibtop_get_proc_mem_s):
        * procstate.c: (glibtop_get_proc_state_s):
        * safeio.c:
        * safeio.h:
        * shm_limits.c: (glibtop_init_shm_limits_p),
        (glibtop_get_shm_limits_p):
        * swap.c: (glibtop_get_swap_s):
        * uptime.c: (glibtop_get_uptime_s): Updated. Lots of cleanup.
2004-10-11 18:01:25 +00:00
Benoît Dejean
13025c6c5f Replaced C99 initializer.
* lib/init.c: Replaced C99 initializer.

	* lib/read.c: (do_read): 1-line cleanup.
2004-10-10 17:21:57 +00:00
Benoît Dejean
bbcbe6b67d Depends on glib 2.4.0
* configure.in: Depends on glib 2.4.0
2004-10-09 12:47:10 +00:00
Benoît Dejean
6c586e844f Fixed .state to follow LibGTop2 specification.
* procstate.c: (glibtop_get_proc_state_s): Fixed .state to follow
	LibGTop2 specification.
2004-10-04 12:22:15 +00:00
Benoît Dejean
a1677aefa8 Fixed glibtop_init_s call.
* procmap.c: (glibtop_get_proc_map_s): Fixed glibtop_init_s call.
2004-10-04 12:08:44 +00:00
Benoît Dejean
9f91b2ddb8 AIX support updated by Laurent Vivier <Laurent.Vivier@BULL.NET>.
* Makefile.am:
	* cpu.c: (glibtop_init_cpu_p), (glibtop_get_cpu_p):
	* glibtop_machine.h:
	* glibtop_server.h:
	* mem.c: (glibtop_get_mem_s):
	* netload.c: (glibtop_get_netload_p):
	* procargs.c: (glibtop_get_proc_args_s):
	* prockernel.c: (glibtop_get_proc_kernel_s):
	* proclist.c: (glibtop_get_proclist_s):
	* procmem.c: (glibtop_get_proc_mem_s):
	* procsegment.c: (glibtop_get_proc_segment_s):
	* procsignal.c: (glibtop_get_proc_signal_s):
	* procstate.c: (glibtop_get_proc_state_s):
	* proctime.c: (glibtop_get_proc_time_s):
	* procuid.c: (glibtop_get_proc_uid_s):
	* swap.c: (glibtop_get_swap_s):
	* sysinfo.c: (add_info), (init_sysinfo):
	* uptime.c: (glibtop_init_uptime_s), (glibtop_get_uptime_s):

	AIX support updated by Laurent Vivier <Laurent.Vivier@BULL.NET>.

	Fixed cpu/uptime/sysinfo.
	Added missing calls to glibtop_init_s.
2004-10-04 11:57:05 +00:00
Adam Weinberger
ca8d9657f0 Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2004-09-26 15:23:08 +00:00
Benoît Dejean
5bd4c5feeb Added missing include <glibtop/close.h>.
* glibtop.h: Added missing include <glibtop/close.h>.
2004-09-25 19:31:18 +00:00
Benoît Dejean
15a4ba35a9 Re-added pprint_get_msg_limits()
* pprint.c: (main): Re-added pprint_get_msg_limits()
2004-09-25 19:30:00 +00:00
Benoît Dejean
f028bd79bf Added missing call to glibgtop_init() / glibtop_close()
* df.c: (main):
	* pprint.c: (main):
	* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
2004-09-25 08:56:38 +00:00
Benoît Dejean
d809faba3e Added missing call to libgtop_init();
* df.c: (main):
	* pprint.c: (main):
	* procargs.c: (main): Added missing call to libgtop_init();
2004-09-25 08:46:44 +00:00
Benoît Dejean
d0833edb66 Fixed .block_size on Solaris.
* fsusage.c: (glibtop_get_fsusage_s): Fixed .block_size on Solaris.
2004-09-24 21:26:34 +00:00
Benoît Dejean
9aae957919 ../configure.in Added new example, just like 'df'.
* .cvsignore:
	* Makefile.am:
	* ../configure.in
	* df.c: (print_fsusage), (main): Added new example, just like 'df'.
2004-09-24 12:59:29 +00:00
Benoît Dejean
6d24f84fd6 Updated.
* POTFILES.in: Updated.
2004-09-23 22:48:32 +00:00
Benoît Dejean
fe08779c6c Removed mountlist.h.
* Makefile.am:
	* mountlist.c:
	* mountlist.h: Removed mountlist.h.
2004-09-23 22:47:56 +00:00
Benoît Dejean
804b82eff8 Small cleanup.
* loadavg.c: (glibtop_get_loadavg_s):
	* msg_limits.c: (glibtop_get_msg_limits_s):
	* shm_limits.c: (glibtop_get_shm_limits_s): Small cleanup.
2004-09-23 22:44:53 +00:00
Benoît Dejean
61889bc182 Removed get_pageshift(). Every one can affort a * instead of a >>, no need
* glibtop_server.c:
	* glibtop_server.h:
	* procmem.c: (glibtop_get_proc_mem_s):
	* procsegment.c: (glibtop_get_proc_segment_s): Removed get_pageshift().
	Every one can affort a * instead of a >>, no need for this kind of
	non-reentrant optimization. Saved 144B (obviously perfect cleanup ;)
2004-09-23 08:13:28 +00:00
Benoît Dejean
c29887d4b0 Added openpromfs.
* mountlist.c: (ignore_mount_entry): Added openpromfs.
2004-09-22 22:20:31 +00:00
Benoît Dejean
edb1e6a773 CFLAGS: Removed -W, added -Winline.
* configure.in: CFLAGS: Removed -W, added -Winline.
2004-09-22 17:39:18 +00:00
Benoît Dejean
5d97c3fa5e Linux: Sanitize. Removed calls to obfuscated PROPAGATE_ALL_ONES(x) which
* fsusage.c: (glibtop_get_fsusage_s): Linux: Sanitize. Removed calls
        to obfuscated PROPAGATE_ALL_ONES(x) which seems to return unpredictable
        values on some arch (e.g sparc).
        Closes #153141.
2004-09-22 17:38:18 +00:00
Benoît Dejean
e830a8eeb6 Removed #warning, my gcc is not buggy anymore.
* glibtop_server.c: Removed #warning, my gcc is not buggy anymore.
2004-09-22 17:33:19 +00:00
Benoît Dejean
a6410588cd Disable pprint_get_msg_limits() because it can fail.
* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
2004-09-22 11:25:37 +00:00
Benoît Dejean
339b79b100 Added mntfs to ignore list
* mountlist.c: (ignore_mount_entry): Added mntfs to ignore list
2004-09-22 11:16:42 +00:00
Ivan Stojmirov
831f0e7d68 gotovo 2004-09-21 21:37:42 +00:00
Benoît Dejean
4882405885 Updated.
* pprint.c: (pprint_get_swap), (main): Updated.
2004-09-21 09:41:34 +00:00
Benoît Dejean
5b15a2d1a5 Updated.
* procargs.c: (show_args), (main): Updated.
2004-09-21 08:37:52 +00:00
Benoît Dejean
6954b81396 Updated.
* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
	(pprint_get_uptime), (main): Updated.
2004-09-21 08:01:45 +00:00
Benoît Dejean
35dd4cf1ca Updated.
* pprint.c: (pprint_get_mountlist): Updated.
2004-09-20 23:44:19 +00:00
Benoît Dejean
0b0b1ab43c Back to previous version.
* fsusage.c: (_glibtop_get_fsusage_read_write),
	(glibtop_get_fsusage_s):
	* mountlist.c: (glibtop_get_mountlist_s): Back to previous version.

	* fsusage.c: (linux_2_6_0), (linux_2_4_0),
	(_glibtop_linux_get_fsusage_read_write): Back to previous version.
	Now set .flags correctly.
2004-09-20 23:43:24 +00:00
Benoît Dejean
a6311d88c3 Updated.
* procargs.c: (show_args), (main): Updated.
2004-09-20 22:05:32 +00:00
Benoît Dejean
f561120748 Updated.
* procargs.c: (show_args), (main): Updated.
2004-09-20 22:03:58 +00:00
Benoît Dejean
b35532dd6f Updated.
* procargs.c: (show_args), (main): Updated.
2004-09-20 22:03:02 +00:00
Benoît Dejean
c7d323749c Added new example : pretty prints the result of glibtop_*. Work in
* .cvsignore:
	* Makefile.am:
	* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
	(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
	(pprint_get_msg_limits), (main): Added new example : pretty prints
	the result of glibtop_*. Work in progress.

	Now builds procargs.

	* ../configure.in: Added to static list.
2004-09-20 20:14:46 +00:00
Alessio Frusciante
3d1997ca94 Updated Italian translation. 2004-09-19 22:03:58 +00:00
Benoît Dejean
b3fd15c190 Updated to match new prototype.
* fsusage.c: (linux_2_6_0), (linux_2_4_0),
	(_glibtop_linux_get_fsusage_read_write): Updated to match new prototype.
2004-09-19 21:03:21 +00:00
Benoît Dejean
601cfef32f : Added new flag. (_glibtop_get_fsusage_read_write): Changed prototype.
* fsusage.c: (_glibtop_get_fsusage_read_write) : Added new flag.
	(_glibtop_get_fsusage_read_write): Changed prototype. Returns TRUE on
	success, then _glibtop_get_fsusage_read_write is set.

	Added comment to locate Linux code.

	* mountlist.c: (read_filesystem_list): Dropped unused need_fs_type parameter.
	This is now default.
	Fixed possible leak.

	(ignore_mount_entry): Added "usbfs" to ignored FS.

	(glibtop_get_mountlist_s): Updated.
2004-09-19 21:02:10 +00:00
Benoît Dejean
86fd7f23c4 'screen' is only defined when AUTH_MAGIC_COOKIE is defined. Added missing
* gnuserv.c: (setup_table): 'screen' is only defined when AUTH_MAGIC_COOKIE
	is defined.
	Added missing initializers for popt options.
2004-09-19 12:08:55 +00:00
Benoît Dejean
3668b5bb19 Added missing memset( , 0, ).
* mem.c: (glibtop_get_mem_s): Added missing memset( , 0, ).
2004-09-19 12:06:10 +00:00
Gora Mohanty
89f531cdbc configure.in: Added 'or' to ALL_LINGUAS.
po/or.po: Updated Oriya translation.
2004-09-13 20:42:54 +00:00
Benoît Dejean
35488aef90 bumped to 2.8.1.
* configure.in: bumped to 2.8.1.

	* sysdeps/common/fsusage.c:
	* sysdeps/common/gnuslib.c: (glibtop_make_connection),
	(connect_to_unix_server), (glibtop_internet_addr):
	* sysdeps/linux/glibtop_server.c: (get_pageshift):
	* sysdeps/linux/glibtop_server.h:
	* sysdeps/linux/open.c: (glibtop_open_s):
	* sysdeps/linux/ppp.c: (is_ISDN_on): Cleanups. Thanks to Kjartan Maraas.
	Closes #151557.
2004-09-13 15:21:54 +00:00
Benoît Dejean
dc31c8b8dd *** empty log message *** 2004-09-13 14:49:51 +00:00
Benoît Dejean
a205458dbe 2.8.0
* NEWS:
	* configure.in: 2.8.0
2004-09-13 14:35:13 +00:00
Benoît Dejean
9ccd5cc4cb 2.8.0
* NEWS:
	* configure.in: 2.8.0
2004-09-13 14:33:59 +00:00
Nguyen Thai Ngoc Duy
0fb5f3df88 Updated vi.po 2004-09-13 12:37:36 +00:00
Laszlo Dvornik
c82734255b Updated Hungarian translation by Gabor Kelemen.
2004-09-12  Laszlo Dvornik  <dvornik@gnome.hu>

	* hu.po: Updated Hungarian translation by Gabor Kelemen.
2004-09-12 11:40:05 +00:00
Dafydd Harries
19ebd69b93 Updated Welsh translation. 2004-09-12 02:51:46 +00:00
Christophe Merlet
c93a83e78a Updated French translation. 2004-09-10 17:56:52 +00:00
Arafat Medini
c968c56913 Updated Arabic translation
2004-09-08  Arafat Medini  <lumina@arabeyes.org>

	* ar.po: Updated Arabic translation
2004-09-08 12:57:32 +00:00
Amila Akagić
8508785c67 2004-09-07 Akagic Amila <bono@linux.org.ba> * bs.po: Updated Bosnian translation. 2004-09-07 07:54:25 +00:00
Mugurel Tudor
9d142723a6 Updated Romanian translation by Misu Moldovan <dumol@go.ro>
2004-09-06  Mugurel Tudor  <mugurelu@go.ro>

        * ro.po: Updated Romanian translation
	  by Misu Moldovan <dumol@go.ro>
2004-09-06 14:38:10 +00:00
Kostas Papadimas
a0afc5616a Updated Greek Translation. 2004-09-06 09:49:57 +00:00
Raphael Higino
423d0e353d Updating pt_BR translation. 2004-09-05 13:16:12 +00:00
Baris Cicek
a4307cb35d Updated Turkish Translation 2004-09-03 19:34:22 +00:00
N Jayaradha
0bc628484c yet to proof read 2004-09-03 04:57:07 +00:00
Hendrik Richter
3bdad36198 Updated German translation
2004-09-02  Hendrik Richter <hendrik@gnome-de.org>

        * de.po: Updated German translation
2004-09-02 18:57:09 +00:00
N Jayaradha
7a4c9fb40f yet to proof read 2004-09-02 14:47:49 +00:00
Benoît Dejean
8c5093a395 Released 2.7.92.
* NEWS: Released 2.7.92.
2004-08-30 10:21:39 +00:00
Nikos Charonitakis
5ccd5980c0 Updated Greek translation 2004-08-30 08:28:20 +00:00
Benoît Dejean
60c8aae6d9 Merge a bunch of trivial OpenBSD patchs. To *BSD maintainers : please
* mem.c: (glibtop_get_mem_p):
	* ppp.c:
	* swap.c: (glibtop_init_swap_p), (glibtop_get_swap_p):
	* uptime.c: (glibtop_get_uptime_p): Merge a bunch of trivial OpenBSD
	patchs. To *BSD maintainers : please report bugs ! don't be selfish, share
	your patchs.
2004-08-28 20:55:37 +00:00
Francisco Javier F. Serrador
28a5db91d2 Updated Spanish translation
2004-08-28  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation
2004-08-28 14:48:56 +00:00
Benoît Dejean
770e39d2d2 Zeroed all args.
* backends/server/command.c: (glibtop_call_i): Zeroed all args.

	* configure.in: Bumped soname (thanks to seb128 and Dodji even if i've
	fully understand everything.

	* include/glibtop/array.h:
	* include/glibtop/compat_10.h:
	* include/glibtop/glib-arrays.h:
	* include/glibtop/interfaces.h:
	* include/glibtop/proccwd.h:
	* lib/glib-arrays.c:
	* sysdeps/names/interfaces.c:
	* sysdeps/names/proccwd.c: Got rid of never-used / never-implemented files.
2004-08-28 11:12:02 +00:00
Amila Akagić
8ca47ad9e0 2004-08-28 Akagic Amila <bono@linux.org.ba> * bs.po: Added Bosnian translation. 2004-08-28 10:47:39 +00:00
Amila Akagić
49f1de8217 2004-08-28 Akagic Amila <bono@linux.org.ba> * configure.in: Added bs to ALL_LINGUAS. 2004-08-28 10:46:57 +00:00
Iñaki Larrañaga
63cc547156 Updated Basque translation.
2004-08-26  Iñaki Larrañaga  <dooteo@euskalgnu.org>

        * eu.po: Updated Basque translation.
2004-08-26 21:25:41 +00:00
Maxim Dziumanenko
fcfd0bd852 Updated Ukrainian translation.
2004-08-25  Maxim Dziumanenko <mvd@mylinux.com.ua>

	* Updated Ukrainian translation.
2004-08-25 09:15:32 +00:00
Martin Willemoes Hansen
4b6c206598 Updated Danish translation.
* da.po: Updated Danish translation.
2004-08-23 10:22:31 +00:00
Benoît Dejean
e81e7db939 Zeroed all args.
* lib/command.c: (glibtop_call_l): Zeroed all args.
2004-08-22 19:32:56 +00:00
Benoît Dejean
91adde3f3d Replaced //comment by /*C89*/.
* server.c: (handle_slave_connection): Replaced //comment by /*C89*/.
2004-08-22 19:31:38 +00:00
Benoît Dejean
ef95ef85ff Merged FreeBSD Marcus' patch.
* mountlist.c: (read_filesystem_list): Merged FreeBSD Marcus' patch.
2004-08-22 19:30:14 +00:00
Benoît Dejean
ff160fa9f3 Merged Marcus' patches.
* procstate.c:
	* uptime.c: (glibtop_get_uptime_p): Merged Marcus' patches.
2004-08-22 19:29:05 +00:00
Jordi Mallach
11f37815a3 Updated Catalan translation. 2004-08-21 16:45:12 +00:00
Kjartan Maraas
16d9eebd1b Add «nb» to ALL_LINGUAS.
2004-08-21  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Add «nb» to ALL_LINGUAS.
2004-08-20 23:26:05 +00:00
Benoît Dejean
71c1792637 LibGTop 2.7.91.
2004-08-15  Benoît Dejean  <tazforever@dlfp.org>

	* NEWS:
	* configure.in: LibGTop 2.7.91.
2004-08-20 23:25:27 +00:00
Kjartan Maraas
6fc4a48c6f Add this.
2004-08-21  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Add this.
2004-08-20 23:25:02 +00:00
Laurent Dhima
550b9743c7 Updated Albanian translation.
2004-08-20  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2004-08-20 16:59:23 +00:00
Ankitkumar Rameshchandra Patel
36fe063384 ankit@redhat.com 20/08/2004 * Proofread gu.po 2004-08-20 10:15:26 +00:00
Pauli Virtanen
42c697c37e Updated Finnish translation.
* fi.po: Updated Finnish translation.
2004-08-18 23:26:53 +00:00
Laurent Dhima
91c53d4f22 Updated Albanian translation.
2004-08-18  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2004-08-18 11:05:13 +00:00
Benoît Dejean
878826c871 LibGTop 2.7.91.
* NEWS:
       * configure.in: LibGTop 2.7.91.
2004-08-16 06:16:27 +00:00
Duarte Loreto
f9b9b8dbd9 Fixed typo in Portuguese translation.
2004-08-15  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Fixed typo in Portuguese translation.
2004-08-14 23:27:38 +00:00
Tommi Vainikainen
d20bbf57fe Unified po headers for Finnish Team 2004-08-13 19:46:14 +00:00
Dmitry Mastrukov
6bbc66417a ru.po: Updated Russian translation from Russian team <gnome-cyr@gnome.org>. 2004-08-11 09:53:03 +00:00
Artur Flinta
336d234bce Updated Polish translation by GNOME PL Team.
2004-08-10  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2004-08-10 17:49:40 +00:00
Amanpreet Singh Alam
a6df633a6f check 2004-08-09 11:09:14 +00:00
Ankitkumar Rameshchandra Patel
8cd69ad3df ankit@redhat.com 09/08/04 2004-08-09 08:40:34 +00:00
Benoît Dejean
ab2881a412 Added HAVE_IFADDRS_H Disable IPv6 support is ifaddrs.h is not available.
* configure.in: Added HAVE_IFADDRS_H
	* sysdeps/linux/netload.c: (glibtop_get_netload_s): Disable IPv6
	support is ifaddrs.h is not available.

	Closes #149376.
2004-08-09 08:02:54 +00:00
Benoît Dejean
bce095739f Added -gnu89 to CFLAGS.
* configure.in: Added -gnu89 to CFLAGS.

	* examples/Makefile.am: Fixed LDFLAGS.

	* sysdeps/common/fsusage.c: (glibtop_get_fsusage_s):
	* sysdeps/linux/fsusage.c: (linux_2_6_0):
	* sysdeps/linux/proctime.c: (glibtop_get_proc_time_s):
	* sysdeps/linux/sysinfo.c: (init_sysinfo): Fixed C89 issues.

	Closes #149375.
2004-08-09 07:55:50 +00:00
Funda Wang
d872544eb7 Updated Simplified Chinese translation 2004-08-07 18:54:00 +00:00
Marcel Telka
03e96ce487 Updated Slovak translation.
2004-08-07  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2004-08-07 15:12:46 +00:00
Danilo Šegan
95dfedd71d Updated Serbian translation. 2004-08-07 13:06:56 +00:00
Christian Rose
4cda07c19c Updated Swedish translation.
2004-08-04  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2004-08-04 20:58:43 +00:00
Benoît Dejean
182f069928 Updated 2004-08-03 14:22:04 +00:00
Benoît Dejean
647f7c7be8 LibGTop 2.7.90.
* NEWS:
        * configure.in: LibGTop 2.7.90.
2004-08-03 12:12:51 +00:00
Benoît Dejean
808a2d48ac Added next_token(). Changed skip_token(), i hope it won't break any bad
* glibtop_server.h: Added next_token(). Changed skip_token(),
        i hope it won't break any bad code.
        * procstate.c: (glibtop_get_proc_state_s): Used next_token.
        * proctime.c: (glibtop_get_proc_time_s): Implemented .start_time
        the way it ought to be. Clean ups.
2004-08-03 11:40:37 +00:00
Benoît Dejean
5b39a4831d Updated.
* reference.texi: Updated.
2004-08-03 09:55:23 +00:00
Changwoo Ryu
275d96b6c7 Updated Korean translation 2004-08-03 04:36:10 +00:00
Kjartan Maraas
a6f5be63ce Updated Norwegian translation.
2004-08-01  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian translation.
2004-08-01 20:40:10 +00:00
Laszlo Dvornik
b818519801 Updated Hungarian translation by Gabor Kelemen.
2004-07-31  Laszlo Dvornik  <dvornik@gnome.hu>

	* hu.po: Updated Hungarian translation by Gabor Kelemen.
2004-07-31 18:27:15 +00:00
Laszlo Dvornik
7a3d548bb6 Updated Hungarian translation by Gabor Kelemen.
2004-07-31  Laszlo Dvornik  <dvornik@gnome.hu>

	* hu.po: Updated Hungarian translation by Gabor Kelemen.
2004-07-31 18:12:09 +00:00
Francisco Javier F. Serrador
dff4386212 Updated Spanish translation.
2004-07-31  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2004-07-31 10:00:39 +00:00
David Lodge
cb4a95bf02 Updated British translation.
2004-07-28  David Lodge  <dave@cirt.net>

        * en_GB.po: Updated British translation.
2004-07-28 22:33:37 +00:00
Duarte Loreto
3502306b83 Updated Portuguese translation.
2004-07-26  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2004-07-26 21:29:35 +00:00
Benoît Dejean
69767956dc Fixed leak.
* netload.c: (glibtop_get_netload_s): Fixed leak.
2004-07-22 13:52:59 +00:00
Benoît Dejean
e8158ec1b1 Fixed leak. Don't set .timeout anymore.
* netload.c: (glibtop_get_netload_s): Fixed leak.
	* proctime.c: (glibtop_get_proc_time_s): Don't set .timeout anymore.
2004-07-22 13:46:25 +00:00
Metin Amiroff
995ca5afb9 Translation updated by Mətin Əmirov.
2004-07-21  Metin Amiroff  <metin@karegen.com>

	* az.po: Translation updated by Mətin Əmirov.
2004-07-21 16:19:48 +00:00
Updated ja.po. T.Aihana
40c2e53355 2004-07-21 Updated ja.po. T.Aihana <aihana@gnome.gr.jp> 2004-07-21 14:22:41 +00:00
Guntupalli Karunakar
4c0a0244e5 updated hindi translation 2004-07-21 12:43:18 +00:00
Vincent van Adrighem
e794406321 Translation updated by Jeroen van der Vegt.
2004-07-21  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Jeroen van der Vegt.
2004-07-21 09:19:33 +00:00
Benoît Dejean
e0882a5c68 LibGTop 2.7.5.
* configure.in: LibGTop 2.7.5.
2004-07-20 14:10:30 +00:00
Benoît Dejean
4a7fb7c8cf Updated. 2004-07-20 14:05:08 +00:00
Benoît Dejean
eca1b71b75 LibGTop 2.7.4.
* NEWS:
        * configure.in: LibGTop 2.7.4.
2004-07-20 13:33:24 +00:00
Benoît Dejean
81f0ecdcbe LibGTop 2.7.4.
* NEWS:
	* configure.in: LibGTop 2.7.4.
2004-07-20 13:32:37 +00:00
Benoît Dejean
d549b72975 Updated.
* am.po:
	* ar.po:
	* az.po:
	* be.po:
	* bg.po:
	* bn.po:
	* ca.po:
	* cs.po:
	* cy.po:
	* da.po:
	* de.po:
	* el.po:
	* en_CA.po:
	* en_GB.po:
	* es.po:
	* et.po:
	* eu.po:
	* fa.po:
	* fi.po:
	* fr.po:
	* ga.po:
	* gl.po:
	* gu.po:
	* he.po:
	* hi.po:
	* hr.po:
	* hu.po:
	* id.po:
	* it.po:
	* ja.po:
	* ko.po:
	* lt.po:
	* lv.po:
	* mi.po:
	* mk.po:
	* ml.po:
	* mn.po:
	* ms.po:
	* nl.po:
	* nn.po:
	* no.po:
	* pa.po:
	* pl.po:
	* pt.po:
	* pt_BR.po:
	* ro.po:
	* ru.po:
	* sk.po:
	* sl.po:
	* sq.po:
	* sr.po:
	* sr@Latn.po:
	* sv.po:
	* ta.po:
	* tr.po:
	* uk.po:
	* vi.po:
	* zh_CN.po:
	* zh_TW.po: Updated.
2004-07-20 13:28:58 +00:00
Benoît Dejean
9737ebe1c9 Updated 2004-07-20 13:22:40 +00:00
Laurent Dhima
b91aceeccb Updated Albanian translation.
2004-07-19  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2004-07-19 15:02:22 +00:00
Miloslav Trmac
2bad1b2cd1 Updated Czech translation.
2004-07-19  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2004-07-19 13:38:06 +00:00
Adam Weinberger
16cda6232b Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2004-07-18 20:40:09 +00:00
Benoît Dejean
ff4fe5e846 Glibify a bit more. Closes #147618.
* doc/reference.texi:
	* include/glibtop/command.h:
	* include/glibtop/glib-arrays.h:
	* include/glibtop/proclist.h:
	* lib/glib-arrays.c: (glibtop_get_proclist_as_array_l):
	* lib/lib.pl:
	* scripts/c_types.pl:
	* src/daemon/main.c: (handle_parent_connection):
	* src/daemon/slave.c: (handle_slave_connection):
	* support/mkstemp.c:
	* sysdeps/aix/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/freebsd/cpu.c: (glibtop_get_cpu_p):
	* sysdeps/freebsd/prockernel.c: (glibtop_get_proc_kernel_p):
	* sysdeps/freebsd/proclist.c: (glibtop_get_proclist_p):
	* sysdeps/freebsd/procmem.c: (glibtop_get_proc_mem_p):
	* sysdeps/kernel/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/linux/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/osf1/proclist.c: (glibtop_get_proclist_p):
	* sysdeps/solaris/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/stub/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/stub_suid/proclist.c: (glibtop_get_proclist_p):
	* sysdeps/sun4/proclist.c: (glibtop_get_proclist_p): Glibify a bit more.
	Closes #147618.
2004-07-18 20:33:56 +00:00
Benoît Dejean
92c18d4e8a Updated. Closes #147822.
* POTFILES.in: Updated. Closes #147822.
2004-07-18 15:17:12 +00:00
Benoît Dejean
644b0ebcf5 Added read, write. This members provides total read and write in bytes
* include/glibtop/fsusage.h: Added read, write. This members provides
	total read and write in bytes since boot_time.

	* include/glibtop/netload.h: Added hwaddress : provides harware address,
	eg MAC address. mtu, address and subnet are now guint32.
2004-07-17 12:09:01 +00:00
Benoît Dejean
e5a855db7c Started implementation of read, write. Code should be splitted into arch
* fsusage.c: (glibtop_get_fsusage_s): Started implementation of read, write.
	Code should be splitted into arch specific files.

	* mountlist.c: (glibtop_get_mountlist_s): glibify. Used GArray.
2004-07-17 12:04:09 +00:00
Benoît Dejean
bfc14a1925 Added to repository. WIP.
* Makefile.am:
	* fsusage.c: (linux_2_6_0), (linux_2_4_0),
	(_glibtop_linux_get_fsusage_read_write): Added to repository. WIP.


	* glibtop_server.h: LINUX_VERSION -> LINUX_VERSION_CODE

	* netload.c: (glibtop_get_netload_s): Cleanups. Added support for
	hardware address. s/LINUX_VERSION/LINUX_VERSION_CODE/

	* open.c: (get_linux_version): s/LINUX_VERSION/LINUX_VERSION_CODE/

	* procmap.c: (glibtop_get_proc_map_s): glibify: used GArray

	* procuid.c: (glibtop_get_proc_uid_s): s/LINUX_VERSION/LINUX_VERSION_CODE/.
	Used Linux MKDEV.
2004-07-17 12:01:24 +00:00
Benoît Dejean
b1c611c7fc Added GLIBTOP_PROCESS_DEAD constant.
* include/glibtop/procstate.h: Added GLIBTOP_PROCESS_DEAD constant.
2004-07-15 20:54:57 +00:00
Benoît Dejean
18abf86346 Fixed copy/paste error while setting buf->state.
* procstate.c: (glibtop_get_proc_state_p): Fixed copy/paste error
	while setting buf->state.
2004-07-15 20:53:53 +00:00
Benoît Dejean
9e1b0a2814 Wake, we're libgtop2.7.x, lets get rid of old buf->state format. Now using
* procstate.c: (glibtop_get_proc_state_s): Wake, we're libgtop2.7.x,
	lets get rid of old buf->state format. Now using bitfield instead
	letters.
2004-07-15 20:51:29 +00:00
Alexander Shopov
35db2e7496 Updated Bulgarian translation by Rostislav Raykov <zbrox@i-space.org>
2004-07-08  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Rostislav Raykov <zbrox@i-space.org>
2004-07-08 06:05:10 +00:00
Benoît Dejean
a8593d5b84 Added new glibtop_get_proc_argv*() functions. These are more easier to use
* include/glibtop/procargs.h: Added new glibtop_get_proc_argv*() functions.
	These are more easier to use than glibtop_get_proc_args*(). They return
	a NULL-terminated array of string (like main's char* argv[]).
2004-07-07 20:22:58 +00:00
Benoît Dejean
de7fd9e85b Added glibtop_get_proc_argv demo.
* procargs.c: Added glibtop_get_proc_argv demo.
2004-07-07 20:21:13 +00:00
Benoît Dejean
c30e6a0dd2 Fixed. error is now correctly set to NULL before is's used. Fixed max_len
* procargs.c: (glibtop_get_proc_args_s): Fixed. error is now correctly
	set to NULL before is's used. Fixed max_len behaviour.
2004-07-07 20:20:17 +00:00
Benoît Dejean
47b0db5ca9 Added file to repository. Provides glibtop_get_proc_argv*() for system
* Makefile.am:
	* procargs.c: (split_args0), (glibtop_get_proc_argv_l),
	(glibtop_get_proc_argv_p), (glibtop_get_proc_argv_s): Added file to
	repository. Provides glibtop_get_proc_argv*() for system dependant
	glibtop_get_proc_args*().
2004-07-07 20:18:36 +00:00
Benoît Dejean
2e6438e582 updated. Added glibtop_get_proc_argv. Added glibtop_fsusage.block_size.
* reference.texi: updated.
	Added glibtop_get_proc_argv.
	Added glibtop_fsusage.block_size.
2004-07-07 20:16:43 +00:00
Benoît Dejean
babe152ba2 Removed netinfo.[ch] that were never used.
* include/glibtop/netinfo.h:
	* structures.def:
	* sysdeps/names/netinfo.c: Removed netinfo.[ch] that were never used.
2004-07-07 19:13:03 +00:00
Benoît Dejean
7612022e83 Added missing fsusage names.
* sysdeps/names/fsusage.c: Added missing fsusage names.
2004-07-03 15:18:12 +00:00
Benoît Dejean
24073c48c5 Removed useless memset.
* sysinfo.c: (init_sysinfo): Removed useless memset.
2004-07-03 15:17:29 +00:00
Benoît Dejean
b55ecd65bc Moved foward declaration of glibtop to break circular #includes
* glibtop.h: Moved foward declaration of glibtop to break circular
	#includes dependencies.
2004-07-03 13:30:31 +00:00
Benoît Dejean
50f086cb68 Added. These functions are commonly used. Misc cleanups.
* glibtop_server.h:
	* glibtop_server.c: (try_file_to_buffer), (file_to_buffer): Added. These
	functions are commonly used. Misc cleanups.

	* cpu.c: (glibtop_get_cpu_s):
	* loadavg.c: (glibtop_get_loadavg_s):
	* mem.c: (glibtop_get_mem_s):
	* open.c: (glibtop_open_s):
	* swap.c: (glibtop_get_swap_s):
	* sysinfo.c: (init_sysinfo):
	* uptime.c: (glibtop_get_uptime_s): Replaced open/read/close by file_to_buffer().
2004-07-03 13:28:59 +00:00
Laurent Dhima
8eae848c3f Translation updated.
2004-06-28  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Translation updated.
2004-06-28 15:15:22 +00:00
John C Barstow
d8a9aebdf5 Added mi to ALL_LINGUAS.
2004-06-26  John C Barstow  <jbowtie@amathaine.com>

	* configure.in: Added mi to ALL_LINGUAS.
2004-06-26 07:59:09 +00:00
John C Barstow
76c967224b Translation added.
2004-06-26  John C Barstow  <jbowtie@amathaine.com>

	* mi.po: Translation added.
2004-06-26 07:59:07 +00:00
Benoît Dejean
a08c8d96bb *** empty log message *** 2004-06-20 22:10:52 +00:00
Benoît Dejean
b279819639 *** empty log message *** 2004-06-18 20:33:01 +00:00
Benoît Dejean
99723e15ba Also tries C99 __VA_ARGS__ before using functions.
* include/glibtop/error.h: Also tries C99 __VA_ARGS__ before using
	functions.
2004-06-18 20:28:48 +00:00
Benoît Dejean
6b3d52ff0e Moved 8 static error functions to sysdeps/common/error.c. This is the end
* include/glibtop/error.h: Moved 8 static error functions to
        sysdeps/common/error.c. This is the end of an big useless code
        bloat : expect ~8KB of object size reduction.

        * include/glibtop/procuid.h: s/int/gint32/g

        * lib/errors.c: (glibtop_error_quark):
        * lib/read.c: (do_read), (glibtop_read_l):
        * lib/read_data.c: (glibtop_read_data_l): Minor cleanups.
2004-06-18 07:38:37 +00:00
Benoît Dejean
bb01063e93 These functions are now globally defined.
* error.c: (print_server_name), (glibtop_error_r),
        (glibtop_warn_r), (glibtop_error_io_r), (glibtop_warn_io_r),
        (glibtop_error), (glibtop_warn), (glibtop_error_io),
        (glibtop_warn_io): These functions are now globally defined.
2004-06-18 07:33:23 +00:00
Benoît Dejean
e12ac5f40c Whitespace cleanup.
* loadavg.c: (glibtop_get_loadavg_s): Whitespace cleanup.

        * ppp.c: (get_ISDN_stats), (is_ISDN_on): Replace g_malloc by an
        array.

        * glibtop_server.c: (get_pageshift):
        * glibtop_server.h:
        * procmem.c: (glibtop_init_proc_mem_s), (glibtop_get_proc_mem_s):
        * procsegment.c: (glibtop_init_proc_segment_s),
        (glibtop_get_proc_segment_s): Moved the pageshift calculation to
        glibtop_server.[ch]

        * procstate.c: (glibtop_get_proc_state_s):
        * procuid.c: (glibtop_get_proc_uid_s):
        * sysinfo.c: (init_sysinfo): Minor cleanups.
2004-06-18 07:24:58 +00:00
Benoît Dejean
34e322e7c2 Added IPv6 feature : provides address, prefix and scope. This breaks the
* sysdeps/names/netload.c:
        * include/glibtop/netload.h: Added IPv6 feature : provides address,
        prefix and scope. This breaks the ABI. Not documented yet : check
        this file.
2004-06-18 06:52:09 +00:00
Benoît Dejean
559f481354 Implemented new IPv6 feature.
* netload.c: (glibtop_get_netload_s): Implemented new IPv6 feature.
2004-06-18 06:51:45 +00:00
Benoît Dejean
bb4397aec8 Replaced by g_file_get_contents.
* procargs.c: (glibtop_get_proc_args_s): Replaced by g_file_get_contents.
2004-06-13 09:55:38 +00:00
Benoît Dejean
7eeae24a4a Replaced by g_file_get_contents.
* procargs.c: (glibtop_get_proc_args_s): Replaced by g_file_get_contents.
2004-06-13 09:47:24 +00:00
Benoît Dejean
7fe2ca8cd7 *** empty log message *** 2004-06-13 08:19:59 +00:00
Benoît Dejean
16bcad422c Re-implemented. Fixed segfault on SMP. Stores keys in cpuinfo->labels
* sysinfo.c: (init_sysinfo): Re-implemented.
	Fixed segfault on SMP.
	Stores keys in cpuinfo->labels
2004-06-13 08:19:28 +00:00
Benoît Dejean
3881c09b51 Added missing const qualifier.
* sysinfo.c: Added missing const qualifier.
2004-06-12 23:32:29 +00:00
Benoît Dejean
cd8b43e1d1 Fixed segfault on SMP.
* sysinfo.c: (init_sysinfo): Fixed segfault on SMP.
2004-06-12 23:21:29 +00:00
Benoît Dejean
6a10d1ada9 Fixed segfault on SMP.
* sysinfo.c: (init_sysinfo): Fixed segfault on SMP.
2004-06-12 22:55:20 +00:00
Benoît Dejean
a415d909a2 Changed get_sysinfo prototype so that it returns a const pointer. Added
* include/glibtop/sysinfo.h: Changed get_sysinfo prototype so that it
	returns a const pointer. Added missing macro.
2004-06-12 22:39:14 +00:00
Benoît Dejean
09febbf67d Cleaned. (proc_file_to_buffer): Uninlined.
* glibtop_server.h:
	* glibtop_server.c: (get_scaled): Cleaned.
	(proc_file_to_buffer): Uninlined.

	* sysinfo.c: (init_sysinfo): Re-implemented.
2004-06-12 22:37:35 +00:00
Benoît Dejean
d5b8a71e5b block_size is now defined as a guint32 instead of a fuzzy gint.
* include/glibtop/fsusage.h: block_size is now defined as a guint32
	instead of a fuzzy gint.

	* lib/sysdeps.c: (glibtop_get_sysdeps_r): Small cleanup.
2004-06-12 15:39:31 +00:00
Benoît Dejean
f03e2d3c11 Removed files.
* Makefile.am:
	* fsusage-frontend.c:
	* fsusage.h: Removed files.

	* fsusage.c: (glibtop_get_fsusage_s), (statfs): Merged and cleaned.
2004-06-12 15:37:44 +00:00
Benoît Dejean
ac2b8285ab Added missing initializer.
* lib/init.c: Added missing initializer.
2004-06-12 12:50:01 +00:00
Benoît Dejean
4de267e394 Removed, replaced by ISO strtoull. (fstype_to_string): Cleaned.
* mountlist.c: (xatoi) Removed, replaced by ISO strtoull.
	(fstype_to_string): Cleaned.
	(read_filesystem_list) : Changed prototype. Cleaned and secured.
	Replaced broken free by g_free.
	(ignore_mount_entry): Added.
	(glibtop_get_mountlist_s): Cleaned. Better allocation algorithm.
	@all_fs has now a real meaning, see the documentation.
2004-06-12 12:48:37 +00:00
Benoît Dejean
10d56bd5fc Added to repository.
* Makefile.am:
	* glibtop_server.c: Added to repository.

	* glibtop_server.h: (get_scaled): Uninlined and moved it to glibtop_server.c.
	(skip_token) : Fixed indentation.

	* procmap.c: (glibtop_get_proc_map_s): Big cleanup. Better allocation
	algorithm.

	* procmem.c:
	* procsegment.c: Added missing initializations.

	* sem_limits.c:
	* shm_limits.c: (glibtop_get_shm_limits_s):
	* swap.c:
	* uptime.c: Added missing const qualifiers.

	* sysinfo.c: (init_sysinfo): Added missing 0 initialization.
	Saved 1 gboolean :D.
2004-06-12 12:05:49 +00:00
Benoît Dejean
70b0925a82 whitespace clean up.
* *.{c,h} : whitespace clean up.
2004-06-09 18:52:22 +00:00
Benoît Dejean
b0edf88ff7 Whitespace clean up.
* procuid.c: (glibtop_get_proc_uid_s): Whitespace clean up.
2004-06-08 21:12:10 +00:00
Benoît Dejean
4fe066a430 Small clean up.
* glibtop_server.h: Small clean up.
2004-06-08 08:41:53 +00:00
Benoît Dejean
95d39a87c8 Cleaned.
* lib/parameter.c:
	* support/popt.c: (poptGetContext): Cleaned.

	* support/vsnprintf.c: s/strncpy/g_strlcpy
2004-06-06 22:10:29 +00:00
Benoît Dejean
54fb1482ba Removed. Cleaned. Replaced unsafe strcpy by g_strlcpy.
* glibtop_machine.h (skip_token): Removed.
	* glibtop_server.h (skip_multiple_token): Cleaned.
	* netload.c: (glibtop_get_netload_s): Replaced unsafe strcpy by g_strlcpy.
	* procmap.c: (glibtop_get_proc_map_s): s/strncpy/g_strlcpy/.
	* procstate.c: (glibtop_get_proc_state_s): Likewise.
	* sysinfo.c: (init_sysinfo): Cleaned.
2004-06-06 22:07:44 +00:00
Benoît Dejean
2f87aa4479 s/strncpy/g_strlcpy/.
* netload.c: (glibtop_get_netload_p):
	* procstate.c: (glibtop_get_proc_state_p):
	* prockernel.c: (glibtop_get_proc_kernel_p): s/strncpy/g_strlcpy/.

	* procargs.c: (glibtop_get_proc_args_p):
	* procmap.c: (glibtop_get_proc_map_p): Cleaned.
2004-06-06 22:03:57 +00:00
Benoît Dejean
31e8abe019 Used g_memdup.
* proclist.c: (glibtop_get_proclist_s): Used g_memdup.
2004-06-06 21:59:59 +00:00
Benoît Dejean
d8cb4ccdf7 Cleaned. Replaced multiple strcpy/cat by g_strdup_printf. Replaced strncpy
* gnuslib.c: (connect_to_internet_server): Cleaned.
	* mountlist.c: (glibtop_get_mountlist_s): Replaced multiple strcpy/cat by
	g_strdup_printf. Replaced strncpy by g_strlcpy.
2004-06-06 21:58:51 +00:00
Benoît Dejean
45f2f19c3a Removed duplicated memset. Replaced strncpy by g_strlcpy.
* procdata.c: (glibtop_get_procdata_r): Removed duplicated memset.
	* procstate.c: (glibtop_get_proc_state_p): Replaced strncpy by g_strlcpy.
2004-06-06 21:25:24 +00:00
Benoît Dejean
fe494bc846 Removed useless tests. Replace g_malloc + memset by g_malloc0 Replace
* proclist.c: (glibtop_get_proclist_s): Removed useless tests.
	* procmap.c: (glibtop_get_proc_map_s): Replace g_malloc + memset
	by g_malloc0
	* procstate.c: (glibtop_get_proc_state_s): Replace strncpy by g_strlcpy.
2004-06-06 21:23:56 +00:00
Benoît Dejean
7de929d2d7 Removed never executed if statements. Used g_strlcpy instead of strncpy.
* procargs.c: (glibtop_get_proc_args_s): Removed never executed if statements.
	* procstate.c: (glibtop_get_proc_state_s): Used g_strlcpy instead of
	strncpy.
2004-06-06 21:21:27 +00:00
Benoît Dejean
bc4a882c4a Converted to UTF-8.
* ChangeLog: Converted to UTF-8.
2004-05-28 05:30:39 +00:00
Benoît Dejean
75291a665c Added missing #include. Converted to UTF-8.
* examples/*: Added missing #include.
	* ChangeLog: Converted to UTF-8.
2004-05-28 05:30:20 +00:00
Benoît Dejean
5af13a2a6a Cleaned whitespaces.
* cpu.c: (glibtop_get_cpu_s): Cleaned whitespaces.

	* open.c: (get_linux_version), (glibtop_open_s): Removed get_linux_version()
	Cleaned. Remove static struct utsname.
2004-05-26 16:52:32 +00:00
Benoît Dejean
0cdaaf1f62 Moved LINUX_VERSION macro to glibtop_server.h.
* glibtop_server.h:
	* open.c:
	* procuid.c: Moved LINUX_VERSION macro to glibtop_server.h.

	* Changelog: Converted to UTF-8.
2004-05-26 11:51:09 +00:00
Benoît Dejean
0a761f37f2 Removed Linux related code.
* procdata.c: (glibtop_get_procdata_s): Removed Linux related code.
2004-05-26 11:44:00 +00:00
Benoît Dejean
dc3027c438 Added missing const qualifiers.
* sem_limits.c:
	* shm_limits.c:
	* swap.c: Added missing const qualifiers.

	* uptime.c: (glibtop_get_uptime_s): Cleaned up. Added boot_time.
2004-05-25 17:12:39 +00:00
Benoît Dejean
74453855aa Added missing const qualifiers.
* loadavg.c: (glibtop_get_loadavg_s):
	* msg_limits.c:
	* sem_limits.c:
	* shm_limits.c: Added missing const qualifiers.
2004-05-25 17:07:20 +00:00
Benoît Dejean
b15f542bfc Added boot_time. Added missing #include.
* uptime.c: (glibtop_get_uptime_p): Added boot_time.
	Added missing #include.
2004-05-25 14:44:45 +00:00
Benoît Dejean
1faa40ce18 Added boot_time.
* uptime.c: (glibtop_get_uptime_p): Added boot_time.
2004-05-25 14:42:51 +00:00
Benoît Dejean
4e4a2bcbed Cast to size_t to remove warning. Cvs:
* gnuserv.c: (permitted): Cast to size_t to remove warning.
Cvs: ----------------------------------------------------------------------
2004-05-25 14:39:13 +00:00
Benoît Dejean
0de7c96d2a Added test for end of string. (get_scaled): Cleaned.
* glibtop_server.h (skip_line): Added test for end of string.
        (get_scaled): Cleaned.

        * cpu.c (glibtop_get_cpu_s):
        * open.c (glibtop_open_s): Fixed SMP detection. Closes #142597.
        * uptime.c (glibtop_get_uptime_s): Added boot_time.
2004-05-25 14:33:46 +00:00
Baris Cicek
f070fea744 Updated Turkish Translation 2004-05-14 17:03:48 +00:00
Iñaki Larrañaga Murgoitio
f416087865 2004/04/16 Iñaki Larrañaga <dooteo@euskalgnu.org>
* configure.in: Added "eu" (Basque) to ALL_LINGUAS.
2004-04-16 10:34:29 +00:00
Iñaki Larrañaga
cc8b169a8e Added Basque translation.
2004-04-16  Iñaki Larrañaga  <dooteo@euskalgnu.org>

        * eu.po: Added Basque translation.
2004-04-16 10:33:59 +00:00
Andras Timar
31eb5d64cc Updated Hungarian translation.
2004-04-15  Andras Timar  <timar@gnome.hu>

	* hu.po: Updated Hungarian translation.
2004-04-14 22:31:12 +00:00
Guntupalli Karunakar
5670749242 added gujarati translation 2004-04-09 15:56:11 +00:00
Bastien Nocera
892c59f8a8 version 2.6.0
2004-04-07  Bastien Nocera  <hadess@hadess.net>

	* configure.in: version 2.6.0
2004-04-07 10:28:35 +00:00
Bastien Nocera
07ec479243 fix typo in the #defines for FSUSAGE_BLOCK_SIZE (patch by Benot Dejean
2004-04-07  Bastien Nocera  <hadess@hadess.net>

	* include/glibtop/fsusage.h: fix typo in the #defines for
	FSUSAGE_BLOCK_SIZE (patch by Benot Dejean <TazForEver@free.fr>)

2004-04-07  Bastien Nocera  <hadess@hadess.net>

	* prockernel.c: (glibtop_get_proc_kernel_p): patch for NetBSD/AMD64
	support (Julio M. Merino Vidal <jmmv@menta.net>)
2004-04-07 10:05:51 +00:00
Adam Weinberger
45b69b3277 Added en_CA (Canadian English) to ALL_LINGUAS. Added Canadian English
* configure.in: Added en_CA (Canadian English) to ALL_LINGUAS.
	* po/en_CA.po: Added Canadian English translation.
2004-03-30 20:55:07 +00:00
Åsmund Skjæveland
ea9147a717 Updated Norwegian Nynorsk translation.
2004-03-23  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2004-03-23 11:03:08 +00:00
Gareth Owen
dc0de7a8c0 Updated British translation 2004-03-22 14:13:56 +00:00
Guntupalli Karunakar
5884e4c6d7 added punjabi translations 2004-03-22 11:35:24 +00:00
Andras Timar
0ef0f65d95 Added Hungarian translation.
2004-03-21  Andras Timar  <timar@gnome.hu>

	* hu.po: Added Hungarian translation.
2004-03-21 14:44:40 +00:00
Mugurel Tudor
355a8dd9b9 Updated Romanian translation by Misu Moldovan <dumol@go.ro>
2004-03-18  Mugurel Tudor  <mugurelu@go.ro>

	* ro.po: Updated Romanian translation
	by Misu Moldovan <dumol@go.ro>
2004-03-18 21:26:31 +00:00
Bastien Nocera
2b221cbb1f set GLIBTOP_MAX_FSUSAGE properly, use gint in the headers instead of int
2004-03-15  Bastien Nocera  <hadess@hadess.net>

	* include/glibtop/fsusage.h: set GLIBTOP_MAX_FSUSAGE properly,
	use gint in the headers instead of int (Closes: #125049)


2004-03-15  Bastien Nocera  <hadess@hadess.net>

	* fsusage.c:
	* fsusage.h: remove use of uintmax_t
2004-03-16 10:10:41 +00:00
Dafydd Harries
1cffda35ec Updated Welsh translation. 2004-03-16 02:49:27 +00:00
Alessio Frusciante
64b86ef8e3 Updated Italian translation. 2004-03-15 20:05:17 +00:00
Yuri Syrota
aa7d624aca Updated Ukrainian translation 2004-03-15 10:27:25 +00:00
Ales Nyakhaychyk
bb174b24e9 Updated Belarusian translation. 2004-03-13 17:27:44 +00:00
Tomasz Kłoczko
1d00248f3d added Plural-Forms field in header and missing empty entries.
* hr.po: added Plural-Forms field in header and missing empty entries.
2004-03-12 07:34:17 +00:00
Gustavo Maciel Dias Vieira
c2895a9aa0 Updated Brazilian Portuguese translation done by Medina
2004-03-11  Gustavo Maciel Dias Vieira  <gdvieira@zaz.com.br>

        * pt_BR.po: Updated Brazilian Portuguese translation done by
        Medina <afmedina@uol.com.br>.
2004-03-11 16:29:56 +00:00
Kjartan Maraas
576aed18ba Up versions etc. Update foo.
2004-03-11  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Up versions etc.
	* po/am.po: Update foo.
	* po/ar.po:
	* po/az.po:
	* po/be.po:
	* po/bg.po:
	* po/bn.po:
	* po/ca.po:
	* po/cs.po:
	* po/cy.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/es.po:
	* po/et.po:
	* po/fa.po:
	* po/fi.po:
	* po/fr.po:
	* po/ga.po:
	* po/gl.po:
	* po/he.po:
	* po/hi.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/ko.po:
	* po/lt.po:
	* po/lv.po:
	* po/mk.po:
	* po/ml.po:
	* po/mn.po:
	* po/ms.po:
	* po/nl.po:
	* po/nn.po:
	* po/no.po:
	* po/pl.po:
	* po/pt.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sr@Latn.po:
	* po/sv.po:
	* po/ta.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* po/zh_TW.po:

2004-03-11  Bastien Nocera  <hadess@hadess.net>

	* NEWS: update the NEWS file for the release
2004-03-11 16:17:53 +00:00
Bastien Nocera
a4ee15727c update the NEWS file for the release
2004-03-11  Bastien Nocera  <hadess@hadess.net>

	* NEWS: update the NEWS file for the release
2004-03-11 15:39:13 +00:00
Dmitry Mastrukov
6cd93d82a0 ru.po: Updated Russian translation from Russian team <gnome-cyr@gnome.org>. 2004-03-11 13:34:54 +00:00
Bastien Nocera
1d73fbed99 fix distchecking
2004-03-11  Bastien Nocera  <hadess@hadess.net>

	* include/Makefile.am: fix distchecking
2004-03-11 12:13:54 +00:00
Benoît Dejean
89e79ee51f fixup CPU usage calculation on 2.6 kernels (patch by Benoit Dejean
* cpu.c: (glibtop_get_cpu_s): fixup CPU usage calculation on 2.6
        kernels (patch by Benoit Dejean <bnet@ifrance.com>) (Closes: #134252) (again)
2004-03-10 00:15:39 +00:00
Bastien Nocera
f3be4b50a9 fixup CPU usage calculation on 2.6 kernels (patch by Benoit Dejean
2004-03-09  Bastien Nocera  <hadess@hadess.net>

	* cpu.c: (glibtop_get_cpu_s): fixup CPU usage calculation on 2.6
	kernels (patch by Benoit Dejean <bnet@ifrance.com>) (Closes: #134252)
2004-03-09 23:44:12 +00:00
Bastien Nocera
ab1d1077d6 fix build (we don't have "full-read.h" here)
2004-03-09  Bastien Nocera  <hadess@hadess.net>

	* fsusage.c: fix build (we don't have "full-read.h" here)
2004-03-09 23:32:08 +00:00
Bastien Nocera
3c7c79944c - oopsie, forgot some files 2004-03-09 23:29:48 +00:00
Ole Laursen
897db07104 Added block_size field. (Closes: #125049)
2003-12-27  Ole Laursen  <olau@hardworking.dk>

	* include/glibtop/fsusage.h: Added block_size field. (Closes: #125049)
2004-03-09 23:28:48 +00:00
Bastien Nocera
4bd9752d52 implement NetBSD support, and some build problems on FreeBSD (Closes:
2004-03-09  Bastien Nocera  <hadess@hadess.net>

	* Makefile.am:
	* cpu.c: (glibtop_init_cpu_p), (glibtop_get_cpu_p):
	* glibtop_machine.h:
	* mem.c:
	* netload.c: (glibtop_get_netload_p):
	* prockernel.c: (glibtop_get_proc_kernel_p):
	* proclist.c: (glibtop_get_proclist_p):
	* procmap.c: (glibtop_get_proc_map_p):
	* procmem.c: (glibtop_get_proc_mem_p):
	* procsignal.c: (glibtop_get_proc_signal_p):
	* procstate.c: (glibtop_get_proc_state_p):
	* proctime.c:
	* procuid.c: (glibtop_get_proc_uid_p):
	* uptime.c: (glibtop_get_uptime_p): implement NetBSD support, and
	some build problems on FreeBSD (Closes: #135674)
2004-03-09 23:13:31 +00:00
Bastien Nocera
a795ff4847 fix g_malloc usage on non-Linux platforms (patch by Benoit Dejean
2004-03-09  Bastien Nocera  <hadess@hadess.net>

	* fix g_malloc usage on non-Linux platforms (patch by Benoit
	Dejean <bnet@ifrance.com>)
2004-03-09 23:02:06 +00:00
Alessio Frusciante
58c15ceeda Updated Italian translation. 2004-03-09 23:00:11 +00:00
Funda Wang
f3e89490d4 Updated Simplified Chinese translation 2004-03-07 11:12:58 +00:00
Mətin Əmirov
10e619439e Translation updated.
2004-03-06  Mətin Əmirov  <metin@karegen.com>

	* az.po: Translation updated.
2004-03-06 20:39:07 +00:00
Bastien Nocera
05f3377934 patch by Benoit Dejean <bnet@ifrance.com> to break the API, I mean, to
2004-03-05  Bastien Nocera  <hadess@hadess.net>

	* include/glibtop/procmap.h: patch by Benoit Dejean <bnet@ifrance.com>
	to break the API, I mean, to make it easier to generate Python bindings
	(Closes: #129701)
2004-03-05 19:50:41 +00:00
Bastien Nocera
2ae3495a87 remove dependency on libgnome, check for linux/isdn.h for distros using
2004-03-04  Bastien Nocera  <hadess@hadess.net>

        * configure.in:
        * include/libgtop-i18n.h:
        * lib/lib.pl:
        * lib/read.c:
        * lib/read_data.c:
        * lib/write.c:
        * sysdeps/names/cpu.c:
        * sysdeps/names/fsusage.c:
        * sysdeps/names/loadavg.c:
        * sysdeps/names/mem.c:
        * sysdeps/names/mountlist.c:
        * sysdeps/names/msg_limits.c:
        * sysdeps/names/netload.c:
        * sysdeps/names/ppp.c:
        * sysdeps/names/procargs.c:
        * sysdeps/names/prockernel.c:
        * sysdeps/names/proclist.c:
        * sysdeps/names/procmap.c:
        * sysdeps/names/procmem.c:
        * sysdeps/names/procsegment.c:
        * sysdeps/names/procsignal.c:
        * sysdeps/names/procstate.c:
        * sysdeps/names/proctime.c:
        * sysdeps/names/procuid.c:
        * sysdeps/names/sem_limits.c:
        * sysdeps/names/shm_limits.c:
        * sysdeps/names/swap.c:
        * sysdeps/names/sysdeps.c:
        * sysdeps/names/uptime.c: remove dependency on libgnome,
        check for linux/isdn.h for distros using the 2.6 kernel headers
2004-03-04 15:29:16 +00:00
Guntupalli Karunakar
bbea6f3e16 updated hindi translation 2004-02-26 12:52:39 +00:00
Laurent Dhima
74afd1c1d1 Fixed Albanian translation
* sq.po: Fixed Albanian translation
2004-02-23 14:35:50 +00:00
Laurent Dhima
1c57c82637 Korrigjime 2004-02-23 14:32:31 +00:00
Nikos Charonitakis
857b940e93 Updated Greek translation 2004-02-21 10:49:33 +00:00
Kevin Vandersloot
aac28131d8 2004-02-07 Kevin Vandersloot
* configure.in: release 2.5.1
2004-02-15 19:13:05 +00:00
Frédéric Crozat
a3c4323de4 Move entries between Changelog.. 2004-02-11 15:30:38 +00:00
Changwoo Ryu
6ae17d92b2 Updated Korean translation.
* ko.po: Updated Korean translation.
2004-02-07 16:03:29 +00:00
Denis Lackovic
0fa183a762 *** empty log message *** 2004-02-07 08:03:47 +00:00
Pauli Virtanen
567da04f9c Updated Finnish translation.
2004-02-05  Pauli Virtanen  <pauli.virtanen@hut.fi>

	* fi.po: Updated Finnish translation.
2004-02-05 22:11:49 +00:00
Sebastien Bacher
a046e42f3f patch from Benot Dejean <bnet@ifrance.com> to fix libtop_mem.used and
2004-02-02  Sebastien Bacher  <seb128@debian.org>

	* sysdeps/linux/mem.c: (glibtop_get_mem_s): patch from
	Benot Dejean <bnet@ifrance.com> to fix libtop_mem.used
	and glibtop_mem.shared values (Closes: #129863).
2004-02-02 20:02:02 +00:00
Laurent Dhima
c881020dc3 Updated Albanian translation
* sq.po: Updated Albanian translation
2004-02-02 12:46:23 +00:00
Laurent Dhima
116348de15 Updated 2004-02-02 12:44:23 +00:00
Mətin Əmirov
b48b12e12b Translation updated.
2004-01-31  Mətin Əmirov  <metin@karegen.com>

	* az.po: Translation updated.
2004-01-31 20:15:00 +00:00
Miloslav Trmac
1c61b27933 Fixed Czech translation 2004-01-28 11:28:29 +00:00
Alastair McKinstry
7b86568eb0 Updated Irish translation 2004-01-26 22:25:16 +00:00
Alessio Frusciante
60ccb2ca26 Updated Italian translation. 2004-01-24 18:15:58 +00:00
Changwoo Ryu
1cc7293497 Updated Korean translation.
* ko.po: Updated Korean translation.
2004-01-16 17:42:14 +00:00
Laurent Dhima
62ee900299 Updated Albanian translation
* sq.po: Updated Albanian translation
2004-01-15 17:32:07 +00:00
Laurent Dhima
00f9d271f2 Updated 2004-01-15 17:30:38 +00:00
Artur Flinta
16073f4179 Updated Polish translation by GNOME PL Team.
2004-01-13  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2004-01-13 14:55:20 +00:00
Kjartan Maraas
a3a2c8cf21 Updated Norwegian translation.
2004-01-13  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian translation.
2004-01-12 23:33:27 +00:00
Jonathan Blandford
d9aca3dd2c Should be -lgtop-2.0, #130506
Wed Jan  7 02:23:28 2004  Jonathan Blandford  <jrb@gnome.org>

	* libgtop-2.0.pc.in: Should be -lgtop-2.0, #130506
2004-01-07 07:27:53 +00:00
Christian Rose
a931b14a9b Updated Swedish translation.
2004-01-06  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2004-01-06 01:45:55 +00:00
Åsmund Skjæveland
87f2a442d9 Updated Norwegian Nynorsk translation.
2004-01-06  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2004-01-06 01:04:26 +00:00
Sanlig Badral
d06db7bd7a Updated Mongolian translation 2004-01-05 20:54:47 +00:00
Frédéric Crozat
49aa40e524 License is GPL, not LGPL.
* libgtop.spec.in: License is GPL, not LGPL.
2004-01-05 14:04:14 +00:00
Malcolm Tredinnick
955b2d5c82 Include -lgtop in the linking flags. Bug #130506.
* libgtop-2.0.pc.in: Include -lgtop in the linking flags.
	Bug #130506.
2004-01-04 21:57:08 +00:00
Christian Neumair
e25dba32e2 Updated German translation. 2004-01-04 17:42:16 +00:00
Christophe Merlet
bf20705511 Updated French translation. 2004-01-04 12:11:58 +00:00
Duarte Loreto
53a7a2e40c Updated and revised Portuguese translation.
2004-01-04  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated and revised Portuguese translation.
2004-01-04 02:50:18 +00:00
Denis Lackovic
e8d4ffed34 *** empty log message *** 2004-01-03 18:34:25 +00:00
Sanlig Badral
056a7e5cc5 Updated Mongolian translation 2004-01-03 13:34:57 +00:00
Sanlig Badral
c1fd4120c5 Updated Mongolian translation 2004-01-02 16:24:16 +00:00
Görkem Çetin
d076fa81cc CVS_SILENT 2003-12-28 21:04:44 +00:00
Bastien Nocera
79fdd6cd3b Apply patch from Benoît Dejean <bnet@ifrance.com> to fix overflow issues
2003-12-23  Bastien Nocera  <hadess@hadess.net>

	* cpu.c: (glibtop_get_cpu_s):
	* glibtop_server.h:
	* loadavg.c: (glibtop_get_loadavg_s):
	* mem.c: (glibtop_get_mem_s):
	* netload.c: (glibtop_get_netload_s):
	* prockernel.c: (glibtop_get_proc_kernel_s):
	* procmem.c: (glibtop_get_proc_mem_s):
	* procsegment.c: (glibtop_get_proc_segment_s):
	* procsignal.c: (glibtop_get_proc_signal_s):
	* proctime.c: (glibtop_get_proc_time_s):
	* procuid.c: (glibtop_get_proc_uid_s):
	* swap.c: (glibtop_get_swap_s): Apply patch from Benoît Dejean
	<bnet@ifrance.com> to fix overflow issues using strtol
	(Closes: #129881)
2003-12-23 10:44:33 +00:00
Bastien Nocera
291d63f2b9 Fix calculation of used memory, patch by Benoît Dejean,
2003-12-23  Bastien Nocera  <hadess@hadess.net>

	* mem.c: (glibtop_get_mem_s): Fix calculation of used memory,
	patch by Benoît Dejean, <bnet@ifrance.com> (Closes: #129863)
2003-12-23 10:39:25 +00:00
Bastien Nocera
f93de2fd0b remove linking to libgtop and checks for 64-bit integer bytes (fixes
2003-12-22  Bastien Nocera  <hadess@hadess.net>

	* acinclude.m4:
	* configure.in: remove linking to libgtop and checks for 64-bit
	integer bytes (fixes warning on build on glib 2.0 systems)
2003-12-22 22:55:40 +00:00
Francisco F. Serrador
cea6b6292d *es.po: Updated Spanish translation
2003-12-14  Francisco F. Serrador <serrador@cvs.gnome.org>

	*es.po: Updated Spanish translation
2003-12-14 10:54:41 +00:00
Jon Kåre Hellan
9ea55a3f4d Copy needed defines from linux/isdn.h instead of
including it, unbreaking build with linux 2.6 kernel headers.
2003-12-07 00:10:38 +00:00
Sanlig Badral
310a51dd8f Updated Mongolian translation 2003-12-03 10:41:10 +00:00
Miloslav Trmac
0cd19c9db1 Update Czech tarnslation 2003-12-02 20:27:49 +00:00
Ole Laursen
04290020ea Updated Danish translation.
2003-11-20  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2003-11-20 20:23:27 +00:00
Hasbullah Bin Pit
315397219b Updated Malay translation.
2002-03-10  Hasbullah Bin Pit <sebol@ikhlas.com>

        * ms.po: Updated Malay translation.
2003-11-10 19:42:00 +00:00
Vincent van Adrighem
b836fa0c60 Dutch translation updated by Jeroen van der Vegt.
2003-11-07   Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Dutch translation updated by Jeroen van der Vegt.
2003-11-06 23:48:41 +00:00
Vincent van Adrighem
765064dd80 Dutch translation updated by Jeroen van der Vegt.
2003-11-04   Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Dutch translation updated by Jeroen van der Vegt.
2003-11-03 23:12:10 +00:00
Jordi Mallach
02d7b4b3de Updated Catalan translation. 2003-11-03 14:18:20 +00:00
Zygimantas Berucka
fc130166dd Added "lt" to ALL_LINGUAS. Added Lithuanian translation.
2003-11-02  Zygimantas Berucka  <uid0@tuxfamily.org>

* configure.in: Added "lt" to ALL_LINGUAS.
* po/lt.po: Added Lithuanian translation.
2003-11-02 11:29:00 +00:00
KAMAGASAKO Masatoshi
1625b5304f Updated Japanese translation.
2003-11-02  KAMAGASAKO Masatoshi  <emerald@gnome.gr.jp>

	* ja.po: Updated Japanese translation.
2003-11-02 02:53:37 +00:00
Marcel Telka
3a3ac84cae Updated Slovak translation.
2003-11-01  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2003-11-01 06:45:04 +00:00
Kostas Papadimas
db6de7b017 Updated the Greek translation 2003-10-30 20:53:42 +00:00
Danilo Šegan
a544c1ddb0 Updated Serbian translation.
2003-10-22  Danilo Šegan  <dsegan@gmx.net>

	* sr.po, sr@Latn.po: Updated Serbian translation.
2003-10-22 00:00:07 +00:00
Bastien Nocera
31133cc3dc install only one library, libgtop-2.0 Fix build-time warnings due to the
2003-10-21  Bastien Nocera  <hadess@hadess.net>

	* Makefile.am:
	* configure.in:
	* src/inodedb/.cvsignore:
	* sysdeps/names/Makefile.am:
	install only one library, libgtop-2.0
	Fix build-time warnings due to the redefinition of guint64
2003-10-21 21:21:28 +00:00
Bastien Nocera
58b323cfab apply patch for ngettext support by Christian Neumair <chris@gnome-de.org>
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* lib/read.c: (glibtop_read_l):
	* lib/read_data.c: (glibtop_read_data_l):
	* lib/write.c: (glibtop_write_l): apply patch for ngettext support
	by Christian Neumair <chris@gnome-de.org>
2003-10-20 21:33:01 +00:00
Bastien Nocera
07d991f383 Apply patch by the_h1ghlander@yahoo.com and Cory Omand
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* include/glibtop/cpu.h:
	* include/glibtop/procstate.h:
	* include/glibtop/procuid.h:
	* include/glibtop/uptime.h:
	* lib/sysdeps.c:
	* sysdeps/names/cpu.c:
	* sysdeps/names/procstate.c:
	* sysdeps/names/procuid.c:
	* sysdeps/names/uptime.c: Apply patch by the_h1ghlander@yahoo.com and
	Cory Omand <cory.omand@Sun.com> for Solaris support
2003-10-20 21:27:31 +00:00
Bastien Nocera
a50e5fdc9a fix compilation, thanks Jeff
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* inodedb.c: (glibtop_inodedb_close_s): fix compilation, thanks Jeff
2003-10-20 20:52:13 +00:00
Bastien Nocera
10305e7fd0 link to libgtop_suid_common-2.0.la (Closes: #107990)
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* src/inodedb/Makefile.am: link to libgtop_suid_common-2.0.la
	(Closes: #107990)
2003-10-20 20:47:58 +00:00
Bastien Nocera
33fb22edd3 committing patch from Sebastien Bacher <seb128@debian.org> for Linux 2.6
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* glibtop_server.h:
	* mem.c: (glibtop_get_mem_s):
	* swap.c: (glibtop_get_swap_s): committing patch from Sebastien
	Bacher <seb128@debian.org> for Linux 2.6 support (Closes: #104747)
2003-10-20 20:41:16 +00:00
Bastien Nocera
b2283f7c79 - s/u_int64_t/guint64/ 2003-10-20 20:12:28 +00:00
Bastien Nocera
adc9a55578 fix swap sizes in FreeBSD, patch by edwin@mavetju.org
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* swap.c: (glibtop_get_swap_p): fix swap sizes in FreeBSD,
	patch by edwin@mavetju.org
2003-10-20 19:53:28 +00:00
Bastien Nocera
ac8f958305 fix distchecking, release 2.5.0
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* Makefile.am: fix distchecking, release 2.5.0
2003-10-20 16:33:13 +00:00
Bastien Nocera
40a615e1df fix the library versioning to be hand-made rather than uber-calculated
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* configure.in: fix the library versioning to be hand-made rather
	than uber-calculated from some esoteric numbers
2003-10-20 16:11:07 +00:00
Bastien Nocera
b67e4c7f7d - fixed compilation 2003-10-20 15:20:16 +00:00
Bastien Nocera
ba36a20cb8 - replace all the xmalloc crap by glib memory management functions 2003-10-20 13:55:44 +00:00
Bastien Nocera
af8478ca5f removed traces of guile, intllibs and libgnomesupport
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* lib/Makefile.am:
	* libgtop-config.in:
	* libgtop.spec.in:
	* libgtopConf.sh.in:
	* src/inodedb/Makefile.am: removed traces of guile, intllibs and
	libgnomesupport
2003-10-20 13:14:53 +00:00
Bastien Nocera
532aec1891 updated removed all traces of guile stuff removed
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* .cvsignore: updated
	* configure.in: removed all traces of guile stuff
	* sysdeps/guile/.cvsignore: removed
2003-10-20 13:02:32 +00:00
Bastien Nocera
cdfa0dfa1f removed guile
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* sysdeps/Makefile.am:
	* sysdeps/guile/ChangeLog:
	* sysdeps/guile/Makefile.am:
	* sysdeps/guile/guile.pl:
	* sysdeps/guile/names/.cvsignore:
	* sysdeps/guile/names/Makefile.am:
	* sysdeps/guile/names/guile-names.pl: removed guile
2003-10-20 12:57:18 +00:00
Bastien Nocera
21c4e155dd remove guile and libgnome-support stuff
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* Makefile.am:
	* configure.in: remove guile and libgnome-support stuff
2003-10-20 12:55:33 +00:00
Bastien Nocera
45273d9a44 make it compile
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* configure.in: make it compile
2003-10-20 12:13:15 +00:00
Carlos Perelló Marín
80aeb305c2 Removed, we use now POTFILES.skip
2003-10-19  Carlos Perelló Marín <carlos@gnome.org>

	* POTFILES.ignore: Removed, we use now POTFILES.skip
2003-10-19 17:16:36 +00:00
Carlos Perelló Marín
4c8ae9e25c Reverted libgtop changes. It's a common module and I should not modify it.
2003-10-19  Carlos Perelló Marín <carlos@gnome.org>

	* support/*: Reverted libgtop changes. It's a common module
	and I should not modify it.
	* Added/removed files. Now the move should be done.
2003-10-19 16:55:56 +00:00
Carlos Perelló Marín
bae16b467f libgtop-GNOME-2-0-branch moved to HEAD.
2003-10-19  Carlos Perelló Marín <carlos@gnome.org>

	* libgtop-GNOME-2-0-branch moved to HEAD.
2003-10-19 16:10:39 +00:00
Mugurel Tudor
5e28a55218 *** empty log message *** 2003-09-08 06:59:52 +00:00
Duarte Loreto
4d0bca118a Updated and fixed typos in Portuguese translation.
2003-08-25  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated and fixed typos in Portuguese translation.
2003-08-25 18:27:40 +00:00
Metin Amiroff
c3011b646c Updated Azerbaijani translation.
2003-08-18  Metin Amiroff <metin@karegen.com>

	* az.po: Updated Azerbaijani translation.
2003-08-18 10:47:19 +00:00
Danilo Šegan
b94a36c719 Updated Serbian translation.
2003-08-08  Danilo Šegan  <dsegan@gmx.net>

	* sr.po, sr@Latn.po: Updated Serbian translation.
2003-08-08 02:31:29 +00:00
Wang Jian
7aaa4454ab *** empty log message *** 2003-08-06 16:21:53 +00:00
Sajith VK
6572ee1baf The mass commit 2003-08-02 12:48:09 +00:00
Bill Nottingham
c95d39dde7 this library is GPL, not LGPL 2003-07-18 21:48:20 +00:00
Metin Amiroff
a32503df9b Updated Azerbaijani translation.
2003-07-13  Metin Amiroff  <metin@karegen.com>

	* az.po: Updated Azerbaijani translation.
2003-07-13 09:10:32 +00:00
Danilo Šegan
d31e33d4bf Updated Serbian translation by Serbian team (Prevod.org).
2003-05-16  Danilo Šegan  <dsegan@gmx.net>

	* sr.po, sr@Latn.po: Updated Serbian translation by Serbian
	team (Prevod.org).
2003-05-16 02:39:16 +00:00
Danilo Šegan
09becf3b7d Added "sr" and "sr@Latn" to ALL_LINGUAS.
2003-05-10  Danilo Šegan  <dsegan@gmx.net>

	* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.

	* po/sr.po, po/sr@Latn.po: Added Serbian translation by Serbian
	team (Prevod.org).
2003-05-10 18:06:35 +00:00
Abel Cheung
6e9589702f Added "id" to ALL_LINGUAS.
2003-04-30  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Added "id" to ALL_LINGUAS.
2003-04-30 23:21:30 +00:00
Christian Rose
ab7f98d2ff Added "ml" to ALL_LINGUAS. Added Malayalam translation by FSF-India
2003-03-13  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "ml" to ALL_LINGUAS.
	* po/ml.po: Added Malayalam translation by
	FSF-India <locale@gnu.org.in>.
2003-03-13 21:59:33 +00:00
Roozbeh Pournader
75b2832076 Added "fa" to ALL_LINGUAS. Added Persian translation.
2003-03-10  Roozbeh Pournader  <roozbeh@sharif.edu>

	* configure.in: Added "fa" to ALL_LINGUAS.
	* po/fa.po: Added Persian translation.
2003-03-10 12:01:21 +00:00
Metin Amiroff
142a323364 Updated Azerbaijani translation.
2003-02-21  Metin Amiroff  <metin@karegen.com>

	* az.po: Updated Azerbaijani translation.
2003-02-21 11:29:04 +00:00
Mohammad DAMT
3a4a550e06 Updated Indonesian translation
2003-02-11  Mohammad DAMT  <mdamt@bisnisweb.com>

	* id.po: Updated Indonesian translation
2003-02-11 08:36:10 +00:00
Christian Rose
2fc6e07c0f Some fixes for problems catched in translation review.
2003-02-09  Christian Rose  <menthos@menthos.com>

	* sv.po: Some fixes for problems catched in translation review.
2003-02-09 22:16:37 +00:00
Alessio Frusciante
2d4db7f03f Added Italian translation 2003-01-25 14:55:04 +00:00
Marius Andreiana
9b87f4586e updated ( thanks to Misu Moldovan )
2003-01-23  Marius Andreiana <marius galuna.ro>

	* ro.po: updated ( thanks to Misu Moldovan )
2003-01-23 14:08:30 +00:00
Christian Rose
9ff3af644c Added "mn" to ALL_LINGUAS. Added Mongolian translation by Sanlig Badral
2003-01-22  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "mn" to ALL_LINGUAS.
	* po/mn.po: Added Mongolian translation by
	Sanlig Badral <badral@chinggis.com>.
2003-01-22 02:20:36 +00:00
Daniel Yacob
ffb5f13711 Adding Amharic translations to HEAD branch. 2003-01-16 16:27:31 +00:00
Christophe Merlet
6dbc1e0d4a Updated French translation. 2002-12-18 16:24:52 +00:00
Stanislav Brabec
c660c08b6f Deleted cs.po from HEAD, should go to libgtop-GNOME-2-0-port branch. 2002-09-26 16:47:45 +00:00
Stanislav Brabec
2ce38167e1 Added Czech translation from Miloslav Trmac <mitr@volny.cz>.
2002-09-26  Stanislav Brabec  <sbrabec@suse.cz>

	* cs.po: Added Czech translation from Miloslav Trmac
	<mitr@volny.cz>.
2002-09-26 09:14:11 +00:00
Yanko Kaneti
7cad52aaa0 Added Bulgarian (bg).
2002-06-25  Yanko Kaneti <yaneti@declera.com>

   * configure.in: (ALL_LINGUAS) Added Bulgarian (bg).

po/

   * bg.po (added): Bulgarian translation by
   Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>.
2002-06-25 08:53:52 +00:00
Carlos Perelló Marín
61f8cb7ff2 file es_ES.po was initially added on branch libgtop-GNOME-2-0-port. 2002-05-28 13:59:54 +00:00
Pablo Saratxaga
f05ee369d5 Added Vietnamese file 2002-05-08 11:53:56 +00:00
Germn Poo-Caamao
c3bfcf38a8 Updated Spanish translation from Jos Antonio Salgueiro
2002-05-01  Germn Poo-Caamao  <gpoo@ubiobio.cl>

        * es.po: Updated Spanish translation from
		Jos Antonio Salgueiro <joseantoniosalgueiro@telefonica.net>.
2002-05-01 18:36:54 +00:00
Duarte Loreto
1552efa493 Added pt (Portuguese) to ALL_LINGUAS
2002-03-11  Duarte Loreto <happyguy_pt@hotmail.com>

        * configure.in: Added pt (Portuguese) to ALL_LINGUAS
2002-03-11 23:20:56 +00:00
Christian Rose
9bb1b80751 Fixed. Sorted. Added, contains files in the support directory. Removed,
2002-03-10  Christian Rose  <menthos@menthos.com>

	* .cvsignore: Fixed.
	* POTFILES.in: Sorted.
	* POTFILES.skip: Added, contains files in the support directory.
	* README.tools, update.pl, update.sh: Removed, these are obsoleted by
	intltool.
	* README.translators: I think the contents of this one is obsoleted too.
	* stamp-cat-id: Removed, this file should not be stored in cvs.
2002-03-10 22:17:32 +00:00
Kwok-Koon Cheung
40140ad487 Rename simplified Chinese translation 2002-02-05 10:13:10 +00:00
Vincent van Adrighem
47e518d612 nl.po Translation update committed for Jeroen van der Vegt
2002-01-23 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>

* nl.po Translation update committed for
  Jeroen van der Vegt
2002-01-24 00:36:34 +00:00
Kevin Vandersloot
4e4cf10334 Put in error message telling people not to use HEAD for the time being
2002-01-10  Kevin Vandersloot <kfv101@psu.edu>

        * configure.in: Put in error message telling people
        not to use HEAD for the time being untill I merger the
        porting branch
2002-01-10 21:31:09 +00:00
Darin Adler
b02653eef9 Fix install problem. Don't check this into cvs.
* Makefile.am: Fix install problem.
	* ltmain.sh: Don't check this into cvs.
2002-01-09 19:28:50 +00:00
645 changed files with 58344 additions and 62120 deletions

View File

@@ -1,44 +0,0 @@
Makefile
Makefile.in
call-vector.h
call-vector.h
aclocal.m4
config.cache
config.h
config.h.in
config.log
config.sub
config.guess
config.status
configure
gtopConf.sh
i386-bsdi
i686-pc-linux-gnu
intl
libgtop-1.*.*.tar.gz
libgtop-1.*.*
libgtop-mirror.sh.swp
libgtopConf.sh
libtool
macros
stamp-h
stamp-h.in
sun4
sun4sol2
support
i386-freebsd
alpha-dec-osf3.0
i686-pc-linux-gnu-linux
libgtop-config
ABOUT-NLS
libgtop.spec
install-sh
mkinstalldirs
missing
INSTALL
COPYING
glibtop-config.h
stamp-gc-h
build-debstamp
install-debstamp
libgtop.pc

View File

@@ -1,2 +1,3 @@
Martin Baulig (martin@home-of-linux.org)
Drazen Kacar (dave@srce.hr)
Benoît Dejean (tazforever@dlfp.org)

3513
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -1,32 +0,0 @@
# Making releases:
# LIBGTOP_MICRO_VERSION += 1;
# LIBGTOP_INTERFACE_AGE += 1;
# LIBGTOP_BINARY_AGE += 1;
# if any functions have been added, set LIBGTOP_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
#
LIBGTOP_MAJOR_VERSION=1
LIBGTOP_MINOR_VERSION=1
LIBGTOP_MICRO_VERSION=6
# you can set this to `-snap' for instance to create
# a `libgtop-1.x.y-snap.tar.gz' tarball.
LIBGTOP_VERSION_SUFFIX=-snap
LIBGTOP_INTERFACE_AGE=0
LIBGTOP_BINARY_AGE=0
# Increase each time you change the client/server protocol.
LIBGTOP_SERVER_VERSION=53
# Don't change this
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
LIBGTOP_VERSION_CODE=`echo "$LIBGTOP_MAJOR_VERSION 1000000 * $LIBGTOP_MINOR_VERSION 1000 * + $LIBGTOP_MICRO_VERSION + p q" | dc`
# For automake.
VERSION=$LIBGTOP_VERSION$LIBGTOP_VERSION_SUFFIX
PACKAGE=libgtop
# This is the default translation domain for LibGTop
LIBGTOP_PACKAGE=libgtop-$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION

View File

@@ -1,2 +1,4 @@
Email: martin@home-of-linux.org
Email: dave@srce.hr
Benoît Dejean
E-mail: benoit@placenet.org
Userid: bdejean

View File

@@ -1,84 +1,35 @@
## Process this file with automake to produce Makefile.in.
SUBDIRS = po intl misc include lib sysdeps src doc dtd scripts
if EXAMPLES
EXAMPLES_DIR = examples
else
EXAMPLES_DIR =
endif
include_HEADERS = glibtop.h
configincludedir = $(pkglibdir)/include
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
LIBGTOP-VERSION features.def structures.def libgtop-config.in \
RELNOTES-0.25 RELNOTES-1.0 RELNOTES-1.1.x libgtop-sysdeps.m4 README \
libgtop-mirror.sh libgtop-2.0.pc.in
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
libgtopincludedir = $(includedir)/libgtop-2.0
configinclude_DATA = \
glibtop-config.h
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
features.def libgtopconfig.h.in \
libgtop-sysdeps.m4 README \
libgtop-2.0.pc.in acinclude.m4 \
intltool-extract.in \
intltool-merge.in \
intltool-update.in
BUILT_SOURCES = stamp-gc-h #note: not glibtop-config.h
glibtop-config.h: stamp-gc-h
@:
stamp-gc-h: config.status
CONFIG_FILES= CONFIG_HEADERS= CONFIG_OTHER=glibtop-config.h ./config.status
echo timestamp > stamp-gc-h
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update
dist-hook: libgtop.spec
dist-hook:
cp libgtop.spec $(distdir)
release:
$(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
## Put `exec' in the name because this should be installed by
## `install-exec', not `install-data'.
confexecdir = $(libdir)
confexec_DATA = $(top_builddir)/libgtopConf.sh \
$(top_builddir)/libgtop-features.def \
$(top_builddir)/libgtop-structures.def
CLEANFILES=libgtopConf.sh
bin_SCRIPTS = $(top_builddir)/libgtop-config
## We create libgtopConf.sh here and not from configure because we want
## to get the paths expanded correctly. Macros like srcdir are given
## the value NONE in configure if the user doesn't specify them (this
## is an autoconf feature, not a bug).
libgtopConf.sh: libgtopConf.sh.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)#g' \
-e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \
-e 's#\@LIBGTOP_BACKEND_DIR\@#$(LIBGTOP_BACKEND_DIR)#g' \
-e 's#\@LIBGTOP_EXTRA_LIBS\@#$(LIBGTOP_EXTRA_LIBS)#g' \
-e 's#\@LIBGTOP_LIBS\@#$(LIBGTOP_LIBS)#g' \
-e 's#\@LIBGTOP_INCS\@#$(LIBGTOP_INCS)#g' \
-e 's#\@LIBGTOP_NAMES_LIBS\@#$(LIBGTOP_NAMES_LIBS)#g' \
-e 's#\@LIBGTOP_NAMES_INCS\@#$(LIBGTOP_NAMES_INCS)#g' \
-e 's#\@LIBGTOP_BINDIR\@#$(LIBGTOP_BINDIR)#g' \
-e 's#\@LIBGTOP_SERVER\@#$(LIBGTOP_SERVER)#g' \
-e 's#\@LIBGTOP_MAJOR_VERSION\@#$(LIBGTOP_MAJOR_VERSION)#g' \
-e 's#\@LIBGTOP_MINOR_VERSION\@#$(LIBGTOP_MINOR_VERSION)#g' \
-e 's#\@LIBGTOP_MICRO_VERSION\@#$(LIBGTOP_MICRO_VERSION)#g' \
-e 's#\@LIBGTOP_VERSION\@#$(LIBGTOP_VERSION)#g' \
-e 's#\@LIBGTOP_VERSION_CODE\@#$(LIBGTOP_VERSION_CODE)#g' \
-e 's#\@LIBGTOP_SERVER_VERSION\@#$(LIBGTOP_SERVER_VERSION)#g' \
-e 's#\@LIBGTOP_PACKAGE\@#$(LIBGTOP_PACKAGE)#g' \
-e 's#\@libgtop_sysdeps_dir\@#$(libgtop_sysdeps_dir)#g' \
-e 's#\@libgtop_need_server\@#$(libgtop_need_server)#g' \
-e 's#\@libgtop_have_sysdeps\@#$(libgtop_have_sysdeps)#g' \
-e 's#\@libgtop_use_machine_h\@#$(libgtop_use_machine_h)#g' \
< $(srcdir)/libgtopConf.sh.in > libgtopConf.tmp \
&& mv libgtopConf.tmp libgtopConf.sh
libgtop-config: libgtop-config.in Makefile
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
< $(srcdir)/libgtop-config.in > libgtop-config.tmp \
&& mv libgtop-config.tmp libgtop-config && \
chmod 755 libgtop-config
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtop-2.0.pc
libgtop-features.def: features.def
@LN_S@ $< $@
libgtop-structures.def: structures.def
@LN_S@ $< $@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtop-2.0.pc
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc

342
NEWS
View File

@@ -1,27 +1,335 @@
February 16, 2000:
26 August 2007: Overview of changes in 2.19.91
==============================================
* Translations updates.
* linux:
- Small internal improvement. Might fix sysinfo when having more than
8 CPUS.
9 July 2007: Overview of changes in 2.19.5
==========================================
* linux:
- fixed proc_map for >= 2.6.22
* freebsd:
- implemented procwd and procopenfiles
Joe Marcus Clarke
18 June 2007: Overview of changes in 2.19.4
===========================================
* solaris:
- fixed build. Damien Carbery.
3 June 2007: Overview of changes in 2.19.3
==========================================
* Small API change. get_proclist returns pid_t instead of unsigned
for consistency.
* linux:
- fixed an typo bug in open_files.
- got rid of useless glibtop_init_s calls.
* Enable example build by defaut.
* Dropped G_GNUC_INTERNAL attributes no longer needed.
This will please people trying to implement G_GNUC macro with a non
GNU Compiler.
13 May 2007: Overview of changes in 2.19.2
==========================================
* This is the first release of the 2.19.x series.
* Got rid of inodedb (you don't even know what it is ;)
* New unstable API glibtop_get_proc_wd to get working directories of
a process.
* Fixed OpenBSD build. Jasper Lievisse Adriaanse.
25 February 2007: Overview of changes in 2.14.8
===============================================
* bsd implementations have been splitted by Joe Marcus Clarke
and Alexander Nedotsukov. (k)freeBSD now has a separate implementation.
February 10, 2007: Overview of changes in 2.14.7
================================================
* bsd:
- massive kfreeBSD and FreeBSD updates by Roy Marples and Petr Salinger.
* mountlist can now ignore objfs and ctfs filesystems.
* fsusage won't return bavail > bfree anymore.
January 14, 2007: Overview of changes in 2.14.6
===============================================
* linux:
- fixed stack overflow in glibtop_get_proc_map
- fixed handling of long filenames in glibtop_get_proc_map and glibtop_get_proc_open_files.
- micro-optimization
December 3, 2006: Overview of changes in 2.14.5
===============================================
* Added kfreebsd support (Petr Salinger <Petr.Salinger@seznam.cz>).
* Added solaris glibtop_get_proc_open_files (Henry Zhang <hua.zhang@sun.com>).
* Migrated to gtk-doc (Germán Poó-Caamaño <gpoo@ubiobio.cl>).
* glibtop_get_mountlist can now ignore nsfd FS.
September 16, 2006: Overview of changes in 2.14.4
=================================================
* Fixed linux maps/smaps parsing on 64bit kernel.
September 5, 2006: Overview of changes in 2.14.3
================================================
* Fixed build with --as-needed.
* Added missing G_BEGIN_DECLS/G_END_DECLS.
July 27, 2006: Overview of changes in 2.14.2
============================================
* Updated solaris support (hua.zhang@sun.com)
* Small linux updates and improvments.
April 10, 2006: Overview of changes in 2.14.1
=============================================
* Updated translations.
* Fixed NetBSD port (Julio M. Merino Vidal <jmmv@NetBSD.org>).
* Fixed some warnings.
Mars 13, 2006: Overview of changes in 2.14.0
============================================
* Updated translations.
February 27, 2006: Overview of changes in 2.13.92
=================================================
* Fixed proc_state documentation.
* Updated mountlist ignore list.
January 23, 2006: Overview of changes in 2.13.3
===============================================
* linux:
- fixe get_procmap for linux < 2.6.14.
January 2, 2006: Overview of changes in 2.13.2
==============================================
* Fixed libtool versioning (James Henstridge)
December 15, 2005: Overview of changes in 2.13.1
================================================
* linux:
- fixed proclist
- implemented server->real_ncpu
December 13, 2005: Overview of changes in 2.13.0
================================================
* Requires automake-1.9 (James Henstridge)
* Supports up to 32 CPU
* Supports Linux smaps
* linux: fixed SMP detection
This release is not ABI compatible with previous releases. Sorry.
November 29, 2005: Overview of changes from 2.12.0 to 2.12.1
============================================================
* Dropped dead files
* linux: 1-line cleanup.
September 4, 2005: Overview of changes from 2.11.92 to 2.12.0
=============================================================
* Updated translations.
August 22, 2005: Overview of changes from 2.11.91 to 2.11.92
============================================================
* Linux:
- fixed for 2.6 without /sys
- glibtop_get_cpu() : Do not add irq, softirq and iowait to idle.
August 9, 2005: Overview of changes from 2.11.90 to 2.11.91
===========================================================
* All:
- cleaned some headers.
- removed static examples.
* Linux:
- fixed some issues with 2.6 without /sys
July 24, 2005: Overview of changes from 2.11.2 to 2.11.90
=========================================================
* Linux:
- fixed glibtop_uptime .flags.
July &3, 2005: Overview of changes from 2.11.1 to 2.11.2
========================================================
* Linux:
- little improvements for 2.6.
July 3, 2005: Overview of changes from 2.11.0 to 2.11.1
=======================================================
* Linux:
- glibtop_get_swap : added page(in|out) for linux 2.6.
June 8, 2005: Overview of changes from 2.10.x to 2.11.0
=======================================================
* Replaced a lot of macros by functions
* Got rid of dozens of useless files.
* libgtop 2.11.x are and will stay API and ABI compatible with 2.10.x, i swear.
April 10, 2005: Overview of changes from 2.10.0 to 2.10.1
=========================================================
* Updated i18n.
* Little cleanup and fixed gcc-4.0 compilation.
* linux: fixed loadavg and uptime if locale != C.
Updated siglist.
* Tighter libgtop-2.0.pc.
Mars 7, 2005: Overview of Changes from 2.9.92 to 2.10.0
=======================================================
* Updated i18n.
February 28, 2005: Overview of Changes from 2.9.90 to 2.9.92
============================================================
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
* Removed a lot of dead files :)
* Don't build&install libgtop_daemon when it's never used.
February 6, 2004: Overview of Changes from 2.9.90 to 2.9.91
==========================================================
* Fixed typo in stub.
* Updated i18n.
January 24, 2004: Overview of Changes from 2.9.4 to 2.9.90
==========================================================
* Updated Linux support.
January 10, 2004: Overview of Changes from 2.9.3 to 2.9.4
=========================================================
* New glibtop_proc_open_files nick@reloco.com.ar (Nicolás Lichtmaier).
* Updated AIX support (Christophe Belle).
December 20, 2004: Overview of Changes from 2.9.0 to 2.9.3
==========================================================
* Removed libgtop_names.
* Fixed Argument passing between library and server. #139809.
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
* glibtop_get_mountlist(False) now ignores 'unknown' fs.
November 30, 2004: Overview of Changes from 2.8.1 to 2.9.0
=========================================================
* glibtop_get_netload : Fixed segfault on linux with ppp devices.
* NEW glibtop_get_netlist : retrieves the list of all available interfaces.
* NEW LIBGTOP_CHECK_VERSION(major, minor, micro)
* Removed dead kernel patch and implementation.
* Cleanups on Linux and Solaris.
October 11, 2004: Overview of Changes from 2.8.0 to 2.8.1
=========================================================
* Improved Solaris and AIX support.
August 13, 2004: Overview of Changes from 2.7.92 to 2.8.0
=========================================================
* No changes
August 30, 2004:
===============
* Applied some *BSD patches.
* Removed old files.
August 15, 2004:
===============
* Fixed compilation with C89-only compilers and old libc.
August 3, 2004:
==============
* Some cleanups.
* Fixed the behaviour of some linux proc_*() functions.
* Updated the documentation.
July 19, 2004: Overview of Changes from 2.6.1 to 2.7.4
======================================================
* Plenty of code cleanups. Uninlined a lot of functions. ~5-10KB object size
reduction.
* Glibify a bit more.
* API changes:
- glibtop_fsusage provides total read and writes since boot_time.
- glibtop_netload provides hardware address. IPv6 enable.
- Added glibtop_get_proc_argv.
Work in progress :
* Finish glibtop_fsusage implementation for Linux.
* Some fuctions don't conform to the documentation, e.g. proctime.
March 11, 2004:
===============
* Released LibGTop 2.5.99 "Gross Work", dedicated to people who do push-ups
in the loos.
- plenty of code cleanups
- removed the dependency on libgnome, only glib required now
- Linux 2.6 support, NetBSD support and better FreeBSD support
- Make the block size available for filesystem statistics
February 27, 2001:
=================
* Released LibGTop 1.1.5 "Sidney"
* Released LibGTop 1.0.12 "Gerolzhofen".
This is a developer's snapshot for the GUADEC CD-ROM. It
should work without problems on most recent GNU/Linux and
BSD systems. The Solaris port compiles, but has some dynamic
linking issues - please use LibGTop 1.1.2.1 on Solaris for
the moment until this is fixed.
- fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).
January 14, 1999:
- fix for FreeBSD 4.2 from Rolf Grossmann (FreeBSD now uses
`_KERNEL' instead of `KERNEL'). Bug #51334.
- for BSDI, comment out `subnet' field in netload; this should make
it compile, but there may be other problems. Bug #13345.
This release is for GNOME 1.4 Beta2.
February 14, 2001:
=================
* Released LibGTop 1.0.11 "Jasmin":
[The release which was supposed to be called "Gerolzhofen".]
- merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.
- minor OpenBSD fixes.
- again a bunch of updated translations.
Please test the Solaris stuff and report and bugs and
problems as soon as possible; I'll make a new release
for the 2nd beta of GNOME 1.4 if necessary.
November 20, 2000:
=================
* Released LibGTop 1.0.10 "November Rain":
- this release contains a bunch of updated translations.
May 25, 2000:
============
* Released LibGTop 1.0.9 "Stuttgart".
(LibGTop 1.0.8 "Frankfurt" was not publically released.)
February 15, 2000:
=================
* Released LibGTop 1.0.7 "Copenhagen":
- this is a bug fix release for the GUADEC CD-ROM;
it contains fixes in both the Linux and *BSD sysdeps
directory.
October 18, 1999:
================
* Released LibGTop 1.1.4 "Earthquake"
* Released LibGTop 1.0.6 "October LibGTop":
This is the first developer's snapshot release after a
longer development period with a lot of interface changes.
- compilation fixes for FreeBSD.
- updated reference manual.
October 19, 1999:
================
September 29, 1999:
==================
* Released LibGTop 1.1.2 "Hardangervidda"
This is a stable release from the development branch
of LibGTop for Solaris users of October GNOME.
* Released LibGTop 1.0.5.

40
README
View File

@@ -1,32 +1,20 @@
This is the *development* branch of LibGTop. It is indended
for people who want to help with the development of LibGTop and
not for end-users.
LATEST NEWS:
===========
Please use the LIBGTOP_STABLE_1_0 branch (which is LibGTop 1.0.x)
unless you're really a developer.
Please look also in the file 'NEWS' for latest news.
Martin
If you're using LibGTop from CVS simply do a
cvs update -r LIBGTOP_STABLE_1_0
ChangeLogs:
==========
to get the latest version from the stable branch.
LibGTop has many ChangeLogs files. The following files are the the
most important :
However, I'll periodically make snapshot releases from the development
branch for Solaris users of LibGTop.
- ChangeLog is the main ChangeLog.
- sysdeps/<arch>/ChangeLog is the ChangeLog for arch specific changes.
- sysdeps/common/ChangeLog is the ChangeLog for common changes (shared
implementation between archs).
They can be found at
ftp://ftp.home-of-linux.org/pub/libgtop/1.1/
in near future.
Using released tarballs from the development branch is a lot better than
compiling directly from CVS since things in CVS may not always work as
expected.
Note that releases from the developer branch are neither binary
nor fully source compatible; you'll normally have to recompile
everything that use them.
October 1999
Martin Baulig
Benoît

View File

@@ -1,146 +0,0 @@
RELEASE NOTES FOR LIBGTOP 0.25 STABLE
=====================================
OVERVIEW
--------
LibGTop is a library that read information about processes and the running
systems. This information include:
General System Information
cpu - CPU Usage
mem - Memory Usage
swap - Swap Usage (including paging activity)
loadavg - Load average (including nr_running, nr_tasks, last_pid)
uptime - Uptime and Idle time, can be calculated from CPU usage
SYS V IPC Limits:
shm_limits - Shared Memory Limits
msg_limits - Message Queue Limits
sem_limits - Semaphore Set Limits
Process List:
proclist - List of processes
Process information:
proc_state - cmd, state, uid, gid
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
session,tty,tpgid,priority,nice
proc_mem - size,vsize,resident,share,rss,rss_rlim
proc_time - start_time,rtime,utime,stime,cutime,cstime
timeout,it_real_value,frequency
proc_signal - signal,blocked,sigignore,sigcatch
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
kstk_esp,kstk_eip,nwchan,wchan
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
start_code,end_code,start_stack
Process maps:
proc_map - Process map (/proc/<pid>/maps under Linux)
File system usage:
mountlist - List of currently mounted filesystems
fsusage - File system usage
PORTABILITY:
-----------
LibGtop is designed to be as portable as possible. None of the functions
and retrieved information should be specific to a specific operating
system. So you only need to port the system dependent part of the library
to a new system and all application programs can then use libgtop on this
new system.
CLIENT/SERVER MODEL:
-------------------
Some systems like DEC OSF/1 or BSD require special priviledges for the calling
proces to fetch the required information (SUID root/SGID kmem). To solve this
problem, I designed a client/server model which makes a call to a SUID/SGID
server which fetches the required information whenever it is required. This
server is only called for features that really require priviledges, otherwise
the sysdeps code is called directory (every user can get the CPU usage on
DEC OSF/1, but only root can get information about processes other than the
current one).
There is also some kind of daemon which can be used to fetch information from
remote systems (still experimental). This daemon normally runs as nobody and
calls the SUID/SGID itself when needed.
GNOME APPLETS:
--------------
There are some applets and applications which already use LibGTop. They can
be found in the `libgtop-apps' module in the GNOME CVS tree:
* Applets: cpuload, cpumemusage - they need LibGTop to get their information
on all systems other than Linux.
* Applets: diskusage - just uses the mountlist/fsusage features of LibGTop,
the one in gnome-core also works on other systems.
* Applets: multiload - I enhanced the cpuload applet a little bit, it is
now a multi applet and can display CPU, Memory and
Swap usages.
GTOP:
----
This cool GNOME app has been ported to use LibGTop. It can be found in
`libgtop-apps/gtop' in the GNOME CVS tree.
You can now use nearly the full functionality of GTop on FreeBSD !
PLATTFORM SPECIFIC NOTES FOR LINUX:
==================================
Under Linux, LibGTop should work without problems and read everything
from /proc.
There is also an experimental kernel interface to read this information
directly from the kernel with a system call - but this is still experimental
and not well tested while I made this release.
PLATTFORM SPECIFIC NOTES FOR FREEBSD:
====================================
LibGTop should now work under FreeBSD and give you the full functionality
of GTop.
There are a few caveats:
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to kmem
after installation and mount the /proc filesystem of FreeBSD
(/proc/<pid>/mem is used withing kvm_uread ()).
* To get the filenames of the process maps displayed in GTop, you need to
configure with the `--with-libgtop-inodedb' option (you need GDBM for this
to work).
* You have then to create an inode database which is used to look up to
filenames. This is done using the `mkinodedb' program which comes along
with libgtop.
See the file src/inodedb/README for details:
The `mkinodedb' program which is build in this directory takes two
command line arguments: the full pathname of the database to be created
and the name of a configuration file consisting of directory and file names
each on a line by itself - see `/etc/ld.so.conf' for an example.
Putting a directory name in this file means all regular files found in this
directory are included in the database, but it will not recursively descend
into subdirectories (for instance, we want everythink in `/usr/lib' but not
every single file in `/usr/lib/sgml'). You can also use filenames to include
a single file.
Have fun,
Martin <martin@home-of-linux.org>

View File

@@ -1,163 +0,0 @@
RELEASE NOTES FOR LIBGTOP 1.0 STABLE
====================================
OVERVIEW
--------
LibGTop is a library that read information about processes and the
running systems. This information include:
General System Information:
cpu - CPU Usage
mem - Memory Usage
swap - Swap Usage (including paging activity)
loadavg - Load average (including nr_running, nr_tasks, last_pid)
uptime - Uptime and Idle time, can be calculated from CPU usage
SYS V IPC Limits:
shm_limits - Shared Memory Limits
msg_limits - Message Queue Limits
sem_limits - Semaphore Set Limits
Network:
netload - Network load
ppp - PPP statistics
Process List:
proclist - List of processes
Process information:
proc_state - cmd, state, uid, gid
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
session,tty,tpgid,priority,nice
proc_mem - size,vsize,resident,share,rss,rss_rlim
proc_time - start_time,rtime,utime,stime,cutime,cstime
timeout,it_real_value,frequency
proc_signal - signal,blocked,sigignore,sigcatch
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
kstk_esp,kstk_eip,nwchan,wchan
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
start_code,end_code,start_stack
Process maps:
proc_args - Command line arguments
proc_map - Process map (/proc/<pid>/maps under Linux)
File system usage:
mountlist - List of currently mounted filesystems
fsusage - File system usage
PORTABILITY:
-----------
LibGTop is designed to be as portable as possible. None of the
functions and retrieved information should be specific to a specific
operating system. So you only need to port the system dependent part
of the library to a new system and all application programs can then
use libgtop on this new system.
CLIENT/SERVER MODEL:
-------------------
Some systems like DEC OSF/1 or BSD require special privileges for the
calling process to fetch the required information (SUID root/SGID
kmem). To solve this problem, I designed a client/server model which
makes a call to a SUID/SGID server which fetches the required
information whenever it is required. This server is only called for
features that really require privileges, otherwise the sysdeps code
is called directory (every user can get the CPU usage on DEC OSF/1,
but only root can get information about processes other than the
current one).
There is also some kind of daemon which can be used to fetch
information from remote systems (still experimental). This daemon
normally runs as nobody and calls the SUID/SGID itself when needed.
LIBGTOP AND GNOME:
-----------------
LibGTop is currently used in various places in the GNOME Project,
for instance in some of the applets in gnome-core and - of cause -
this ultra-cool application called GTop ...
Although LibGTop is not specific to GNOME and under LGPL license, I
spent most my time during the last months to work in the GNOME project
so this is the primary use for LibGTop (and currently the only one).
However, you can also give its configure.in script the `--without-gnome'
parameter and then use it fully without GNOME in your own applications.
LIBGTOP AND GNOME - PART II:
---------------------------
LibGTop was tested with FreeBSD 3.0 but it should also work with
FreeBSD 2.2.7, NetBSD and OpenBSD.
Currently my primary aim is to help the GNOME people with our 1.0 release
so I won't have much time to test it with any other system than Linux.
However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for
LibGTop and whenever I get bug reports I will do my best to fix them as
quickly as possible.
PLATFORM SPECIFIC NOTES FOR LINUX:
==================================
Under Linux, LibGTop should work without problems and read everything
from /proc.
LibGTop 0.25 also had an experimental kernel interface to read this
information directly from the kernel with a system call - but I have
currently dropped support for this as I am too busy with GNOME
development to keep current with kernel hacking.
PLATFORM SPECIFIC NOTES FOR SOLARIS:
====================================
Since so many people were asking me about this:
LibGTop currently does not have any support for Solaris, and it will
never have until some volunteer writes the code for it. I can't do this
myself since I do not have any machine to test it on.
PLATFORM SPECIFIC NOTES FOR BSD:
=================================
There are a few caveats:
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to
kmem after installation and mount the /proc file system of FreeBSD
(/proc/<pid>/mem is used within kvm_uread ()).
* To get the filenames of the process maps displayed in GTop, you need
to configure with the `--with-libgtop-inodedb' option (you need GDBM
for this to work).
You have then to create an inode database which is used to look up
filenames. This is done using the `mkinodedb' program which comes
along with libgtop.
See the file src/inodedb/README for details:
The `mkinodedb' program which is build in this directory takes two
command line arguments: the full pathname of the database to be
created and the name of a configuration file consisting of directory
and file names each on a line by itself - see `/etc/ld.so.conf' for
an example.
Putting a directory name in this file means all regular files found
in this directory are included in the database, but it will not
recursively descend into subdirectories (for instance, we want
everything in `/usr/lib' but not every single file in `/usr/lib/sgml').
You can also use filenames to include a single file.
Have fun,
Martin <martin@home-of-linux.org>

View File

@@ -1,50 +0,0 @@
RELEASE NOTES FOR LIBGTOP 1.1.2
===============================
This is a snapshot release for Solaris users of October GNOME. It contains
a first version of the Solaris port of LibGTop which works at least on
Solaris 7.
Please use LibGTop 1.0.x if you're not on a Solaris system
(look at the README file for details).
IMPORTANT CHANGES SINCE 1.0:
----------------------------
* All `glibtop_get_<feature>_* ()' and all `glibtop_init_<feature>_* ()'
functions now have an `int' return value and return 0 on success and -1
on failure.
* glibtop_cpu: Added `xcpu_flags'
* glibtop_proc_state: Changed `state' from char to unsigned and added
GLIBTOP_PROCESS_RUNNING, GLIBTOP_PROCESS_INTERRUPTIBLE,
GLIBTOP_PROCESS_UNINTERRUPTIBLE, GLIBTOP_PROCESS_ZOMBIE,
GLIBTOP_PROCESS_STOPPED, GLIBTOP_PROCESS_SWAPPING constants for it.
* `GLIBTOP_MOUNTENTRY_LEN' and `GLIBTOP_MAX_GROUPS' are now defined in
<glibtop/limits.h>
* Removed the `GLIBTOP_SYSDEPS_FEATURES' and `GLIBTOP_SYSDEPS_POINTER_SIZE'
constants from <glibtop/sysdeps.h> and let numbering start at zero for
`GLIBTOP_SYSDEPS_CPU'.
OTHER CHANGES SINCE 1.0:
-----------------------
* Use G_GNUC_UNUSED in <glibtop/error.h> to avoid compiler warnings.
* The `libgtop-config' script now accepts `--cflags', `--libs' and
`--extra-libs' parameter.
* The libraries are now called -lgtop-1.1 etc. so you can use 1.0.x and
1.1.x in parallel.
CHANGES SINCE 1.0 MAINLY INTERESTING FOR DEVELOPERS:
---------------------------------------------------
* We create a `glibtop-config.h' now which gets included from <glibtop.h>
when we're _IN_LIBGTOP. It contains things such as `u_int64_t' etc.
October 1999
Martin Baulig

View File

@@ -1,114 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef HAVE_GETTEXT
#undef HAVE_LC_MESSAGES
#undef HAVE_STPCPY
#undef HAVE_STRUCT_OSOCKADDR
#undef LIBGTOP_PACKAGE
#undef PACKAGE
#undef VERSION
#undef HAVE_LIBSM
#undef HAVE_LIBINTL_H
#undef HAVE_GTK_SIGNAL_HANDLER_PENDING
/* Define if you have the Andrew File System. */
#undef AFS
/* Define one of the following to indicate how a program can
get a list of mounted filesystems. */
/* Define if there is no specific function for reading the list of
mounted filesystems. fread will be used to read /etc/mnttab. [SVR2] */
#undef MOUNTED_FREAD
/* Define if (like SVR2) there is no specific function for reading the
list of mounted filesystems, and your system has these header files:
<sys/fstyp.h> and <sys/statfs.h>. [SVR3] */
#undef MOUNTED_FREAD_FSTYP
/* Define if there is a function named getfsstat for reading the list
of mounted filesystems. [DEC Alpha running OSF/1] */
#undef MOUNTED_GETFSSTAT
/* Define if there is a function named getmnt for reading the list of
mounted filesystems. [Ultrix] */
#undef MOUNTED_GETMNT
/* Define if there is a function named getmntent for reading the list
of mounted filesystems, and that function takes a single argument.
[4.3BSD, SunOS, HP-UX, Dynix, Irix] */
#undef MOUNTED_GETMNTENT1
/* Define if there is a function named getmntent for reading the list of
mounted filesystems, and that function takes two arguments. [SVR4] */
#undef MOUNTED_GETMNTENT2
/* Define if there is a function named getmntinfo for reading the list
of mounted filesystems. [4.4BSD] */
#undef MOUNTED_GETMNTINFO
/* Define if there is a function named listmntent that can be used to
list all mounted filesystems. [UNICOS] */
#undef MOUNTED_LISTMNTENT
/* Define if there is a function named mntctl that can be used to read
the list of mounted filesystems, and there is a system header file
that declares `struct vmount.' [AIX] */
#undef MOUNTED_VMOUNT
/* Define one of the following to indicate how a program can obtain
filesystems usage information. */
/* Define if statfs takes 3 args. [DEC Alpha running OSF/1] */
#undef STAT_STATFS3_OSF1
/* Define if there is no specific function for reading filesystems usage
information and you have the <sys/filsys.h> header file. [SVR2] */
#undef STAT_READ_FILSYS
/* Define if statfs takes 2 args and struct statfs has a field named f_bsize.
[4.3BSD, SunOS 4, HP-UX, AIX PS/2] */
#undef STAT_STATFS2_BSIZE
/* Define if statfs takes 2 args and struct statfs has a field named f_fsize.
[4.4BSD, NetBSD] */
#undef STAT_STATFS2_FSIZE
/* Define if statfs takes 2 args and the second argument has
type struct fs_data. [Ultrix] */
#undef STAT_STATFS2_FS_DATA
/* Define if statfs takes 4 args. [SVR3, Dynix, Irix, Dolphin] */
#undef STAT_STATFS4
/* Define if there is a function named statvfs. [SVR4] */
#undef STAT_STATVFS
/* Define if the block counts reported by statfs may be truncated to 2GB
and the correct values may be stored in the f_spare array.
[SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
SunOS 4.1.1 seems not to be affected.] */
#undef STATFS_TRUNCATES_BLOCK_COUNTS
#undef HAVE_SOCKETS
#undef HAVE_SOCKADDR_SUN_LEN
#undef ssize_t
#undef u_int64_t
#undef int64_t
#undef u_int8_t
#undef int8_t
#undef GLIBTOP_INODEDB
#undef HAVE_XAUTH
/* Define to enable debugging. */
#undef LIBGTOP_ENABLE_DEBUG
#undef LIBGTOP_FATAL_WARNINGS
/* Define to use glib's malloc. */
#undef LIBGTOP_USE_GLIB_MALLOC

View File

@@ -1,3 +1,93 @@
dnl This is just copied m4s from need-declaration.m4 gnome-fileutils.m4
dnl gnome-supprt-checks.m4 and a little from gnome-libgtop-check.m4
dnl and finally libgtop-sysdeps.m4
dnl
dnl LIBGTOP_CHECK_TYPE
dnl
dnl Improved version of AC_CHECK_TYPE which takes into account
dnl that we need to #include some other header files on some
dnl systems to get some types.
dnl AC_LIBGTOP_CHECK_TYPE(TYPE, DEFAULT)
AC_DEFUN([AC_LIBGTOP_CHECK_TYPE],
[AC_REQUIRE([AC_HEADER_STDC])dnl
AC_MSG_CHECKING(for $1)
AC_CACHE_VAL(ac_cv_type_$1,
[AC_EGREP_CPP(dnl
changequote(<<,>>)dnl
<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
changequote([,]), [#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif
/* For Tru64 */
#ifdef HAVE_SYS_BITYPES_H
#include <sys/bitypes.h>
#endif
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
AC_MSG_RESULT($ac_cv_type_$1)
if test $ac_cv_type_$1 = no; then
AC_DEFINE($1, $2, [Define to $2 if <sys/types.h> does not define.])
fi
])
dnl
dnl GNOME_LIBGTOP_TYPES
dnl
dnl some typechecks for libgtop.
dnl
AC_DEFUN([GNOME_LIBGTOP_TYPES],
[
AC_CHECK_HEADERS(sys/bitypes.h)
])
dnl See whether we need a declaration for a function.
dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES])
AC_DEFUN([GCC_NEED_DECLARATION],
[AC_MSG_CHECKING([whether $1 must be declared])
AC_CACHE_VAL(gcc_cv_decl_needed_$1,
[AC_TRY_COMPILE([
#include <stdio.h>
#ifdef HAVE_STRING_H
#include <string.h>
#else
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
$2],
[char *(*pfn) = (char *(*)) $1],
eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")])
if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then
AC_MSG_RESULT(yes)
gcc_need_declarations="$gcc_need_declarations $1"
gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
AC_DEFINE_UNQUOTED($gcc_tr_decl, 1, [Define if $1 () must be declared.])
else
AC_MSG_RESULT(no)
fi
])dnl
dnl Check multiple functions to see whether each needs a declaration.
dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES])
AC_DEFUN([GCC_NEED_DECLARATIONS],
[for ac_func in $1
do
GCC_NEED_DECLARATION($ac_func, $2)
done
]
)
dnl
dnl GNOME_FILEUTILS_CHECKS
dnl
@@ -5,7 +95,7 @@ dnl checks that are needed for the diskusage applet.
dnl
AC_DEFUN([GNOME_FILEUTILS_CHECKS],
[
[
AC_CHECK_HEADERS(fcntl.h sys/param.h sys/statfs.h sys/fstyp.h \
mnttab.h mntent.h sys/statvfs.h sys/vfs.h sys/mount.h \
sys/filsys.h sys/fs_types.h sys/fs/s5param.h)
@@ -17,21 +107,21 @@ listmntent memcpy mkfifo strchr strerror strrchr vprintf)
dnl Set some defaults when cross-compiling
if test x$cross_compiling = xyes ; then
case "$host_os" in
linux*)
fu_cv_sys_mounted_getmntent1=yes
fu_cv_sys_stat_statfs2_bsize=yes
;;
sunos*)
fu_cv_sys_stat_statfs4=yes
;;
freebsd*)
fu_cv_sys_stat_statfs2_bsize=yes
;;
osf*)
fu_cv_sys_stat_statfs3_osf1=yes
;;
esac
case "$host_os" in
linux*)
fu_cv_sys_mounted_getmntent1=yes
fu_cv_sys_stat_statfs2_bsize=yes
;;
sunos*)
fu_cv_sys_stat_statfs4=yes
;;
freebsd*)
fu_cv_sys_stat_statfs2_bsize=yes
;;
osf*)
fu_cv_sys_stat_statfs3_osf1=yes
;;
esac
fi
# Determine how to get the list of mounted filesystems.
@@ -67,7 +157,8 @@ yes
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_LISTMNTENT)
AC_DEFINE(MOUNTED_LISTMNTENT, 1,
[Define if there is a function named listmntent that can be used to list all mounted filesystems. [UNICOS]])
fi
fi
@@ -86,7 +177,8 @@ AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
if test $fu_cv_sys_mounted_getmntent1 = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT1)
AC_DEFINE(MOUNTED_GETMNTENT1, 1,
[Define if there is a function named getmntent for reading the list of mounted filesystems, and that function takes a single argument. [4.3BSD, SunOS, HP-UX, Dynix, Irix]])
fi
fi
@@ -100,7 +192,8 @@ fu_cv_sys_mounted_getmntent2=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
if test $fu_cv_sys_mounted_getmntent2 = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT2)
AC_DEFINE(MOUNTED_GETMNTENT2, 1,
[Define if there is a function named getmntent for reading the list of mounted filesystems, and that function takes two arguments. [SVR4]])
fi
fi
@@ -125,7 +218,8 @@ fu_cv_sys_mounted_getsstat=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
if test $fu_cv_sys_mounted_getsstat = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETFSSTAT)
AC_DEFINE(MOUNTED_GETFSSTAT, 1,
[Define if there is a function named getfsstat for reading the list of mounted filesystems. [DEC Alpha running OSF/1]])
fi
fi
@@ -139,7 +233,8 @@ fu_cv_sys_mounted_vmount=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
if test $fu_cv_sys_mounted_vmount = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_VMOUNT)
AC_DEFINE(MOUNTED_VMOUNT, 1,
[Define if there is a function named mntctl that can be used to read the list of mounted filesystems, and there is a system header file that declares `struct vmount.' [AIX]])
fi
fi
@@ -156,7 +251,8 @@ fu_cv_sys_mounted_fread_fstyp=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD_FSTYP)
AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
[Define if (like SVR2) there is no specific function for reading the list of mounted filesystems, and your system has these header files: <sys/fstyp.h> and <sys/statfs.h>. [SVR3]])
fi
fi
@@ -177,7 +273,8 @@ test -n "$ok" \
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
if test $fu_cv_sys_mounted_getmntinfo = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTINFO)
AC_DEFINE(MOUNTED_GETMNTINFO, 1,
[Define if there is a function named getmntinfo for reading the list of mounted filesystems. [4.4BSD]])
fi
fi
@@ -195,7 +292,8 @@ fu_cv_sys_mounted_getmnt=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
if test $fu_cv_sys_mounted_getmnt = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNT)
AC_DEFINE(MOUNTED_GETMNT, 1,
[Define if there is a function named getmnt for reading the list of mounted filesystems. [Ultrix]])
fi
fi
@@ -209,14 +307,15 @@ fu_cv_sys_mounted_fread=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
if test $fu_cv_sys_mounted_fread = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD)
AC_DEFINE(MOUNTED_FREAD, 1,
[Define if there is no specific function for reading the list of mounted filesystems. fread will be used to read /etc/mnttab. [SVR2]])
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
# FIXME -- no need to abort building the whole package
# Can't build mountlist.c or anything that needs its functions
# Cannot build mountlist.c or anything that needs its functions
fi
AC_CHECKING(how to get filesystem space usage)
@@ -238,7 +337,8 @@ fu_cv_sys_stat_statvfs=yes,
fu_cv_sys_stat_statvfs=no)])
if test $fu_cv_sys_stat_statvfs = yes; then
space=yes
AC_DEFINE(STAT_STATVFS)
AC_DEFINE(STAT_STATVFS, 1,
[Define if there is a function named statvfs. [SVR4]])
fi
fi
@@ -250,11 +350,11 @@ AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
#include <sys/param.h>
#include <sys/types.h>
#include <sys/mount.h>
main ()
int main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd, sizeof (struct statfs)));
return (statfs (".", &fsd, sizeof (struct statfs)));
}],
fu_cv_sys_stat_statfs3_osf1=yes,
fu_cv_sys_stat_statfs3_osf1=no,
@@ -262,7 +362,8 @@ fu_cv_sys_stat_statfs3_osf1=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
space=yes
AC_DEFINE(STAT_STATFS3_OSF1)
AC_DEFINE(STAT_STATFS3_OSF1, 1,
[Define if statfs takes 3 args. [DEC Alpha running OSF/1]])
fi
fi
@@ -281,11 +382,11 @@ AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
main ()
int main ()
{
struct statfs fsd;
fsd.f_bsize = 0;
exit (statfs (".", &fsd));
return (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_bsize=yes,
fu_cv_sys_stat_statfs2_bsize=no,
@@ -293,7 +394,8 @@ fu_cv_sys_stat_statfs2_bsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_BSIZE)
AC_DEFINE(STAT_STATFS2_BSIZE, 1,
[Define if statfs takes 2 args and struct statfs has a field named f_bsize. [4.3BSD, SunOS 4, HP-UX, AIX PS/2]])
fi
fi
@@ -303,10 +405,10 @@ AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
[AC_TRY_RUN([#include <sys/types.h>
#include <sys/statfs.h>
main ()
int main ()
{
struct statfs fsd;
exit (statfs (".", &fsd, sizeof fsd, 0));
return (statfs (".", &fsd, sizeof fsd, 0));
}],
fu_cv_sys_stat_statfs4=yes,
fu_cv_sys_stat_statfs4=no,
@@ -314,7 +416,8 @@ fu_cv_sys_stat_statfs4=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
if test $fu_cv_sys_stat_statfs4 = yes; then
space=yes
AC_DEFINE(STAT_STATFS4)
AC_DEFINE(STAT_STATFS4, 1,
[Define if statfs takes 4 args. [SVR3, Dynix, Irix, Dolphin]])
fi
fi
@@ -330,11 +433,11 @@ AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
main ()
int main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd));
return (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_fsize=yes,
fu_cv_sys_stat_statfs2_fsize=no,
@@ -342,7 +445,8 @@ fu_cv_sys_stat_statfs2_fsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_FSIZE)
AC_DEFINE(STAT_STATFS2_FSIZE, 1,
[Define if statfs takes 2 args and struct statfs has a field named f_fsize. [4.4BSD, NetBSD]])
fi
fi
@@ -360,12 +464,12 @@ AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
#ifdef HAVE_SYS_FS_TYPES_H
#include <sys/fs_types.h>
#endif
main ()
int main ()
{
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
exit (statfs (".", &fsd) != 1);
return (statfs (".", &fsd) != 1);
}],
fu_cv_sys_stat_fs_data=yes,
fu_cv_sys_stat_fs_data=no,
@@ -373,20 +477,23 @@ fu_cv_sys_stat_fs_data=no)])
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
if test $fu_cv_sys_stat_fs_data = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_FS_DATA)
AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
[Define if statfs takes 2 args and the second argument has type struct fs_data. [Ultrix]])
fi
fi
if test $space = no; then
# SVR2
AC_TRY_CPP([#include <sys/filsys.h>],
AC_DEFINE(STAT_READ_FILSYS) space=yes)
AC_DEFINE(STAT_READ_FILSYS, 1,
[Define if there is no specific function for reading filesystems usage information and you have the <sys/filsys.h> header file. [SVR2]])
space=yes)
fi
if test -n "$list_mounted_fs" && test $space != no; then
DF_PROG="df"
# LIBOBJS="$LIBOBJS fsusage.o"
# LIBOBJS="$LIBOBJS mountlist.o"
# AC_LIBOBJ(fsusage)
# AC_LIBOBJ(mountlist)
fi
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
@@ -405,10 +512,14 @@ fu_cv_sys_truncating_statfs=yes,
fu_cv_sys_truncating_statfs=no,
)])
if test $fu_cv_sys_truncating_statfs = yes; then
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS)
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
[Define if the block counts reported by statfs may be truncated to 2GB and the correct values may be stored in the f_spare array. [SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. SunOS 4.1.1 seems not to be affected.]])
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
AC_CHECKING(for AFS)
test -d /afs && AC_DEFINE(AFS)
test -d /afs && AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
])
m4_include([libgtop-sysdeps.m4])

View File

@@ -4,7 +4,7 @@
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="GNOME Portable System Access Library"
PKG_NAME="Gnome Top Library"
(test -f $srcdir/configure.in \
&& test -f $srcdir/copyright.txt \
@@ -14,27 +14,9 @@ PKG_NAME="GNOME Portable System Access Library"
exit 1
}
USE_GNOME2_MACROS=1 . gnome-autogen.sh
echo ""
echo " *** IMPORTANT *** "
echo ""
echo "This is a development version of LibGTop. You should be using a stable"
echo "version, which is available at ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/"
echo "The version you just configured is meant for developers of LibGTop only:"
echo ""
echo " * You should not base ANY software on this version of LibGTop."
echo ""
echo " *** You should be using LibGTop 1.0.x instead. ***"
echo ""
echo "If you are using this source tree from CVS, please run:"
echo " cvs update -r LIBGTOP_STABLE_1_0"
echo "now."
echo ""
echo "If you're a Solaris user, you should try out the LibGTop 1.1.2 release."
echo "You can get it from ftp://ftp.home-of-linux.org/pub/libgtop/1.1/"
echo ""
echo "If you are using this source tree from CVS, you can use:"
echo " cvs update -r LIBGTOP_1_1_2_PATCHES"
echo "to get a bug fixed release of 1.1.2."
echo ""
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
REQUIRED_AUTOMAKE_VERSION=1.9
. gnome-autogen.sh

View File

@@ -1,5 +0,0 @@
.deps
.libs
Makefile
Makefile.in
*.lo

View File

@@ -1,15 +0,0 @@
if NEED_LIBGTOP
server_dir = server
else
server_dir =
endif
if HAVE_SYSDEPS
sysdeps_dir = sysdeps
else
sysdeps_dir =
endif
SUBDIRS = $(server_dir) $(sysdeps_dir) common
DIST_SUBDIRS = server sysdeps common

View File

@@ -1,7 +0,0 @@
.deps
.libs
Makefile
Makefile.in
*.lo
*.la
marshal.c

View File

@@ -1,42 +0,0 @@
2000-11-26 Martin Baulig <martin@home-of-linux.org>
* glibtop-backend-private.h: Removed.
* backend-common.h: New files.
* backend-common.c (_open_common): Don't overwrite
`backend->_priv'.
2000-11-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Link libgtop_backend_common.la against
$(top_builddir)/sysdeps/common/libgtop_common.la and
$(top_builddir)/lib/libgtop_server.la.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* backend-sysdeps.c (LibGTopBackendInfo): Call this
`LibGTopBackendInfo_Common' when we don't use gmodule.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
2000-01-12 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR).
* libgtop-common.backend: New file.
* backend-common.c (glibtop_backend_common): Renamed to
`LibGTopBackendInfo'.
2000-01-12 Martin Baulig <martin@home-of-linux.org>
Initial version of the "glibtop-backend-common" backend.
* backend-common.c: New file.
* glibtop-backend-private.h: New file.
* marshal.pl: New file. Automatically creates `marshal.c'.

View File

@@ -1,47 +0,0 @@
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
INCLUDES = @INCLUDES@
backenddir = @LIBGTOP_BACKEND_DIR@
if LIBGTOP_USE_GMODULE
backendlibdir = $(backenddir)
else
backendlibdir = $(libdir)
endif
dynamic_ldflags = @libgtop_dynamic_ldflags@
backend_DATA = \
libgtop-common.backend
noinst_HEADERS = \
backend-common.h
backendlib_LTLIBRARIES = \
libgtop_backend_common.la
libgtop_backend_common_la_SOURCES = \
backend-common.c \
marshal.c
libgtop_backend_common_la_LDFLAGS = \
$(LT_VERSION_INFO) $(dynamic_ldflags)
libgtop_backend_common_la_LIBADD = \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/lib/libgtop_server.la
BUILT_SOURCES = \
marshal.c
EXTRA_DIST = \
marshal.pl \
libgtop-common.backend
CLEANFILES = $(BUILT_SOURCES)
marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t
mv tmp-t marshal.c

View File

@@ -1,61 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <backend-common.h>
static int
_open_common (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int
_close_common (glibtop_server *, glibtop_backend *, void *closure);
extern glibtop_call_vector glibtop_backend_common_call_vector;
#ifdef LIBGTOP_USE_GMODULE
glibtop_backend_info LibGTopBackendInfo = {
"glibtop-backend-common", _open_common, _close_common,
&glibtop_backend_common_call_vector
};
#else
glibtop_backend_info LibGTopBackendInfo_Common = {
"glibtop-backend-common", _open_common, _close_common,
&glibtop_backend_common_call_vector
};
#endif
static int
_open_common (glibtop_server *server, glibtop_backend *backend,
u_int64_t features, const char **backend_args)
{
return 0;
}
static int
_close_common (glibtop_server *server, glibtop_backend *backend,
void *closure)
{
return 0;
}

View File

@@ -1,13 +0,0 @@
<?xml version="1.0"?> <!-- -*-xml-*- -->
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
<libgtop:Backend>
<libgtop:Name>glibtop-backend-common</libgtop:Name>
<libgtop:Location>
<libgtop:LibtoolName>libgtop_backend_common.la</libgtop:LibtoolName>
<libgtop:ShlibName>libgtop_backend_common.so</libgtop:ShlibName>
</libgtop:Location>
</libgtop:Backend>
</libgtop:Backends>

View File

@@ -1,175 +0,0 @@
#!/usr/bin/perl
require 'c_types.pl';
$[ = 1; # set array base to 1
$, = ' '; # set output field separator
$\ = "\n"; # set output record separator
$always_use_temp_storage = 1;
sub toupper {
local($_) = @_;
tr/a-z/A-Z/;
return $_;
}
sub tolower {
local($_) = @_;
tr/A-Z/a-z/;
return $_;
}
print '/* marshal.c */';
print "/* This is a generated file. Please modify `marshal.pl' */";
print '';
print '#include <backend-common.h>';
print '';
print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>';
print '';
print '#include <glibtop/call-vector.h>';
print '';
$feature_count = 0;
while (<>) {
chop; # strip record separator
if (/^[^#]/) {
&output($_);
}
}
sub output {
local($line) = @_;
@line_fields = split(/\|/, $line, 9999);
$retval = $line_fields[1];
$feature = $line_fields[2];
$param_def = $line_fields[4];
$orig = $feature;
$feature =~ s/^@//;
$space = $feature;
$space =~ s/./ /g;
$features{++$feature_count} = $orig;
return unless $orig =~ /^@/;
if ($retval eq 'retval') {
$retval_param = '&retval';
$call_prefix = '';
$call_prefix_space = '';
$prefix = 'retval = ';
$prefix_space = ' ';
$retval = 'int';
}
elsif ($retval !~ /^void$/) {
$retval_param = 'NULL';
$prefix = 'retval = ';
$prefix_space = ' ';
$call_prefix = 'retval = ';
$call_prefix_space = ' ';
}
else {
$retval_param = 'NULL';
$call_prefix = '';
$call_prefix_space = '';
$prefix = '';
$prefix_space = '';
}
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
}
$need_temp_storage = $always_use_temp_storage;
$first_param_name = '';
$call_param = '';
$param_decl = '';
$need_temp_len = 0;
$nr_params = (@params = split(/:/, $param_def, 9999));
for ($param = 1; $param <= $nr_params; $param++) {
$list = $params[$param];
$type = $params[$param];
$type =~ s/\(.*//;
$list =~ s/^.*\(//;
$list =~ s/\)$//;
$count = (@fields = split(/,/, $list, 9999));
for ($field = 1; $field <= $count; $field++) {
my $c_type = $typeinfo->{$type}->[1];
if ($first_param_name eq '') {
$first_param_name = $fields[$field];
}
if ($typeinfo->{$type}->[2]) {
$need_temp_storage = 1;
}
if ($param_decl eq '') {
$param_decl = ",\n " . $space . ' ';
}
else {
$param_decl = $param_decl . ', ';
}
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
$call_param = $call_param . ', ' . $fields[$field];
}
}
if ($line_fields[3] eq '') {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server%s);\n", $feature, $call_param);
} elsif ($line_fields[3] eq 'array') {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server, array%s);\n", $feature, $call_param);
} elsif ($line_fields[3] =~ /^array/) {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server, array, buf%s);\n", $feature, $call_param);
} else {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server, buf%s);\n", $feature, $call_param);
}
$func_decl = 'static '.$retval."\n";
if ($line_fields[3] eq '') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] eq 'array') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] =~ /^array/) {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
} else {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
}
$total_code = sprintf ("%s{\n%s\n%s}\n", $func_decl, $total_code);
print $total_code;
}
$call_vector_code = '';
for ($nr = 1; $nr <= $feature_count; $nr++) {
$feature = $features{$nr};
if ($feature =~ /^@/) {
$feature =~ s/^@//;
$call_vector_code .= sprintf (qq[\t_glibtop_get_%s_c,\n], $feature);
} else {
$call_vector_code .= sprintf (qq[\tNULL,\n]);
}
}
print 'glibtop_call_vector glibtop_backend_common_call_vector = {';
print $call_vector_code;
print '};';
print '';

View File

@@ -1,10 +0,0 @@
.deps
.libs
Makefile
Makefile.in
*.lo
*.la
marshal.c
demarshal.c
libgtop_server
command.h

View File

@@ -1,85 +0,0 @@
2000-11-27 Martin Baulig <martin@home-of-linux.org>
* backend-server.c (backend_server_quark): New global variable.
(_open_server, _close_server): Use the quark.
* commands.c: Likewise.
2000-11-26 Martin Baulig <martin@home-of-linux.org>
* backend-server.h: New file.
(backend_server_private): New struct, formerly known
as glibtop_backend_private.
* glibtop-backend-private.h: Removed.
* backend-server.c: (_open_server): Use g_object_set_data()
to set add the backend_server_private data to the glibtop_backend,
don't override `backend->_priv'.
(_close_server): Use g_object_get_data() to get the data.
[FIXME: Use quarks directly.]
* read.c: (glibtop_read_i): Replaced the glibtop_server and
glibtop_backend arguments with backend_server_private.
* read_data.c: (glibtop_read_data_i): Likewise.
* write.c: (glibtop_write_i): Likewise.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* backend-sysdeps.c (LibGTopBackendInfo): Call this
`LibGTopBackendInfo_Server' when we don't use gmodule.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
2000-01-18 Martin Baulig <martin@home-of-linux.org>
* demarshal.pl: Only emit code for functions which are
really suid/sgid.
2000-01-13 Martin Baulig <martin@home-of-linux.org>
* write.c (glibtop_write_i): The buffer which we write is
now a `const'.
2000-01-12 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Install everything except the server binary
in $(LIBGTOP_BACKEND_DIR).
* libgtop-server.backend: New file.
* backend-server.c (glibtop_backend_server): Renamed to
`LibGTopBackendInfo'.
2000-01-08 Martin Baulig <martin@home-of-linux.org>
* command.h.in (glibtop_response): New structure.
2000-01-02 Martin Baulig <martin@home-of-linux.org>
* command.pl: New file. Creates `command.h' from `command.h.in'.
* command.h.in: New file. Template file for `command.h'.
* io.c, version.c: New files. Copied here from `src/daemon'.
* demarshal.pl: New file. Automatically creates `demarshal.c'.
* demarshal.c: This automatically created file handles the
demarshalling in the libgtop_server.
* Makefile.am: Build the `libgtop_server' here.
* server.c, server.h: New files. Copied here from `src/daemon'.
2000-01-01 Martin Baulig <martin@home-of-linux.org>
Initial version of the "glibtop-backend-server" backend.
* command.c, read.c, read_data.c, write.c: New files. Moved here
from the `lib' directory.
* backend-server.c: New file.
* glibtop-backend-private.h: New file.
* marshal.pl: New file. Automatically creates `marshal.c'.

View File

@@ -1,85 +0,0 @@
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
INCLUDES = @INCLUDES@ -D_BSD \
-DLIBGTOP_COMPILE_SYSTEM=\"`uname -s`\" \
-DLIBGTOP_COMPILE_RELEASE=\"`uname -r`\" \
-DLIBGTOP_COMPILE_MACHINE=\"`uname -m`\"
backenddir = @LIBGTOP_BACKEND_DIR@
if LIBGTOP_USE_GMODULE
backendlibdir = $(backenddir)
else
backendlibdir = $(libdir)
endif
dynamic_ldflags = @libgtop_dynamic_ldflags@
backend_DATA = \
libgtop-server.backend
noinst_HEADERS = \
backend-server.h
backendlib_LTLIBRARIES = \
libgtop_backend_server.la
bin_PROGRAMS = \
@server_programs@
EXTRA_PROGRAMS = \
libgtop_server
libgtop_backend_server_la_SOURCES = \
backend-server.c \
marshal.c \
command.c \
read.c \
read_data.c \
write.c
libgtop_backend_server_la_LDFLAGS = \
$(LT_VERSION_INFO) $(dynamic_ldflags)
libgtop_server_SOURCES = \
server.c \
server.h \
demarshal.c \
version.c \
io.c
libgtop_server_LDADD = \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid.la \
$(top_builddir)/sysdeps/common/libgtop_suid_common.la \
@LIBSUPPORT@
if ENABLE_STATIC
libgtop_server_LDFLAGS = -static
endif
BUILT_SOURCES = \
marshal.c \
demarshal.c \
command.h
EXTRA_DIST = \
marshal.pl \
demarshal.pl \
command.pl \
command.h.in \
libgtop-server.backend
CLEANFILES = $(BUILT_SOURCES)
marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t
mv tmp-t marshal.c
demarshal.c: demarshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/demarshal.pl < $(top_srcdir)/features.def > tmp-t
mv tmp-t demarshal.c
command.h: command.pl command.h.in $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/command.pl $(top_srcdir)/features.def $(srcdir)/command.h.in > tmp-t
mv tmp-t command.h

View File

@@ -1,113 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <backend-server.h>
static int
_open_server (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int
_close_server (glibtop_server *, glibtop_backend *, void *);
extern glibtop_call_vector glibtop_backend_server_call_vector;
#ifdef LIBGTOP_USE_GMODULE
glibtop_backend_info LibGTopBackendInfo = {
"glibtop-backend-server", _open_server, _close_server,
&glibtop_backend_server_call_vector
};
#else
glibtop_backend_info LibGTopBackendInfo_Server = {
"glibtop-backend-server", _open_server, _close_server,
&glibtop_backend_server_call_vector
};
#endif
static int
_open_server (glibtop_server *server, glibtop_backend *backend,
u_int64_t features, const char **backend_args)
{
backend_server_private *priv;
priv = glibtop_calloc_r (server, 1, sizeof (backend_server_private));
glibtop_backend_set_closure_data (backend, priv);
#ifdef DEBUG
fprintf (stderr, "open_server - %p, %p, %p\n", server, backend, priv);
fprintf (stderr, "Opening pipe to server (%s).\n", LIBGTOP_SERVER);
#endif
if (pipe (priv->input) || pipe (priv->output)) {
glibtop_warn_io_r (server, "cannot make a pipe");
return -1;
}
priv->pid = fork ();
if (priv->pid < 0) {
glibtop_warn_io_r (server, "fork failed");
return -1;
} else if (priv->pid == 0) {
close (0); close (1);
close (priv->input [0]);
close (priv->output [1]);
dup2 (priv->input [1], 1);
dup2 (priv->output [0], 0);
execl (LIBGTOP_SERVER, "libgtop-server", NULL);
glibtop_error_io_r (server, "execl (%s)",
LIBGTOP_SERVER);
_exit (2);
}
close (priv->input [1]);
close (priv->output [0]);
glibtop_server_ref (server);
priv->server = server;
return 0;
}
static int
_close_server (glibtop_server *server, glibtop_backend *backend,
void *closure)
{
backend_server_private *priv = closure;
kill (priv->pid, SIGKILL);
close (priv->input [0]);
close (priv->output [1]);
glibtop_server_unref (priv->server);
priv->pid = 0;
g_free (priv);
return 0;
}

View File

@@ -1,66 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_BACKEND_COMMON_H__
#define __GLIBTOP_BACKEND_COMMON_H__
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/open.h>
#include <glibtop/xmalloc.h>
#include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h>
typedef struct _backend_server_private backend_server_private;
struct _backend_server_private
{
u_int64_t flags;
int input [2]; /* Pipe client <- server */
int output [2]; /* Pipe client -> server */
pid_t pid; /* PID of the server */
glibtop_server *server;
};
void *
glibtop_call_i (glibtop_server *server, backend_server_private *priv,
unsigned command, size_t send_size, const void *send_ptr,
size_t data_size, const void *data_ptr,
size_t recv_size, void *recv_ptr,
int *retval_ptr);
void
glibtop_read_i (backend_server_private *priv, size_t size, void *buf);
void *
glibtop_read_data_i (backend_server_private *priv);
void
glibtop_write_i (backend_server_private *priv, size_t size, const void *buf);
#endif

View File

@@ -1,100 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <backend-server.h>
#include "command.h"
void *
glibtop_call_i (glibtop_server *server, backend_server_private *priv,
unsigned command, size_t send_size, const void *send_buf,
size_t data_size, const void *data_buf,
size_t recv_size, void *recv_ptr,
int *retval_ptr)
{
glibtop_command cmnd;
glibtop_response resp;
#if 0
int retval;
#endif
memset (&cmnd, 0, sizeof (glibtop_command));
memset (&resp, 0, sizeof (glibtop_response));
cmnd.command = command;
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
* send it together with command, so we only need one system call instead
* of two. */
if (send_size <= _GLIBTOP_PARAM_SIZE) {
memcpy (cmnd.parameter, send_buf, send_size);
cmnd.param_size = send_size;
} else {
cmnd.send_size = send_size;
}
cmnd.data_size = data_size;
glibtop_write_i (priv, sizeof (glibtop_command), &cmnd);
if (data_size) {
#ifdef SLAVE_DEBUG
fprintf (stderr, "SENDING %d bytes of DATA.\n", data_size);
#endif
glibtop_write_i (priv, data_size, data_buf);
}
glibtop_read_i (priv, sizeof (glibtop_response), &resp);
#ifdef SLAVE_DEBUG
fprintf (stderr, "RESPONSE: %d - %d - %ld - %ld - %p - %ld\n",
resp.retval, resp.glibtop_errno,
(long) resp.recv_size, (long) resp.data_size,
recv_ptr, (long) recv_size);
#endif
if (retval_ptr)
*retval_ptr = resp.glibtop_errno;
if (resp.recv_size != recv_size) {
glibtop_warn_r (server, "Expected %ld bytes, but got %ld.",
(long) recv_size, (long) resp.recv_size);
return NULL;
}
if (recv_ptr)
glibtop_read_i (priv, recv_size, recv_ptr);
if (resp.data_size) {
void *ptr = glibtop_malloc_r (server, resp.data_size);
glibtop_read_i (priv, resp.data_size, ptr);
return ptr;
}
return NULL;
}

View File

@@ -1,76 +0,0 @@
#!/usr/bin/perl
require 'c_types.pl';
die "Usage: $0 features.def command.h.in" unless $#ARGV == 1;
$[ = 1; # set array base to 1
$, = ' '; # set output field separator
$\ = "\n"; # set output record separator
sub toupper {
local($_) = @_;
tr/a-z/A-Z/;
return $_;
}
sub tolower {
local($_) = @_;
tr/A-Z/a-z/;
return $_;
}
$constants_decl_code = '';
open FEATURESDEF, $ARGV[1] or
die "open ($ARGV[1]): $!";
while (<FEATURESDEF>) {
chop; # strip record separator
if (/^[^\#]/) {
&parse_features_def ($_);
}
}
close FEATURESDEF;
sub parse_features_def {
local($line) = @_;
@line_fields = split(/\|/, $line, 9999);
$retval = $line_fields[1];
$element_def = $line_fields[3];
$feature = $line_fields[2];
$param_def = $line_fields[4];
$orig = $feature;
$feature =~ s/^@//;
$space = $feature;
$space =~ s/./ /g;
$constants_decl_code .= sprintf
(qq[\#define %-40s %d\n], 'GLIBTOP_CMND_'.&toupper($feature),
++$feature_count);
$features{$feature_count} = $feature;
}
chop $constants_decl_code;
$auto_gen_comment = sprintf
(qq[/*\n * This file is automatically generated.\n * Please modify `command.pl' and `command.h.in'.\n */]);
open COMMAND, $ARGV[2] or
die "open ($ARGV[2]): $!";
while (<COMMAND>) {
chop;
s/^\s*\@\@GLIBTOP_COMMAND_CONSTANTS\@\@\s*$/$constants_decl_code/;
s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/;
} continue {
print $_;
}
close COMMAND;

View File

@@ -1,386 +0,0 @@
#!/usr/bin/perl
require 'c_types.pl';
$[ = 1; # set array base to 1
$, = ' '; # set output field separator
$\ = "\n"; # set output record separator
$always_use_temp_storage = 0;
sub toupper {
local($_) = @_;
tr/a-z/A-Z/;
return $_;
}
sub tolower {
local($_) = @_;
tr/A-Z/a-z/;
return $_;
}
print '/* demarshal.c */';
print "/* This is a generated file. Please modify `demarshal.pl' */";
print '';
print '#include <glibtop.h>';
print '#include <glibtop/open.h>';
print '#include <glibtop/xmalloc.h>';
print '';
print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>';
print '';
print '#include <glibtop/backend.h>';
print '';
print '#include <glibtop-backend-private.h>';
print '#include "server.h"';
print '';
$feature_count = 0;
while (<>) {
chop; # strip record separator
if (/^[^\#]/) {
&output($_);
}
}
sub output {
local($line) = @_;
@line_fields = split(/\|/, $line, 9999);
$retval = $line_fields[1];
$element_def = $line_fields[3];
$feature = $line_fields[2];
$param_def = $line_fields[4];
return if $feature =~ /^@/;
$name = 'glibtop_'.$feature;
$orig = $feature;
$feature =~ s/^@//;
$space = $feature;
$space =~ s/./ /g;
$features{++$feature_count} = $feature;
$orig_retval = $retval;
if ($retval eq 'retval') {
$retval_param = '&retval';
$call_prefix = '';
$call_prefix_space = '';
$prefix = 'retval = ';
$prefix_space = ' ';
$retval = 'int';
} elsif ($retval !~ /^void$/) {
$retval_param = 'NULL';
$prefix = 'retval = ';
$prefix_space = ' ';
$call_prefix = 'retval = ';
$call_prefix_space = ' ';
} else {
$retval_param = 'NULL';
$call_prefix = '';
$call_prefix_space = '';
$prefix = '';
$prefix_space = '';
}
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
}
$need_temp_storage = $always_use_temp_storage;
$first_param_name = '';
$size_code = "\t/* send size */\n";
$size_code .= "\t_LIBGTOP_SEND_len = 0;\n";
$local_var_decl_code = '';
$local_var_decl_code .= "\tsize_t _LIBGTOP_SEND_len, _LIBGTOP_RECV_len;\n";
$local_var_decl_code .= "\toff_t _LIBGTOP_SEND_offset;\n";
$local_var_decl_code .= "\tchar *_LIBGTOP_RECV_buf, *_LIBGTOP_RECV_ptr;\n";
$local_var_decl_code .= "\tconst char *_LIBGTOP_SEND_ptr;\n";
$local_var_decl_code .= sprintf
(qq[\tglibtop_%s %s;\n], $feature, $feature);
if ($retval !~ /^void$/) {
$local_var_decl_code .= sprintf ("\t%s retval = (%s) 0;\n",
$retval, $retval);
}
$init_local_var_code = "\t/* variable initialization */\n";
$init_local_var_code .= sprintf
(qq[\tmemset (&%s, 0, sizeof (glibtop_%s));\n], $feature, $feature);
$init_local_var_code .= "\t_LIBGTOP_SEND_offset = 0;\n";
$init_local_var_code .= "\t_LIBGTOP_SEND_ptr = ".
"(char *) send_ptr;\n";
$demarshal_code = '';
$call_param = '';
$param_decl = '';
$need_temp_len = 0;
$nr_params = (@params = split(/:/, $param_def, 9999));
for ($param = 1; $param <= $nr_params; $param++) {
$list = $params[$param];
$type = $params[$param];
$type =~ s/\(.*//;
$list =~ s/^.*\(//;
$list =~ s/\)$//;
$count = (@fields = split(/,/, $list, 9999));
for ($field = 1; $field <= $count; $field++) {
my $c_type = $typeinfo->{$type}->[1];
if ($first_param_name eq '') {
$first_param_name = $fields[$field];
}
if ($typeinfo->{$type}->[2]) {
$need_temp_storage = 1;
}
if ($param_decl eq '') {
$param_decl = ",\n " . $space . ' ';
} else {
$param_decl = $param_decl . ', ';
}
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
$call_param = $call_param . ', _LIBGTOP_demarshal_' . $fields[$field];
$size_code .= "\t_LIBGTOP_SEND_len += ";
if ($typeinfo->{$type}->[2]) {
$size_code .= sprintf ("sizeof (size_t)");
} else {
$size_code .= sprintf ("sizeof (%s)", $c_type);
}
$size_code .= ";\n";
$local_var_decl_code .= sprintf
(qq[\t%s _LIBGTOP_demarshal_%s;\n], $c_type, $fields[$field]);
$init_local_var_code .= sprintf
(qq[\tmemset (&_LIBGTOP_demarshal_%s, 0, sizeof (%s));\n],
$fields[$field], $c_type);
$demarshal_code .= "\t_LIBGTOP_SEND_ptr = ".
"(char *) send_ptr + _LIBGTOP_SEND_offset;\n";
if ($typeinfo->{$type}->[2]) {
$demarshal_code .= sprintf ("\tmemcpy (&_LIBGTOP_TEMP_len, _LIBGTOP_SEND_ptr, sizeof (size_t));\n");
$demarshal_code .= sprintf
(qq[\t_LIBGTOP_DATA_len += _LIBGTOP_TEMP_len;\n]);
$demarshal_code .= sprintf
(qq[\tif (_LIBGTOP_DATA_len > data_size)\n\t\treturn -GLIBTOP_ERROR_DEMARSHAL_ERROR;\n]);
$demarshal_code .= sprintf
(qq[\t_LIBGTOP_DATA_offset += _LIBGTOP_TEMP_len;\n]);
}
if (defined $demarshal_funcs->{$type}) {
$demarshal_code .= $demarshal_funcs->{$type}->($c_type, $fields[$field], "\t");
} else {
$demarshal_code .= sprintf ("\tmemcpy (&_LIBGTOP_demarshal_%s, _LIBGTOP_SEND_ptr, %s);\n",
$fields[$field], "sizeof ($c_type)");
}
$demarshal_code .= "\t_LIBGTOP_SEND_offset += ";
if ($typeinfo->{$type}->[2]) {
$demarshal_code .= sprintf ("sizeof (size_t)");
} else {
$demarshal_code .= sprintf ("sizeof (%s)", $c_type);
}
$demarshal_code .= ";\n";
}
}
if (!($demarshal_code eq '')) {
$demarshal_code = sprintf (qq[\t/* demarshal start */\n%s\n],
$demarshal_code);
}
if ($line_fields[3] eq '') {
$call_code = sprintf
("\tretval = glibtop_get_%s_p (server%s);\n",
$feature, $call_param);
} elsif ($line_fields[3] eq 'array') {
$call_code = sprintf
("\tretval = glibtop_get_%s_p (server, &array%s);\n",
$feature, $call_param);
$local_var_decl_code .= sprintf (qq[\tglibtop_array array;\n]);
} elsif ($line_fields[3] =~ /^array/) {
$call_code = sprintf
("\tretval = glibtop_get_%s_p (server, &array, &%s%s);\n",
$feature, $feature, $call_param);
$local_var_decl_code .= sprintf (qq[\tglibtop_array array;\n]);
} else {
$call_code = sprintf
("\tretval = glibtop_get_%s_p (server, &%s%s);\n",
$feature, $feature, $call_param);
}
if ($orig_retval eq 'retval') {
$call_code .= sprintf
(qq[\tif (retval_ptr)\n\t\t*retval_ptr = retval;\n]);
} else {
$call_code .= sprintf
(qq[\tif (retval_ptr)\n\t\t*retval_ptr = server->glibtop_errno;\n]);
}
$size_code .= sprintf
(qq[\tif (_LIBGTOP_SEND_len != send_size)\n\t\treturn -GLIBTOP_ERROR_DEMARSHAL_ERROR;\n\n]);
$size_code .= "\t/* recv size */\n";
$size_code .= "\t_LIBGTOP_RECV_len = 0;\n";
if ($line_fields[3] eq '') {
} elsif ($line_fields[3] eq 'array') {
$size_code .= "\t_LIBGTOP_RECV_len += sizeof (glibtop_array);\n";
} elsif ($line_fields[3] =~ /^array/) {
$size_code .= "\t_LIBGTOP_RECV_len += sizeof (glibtop_array);\n";
$size_code .= sprintf
(qq[\t_LIBGTOP_RECV_len += sizeof (glibtop_%s);\n], $feature);
} else {
$size_code .= sprintf
(qq[\t_LIBGTOP_RECV_len += sizeof (glibtop_%s);\n], $feature);
}
$size_code .= "\n";
$size_code .= "\t/* recv buffer */\n";
if ($line_fields[3] eq '') {
$size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n";
} else {
$size_code .= "\t_LIBGTOP_RECV_buf = glibtop_malloc_r (server, _LIBGTOP_RECV_len);\n";
}
$size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n";
$recv_buf_code = '';
if ($line_fields[3] eq '') {
} elsif ($line_fields[3] eq 'array') {
$recv_buf_code = "\t/* write recv buffer */\n";
$recv_buf_code .= sprintf
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &array, sizeof (glibtop_array));\n]);
$recv_buf_code .= sprintf
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_array);\n]);
} elsif ($line_fields[3] =~ /^array/) {
$recv_buf_code = "\t/* write recv buffer */\n";
$recv_buf_code .= sprintf
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &array, sizeof (glibtop_array));\n]);
$recv_buf_code .= sprintf
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_array);\n]);
$recv_buf_code .= sprintf
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &%s, sizeof (glibtop_%s));\n],
$feature, $feature);
$recv_buf_code .= sprintf
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_%s);\n], $feature);
} else {
$recv_buf_code = "\t/* write recv buffer */\n";
$recv_buf_code .= sprintf
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &%s, sizeof (glibtop_%s));\n],
$feature, $feature);
$recv_buf_code .= sprintf
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_%s);\n], $feature);
}
$recv_buf_code .= "\n";
$recv_buf_code .= "\t*recv_buf_ptr = _LIBGTOP_RECV_buf;\n";
$recv_buf_code .= "\t*recv_size_ptr = _LIBGTOP_RECV_len;\n";
if ($orig_retval eq 'pointer(string)') {
$need_temp_storage = 1;
$local_var_decl_code .= "\tchar **_LIBGTOP_TEMP_ptr;\n";
$local_var_decl_code .= "\tchar *_LIBGTOP_ARRAY_ptr;\n";
$local_var_decl_code .= "\tchar *_LIBGTOP_ARRAY_base;\n";
$local_var_decl_code .= "\toff_t _LIBGTOP_ARRAY_offset;\n";
$local_var_decl_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n";
$recv_buf_code .= "\n";
$recv_buf_code .= "\t_LIBGTOP_TEMP_len = 0;\n";
$recv_buf_code .= "\t_LIBGTOP_TEMP_ptr = retval;\n";
$recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++)\n";
$recv_buf_code .= "\t\t_LIBGTOP_TEMP_len += strlen (*_LIBGTOP_TEMP_ptr)+1;\n";
$recv_buf_code .= "\n";
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += sizeof (off_t) + 1;\n";
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += array.number * sizeof (off_t);\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_base = glibtop_malloc_r (server, _LIBGTOP_TEMP_len);";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = _LIBGTOP_ARRAY_base;\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset = array.number * sizeof (off_t);\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset += sizeof (off_t);\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) _LIBGTOP_ARRAY_ptr;\n";
$recv_buf_code .= "\n";
$recv_buf_code .= "\t*_LIBGTOP_ARRAY_off_ptr++ = _LIBGTOP_ARRAY_offset;\n";
$recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++) {\n";
$recv_buf_code .= "\t\t*_LIBGTOP_ARRAY_off_ptr++ = _LIBGTOP_ARRAY_offset;\n";
$recv_buf_code .= "\t\t_LIBGTOP_ARRAY_offset += strlen (*_LIBGTOP_TEMP_ptr)+1;\n";
$recv_buf_code .= "\t}\n\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) _LIBGTOP_ARRAY_off_ptr;\n";
$recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++) {\n";
$recv_buf_code .= "\t\tstrcpy (_LIBGTOP_ARRAY_ptr, *_LIBGTOP_TEMP_ptr);\n";
$recv_buf_code .= "\t\t_LIBGTOP_ARRAY_ptr += strlen (*_LIBGTOP_TEMP_ptr)+1;\n";
$recv_buf_code .= "\t}\n\n";
$recv_buf_code .= "\tif (recv_data_ptr) {\n";
$recv_buf_code .= "\t\t*recv_data_ptr = _LIBGTOP_ARRAY_base;\n";
$recv_buf_code .= "\t\t*recv_data_size_ptr = _LIBGTOP_TEMP_len;\n";
$recv_buf_code .= "\t}\n";
} elsif ($line_fields[3] =~ /^array/) {
$recv_buf_code .= "\n";
$recv_buf_code .= "\tif (recv_data_ptr) {\n";
$recv_buf_code .= "\t\t*recv_data_ptr = retval;\n";
$recv_buf_code .= "\t\t*recv_data_size_ptr = array.total;\n";
$recv_buf_code .= "\t}\n";
}
if ($need_temp_storage) {
$local_var_decl_code .= "\tsize_t _LIBGTOP_TEMP_len;\n";
$local_var_decl_code .= "\tsize_t _LIBGTOP_DATA_len;\n";
$local_var_decl_code .= "\toff_t _LIBGTOP_DATA_offset;\n";
$local_var_decl_code .= "\tchar *_LIBGTOP_DATA_ptr;\n";
$init_local_var_code .= "\t_LIBGTOP_DATA_len = 0;\n";
$init_local_var_code .= "\t_LIBGTOP_DATA_offset = 0;\n";
$init_local_var_code .= "\t_LIBGTOP_DATA_ptr = ".
"(char *) data_ptr;\n";
}
$func_decl_code = sprintf
(qq[static int\n_glibtop_demarshal_%s_i (glibtop *server, glibtop_backend *backend, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr)\n], $feature);
if (!($call_code eq '')) {
$call_code .= "\n";
}
$func_body_code = sprintf
(qq[%s%s%s%s], $size_code, $demarshal_code, $call_code, $recv_buf_code);
$total_code = sprintf
(qq[%s{\n%s\n%s\n%s\n\treturn 0;\n}\n],
$func_decl_code, $local_var_decl_code, $init_local_var_code,
$func_body_code);
$total_code = sprintf ("#if GLIBTOP_SUID_%s\n\n%s\n#endif /* GLIBTOP_SUID_%s */\n\n",
&toupper($feature), $total_code,
&toupper($feature));
print $total_code;
}
$func_decl_code = sprintf
(qq[int\nglibtop_demarshal_func_i (glibtop *server, glibtop_backend *backend, unsigned command, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr)]);
$switch_body_code = '';
for ($nr = 1; $nr <= $feature_count; $nr++) {
$feature = $features{$nr};
$switch_body_code .= sprintf
(qq[#if GLIBTOP_SUID_%s\n\tcase GLIBTOP_CMND_%s:\n\t\treturn _glibtop_demarshal_%s_i\n\t\t\t(server, backend, send_ptr, send_size,\n\t\t\t data_ptr, data_size,\n\t\t\t recv_buf_ptr, recv_size_ptr,\n\t\t\t recv_data_ptr, recv_data_size_ptr, retval_ptr);\n#endif /* GLIBTOP_SUID_%s */\n],
&toupper ($feature), &toupper ($feature), $feature, &toupper ($feature));
}
$switch_code = sprintf
(qq[\tswitch (command) {\n%s\tdefault:\n\t\treturn -GLIBTOP_ERROR_INVALID_ARGUMENT;\n\t}\n], $switch_body_code);
$total_code = sprintf
(qq[%s\n{\n%s}\n\n], $func_decl_code, $switch_code);
print $total_code;
1;

View File

@@ -1,114 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "server.h"
void
do_output (int s, glibtop_response *resp, const void *recv_ptr,
const void *data_ptr)
{
#ifdef DEBUG
fprintf (stderr, "Really writing %d bytes.\n",
sizeof (glibtop_response));
#endif
if (s == 0) {
if (write (1, (const void *) resp, sizeof (glibtop_response)) < 0)
glibtop_warn_io ("write");
} else {
if (send (s, (const void *) resp, sizeof (glibtop_response), 0) < 0)
glibtop_warn_io ("send");
}
if (resp->recv_size) {
#ifdef DEBUG
fprintf (stderr, "Writing %ld bytes of data.\n",
(long) resp->recv_size);
#endif
if (s == 0) {
if (write (1, recv_ptr, resp->recv_size) < 0)
glibtop_warn_io ("write");
} else {
if (send (s, recv_ptr, resp->recv_size, 0) < 0)
glibtop_warn_io ("send");
}
}
if (resp->data_size) {
#ifdef DEBUG
fprintf (stderr, "Writing %ld bytes of extra data.\n",
(long) resp->data_size);
#endif
if (s == 0) {
if (write (1, data_ptr, resp->data_size) < 0)
glibtop_warn_io ("write");
} else {
if (send (s, data_ptr, resp->data_size, 0) < 0)
glibtop_warn_io ("send");
}
}
}
int
do_read (int s, void *ptr, size_t total_size)
{
int nread;
char *tmp_ptr;
size_t already_read = 0, remaining = total_size;
while (already_read < total_size) {
if (s)
nread = recv (s, ptr, remaining, 0);
else
nread = read (0, ptr, remaining);
if ((already_read == 0) && (nread == 0)) {
glibtop_warn ("pid %d received eof.", getpid ());
return 0;
}
if (nread <= 0) {
glibtop_warn_io ("recv");
return 0;
}
already_read += nread;
remaining -= nread;
/* (char *) ptr += nread; */
tmp_ptr = ptr;
tmp_ptr += nread;
ptr = tmp_ptr;
#ifdef DEBUG
fprintf (stderr, "READ (%d): %d - %d - %d\n",
nread, already_read, remaining, total_size);
#endif
}
return already_read;
}

View File

@@ -1,13 +0,0 @@
<?xml version="1.0"?> <!-- -*-xml-*- -->
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
<libgtop:Backend>
<libgtop:Name>glibtop-backend-server</libgtop:Name>
<libgtop:Location>
<libgtop:LibtoolName>libgtop_backend_server.la</libgtop:LibtoolName>
<libgtop:ShlibName>libgtop_backend_server.so</libgtop:ShlibName>
</libgtop:Location>
</libgtop:Backend>
</libgtop:Backends>

View File

@@ -1,305 +0,0 @@
#!/usr/bin/perl
require 'c_types.pl';
$[ = 1; # set array base to 1
$, = ' '; # set output field separator
$\ = "\n"; # set output record separator
$always_use_temp_storage = 1;
sub toupper {
local($_) = @_;
tr/a-z/A-Z/;
return $_;
}
sub tolower {
local($_) = @_;
tr/A-Z/a-z/;
return $_;
}
print '/* marshal.c */';
print "/* This is a generated file. Please modify `marshal.pl' */";
print '';
print '#include <backend-server.h>';
print '';
print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>';
print '';
print '#include "command.h"';
print '#include <glibtop/call-vector.h>';
print '';
$feature_count = 0;
while (<>) {
chop; # strip record separator
if (/^[^#]/) {
&output($_);
}
}
sub output {
local($line) = @_;
@line_fields = split(/\|/, $line, 9999);
$retval = $line_fields[1];
$feature = $line_fields[2];
$param_def = $line_fields[4];
$orig = $feature;
$feature =~ s/^@//;
$space = $feature;
$space =~ s/./ /g;
$features{++$feature_count} = $orig;
return if $orig =~ /^@/;
$orig_retval = $retval;
if ($retval eq 'retval') {
$retval_param = '&retval';
$call_prefix = '';
$call_prefix_space = '';
$prefix = 'retval = ';
$prefix_space = ' ';
$retval = 'int';
}
elsif ($retval !~ /^void$/) {
$retval_param = 'NULL';
$prefix = 'retval = ';
$prefix_space = ' ';
$call_prefix = 'retval = ';
$call_prefix_space = ' ';
}
else {
$retval_param = 'NULL';
$call_prefix = '';
$call_prefix_space = '';
$prefix = '';
$prefix_space = '';
}
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
}
$need_temp_storage = $always_use_temp_storage;
$local_var_init_code = "\t/* variable initialization */\n";
$local_var_init_code .= "\t_LIBGTOP_SEND_len = 0;\n";
$local_var_init_code .= "\t_LIBGTOP_DATA_len = 0;\n";
$local_var_init_code .= "\t_LIBGTOP_SEND_offset = 0;\n";
$local_var_init_code .= "\t_LIBGTOP_SEND_ptr = ".
"(char *) _LIBGTOP_SEND_buf;\n";
$marshal_code = "\t/* marshal start */\n";
$marshal_code .= "\tmemset (_LIBGTOP_SEND_buf, 0, _LIBGTOP_SEND_len);\n";
$first_param_name = '';
$size_code = '';
$call_param = '';
$param_decl = '';
$need_temp_len = 0;
$nr_params = (@params = split(/:/, $param_def, 9999));
for ($param = 1; $param <= $nr_params; $param++) {
$list = $params[$param];
$type = $params[$param];
$type =~ s/\(.*//;
$list =~ s/^.*\(//;
$list =~ s/\)$//;
$count = (@fields = split(/,/, $list, 9999));
for ($field = 1; $field <= $count; $field++) {
my $c_type = $typeinfo->{$type}->[1];
if ($first_param_name eq '') {
$first_param_name = $fields[$field];
}
if ($typeinfo->{$type}->[2]) {
$need_temp_storage = 1;
}
if ($param_decl eq '') {
$param_decl = ",\n " . $space . ' ';
}
else {
$param_decl = $param_decl . ', ';
}
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
$call_param = $call_param . ', ' . $fields[$field];
$size_code .= "\t_LIBGTOP_SEND_len += ";
if ($typeinfo->{$type}->[2]) {
$size_code .= sprintf ("sizeof (size_t)");
} else {
$size_code .= sprintf ("sizeof (%s)", $c_type);
}
$size_code .= ";\n";
if (defined $sizeof_funcs->{$type}) {
$size_code .= "\t_LIBGTOP_DATA_len += ";
$size_code .= $sizeof_funcs->{$type}->($fields[$field]);
$size_code .= ";\n";
}
$marshal_code .= "\t_LIBGTOP_SEND_ptr = ".
"(char *) _LIBGTOP_SEND_buf + _LIBGTOP_SEND_offset;\n";
if (defined $marshal_funcs->{$type}) {
$marshal_code .= $marshal_funcs->{$type}->($c_type, $fields[$field], "\t");
} else {
$marshal_code .= sprintf ("\tmemcpy (_LIBGTOP_SEND_ptr, %s, %s);\n",
'&'.$fields[$field], "sizeof ($c_type)");
}
$marshal_code .= "\t_LIBGTOP_SEND_offset += ";
if ($typeinfo->{$type}->[2]) {
$marshal_code .= sprintf ("sizeof (size_t)");
} else {
$marshal_code .= sprintf ("sizeof (%s)", $c_type);
}
$marshal_code .= ";\n";
}
}
$local_var_code = "";
$local_var_code .= "\tunsigned _LIBGTOP_SEND_offset, _LIBGTOP_SEND_len;\n";
$local_var_code .= "\tunsigned _LIBGTOP_DATA_len;\n";
if ($need_temp_len) {
$local_var_code .= "\tunsigned _LIBGTOP_SEND_temp_len;\n";
}
$local_var_code .= "\tvoid *_LIBGTOP_SEND_buf, *_LIBGTOP_DATA_buf;\n";
$local_var_code .= "\tchar *_LIBGTOP_SEND_ptr, *_LIBGTOP_DATA_ptr;\n";
if ($retval !~ /^void$/) {
$local_var_code .= sprintf ("\t%s retval = (%s) 0;\n",
$retval, $retval);
}
$total_code = '';
$send_buf_code = "\t/* send buffer */\n";
$send_buf_code .= "\t_LIBGTOP_SEND_buf = ";
if ($need_temp_storage) {
$send_buf_code .= "glibtop_malloc_r (server, _LIBGTOP_SEND_len+1)";
} else {
$send_buf_code .= '(void *) &'.$first_param_name;
}
$send_buf_code .= ";\n\n";
$send_buf_code .= "\t/* data buffer */\n";
$send_buf_code .= "\t_LIBGTOP_DATA_buf = ";
if ($need_temp_storage) {
$send_buf_code .= "glibtop_malloc_r (server, _LIBGTOP_DATA_len+1)";
} else {
$send_buf_code .= 'NULL';
}
$send_buf_code .= ";\n";
$send_buf_code .= "\t_LIBGTOP_DATA_ptr = _LIBGTOP_DATA_buf;\n";
$call_code = '';
$call_code .= sprintf ("\t%sglibtop_call_i (server, closure, GLIBTOP_CMND_%s,\n",
$call_prefix, &toupper($feature));
$call_code .= sprintf ("\t\t\t%s%s, %s,\n", $call_prefix_space,
"_LIBGTOP_SEND_len", "_LIBGTOP_SEND_buf");
$call_code .= sprintf ("\t\t\t%s%s, %s,\n", $call_prefix_space,
"_LIBGTOP_DATA_len", "_LIBGTOP_DATA_buf");
if ($line_fields[3] eq '') {
$call_code .= sprintf ("\t\t\t%s0, NULL,\n", $call_prefix_space);
} elsif ($line_fields[3] eq 'array') {
$call_code .= sprintf ("\t\t\t%ssizeof (glibtop_array), array,\n",
$call_prefix_space);
} else {
$call_code .= sprintf ("\t\t\t%ssizeof (glibtop_%s), buf,\n",
$call_prefix_space, $feature);
}
$call_code .= sprintf ("\t\t\t%s%s);\n", $call_prefix_space, $retval_param);
if ($need_temp_storage) {
$send_buf_free_code = "\tglibtop_free_r (server, _LIBGTOP_SEND_buf);\n";
$send_buf_free_code .= "\tglibtop_free_r (server, _LIBGTOP_DATA_buf);\n";
} else {
$send_buf_free_code = "";
}
if (!($size_code eq '')) {
$size_code = sprintf (qq[\t/* send size */\n%s\n], $size_code);
}
if ($orig_retval eq 'pointer(string)') {
$call_code .= "\n";
$local_var_code .= "\tchar *_LIBGTOP_ARRAY_ptr, **ptrlist;\n";
$local_var_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n";
$local_var_code .= "\tint i;\n";
$call_code .= "\tptrlist = glibtop_calloc_r (server, array->number+1, sizeof (char *));\n";
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) retval;\n";
$call_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) retval;\n";
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr++;\n\n";
$call_code .= "\tfor (i = 0; i < array->number; i++)\n";
$call_code .= "\t\tptrlist [i] = glibtop_strdup_r (server, _LIBGTOP_ARRAY_ptr + *_LIBGTOP_ARRAY_off_ptr++);\n";
$call_code .= "\tptrlist [array->number] = NULL;\n\n";
$call_code .= "\tglibtop_free_r (server, retval);\n";
$call_code .= "\tretval = ptrlist;\n";
}
$total_code .= sprintf ("%s%s\n%s\n%s\n%s\n",
$size_code, $send_buf_code, $marshal_code,
$call_code, $send_buf_free_code);
$return_code = '';
if ($retval !~ /^void$/) {
$return_code .= "\treturn retval;\n";
} else {
$return_code .= "\treturn;\n";
}
$total_code .= $return_code;
$func_decl = 'static '.$retval."\n";
if ($line_fields[3] eq '') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] eq 'array') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] =~ /^array/) {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
} else {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
}
$total_code = sprintf ("%s{\n%s\n%s\n%s\n%s}\n", $func_decl,
$local_var_code, $local_var_init_code,
$total_code);
$total_code = sprintf ("#if GLIBTOP_SUID_%s\n\n%s\n#endif /* GLIBTOP_SUID_%s */\n\n",
&toupper($feature), $total_code,
&toupper($feature));
print $total_code;
}
$call_vector_code = '';
for ($nr = 1; $nr <= $feature_count; $nr++) {
$feature = $features{$nr};
$orig = $feature;
$feature =~ s/^@//;
if ($orig =~ /^@/) {
$call_vector_code .= sprintf (qq[\tNULL,\n]);
} else {
$call_vector_code .= sprintf
(qq[\#if GLIBTOP_SUID_%s\n\t_glibtop_get_%s_c,\n\#else\n\tNULL,\n\#endif\n],
&toupper($feature), $feature);
}
}
print 'glibtop_call_vector glibtop_backend_server_call_vector = {';
print $call_vector_code;
print '};';
print '';

View File

@@ -1,190 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "server.h"
static glibtop _glibtop_global_server;
glibtop *glibtop_global_server = &_glibtop_global_server;
#include <glibtop.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
#include <sys/utsname.h>
const unsigned long glibtop_server_features =
GLIBTOP_SUID_CPU +
GLIBTOP_SUID_MEM +
GLIBTOP_SUID_SWAP +
GLIBTOP_SUID_UPTIME +
GLIBTOP_SUID_LOADAVG +
GLIBTOP_SUID_SHM_LIMITS +
GLIBTOP_SUID_MSG_LIMITS +
GLIBTOP_SUID_SEM_LIMITS +
GLIBTOP_SUID_PROCLIST +
GLIBTOP_SUID_PROC_STATE +
GLIBTOP_SUID_PROC_UID +
GLIBTOP_SUID_PROC_MEM +
GLIBTOP_SUID_PROC_TIME +
GLIBTOP_SUID_PROC_SIGNAL +
GLIBTOP_SUID_PROC_KERNEL +
GLIBTOP_SUID_PROC_SEGMENT +
GLIBTOP_SUID_PROC_ARGS +
GLIBTOP_SUID_PROC_MAP +
GLIBTOP_SUID_NETINFO +
GLIBTOP_SUID_NETLOAD +
GLIBTOP_SUID_INTERFACE_NAMES +
GLIBTOP_SUID_PPP;
#include <fcntl.h>
#include <locale.h>
int
main(int argc, char *argv[])
{
struct utsname uts;
int uid, euid, gid, egid;
glibtop *server;
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
uid = getuid (); euid = geteuid ();
gid = getgid (); egid = getegid ();
if (uname (&uts) < 0) _exit (1);
if (strcmp (uts.sysname, LIBGTOP_COMPILE_SYSTEM) ||
strcmp (uts.release, LIBGTOP_COMPILE_RELEASE) ||
strcmp (uts.machine, LIBGTOP_COMPILE_MACHINE)) {
fprintf (stderr, "Can only run on %s %s %s\n",
LIBGTOP_COMPILE_SYSTEM,
LIBGTOP_COMPILE_RELEASE,
LIBGTOP_COMPILE_MACHINE);
_exit (1);
}
server = glibtop_global_server;
if (!server->_priv)
server->_priv = glibtop_calloc_r
(server, 1, sizeof (glibtop_server_private));
glibtop_init_p (server, 0, 0);
if (setreuid (euid, uid)) _exit (1);
if (setregid (egid, gid)) _exit (1);
/* !!! END OF SUID ROOT PART !!! */
handle_slave_connection (0, 0);
_exit (0);
}
void
handle_slave_connection (int input, int output)
{
glibtop_command _cmnd, *cmnd = &_cmnd;
glibtop *server = glibtop_global_server;
// glibtop_send_version_i (glibtop_global_server, output);
while (do_read (input, cmnd, sizeof (glibtop_command))) {
size_t recv_size = 0, send_size = 0, recv_data_size = 0;
void *recv_ptr = NULL, *recv_data_ptr = NULL, *data_ptr = NULL;
char parameter [BUFSIZ];
int retval, func_retval;
glibtop_response resp;
#ifdef DEBUG
fprintf (stderr, "Slave %d received command "
"%ld from client.\n", getpid (), (long) cmnd->command);
#endif
if (cmnd->send_size >= BUFSIZ)
glibtop_error ("Client sent %d bytes, but buffer is %d",
cmnd->send_size, BUFSIZ);
else if (cmnd->param_size >= BUFSIZ)
glibtop_error ("Client sent %d bytes, but buffer is %d",
cmnd->param_size, BUFSIZ);
memset (parameter, 0, sizeof (parameter));
if (cmnd->send_size) {
#ifdef DEBUG
fprintf (stderr, "Client has %d bytes of data.\n",
cmnd->send_size);
#endif
send_size = cmnd->send_size;
do_read (input, parameter, send_size);
} else if (cmnd->param_size) {
#ifdef DEBUG
fprintf (stderr, "Client has %d bytes of parameter data.\n",
cmnd->param_size);
#endif
send_size = cmnd->param_size;
memcpy (parameter, cmnd->parameter, send_size);
}
if (cmnd->data_size) {
#ifdef DEBUG
fprintf (stderr, "CLIENT has %d bytes of extra data for us.\n",
cmnd->data_size);
#endif
data_ptr = glibtop_malloc_r (server, cmnd->data_size);
do_read (input, data_ptr, cmnd->data_size);
}
retval = glibtop_demarshal_func_i (server, NULL,
cmnd->command,
parameter, send_size,
data_ptr, cmnd->data_size,
&recv_ptr, &recv_size,
&recv_data_ptr, &recv_data_size,
&func_retval);
#ifdef DEBUG
fprintf (stderr, "Retval %d / %d - %p - %d\n",
retval, func_retval, recv_ptr, recv_size);
if (recv_data_size) {
fprintf (stderr, "Returning %d bytes of data from %p.\n",
recv_data_size, recv_data_ptr);
}
#endif
memset (&resp, 0, sizeof (glibtop_response));
resp.retval = retval;
resp.glibtop_errno = func_retval;
resp.recv_size = recv_size;
resp.data_size = recv_data_size;
do_output (output, &resp, recv_ptr, recv_data_ptr);
}
}

View File

@@ -1,62 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "server.h"
void
glibtop_send_version_i (glibtop *server, int fd)
{
char buffer [BUFSIZ];
size_t size;
sprintf (buffer, LIBGTOP_VERSION_STRING,
LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION,
sizeof (glibtop_command),
sizeof (glibtop_response),
sizeof (glibtop_union),
sizeof (glibtop_sysdeps));
size = strlen (buffer) + 1;
#ifdef DEBUG
fprintf (stderr, "SERVER ID: |%s|\n", buffer);
#endif
if (fd == 0) {
if (write (1, (const void *) &size, sizeof (size)) < 0)
glibtop_warn_io_r (server, "write");
} else {
if (send (fd, (const void *) &size, sizeof (size), 0) < 0)
glibtop_warn_io_r (server, "send");
}
if (fd == 0) {
if (write (1, (const void *) buffer, size) < 0)
glibtop_warn_io_r (server, "write");
} else {
if (send (fd, (const void *) buffer, size, 0) < 0)
glibtop_warn_io_r (server, "send");
}
}

View File

@@ -1,7 +0,0 @@
.deps
.libs
Makefile
Makefile.in
*.lo
*.la
marshal.c

View File

@@ -1,60 +0,0 @@
2000-11-26 Martin Baulig <martin@home-of-linux.org>
* glibtop-backend-private.h: Removed.
* backend-sysdeps.h: New files.
* backend-sysdeps.c (_open_sysdeps): Don't overwrite
`backend->_priv'.
2000-11-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Link libgtop_backend_sysdeps.la against
$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la and
$(top_builddir)/lib/libgtop_server.la.
* libgtop-sysdeps.backend: Removed the ExtraLibs section.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* backend-sysdeps.c (LibGTopBackendInfo): Call this
`LibGTopBackendInfo_Sysdeps' when we don't use gmodule.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
2000-01-22 Martin Baulig <martin@home-of-linux.org>
* libgtop-sysdeps.backend: Added "ExtraLibs" section to
load `-lgtop_sysdeps'.
2000-01-12 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR).
* libgtop-sysdeps.backend: New file.
* backend-sysdeps.c (glibtop_backend_sysdeps): Renamed to
`LibGTopBackendInfo'.
2000-01-12 Martin Baulig <martin@home-of-linux.org>
* marshal.pl: Create the `_glibtop_init_hook_s' as well.
* marshal.pl: Don't create code for things which are now
in the new `glibtop-backend-common' backend.
2000-01-02 Martin Baulig <martin@home-of-linux.org>
* marshal.pl: New file. Automatically creates `marshal.c'.
* call-vector.c: Removed.
2000-01-01 Martin Baulig <martin@home-of-linux.org>
Initial version of the "glibtop-backend-sysdeps" backend.
* backend-sysdeps.c: New file.
* glibtop-backend-private.h: New file.

View File

@@ -1,47 +0,0 @@
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
INCLUDES = @INCLUDES@
backenddir = @LIBGTOP_BACKEND_DIR@
if LIBGTOP_USE_GMODULE
backendlibdir = $(backenddir)
else
backendlibdir = $(libdir)
endif
dynamic_ldflags = @libgtop_dynamic_ldflags@
backend_DATA = \
libgtop-sysdeps.backend
noinst_HEADERS = \
backend-sysdeps.h
backendlib_LTLIBRARIES = \
libgtop_backend_sysdeps.la
libgtop_backend_sysdeps_la_SOURCES = \
backend-sysdeps.c \
marshal.c
libgtop_backend_sysdeps_la_LDFLAGS = \
$(LT_VERSION_INFO) $(dynamic_ldflags)
libgtop_backend_sysdeps_la_LIBADD = \
$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la
$(top_builddir)/lib/libgtop_server.la
BUILT_SOURCES = \
marshal.c
EXTRA_DIST = \
marshal.pl \
libgtop-sysdeps.backend
CLEANFILES = $(BUILT_SOURCES)
marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t
mv tmp-t marshal.c

View File

@@ -1,76 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <backend-sysdeps.h>
static int
_open_sysdeps (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int
_close_sysdeps (glibtop_server *, glibtop_backend *, void *);
extern glibtop_call_vector glibtop_backend_sysdeps_call_vector;
#ifdef LIBGTOP_USE_GMODULE
glibtop_backend_info LibGTopBackendInfo = {
"glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps,
&glibtop_backend_sysdeps_call_vector
};
#else
glibtop_backend_info LibGTopBackendInfo_Sysdeps = {
"glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps,
&glibtop_backend_sysdeps_call_vector
};
#endif
static int
_open_sysdeps (glibtop_server *server, glibtop_backend *backend,
u_int64_t features, const char **backend_args)
{
glibtop_init_func_t *init_fkt;
/* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
glibtop_open_s (server, "glibtop", features, 0);
for (init_fkt = _glibtop_init_hook_s; *init_fkt; init_fkt++)
(*init_fkt) (server);
server->info->sysdeps.pointer_size = sizeof (void*)*8;
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
}
return 0;
}
static int
_close_sysdeps (glibtop_server *server, glibtop_backend *backend,
void *closure)
{
return 0;
}

View File

@@ -1,13 +0,0 @@
<?xml version="1.0"?> <!-- -*-xml-*- -->
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
<libgtop:Backend>
<libgtop:Name>glibtop-backend-sysdeps</libgtop:Name>
<libgtop:Location>
<libgtop:LibtoolName>libgtop_backend_sysdeps.la</libgtop:LibtoolName>
<libgtop:ShlibName>libgtop_backend_sysdeps.so</libgtop:ShlibName>
</libgtop:Location>
</libgtop:Backend>
</libgtop:Backends>

View File

@@ -1,195 +0,0 @@
#!/usr/bin/perl
require 'c_types.pl';
$[ = 1; # set array base to 1
$, = ' '; # set output field separator
$\ = "\n"; # set output record separator
$always_use_temp_storage = 1;
sub toupper {
local($_) = @_;
tr/a-z/A-Z/;
return $_;
}
sub tolower {
local($_) = @_;
tr/A-Z/a-z/;
return $_;
}
print '/* marshal.c */';
print "/* This is a generated file. Please modify `marshal.pl' */";
print '';
print '#include <backend-sysdeps.h>';
print '';
print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>';
print '';
print '#include <glibtop/call-vector.h>';
print '';
$feature_count = 0;
while (<>) {
chop; # strip record separator
if (/^[^#]/) {
&output($_);
}
}
sub output {
local($line) = @_;
@line_fields = split(/\|/, $line, 9999);
$retval = $line_fields[1];
$feature = $line_fields[2];
$param_def = $line_fields[4];
$orig = $feature;
$feature =~ s/^@//;
$space = $feature;
$space =~ s/./ /g;
$features{++$feature_count} = $orig;
return if $orig =~ /^@/;
if ($retval eq 'retval') {
$retval_param = '&retval';
$call_prefix = '';
$call_prefix_space = '';
$prefix = 'retval = ';
$prefix_space = ' ';
$retval = 'int';
}
elsif ($retval !~ /^void$/) {
$retval_param = 'NULL';
$prefix = 'retval = ';
$prefix_space = ' ';
$call_prefix = 'retval = ';
$call_prefix_space = ' ';
}
else {
$retval_param = 'NULL';
$call_prefix = '';
$call_prefix_space = '';
$prefix = '';
$prefix_space = '';
}
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
}
$need_temp_storage = $always_use_temp_storage;
$first_param_name = '';
$call_param = '';
$param_decl = '';
$need_temp_len = 0;
$nr_params = (@params = split(/:/, $param_def, 9999));
for ($param = 1; $param <= $nr_params; $param++) {
$list = $params[$param];
$type = $params[$param];
$type =~ s/\(.*//;
$list =~ s/^.*\(//;
$list =~ s/\)$//;
$count = (@fields = split(/,/, $list, 9999));
for ($field = 1; $field <= $count; $field++) {
my $c_type = $typeinfo->{$type}->[1];
if ($first_param_name eq '') {
$first_param_name = $fields[$field];
}
if ($typeinfo->{$type}->[2]) {
$need_temp_storage = 1;
}
if ($param_decl eq '') {
$param_decl = ",\n " . $space . ' ';
}
else {
$param_decl = $param_decl . ', ';
}
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
$call_param = $call_param . ', ' . $fields[$field];
}
}
if ($line_fields[3] eq '') {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server%s);\n", $feature, $call_param);
} elsif ($line_fields[3] eq 'array') {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server, array%s);\n", $feature, $call_param);
} elsif ($line_fields[3] =~ /^array/) {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server, array, buf%s);\n", $feature, $call_param);
} else {
$total_code = sprintf
("\treturn glibtop_get_%s_s (server, buf%s);\n", $feature, $call_param);
}
$func_decl = 'static '.$retval."\n";
if ($line_fields[3] eq '') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] eq 'array') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] =~ /^array/) {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
} else {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
}
$total_code = sprintf ("%s{\n%s\n%s}\n", $func_decl, $total_code);
$total_code = sprintf ("#if (!GLIBTOP_SUID_%s)\n\n%s\n#endif /* not GLIBTOP_SUID_%s */\n\n",
&toupper($feature), $total_code,
&toupper($feature));
print $total_code;
}
$init_hook_code = '';
$call_vector_code = '';
for ($nr = 1; $nr <= $feature_count; $nr++) {
$feature = $features{$nr};
if ($feature =~ /^@/) {
$call_vector_code .= sprintf (qq[\tNULL,\n]);
} else {
$call_vector_code .= sprintf
(qq[\#if GLIBTOP_SUID_%s\n\tNULL,\n\#else\n\t_glibtop_get_%s_c,\n\#endif\n],
&toupper($feature), $feature);
}
if (!($feature =~ /^@/)) {
$init_hook_code .= sprintf
(qq[\#if !GLIBTOP_SUID_%s\n\tglibtop_init_%s_s,\n\#endif\n],
&toupper($feature), $feature);
}
}
$init_hook_code .= sprintf (qq[\tNULL\n]);
chop $init_hook_code;
chop $call_vector_code;
print 'glibtop_call_vector glibtop_backend_sysdeps_call_vector = {';
print $call_vector_code;
print '};';
print '';
print 'glibtop_init_func_t _glibtop_init_hook_s [] = {';
print $init_hook_code;
print '};';
print '';

View File

@@ -1,61 +1,58 @@
dnl
dnl Configure script for LibGTop
dnl Configure script for the Gnome library
dnl
AC_INIT(copyright.txt)
AM_CONFIG_HEADER(config.h)
m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [19])
m4_define([libgtop_micro_version], [91])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals.
m4_define([libgtop_current], [8])
dnl increment any time the source changes; set to
dnl 0 if you increment CURRENT
m4_define([libgtop_revision], [0])
dnl increment if any interfaces have been added; set to 0
dnl if any interfaces have been removed. removal has
dnl precedence over adding, so set to 0 if both happened.
m4_define([libgtop_age], [1])
# Increase each time you change the client/server protocol.
m4_define([libgtop_server_version], [5])
# Version code calculation
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
AC_PREREQ(2.59)
AC_INIT([libgtop], [libgtop_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
AC_CONFIG_SRCDIR(copyright.txt)
AC_CONFIG_HEADERS(config.h)
AC_CANONICAL_SYSTEM
dnl This is required at several places
AC_CHECK_PROG(ac_dc_found, dc, yes, no)
if test x$ac_dc_found != xyes ; then
AC_MSG_ERROR([
*** The "dc" utility was not found on your system.
***
*** When using RedHat Linux, you need to install the "bc" package.
***
*** It is now part of the "bc" package, so you should look at
*** ftp://ftp.gnu.org/pub/gnu/bc/ if you want to compile it yourself.
***
*** Other systems and distributions may also have it in their "bc" package,
*** so if there's no "dc" one, please look for "bc".
***])
fi
AM_INIT_AUTOMAKE
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
. $srcdir/LIBGTOP-VERSION
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AC_SUBST(LIBGTOP_MAJOR_VERSION)
AC_SUBST(LIBGTOP_MINOR_VERSION)
AC_SUBST(LIBGTOP_MICRO_VERSION)
AC_SUBST(LIBGTOP_INTERFACE_AGE)
AC_SUBST(LIBGTOP_BINARY_AGE)
AC_SUBST(LIBGTOP_VERSION)
AC_SUBST(LIBGTOP_VERSION_CODE)
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
AC_SUBST(LIBGTOP_PACKAGE)
AC_DEFINE_UNQUOTED(LIBGTOP_PACKAGE, "$LIBGTOP_PACKAGE")
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
AC_SUBST(LIBGTOP_MINOR_VERSION, [libgtop_minor_version])
AC_SUBST(LIBGTOP_MICRO_VERSION, [libgtop_micro_version])
AC_SUBST(LIBGTOP_SERVER_VERSION, [libgtop_server_version])
AC_SUBST(LIBGTOP_VERSION, [libgtop_version])
AC_SUBST(LIBGTOP_VERSION_CODE, [libgtop_version_code])
# libtool versioning
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
LT_CURRENT=`expr $LIBGTOP_MICRO_VERSION - $LIBGTOP_INTERFACE_AGE`
LT_REVISION=$LIBGTOP_INTERFACE_AGE
LT_AGE=`expr $LIBGTOP_BINARY_AGE - $LIBGTOP_INTERFACE_AGE`
LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE} -release ${LT_RELEASE}'
AC_SUBST(LT_VERSION_INFO)
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
AC_SUBST(LT_VERSION_INFO,
["-version-info libgtop_current:libgtop_revision:libgtop_age"])
GNOME_COMMON_INIT
GNOME_PLATFORM_GNOME_2(yes, force)
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
AC_ISC_POSIX
AC_PROG_CC
AC_STDC_HEADERS
AC_ARG_PROGRAM
dnl AC_ARG_PROGRAM
dnl We need this at some places.
libgtop_top_builddir=`pwd`
@@ -74,10 +71,8 @@ AC_CHECK_TOOL(CC,gcc)
AC_CHECK_TOOL(RANLIB,ranlib)
AC_CHECK_TOOL(AS,as)
AC_CHECK_TOOL(AR,ar)
AC_CHECK_TOOL(NM,nm)
NM=`which $NM`
export CC CXX RANLIB LD AS AR NM
export CC CXX RANLIB LD AS AR
AC_PROG_INSTALL
AC_PROG_LN_S
@@ -85,47 +80,24 @@ AC_PROG_MAKE_SET
export cross_compiling
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
dnl Let the user enable compiler warnings
GNOME_COMPILE_WARNINGS
dnl PKGCONFIG_CHECK_MODULES(GNOMESUPPORT, libgnomesupport-2.0:1.96.0)
dnl AC_SUBST(GNOMESUPPORT_CFLAGS)
dnl AC_SUBST(GNOMESUPPORT_LIBS)
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.2.8)
AC_SUBST(XML_CFLAGS)
AC_SUBST(XML_LIBS)
GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES
AC_ARG_WITH(libgtop-inodedb,
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
[build_inodedb="$withval"], [build_inodedb=no])
GLIB_REQUIRED=2.6.0
LIBGTOP_EXTRA_LIBS=
if test x$build_inodedb = xyes ; then
AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no)
fi
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
if test x$build_inodedb = xyes ; then
AC_DEFINE(GLIBTOP_INODEDB)
fi
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
AM_PROG_LIBTOOL
dnl Check for glib
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.1 gmodule-2.0 >= 1.3.1 gobject-2.0 >= 1.3.1)
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
if test x$HAVE_IFADDRS_H = xyes ; then
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
fi
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
@@ -137,11 +109,90 @@ AC_HEADER_TIME
AC_STRUCT_TM
AC_TYPE_UID_T
dnl Check for Internet sockets.
dnl For SunOS
AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_HEADERS(memory.h)
AC_CHECK_HEADERS(string.h strings.h, break)
AC_REPLACE_FUNCS(strerror)
dnl dlopen() and dlsym()
DL_LIB=
AC_CHECK_FUNCS(dlopen,,[
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
])
])
])
oLIBS="$LIBS"
LIBS="$LIBS $DL_LIB"
AC_CHECK_FUNCS(dlerror,,)
LIBS="$oLIBS"
AC_SUBST(DL_LIB)
dnl Linux
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
if test x$HAVE_ISDN_H = xyes ; then
AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
fi
dnl AIX
AC_CHECK_LIB(perfstat, vmgetinfo,
AC_DEFINE(HAVE_VMGETINFO, 1,
[Define to 1 if you have the 'vmgetinfo' function in libperfstat]))
dnl Solaris
case "$host_os" in
solaris*)
AC_CHECK_LIB(kstat, kstat_open)
AC_CHECK_FUNCS(getloadavg swapctl)
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
dnl Some versions of Solaris require -lelf for -lkvm
case $host_os in
solaris[[8-9]] | solaris2.[[0-9]].*)
AC_CHECK_LIB(kvm, kvm_open,[
LIBS="-lkvm $LIBS"
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
[ac_save_LIBS="$LIBS"
LIBS="-lkvm -lelf $LIBS"
AC_TRY_LINK([char kvm_open();], [kvm_open()],
ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
LIBS="$ac_save_LIBS"
])
if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
AC_MSG_RESULT(yes)
LIBS="-lkvm -lelf $LIBS"
else
AC_MSG_RESULT(no)
fi
])
;;
esac
;;
esac
dnl For DEC OSF1
AC_CHECK_LIB(mach, vm_statistics)
dnl For some broken libc5 systems (Debian 1.3)
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -D_GNU_SOURCE"
GCC_NEED_DECLARATION(program_invocation_name, [
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
])
CFLAGS=$saved_CFLAGS
AC_CHECK_FUNC(socket,
[AC_CHECK_HEADER(netinet/in.h,
[AC_CHECK_HEADER(arpa/inet.h, [
AC_DEFINE(HAVE_SOCKETS)
AC_DEFINE(HAVE_SOCKETS, 1, [Define if BSD sockets are supported])
AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
AC_TRY_LINK([
#include <sys/types.h>
@@ -149,7 +200,7 @@ AC_CHECK_FUNC(socket,
#include <sys/un.h>
],
[static struct sockaddr_un x; x.sun_len = 1;],
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un has a sun_len member])],
[AC_MSG_RESULT(no)])])])])
dnl Checks for library functions.
@@ -159,93 +210,185 @@ AC_TYPE_SIGNAL
AC_FUNC_STRFTIME
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
dnl ## all 'es_??' are only needed for format numbers different of 'es'
ALL_LINGUAS="az ca da de el es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fi fr ga gl hu ja ko nl nn no pl pt_BR ro ru sk sl sv tr uk zh_CN.GB2312 zh_TW"
AM_GNOME2_GETTEXT
IT_PROG_INTLTOOL([0.35.0])
GETTEXT_PACKAGE=libgtop-2.0
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[Define to the gettext package used by the library])
AM_GLIB_GNU_GETTEXT
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
AC_PATH_XTRA
dnl For Solaris
dnl Please don't move this before AC_PATH_XTRA
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
dnl So we use the following instead.
dnl XE_SPACE(var, words)
define([XE_SPACE],[
T=""
for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
$1="$T"
])dnl
dnl Autodetect Xauth
dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
saved_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
test -z "$with_xauth" && with_xauth=yes
if test "$with_xauth" = "yes"; then
AC_DEFINE(HAVE_XAUTH, 1, [Define if Xauth is supported])
XE_SPACE(libs_xauth, $X_LIBS -lXau)
fi
CPPFLAGS="$saved_CPPFLAGS"
AC_SUBST(libs_xauth)
dnl For diskusage stuff
GNOME_FILEUTILS_CHECKS
dnl Debugging
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]], libgtop_enable_debug=yes, libgtop_enable_debug=no)
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
AC_ARG_ENABLE(glib-malloc, [ --enable-glib-malloc use glib's malloc [default=auto]], libgtop_enable_glib_malloc=yes,)
if test "x$libgtop_enable_glib_malloc" != xyes ; then
if test "x$libgtop_enable_debug" = xyes ; then
libgtop_enable_glib_malloc=yes
else
libgtop_enable_glib_malloc=no
fi
fi
if test "x$libgtop_enable_glib_malloc" = xyes ; then
AC_DEFINE(LIBGTOP_USE_GLIB_MALLOC)
fi
if test "x$libgtop_enable_debug" = xyes ; then
AC_DEFINE(LIBGTOP_ENABLE_DEBUG)
fi
AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug],
[Turn on debugging @<:@default=no@:>@]),
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
AC_ARG_ENABLE(fatal-warnings,
AS_HELP_STRING([--enable-fatal-warnings],
[Make all warnings fatal @<:@debug=no@:>@]),
AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1,
[Define to enable fatal warnings]))
dnl These definitions are expanded in make.
LIBGTOP_LIBS='-L$(libdir)'
LIBGTOP_INCS='-I$(includedir) -I$(pkglibdir)/include'
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
if test x$build_inodedb = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
if test x$libgtop_use_machine_h = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
fi
LIBGTOP_INCS="$LIBGTOP_INCS $GNOMESUPPORT_CFLAGS $GLIB_CFLAGS $XML_CFLAGS"
if test x$libgtop_smp = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
fi
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS $XML_LIBS"
if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop_common -lgtop"
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names"
libgtop_save_prefix="$prefix"
libgtop_save_exec_prefix="$exec_prefix"
test "x$prefix" = xNONE && prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
LIBGTOP_BINDIR=`eval echo "${bindir}"`
LIBGTOP_SERVER=`eval echo "${bindir}/libgtop_server2"`
prefix="$libgtop_save_prefix"
exec_prefix="$libgtop_save_exec_prefix"
sysdeps_dir="$libgtop_sysdeps_dir"
AC_SUBST(sysdeps_dir)
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
LIBGTOP_EXTRA_LIBS="$libs_xauth"
else
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
fi
LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES"
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
AC_SUBST(machine_incs)
LIBGTOP_BACKEND_DIR="\$(datadir)/libgtop/backends"
if test "$GCC" = "yes" ; then
CFLAGS="\
-Winline \
-Wall \
-std=gnu89 \
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wpointer-arith \
-Wcast-align -Wsign-compare \
$CFLAGS"
fi
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -Werror -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include -I\$(top_builddir)/include -I\$(top_srcdir)/intl $GNOMESUPPORT_CFLAGS $GLIB_CFLAGS $XML_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_BACKEND_DIR=\"'"$LIBGTOP_BACKEND_DIR"'\"'
INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
# Add various defines to the config.h file ...
AH_VERBATIM([_GNU_SOURCE],
[/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif])
AC_DEFINE([_IN_LIBGTOP], 1,
[Note that we are building libgtop rather than using it])
AC_DEFINE([LIBGTOP_VERSION], ["libgtop_version"],
[The libgtop version number])
AC_DEFINE([LIBGTOP_SERVER_VERSION], ["libgtop_server_version"],
[The libgtop server version])
AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
[The libgtop version number as an integer])
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
[The path to the libgtop server])
AC_SUBST(INCLUDES)
AC_SUBST(LIBGTOP_EXTRA_LIBS)
AC_SUBST(LIBGTOP_BACKEND_DIR)
AC_SUBST(GLIB_LIBS)
AC_SUBST(LIBGTOP_LIBS)
AC_SUBST(LIBGTOP_INCS)
AC_SUBST(LIBGTOP_NAMES_LIBS)
AC_SUBST(LIBGTOP_NAMES_INCS)
AC_SUBST(LIBGTOP_BINDIR)
AC_SUBST(LIBGTOP_SERVER)
AC_OUTPUT([
if test x$libgtop_need_server = xyes ; then
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
server_programs='libgtop_server2'
else
sysdeps_suid_lib=
server_programs=
fi
AC_SUBST(sysdeps_suid_lib)
AC_SUBST(server_programs)
GTK_DOC_CHECK(1.4)
AC_CONFIG_FILES([
Makefile
libgtop.spec
po/Makefile.in
intl/Makefile
misc/Makefile
include/Makefile
include/glibtop/Makefile
sysdeps/Makefile
sysdeps/common/Makefile
sysdeps/names/Makefile
sysdeps/stub/Makefile
sysdeps/stub_suid/Makefile
sysdeps/sun4/Makefile
sysdeps/osf1/Makefile
sysdeps/linux/Makefile
sysdeps/freebsd/Makefile
sysdeps/solaris/Makefile
sysdeps/aix/Makefile
sysdeps/bsd/Makefile
src/Makefile
src/inodedb/Makefile
scripts/Makefile
backends/Makefile
backends/server/Makefile
backends/sysdeps/Makefile
backends/common/Makefile
src/daemon/Makefile
lib/Makefile
examples/Makefile
doc/Makefile
dtd/Makefile
libgtop-2.0.pc])
doc/reference/Makefile
doc/reference/version.xml
libgtop-2.0.pc
libgtopconfig.h
])
AC_OUTPUT

View File

@@ -1,10 +1,9 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
This file is part of LibGTop 2.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
Contributed by Benoît Dejean <TazForEver@dlfp.org>, 2004.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,

9
debian/.cvsignore vendored
View File

@@ -1,9 +0,0 @@
control
rules
build
tmp
*.postinst
*.debhelper
*.files
files
substvars

View File

@@ -1,10 +1,9 @@
LibGTop CVS snapshots for Debian
--------------------------------
This is a snapshot of LibGTop from the main CVS archive, built into a
Debian package. This package is not guaranteed to work, as it was
built automatically. You're on your own, mister or missus!
This is a debian package made from a stable release of LibGTop, but it
should be considered "unofficial" since I'm not a Debian Maintainer.
Martin Baulig <martin@home-of-linux.org>, Fri, 14 Jan 2000 20:20:13 +0100
Martin Baulig <martin@home-of-linux.org>, Wed, 16 Feb 2000 16:40:50 +0100

11
debian/changelog vendored
View File

@@ -1,9 +1,10 @@
libgtop (1.1.4-1) unstable; urgency=low
* New upstream source
* Non-maintainer upload; this is an unstable developer's snapshot from
the GNOME CVS tree.
libgtop (1.0.7-1) unstable; urgency=low
* New upstream source (1.0.7 "Copenhagen" release)
* Non-maintainer upload; since I'm not a Debian maintainer, this is some
kind of "unofficial" debian package for LibGTop 1.0.7 - but I think it
can be considered stable and working.
-- Martin Baulig <martin@home-of-linux.org> Fri, 14 Jan 2000 15:32:48 +0100
-- Martin Baulig <martin@home-of-linux.org> Wed, 16 Feb 2000 16:40:50 +0100
libgtop (1.0.6-1) unstable; urgency=low
* New upstream source

4
debian/control.in vendored
View File

@@ -4,7 +4,7 @@ Section: libs
Priority: optional
Standards-Version: 3.0.0
Package: libgtop2@SUFFIX@
Package: libgtop1@SUFFIX@
Architecture: any
Section: libs
Depends: ${shlibs:Depends}
@@ -20,7 +20,7 @@ Description: Portable system access library (part of Gnome)
Package: libgtop-dev@SUFFIX@
Architecture: any
Section: devel
Depends: libgtop2@SUFFIX@ (= ${Source-Version})
Depends: libgtop1@SUFFIX@ (= ${Source-Version})
Description: Dev libraries for the portable system access library (part of Gnome)
Gnome is the "GNU Network Object Model Environment"
.

2
debian/debconfigure vendored
View File

@@ -93,7 +93,7 @@ do
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
done
for postinst in libgtop2$pkgsuffix
for postinst in libgtop1$pkgsuffix
do
cat > $postinst.postinst <<EOF

View File

@@ -1,21 +1,17 @@
@PREFIX@/lib/libgtop.a
@PREFIX@/lib/libgtop_common.a
@PREFIX@/lib/libgtop_names.a
@PREFIX@/lib/libgtop_suid_common.a
@PREFIX@/lib/libgtop_sysdeps.a
@PREFIX@/lib/libgtop.la
@PREFIX@/lib/libgtop_common.la
@PREFIX@/lib/libgtop_names.la
@PREFIX@/lib/libgtop_suid_common.la
@PREFIX@/lib/libgtop_sysdeps.la
@PREFIX@/lib/libgtopConf.sh
@PREFIX@/lib/libgtop.so
@PREFIX@/lib/libgtop_common.so
@PREFIX@/lib/libgtop_names.so
@PREFIX@/lib/libgtop_suid_common.so
@PREFIX@/lib/libgtop_sysdeps.so
@PREFIX@/lib/libgtop-features.def
@PREFIX@/lib/libgtop-structures.def
@PREFIX@/lib/libgtop/include/*.h
@PREFIX@/include/glibtop/*.h
@PREFIX@/include/glibtop.h

5
debian/libgtop1.README.Debian vendored Normal file
View File

@@ -0,0 +1,5 @@
The Debian package of libgtop, a GNOME library.
--
Martin Baulig <martin@home-of-linux.org>

12
debian/libgtop1.copyright vendored Normal file
View File

@@ -0,0 +1,12 @@
libgtop is released under the GPL.
On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in /usr/share/common-licenses/GPL
Original authors: Martin Baulig <martin@home-of-linux.org>
Drazen Kacar <dave@srce.hr>
Originally Debianised by Jim Pick <jim@jimpick.com>
Then re-Debianised in October 1998 by Martin Schulze
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
<ian@lynagh.demon.co.uk> in November 1998.

5
debian/libgtop1.docs vendored Normal file
View File

@@ -0,0 +1,5 @@
RELNOTES-0.25
RELNOTES-1.0.x
NEWS
AUTHORS
debian/changelog

4
debian/libgtop1.files.in vendored Normal file
View File

@@ -0,0 +1,4 @@
@PREFIX@/lib/libgtop*.so.[0-9].[0-9][0-9].[0-9]
@PREFIX@/lib/libgtop*.so.[0-9].[0-9].[0-9]
@PREFIX@/lib/libgtop*.so.[0-9]
@PREFIX@/share/locale/*/*/libgtop.mo

8
debian/rules.in vendored
View File

@@ -66,14 +66,14 @@ install-saved:
binary-indep: build install
binary-arch: build install \
libgtop2@SUFFIX@ \
libgtop1@SUFFIX@ \
libgtop-dev@SUFFIX@
#
# libgtop2@SUFFIX@
# libgtop1@SUFFIX@
#
libgtop2@SUFFIX@: install
libgtop1@SUFFIX@: install
@echo "--- Building: $@"
dh_installdocs -p$@ -P$(b)/$@ README NEWS AUTHORS
dh_installchangelogs -p$@ -P$(b)/$@ ChangeLog
@@ -95,7 +95,7 @@ libgtop2@SUFFIX@: install
libgtop-dev@SUFFIX@: install
@echo "--- Building: $@"
mkdir -p $(b)/$@/usr/doc
cd $(b)/$@/usr/doc; ln -s libgtop2@SUFFIX@ $@
cd $(b)/$@/usr/doc; ln -s libgtop1@SUFFIX@ $@
dh_movefiles -p$@ -P$(b)/$@
dh_strip -p$@ -P$(b)/$@
dh_compress -p$@ -P$(b)/$@

View File

@@ -1,11 +0,0 @@
texinfo.tex
*.info
Makefile.in
Makefile
*.log *.toc *.dvi *.aux *.cp *.fn *.vr *.tp *.ky *.pg
*.ps
auto-macros.texi
version.texi
stamp-vti
*.html *.pdf
*.info-*

View File

@@ -1,10 +1,54 @@
2002-01-09 Darin Adler <darin@bentspoon.com>
2007-02-15 Benoît Dejean <benoit@placenet.org>
* Makefile.am: Fix build breakage caused by bad MAKEINFO change.
* reference/Makefile.am:
Fixed distcheck.
2000-02-05 Martin Baulig <martin@home-of-linux.org>
2006-02-21 Benoît Dejean <benoit@placenet.org>
* reference.texi: Started to update documentation.
* reference.texi: Fixed glibtop_get_proc_state doc.
Patch by Emil Nowak <emil5@go2.pl>.
2005-01-03 Benoît Dejean <TazForEver@dlfp.org>
* reference.texi: Updated.
2004-12-04 Benoît Dejean <tazforever@dlfp.org>
* reference.texi: Updated.
2004-08-03 Benoît Dejean <tazforever@dlfp.org>
* reference.texi: Updated.
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* reference.texi: updated.
Added glibtop_get_proc_argv.
Added glibtop_fsusage.block_size.
2004-03-05 Bastien Nocera <hadess@hadess.net>
* reference.texi: update for new API
2003-10-20 Bastien Nocera <hadess@hadess.net>
* reference.texi: s/u_int64_t/guint64/
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
2002-03-12 James Henstridge <james@daa.com.au>
* Makefile.am (MAKEINFO): using += seems to screw up the build
with newer automakes. Set it explicitly (using @MAKEINFO@) seems
to be compatible with both.
2001-11-26 Abel Cheung <maddog@linux.org.hk>
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
* about.texi: Very minor update.
1999-10-18 Martin Baulig <martin@home-of-linux.org>
@@ -15,22 +59,7 @@
1999-09-29 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Reverted Timur's commit.
(MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here. This still
creates libgtop.info in srcdir, but that's an automake problem.
Tue Jun 15 15:59:50 1999 Timur Bakeyev <mc@bat.ru>
* Makefile.am: Force `auto-macros.texi' to be created in $(srcdir),
as, otherwise, makeinfo is unable to find it, if srcdir != builddir.
That's a buggy solution, as spoils srcdir, but, as libgtop.info also
created in srcdir - this is acceptable. Both SHOULD be fixed!
1999-05-28 Martin Baulig <baulig@Stud.Informatik.Uni-Trier.DE>
* internals.texi: New file documenting LibGTop internals.
* reference.texi: Started to document all library functions and
finished the sysdeps and common references.
* Makefile.am (MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here.
1999-05-16 Martin Baulig <martin@home-of-linux.org>

View File

@@ -1,45 +1,8 @@
info_TEXINFOS = libgtop.texi
SUBDIRS = reference
libgtop_TEXINFOS = libgtop.texi about.texi reference.texi \
auto-macros.texi version.texi main.texi \
white-paper.texi internals.texi
info_TEXINFOS = libgtop2.texi
MAKEINFO = @MAKEINFO@ -I @libgtop_top_builddir@/doc
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
version.texi main.texi white-paper.texi
EXTRA_DIST = auto-macros.texi.in
auto-macros.texi: auto-macros.texi.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's#\%LIBGTOP_LIBDIR\%#$(libdir)#g' \
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)#g' \
-e 's#\%LIBGTOP_DATADIR\%#$(datadir)#g' \
-e 's#\%LIBGTOP_EXTRA_LIBS\%#$(LIBGTOP_EXTRA_LIBS)#g' \
-e 's#\%LIBGTOP_LIBS\%#$(LIBGTOP_LIBS)#g' \
-e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \
-e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \
-e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \
-e 's#\%LIBGTOP_GUILE_LIBS\%#$(LIBGTOP_GUILE_LIBS)#g' \
-e 's#\%LIBGTOP_GUILE_INCS\%#$(LIBGTOP_GUILE_INCS)#g' \
-e 's#\%LIBGTOP_GUILE_NAMES_LIBS\%#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
-e 's#\%LIBGTOP_GUILE_NAMES_INCS\%#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
-e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \
-e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \
-e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \
-e 's#\%LIBGTOP_MINOR_VERSION\%#$(LIBGTOP_MINOR_VERSION)#g' \
-e 's#\%LIBGTOP_MICRO_VERSION\%#$(LIBGTOP_MICRO_VERSION)#g' \
-e 's#\%LIBGTOP_VERSION\%#$(LIBGTOP_VERSION)#g' \
-e 's#\%LIBGTOP_VERSION_CODE\%#$(LIBGTOP_VERSION_CODE)#g' \
-e 's#\%LIBGTOP_SERVER_VERSION\%#$(LIBGTOP_SERVER_VERSION)#g' \
-e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \
-e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \
-e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \
-e 's#\%libgtop_guile_found\%#$(libgtop_guile_found)#g' \
-e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \
< $(srcdir)/auto-macros.texi.in > auto-macros.tmp
echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp
if [ $(LIBGTOP_VERSION_CODE) -ge 1001000 ] ; then \
echo '@set LIBGTOP-1-1' >> auto-macros.tmp ; \
else \
echo '@clear LIBGTOP-1-1' >> auto-macros.tmp ; \
fi
mv auto-macros.tmp auto-macros.texi
AM_MAKEINFOFLAGS = -I $(libgtop_top_builddir)/doc

View File

@@ -7,9 +7,10 @@ and information about running Processes.
On Systems like Solaris or Digital Unix where you need special privileges to
get those data, it uses a setuid/setgid server to do so.
Even if LibGTop is a part of the GNOME desktop environment (@uref{http://www.gnome.org}),
the main interface of LibGTop is totally independent from any particular desktop environment,
so you can also use it as a standalone library in any piece of GPLed software.
Even if LibGTop is a part of the GNOME desktop environment
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
independent from any particular desktop environment, so you can also use it
as a standalone library in any piece of GPLed software.
@menu
* Availability:: Where to get LibGTop
@@ -32,10 +33,10 @@ latest release tarballs from
@noindent
or any of its mirror sites.
The latest stable version of LibGTop is 1.0.1 which is also the one that comes
together with GNOME 1.0. In CVS, there is a @code{LIBGTOP_STABLE_1_0} branch
which is rooted at the @code{LIBGTOP_1_0_1} tag while actual development occurs
in the @code{HEAD} which currently has version 1.1.0.
The latest stable version of LibGTop is 1.0.12 which is also the one that comes
together with GNOME 1.0. It belongs to @code{LIBGTOP_STABLE_1_0} branch in CVS.
Actual development occurs in the @code{libgtop-GNOME-2-0-port} which is
currently versioned 1.90.0.
@node Supported Platforms, Mailing List, Availability, About
@section Supported Platforms
@@ -46,7 +47,7 @@ The stable branch currently supports the following platforms:
@item All versions of Linux
LibGTop was tested under Linux 2.0.x and 2.2.x on the ix86 and the alpha, but
it should also work without problems on SparcLinux.
it should also work without problems on SparcLinux or Linux 2.4.x.
Note: I'm speaking of the Linux kernel here, not the GNU/Linux operating system.
@@ -115,6 +116,7 @@ me a lot in the early beginning.
@item Timur Bakeyev for the BSDI port.
@item Drazen Kacar and the other people on the LibGTop development mailing
list for the Solaris port.
@item Kevin Vandersloot for the effort to port to GNOME 2.0.
@item All people sending me patches, having good ideas, ...
@item Everyone I have forgotten in this list ...
@end itemize

View File

@@ -1,12 +0,0 @@
@c LibGTop major, minor and micro version.
@set LIBGTOP_MAJOR_VERSION %LIBGTOP_MAJOR_VERSION%
@set LIBGTOP_MINOR_VERSION %LIBGTOP_MINOR_VERSION%
@set LIBGTOP_MICRO_VERSION %LIBGTOP_MICRO_VERSION%
@c LibGTop version and numerical version code ("1.234.567" -> 1234567).
@set LIBGTOP_VERSION "%LIBGTOP_VERSION%"
@set LIBGTOP_VERSION_CODE %LIBGTOP_VERSION_CODE%
@c LibGTop server version, increased each time the protocol changes.
@set LIBGTOP_SERVER_VERSION %LIBGTOP_SERVER_VERSION%

View File

@@ -1,11 +1,10 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename libgtop.info
@setfilename libgtop2.info
@settitle LibGTop Reference Manual
@setchapternewpage odd
@c %**end of header
@include auto-macros.texi
@include version.texi
@ifinfo
@@ -44,7 +43,7 @@ translation approved by the Free Software Foundation.
@format
@dircategory Libraries:
@direntry
* libgtop: (libgtop). Library to get system specific data
* LibGTop2: (libgtop2). Library to get system specific data
such as cpu and memory usage, active
processes
@end direntry

View File

@@ -4,23 +4,8 @@
* About:: About LibGTop
* White Paper:: LibGTop White Paper
* Reference Manual:: LibGTop Reference Manual
* LibGTop Internals:: LibGTop Internals
@detailmenu --- The Detailed Node Listing ---
--- The Detailed Node Listing ---
About LibGTop
@@ -33,7 +18,6 @@ LibGTop White Paper
* Introduction:: Introduction
* Overview:: Overview
* Servers and Daemons:: Servers and Daemons
Overview
@@ -45,8 +29,6 @@ LibGTop Reference Manual
* System Dependent:: System Dependent Functions.
* Common Functions:: Common Functions.
* Library Functions:: Library Functions.
* Generic Structures:: Generic Structures.
* Enums and Typedefs:: Enums and Typedefs.
System Dependent Functions
@@ -65,7 +47,6 @@ System Dependent Functions
* glibtop_proc_segment:: Process Segment Information.
* glibtop_proc_args:: Process Arguments.
* glibtop_proc_map:: Process Memory Maps.
* glibtop_netinfo:: Network Information.
* glibtop_netload:: Network Load.
* glibtop_ppp:: PPP Usage.
@@ -79,40 +60,9 @@ Library Functions
* glibtop_init:: Server Initialization.
* glibtop_sysdeps:: Server Sysdeps.
* Library Parameters:: Library Parameters.
Generic Structures
* glibtop_ifaddr:: Interface Address.
Enums and Typedefs
* Network Interfaces:: Network Interfaces.
* Address Scope:: Address Scope (IPv6).
Network Interfaces
* Transport Methods:: Transport Methods.
* Interface Flags:: Interface Flags.
LibGTop Internals
* General Internals:: General Internals
* Sysdeps Internals:: Sysdeps Internals
General Internals
* glibtop:: The server structure
Sysdeps Internals
* glibtop_open_s:: Non-privileged initializations
* glibtop_close_s:: Non-privileged cleanups
@end detailmenu
@end menu
@include about.texi
@include white-paper.texi
@include reference.texi
@include internals.texi

View File

@@ -1,12 +1,10 @@
@node Reference Manual, LibGTop Internals, White Paper, Top
@node Reference Manual, , White Paper, Top
@chapter LibGTop Reference Manual
@menu
* System Dependent:: System Dependent Functions.
* Common Functions:: Common Functions.
* Library Functions:: Library Functions.
* Generic Structures:: Generic Structures.
* Enums and Typedefs:: Enums and Typedefs.
@end menu
@node System Dependent, Common Functions, Reference Manual, Reference Manual
@@ -28,7 +26,6 @@
* glibtop_proc_segment:: Process Segment Information.
* glibtop_proc_args:: Process Arguments.
* glibtop_proc_map:: Process Memory Maps.
* glibtop_netinfo:: Network Information.
* glibtop_netload:: Network Load.
* glibtop_ppp:: PPP Usage.
@end menu
@@ -53,24 +50,25 @@ typedef struct _glibtop_cpu glibtop_cpu;
struct _glibtop_cpu
@{
u_int64_t flags,
guint64 flags,
total,
user,
nice,
sys,
idle,
iowait,
irq,
softirq,
frequency,
xcpu_total [GLIBTOP_NCPU],
xcpu_user [GLIBTOP_NCPU],
xcpu_nice [GLIBTOP_NCPU],
xcpu_sys [GLIBTOP_NCPU],
@ifset LIBGTOP-1-1
xcpu_idle [GLIBTOP_NCPU],
xcpu_iowait [GLIBTOP_NCPU],
xcpu_irq [GLIBTOP_NCPU],
xcpu_softirq [GLIBTOP_NCPU],
xcpu_flags;
@end ifset
@ifclear LIBGTOP-1-1
xcpu_idle [GLIBTOP_NCPU];
@end ifclear
@};
@end cartouche
@end example
@@ -95,25 +93,33 @@ Number of clock ticks the system spent in system mode.
@item idle
Number of clock ticks the system spent in the idle task.
@item iowait
Number of clock ticks the system spent waiting for I/O to complete.
@item irq
Number of clock ticks the system spent servicing interrupts.
@item softirq
Number of clock ticks the system spent servicing softirqs.
@item frequency
Tick frequency (default is 100).
@end table
The @samp{xcpu_} values are for SMP systems - they are the same than
@code{total}, @code{user}, @code{nice}, @code{sys} and @code{idle}
@code{total}, @code{user}, @code{nice}, @code{sys}, @code{idle},
@code{iowait}, @code{irq} and @code{softirq}
except that they are arrays of @code{GLIBTOP_NCPU} (defined in
@file{<glibtop/limits.h>}) elements and contain one value for each CPU
@file{<glibtop/cpu.h>}) elements and contain one value for each CPU
in the system.
@ifset LIBGTOP-1-1
@table @code
@item xcpu_flags
This is interpreted as a bit-field: on systems like Solaris, not all CPUs
need to be running all the time, so we set the corresponding bit for each
CPU that is currently running.
@end table
@end ifset
Please note that all of the cpu values are absolute values measured in
certain units (to get seconds, divide them by @code{frequency}) since system
@@ -142,7 +148,7 @@ typedef struct _glibtop_mem glibtop_mem;
struct _glibtop_mem
@{
u_int64_t flags,
guint64 flags,
total,
used,
free,
@@ -210,7 +216,7 @@ typedef struct _glibtop_swap glibtop_swap;
struct _glibtop_swap
@{
u_int64_t flags,
guint64 flags,
total,
used,
free,
@@ -269,10 +275,10 @@ typedef struct _glibtop_uptime glibtop_uptime;
struct _glibtop_uptime
@{
u_int64_t flags;
guint64 flags;
double uptime,
idletime;
u_int64_t boot_time;
guint64 boot_time;
@};
@end cartouche
@end example
@@ -321,9 +327,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
struct _glibtop_loadavg
@{
u_int64_t flags;
guint64 flags;
double loadavg [3];
u_int64_t nr_running,
guint64 nr_running,
nr_tasks,
last_pid;
@};
@@ -362,11 +368,11 @@ Library function @code{glibtop_get_proclist}:
@cartouche
unsigned *
glibtop_get_proclist (glibtop_proclist *buf,
int64_t which, int64_t arg);
gint64 which, gint64 arg);
unsigned *
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
int64_t which, int64_t arg);
gint64 which, gint64 arg);
@end cartouche
@end example
@@ -398,7 +404,7 @@ typedef struct _glibtop_proclist glibtop_proclist;
struct _glibtop_proclist
@{
u_int64_t flags,
guint64 flags,
number,
total,
size;
@@ -467,8 +473,8 @@ Size of a single entry in the returned list
(this equals @code{sizeof (unsigned)}).
@end table
The returned list is allocated using @code{glibtop_malloc} and must be freed
using @code{glibtop_free} to avoid a memory leak.
The returned list is allocated using @code{g_malloc} and must be freed
using @code{g_free} to avoid a memory leak.
@page
@node glibtop_proc_state, glibtop_proc_uid, glibtop_proclist, System Dependent
@@ -487,7 +493,7 @@ glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf,
@end cartouche
@end example
Declaration of @code{glibtop_proc_state} in @file{<glibtop/proc_state.h>}:
Declaration of @code{glibtop_proc_state} in @file{<glibtop/procstate.h>}:
@example
@cartouche
@@ -495,7 +501,7 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
struct _glibtop_proc_state
@{
u_int64_t flags;
guint64 flags;
char cmd[40];
@ifset LIBGTOP-1-1
unsigned state;
@@ -575,6 +581,7 @@ There are some constants for the @code{state} field:
#define GLIBTOP_PROCESS_ZOMBIE 8
#define GLIBTOP_PROCESS_STOPPED 16
#define GLIBTOP_PROCESS_SWAPPING 32
#define GLIBTOP_PROCESS_DEAD 64
@end cartouche
@end example
@end ifset
@@ -621,7 +628,7 @@ typedef struct _glibtop_proc_uid glibtop_proc_uid;
struct _glibtop_proc_uid
@{
u_int64_t flags;
guint64 flags;
int uid,
euid,
gid,
@@ -673,7 +680,7 @@ Standard unix nice level of process.
Number of additional process groups.
@item groups
Array of additional process groups@*
(@code{GLIBTOP_MAX_GROUPS} is defined in @file{<glibtop/limits.h>}).
(@code{GLIBTOP_MAX_GROUPS} is defined in @file{<glibtop/procuid.h>}).
@end table
@page
@@ -701,7 +708,7 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
struct _glibtop_proc_mem
@{
u_int64_t flags,
guint64 flags,
size,
vsize,
resident,
@@ -720,7 +727,7 @@ Number of pages of virtual memory.
@item resident
Number of residnet set (non-swapped) pages.
@item share
Number of pages of shared (mmap'd) memory.
Number of pages of shared (mmap\'d) memory.
@item rss
Number of pages the process has in real memory, minus 3 for administrative
purposes.
@@ -816,7 +823,7 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
struct _glibtop_proc_time
@{
u_int64_t flags,
guint64 flags,
start_time,
rtime,
utime,
@@ -833,6 +840,7 @@ struct _glibtop_proc_time
@end cartouche
@end example
@table @code
@item start_time
Start time of process in seconds since the epoch
@@ -859,6 +867,18 @@ SMP user-mode CPU time accumulated by process
SMP kernel-mode CPU time accumulated by process
@end table
Please note that under Linux, @code{start_time} value may be strange.
Linux kernel defines @code{INITIAL_JIFFIES} which implies a time
shift. Because @code{INITIAL_JIFFIES} is not user-space defined, we
cannot use it to compute accurate @code{start_time}. On Linux2.6,
@code{INITIAL_JIFFIES} is 300 so @code{start_time} is always 3s
different from real start time of the given process. You may also get
shift results if your system clock is not synchronised with your
hardware clock. See @samp{man hwclock}.
@page
@node glibtop_proc_signal, glibtop_proc_kernel, glibtop_proc_time, System Dependent
@subsection Process Signal information
@@ -884,7 +904,7 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
struct _glibtop_proc_signal
@{
u_int64_t flags,
guint64 flags,
signal [2],
blocked [2],
sigignore [2],
@@ -905,7 +925,7 @@ Mask of caught signals
@end table
All signal masks are interpreted as bit mask; it is an array of two
@code{u_int64_t}'s so we can save 128 signals there.
@code{guint64}'s so we can save 128 signals there.
@page
@node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent
@@ -932,8 +952,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
struct _glibtop_proc_kernel
@{
u_int64_t flags;
u_int64_t k_flags,
guint64 flags;
guint64 k_flags,
min_flt,
maj_flt,
cmin_flt,
@@ -1032,7 +1052,7 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
struct _glibtop_proc_segment
@{
u_int64_t flags,
guint64 flags,
text_rss,
shlib_rss,
data_rss,
@@ -1040,16 +1060,7 @@ struct _glibtop_proc_segment
dirty_size,
start_code,
end_code,
start_data,
end_data,
start_brk,
end_brk,
start_stack,
start_mmap,
arg_start,
arg_end,
env_start,
env_end;
start_stack;
@};
@end cartouche
@end example
@@ -1082,7 +1093,7 @@ Library function @code{glibtop_get_proc_args}:
@example
@cartouche
char *
glibtop_get_proc_args_l (glibtop_proc_args *buf, pid_t pid,
glibtop_get_proc_args(glibtop_proc_args *buf, pid_t pid,
unsigned max_len);
char *
@@ -1099,7 +1110,7 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
struct _glibtop_proc_args
@{
u_int64_t flags,
guint64 flags,
size;
@};
@end cartouche
@@ -1111,10 +1122,34 @@ Returns a string with all command line arguments of process @code{pid}
The command line arguments in the returned string are separated by zero bytes;
the lenght of this string is returned in the @code{size} field.
Remember to @code{glibtop_free} the returned string to avoid a memory leak.
Remember to @code{g_free} the returned string to avoid a memory leak.
@strong{New functions}
@example
@cartouche
char **
glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid,
unsigned max_len);
char **
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
@end cartouche
@end example
Returns a NULL-terminated array of strings with all arguments of
process @code{pid} (up to @code{max_len} characters, use zero to get
all arguments). @code{glibtop_get_proc_argv()} and
@code{glibtop_get_proc_argv_l()} are wrappers to
@code{glibtop_get_proc_args()} and @code{glibtop_get_proc_args_l()}
that return process' arguments like the C @code{argv}.
Remember to @code{g_strfreev} the returned array to avoid a memory
leak.
@page
@node glibtop_proc_map, glibtop_netinfo, glibtop_proc_args, System Dependent
@node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent
@subsection Process Memory Maps
Library function @code{glibtop_get_proc_map}:
@@ -1138,7 +1173,7 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
struct _glibtop_proc_map
@{
u_int64_t flags,
guint64 flags,
number,
total,
size;
@@ -1147,7 +1182,7 @@ struct _glibtop_proc_map
@end example
Returns a @code{glibtop_map_entry *} list (which needs to be freed with
@code{glibtop_free}) of memory maps of process @code{pid}.
@code{g_free}) of memory maps of process @code{pid}.
@table @code
@item number
@@ -1167,7 +1202,7 @@ typedef struct _glibtop_map_entry glibtop_map_entry;
struct _glibtop_map_entry
@{
u_int64_t flags, start, end, offset, perm, inode, device;
guint64 flags, start, end, offset, perm, inode, device;
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
@};
@end cartouche
@@ -1178,13 +1213,13 @@ fields are valid:
@example
@cartouche
#define GLIBTOP_MAP_ENTRY_START 1
#define GLIBTOP_MAP_ENTRY_END 2
#define GLIBTOP_MAP_ENTRY_OFFSET 3
#define GLIBTOP_MAP_ENTRY_PERM 4
#define GLIBTOP_MAP_ENTRY_INODE 5
#define GLIBTOP_MAP_ENTRY_DEVICE 6
#define GLIBTOP_MAP_ENTRY_FILENAME 7
#define GLIBTOP_MAP_ENTRY_START 0
#define GLIBTOP_MAP_ENTRY_END 1
#define GLIBTOP_MAP_ENTRY_OFFSET 2
#define GLIBTOP_MAP_ENTRY_PERM 3
#define GLIBTOP_MAP_ENTRY_INODE 4
#define GLIBTOP_MAP_ENTRY_DEVICE 5
#define GLIBTOP_MAP_ENTRY_FILENAME 6
@end cartouche
@end example
@@ -1201,87 +1236,7 @@ Constants for the @code{perm} member:
@end example
@page
@node glibtop_netinfo, glibtop_netload, glibtop_proc_map, System Dependent
@subsection Network Information
Library function @code{glibtop_get_netinfo}:
@example
@cartouche
glibtop_ifaddr *
glibtop_get_netinfo (glibtop_array *array, glibtop_netinfo *buf,
const char *interface, u_int64_t transport);
glibtop_ifaddr *
glibtop_get_netinfo_l (glibtop *server, glibtop_array *array,
glibtop_netinfo *buf, const char *interface,
u_int64_t transport);
@end cartouche
@end example
Declaration of @code{glibtop_ifaddr} in @file{<glibtop/interfaces.h>}:
@example
@cartouche
typedef struct _glibtop_ifaddr glibtop_ifaddr;
struct _glibtop_ifaddr
@{
u_int64_t flags,
transport;
u_int8_t addr_len,
address [GLIBTOP_IFADDR_LEN];
u_int64_t subnet,
scope;
@};
@end cartouche
@end example
Declaration of @code{glibtop_netinfo} in @file{<glibtop/netinfo.h>}:
@example
@cartouche
typedef struct _glibtop_netinfo glibtop_netinfo;
struct _glibtop_netinfo
@{
u_int64_t flags,
if_flags,
transport,
mtu;
@};
@end cartouche
@end example
Returns information about network interface @code{interface}.
@table @code
@item interface
The network interface you want to get information about (for instance
@samp{eth0}).
@item transport
Bitmask specifying about which transport methods you want to get information
or @code{GLIBTOP_TRANSPORT_ALL} if you want information about all possible
transport methods (@pxref{Transport Methods}).
@end table
On success, the following fields in @code{glibtop_netinfo} are set:
@table @code
@item if_flags
Interface flags (@pxref{Interface Flags}).
@item transport
Bitmask of all transport methods which are currently supported on the
selected interface (@pxref{Transport Methods}).
@item mtu
Maximum Transfer Unit (MTU)
@end table
Additionally, an array of @code{glibtop_ifaddr} structures is returned
(@pxref{glibtop_ifaddr}).
@page
@node glibtop_netload, glibtop_ppp, glibtop_netinfo, System Dependent
@node glibtop_netload, glibtop_ppp, glibtop_proc_map, System Dependent
@subsection Network Load
Library function @code{glibtop_get_netload}:
@@ -1305,7 +1260,7 @@ typedef struct _glibtop_netload glibtop_netload;
struct _glibtop_netload
@{
u_int64_t flags,
guint64 flags,
if_flags,
mtu,
subnet,
@@ -1412,7 +1367,7 @@ typedef struct _glibtop_ppp glibtop_ppp;
struct _glibtop_ppp
@{
u_int64_t flags,
guint64 flags,
state,
bytes_in,
bytes_out;
@@ -1492,7 +1447,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
struct _glibtop_mountlist
@{
u_int64_t flags,
guint64 flags,
number,
total,
size;
@@ -1501,7 +1456,7 @@ struct _glibtop_mountlist
@end example
Returns a @code{glibtop_mountentry *} list (which needs to be freed with
@code{glibtop_free}) of mounted filesystems.
@code{g_free}) of mounted filesystems.
@table @code
@item number
@@ -1521,7 +1476,7 @@ typedef struct _glibtop_mountentry glibtop_mountentry;
struct _glibtop_mountentry
@{
u_int64_t dev;
guint64 dev;
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
char type [GLIBTOP_MOUNTENTRY_LEN+1];
@@ -1529,13 +1484,7 @@ struct _glibtop_mountentry
@end cartouche
@end example
@ifset LIBGTOP-1-1
@code{GLIBTOP_MOUNTENTRY_LEN} is defined in @file{<glibtop/limits.h>}.
@end ifset
@ifclear LIBGTOP-1-1
@code{GLIBTOP_MOUNTENTRY_LEN} is defined in @file{<glibtop.h>}
(this was moved to @file{<glibtop/limits.h>} in LibGTop 1.1.0).
@end ifclear
@code{GLIBTOP_MOUNTENTRY_LEN} is defined in @file{<glibtop.h>}.
@table @code
@item devname
@@ -1571,12 +1520,15 @@ typedef struct _glibtop_fsusage glibtop_fsusage;
struct _glibtop_fsusage
@{
u_int64_t flags,
guint64 flags,
blocks,
bfree,
bavail,
files,
ffree;
guint32 block_size;
guint64 read,
write;
@};
@end cartouche
@end example
@@ -1592,12 +1544,16 @@ Free blocks available to ordinary users.
Total file nodes.
@item ffree
Free file nodes.
@item block_size
Block size in bytes.
@item read
Total blocks read.
@item write
Total blocks written.
@end table
Blocks are usually 512 bytes.
@page
@node Library Functions, Generic Structures, Common Functions, Reference Manual
@node Library Functions, , Common Functions, Reference Manual
@section Library Functions
This are general library functions which can be used to get information
@@ -1722,7 +1678,7 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
struct _glibtop_sysdeps
@{
u_int64_t flags,
guint64 flags,
features,
pointer_size,
cpu,
@@ -1888,159 +1844,3 @@ Abort if the library fails to get some of the required features. This
should not be used by applications.
@end table
@node Generic Structures, Enums and Typedefs, Library Functions, Reference Manual
@section Generic Structures
@menu
* glibtop_ifaddr:: Interface Address.
@end menu
@node glibtop_ifaddr, , Generic Structures, Generic Structures
@subsection Interface Addresses
The @code{glibtop_ifaddr} structure contains information about a network
interface.
It is declared in @file{<glibtop/interfaces.h>}:
@example
@cartouche
typedef struct _glibtop_ifaddr glibtop_ifaddr;
struct _glibtop_ifaddr
@{
u_int64_t flags,
transport;
u_int8_t addr_len,
address [GLIBTOP_IFADDR_LEN];
u_int64_t subnet,
scope;
@};
@end cartouche
@end example
The contents of this structure depends on the @code{transport} field -
for instance a single network interface can have both an IPv4 address
and several IPv6 ones. This is why functions like @code{glibtop_get_netinfo}
return an array of @code{glibtop_ifaddr} structures.
In general, the fields of the @code{glibtop_ifaddr} structure have the
following meaning:
@table @code
@item transport
The "interface address" from the @code{address} field is only valid for
this transport method (@pxref{Transport Methods}).
@item addr_len
Length of the interface address in the @code{address} field in bytes.
@item address
This is one of the "interface address" for the selected network interface
which is used with the transport method from the @code{transport} field.
@item subnet
The meaning of this field depends on the transport method and is currently
only used for IPv4 (where it contains the current subnet mask) and for IPv6
(where it contains the address length in bits).
@item scope
This is only used for IPv6 and contains the address scope
(@pxref{Address Scope}).
@end table
@node Enums and Typedefs, , Generic Structures, Reference Manual
@section Enums and Typedefs
@menu
* Network Interfaces:: Network Interfaces.
* Address Scope:: Address Scope (IPv6).
@end menu
@node Network Interfaces, Address Scope, Enums and Typedefs, Enums and Typedefs
@subsection Network Interfaces
@menu
* Transport Methods:: Transport Methods.
* Interface Flags:: Interface Flags.
@end menu
@node Transport Methods, Interface Flags, Network Interfaces, Network Interfaces
@subsubsection Transport Methods
The following transport methods are defined in @file{<glibtop/interfaces.h>}:
@example
@cartouche
enum _glibtop_transport @{
GLIBTOP_TRANSPORT_DEFAULT = 0,
GLIBTOP_TRANSPORT_IPV4 = 1 << 0,
GLIBTOP_TRANSPORT_IPV6 = 1 << 1,
GLIBTOP_TRANSPORT_IPX = 1 << 2,
GLIBTOP_TRANSPORT_X25 = 1 << 3,
GLIBTOP_TRANSPORT_DECNET = 1 << 4,
GLIBTOP_TRANSPORT_APPLETALK = 1 << 5,
GLIBTOP_TRANSPORT_NETBEUI = 1 << 6,
@};
@end cartouche
@end example
There is a @code{GLIBTOP_TRANSPORT_ALL} constant which can be used
when you want information about all possible transport methods:
@example
@cartouche
#define GLIBTOP_TRANSPORT_ALL GLIBTOP_UNLIMITED
@end cartouche
@end example
@node Interface Flags, , Transport Methods, Network Interfaces
@subsubsection Interface Flags
This is defined in @file{<glibtop/interfaces.h>}:
@example
@cartouche
enum _glibtop_interface_flags @{
GLIBTOP_IF_FLAGS_UP = 1,
GLIBTOP_IF_FLAGS_BROADCAST,
GLIBTOP_IF_FLAGS_DEBUG,
GLIBTOP_IF_FLAGS_LOOPBACK,
GLIBTOP_IF_FLAGS_POINTOPOINT,
GLIBTOP_IF_FLAGS_RUNNING,
GLIBTOP_IF_FLAGS_NOARP,
GLIBTOP_IF_FLAGS_PROMISC,
GLIBTOP_IF_FLAGS_ALLMULTI,
GLIBTOP_IF_FLAGS_OACTIVE,
GLIBTOP_IF_FLAGS_SIMPLEX,
GLIBTOP_IF_FLAGS_LINK0,
GLIBTOP_IF_FLAGS_LINK1,
GLIBTOP_IF_FLAGS_LINK2,
GLIBTOP_IF_FLAGS_ALTPHYS,
GLIBTOP_IF_FLAGS_MULTICAST
@};
@end cartouche
@end example
They are used as a bit mask like this:
@example
u_int64_t if_flags;
if_flags = (1L << GLIBTOP_IF_FLAGS_UP) | (1L << GLIBTOP_IF_FLAGS_RUNNING);
@end example
@node Address Scope, , Network Interfaces, Enums and Typedefs
@subsection Address Scope
This is defined in @file{<glibtop/interfaces.h>} for the IPv6 address scope:
@example
@cartouche
enum _glibtop_ipv6_scope @{
GLIBTOP_IPV6_SCOPE_GLOBAL = 0,
GLIBTOP_IPV6_SCOPE_LOOPBACK = 1 << 1,
GLIBTOP_IPV6_SCOPE_LINKLOCAL = 1 << 2,
GLIBTOP_IPV6_SCOPE_SITELOCAL = 1 << 3,
GLIBTOP_IPV6_SCOPE_COMPATv4 = 1 << 4,
GLIBTOP_IPV6_SCOPE_UNKNOWN = 1 << 5
@};
@end cartouche
@end example

59
doc/reference/Makefile.am Normal file
View File

@@ -0,0 +1,59 @@
AUTOMAKE_OPTIONS = 1.6
## Process this file with automake to produce Makefile.in
# The name of the module, e.g. 'glib'.
DOC_MODULE=libgtop
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
# SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=
# Extra options to supply to gtkdoc-mkdb.
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=$(top_srcdir)/sysdeps/common
# The directory containing the source code. Relative to $(srcdir).
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting the functions and macros.
# e.g. DOC_SOURCE_DIR=../../../gtk
DOC_SOURCE_DIR=$(top_srcdir)/include/glibtop
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB=$(top_srcdir)/include/glibtop/*.h
CFILE_GLOB=$(top_srcdir)/sysdeps/common/*.c
# Header files to ignore when scanning.
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES=error.h global.h gnuserv.h init_hooks.h write.h read.h read_data.h config.h libgtopconfig.h
EXTRA_HFILES=$(top_srcdir)/glibtop.h
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files=version.xml
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
INCLUDES=
GTKDOC_LIBS=
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST += version.xml.in

View File

@@ -0,0 +1,206 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>Libgtop Reference Manual</title>
<releaseinfo>for libgtop <xi:include href="version.xml"/></releaseinfo>
<authorgroup>
<author>
<firstname>Martin </firstname>
<surname>Baulig</surname>
<affiliation>
<address>
<email>martin@home-of-linux.org</email>
</address>
</affiliation>
</author>
<author>
<firstname>Germ&#225;n</firstname>
<surname>Po&#243;-Caama&#241;o</surname>
<affiliation>
<address>
<email>gpoo@ubiobio.cl</email>
</address>
</affiliation>
</author>
</authorgroup>
<legalnotice>
<para>Permission is granted to copy, distribute and/or modify
this document under the terms of the <citetitle>GNU Free
Documentation License</citetitle>, Version 1.1 or any later
version published by the Free Software Foundation with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. You may obtain a copy of the <citetitle>GNU Free
Documentation License</citetitle> from the Free Software
Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing
to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.</para>
<para>Many of the names used by companies to distinguish their
products and services are claimed as trademarks. Where those
names appear in any GNOME documentation, and those trademarks
are made aware to the members of the GNOME Documentation
Project, the names have been printed in caps or initial
caps.</para>
</legalnotice>
<abstract>
<para>
LibGTop is a library to get system specific data such as CPU and
Memory Usage and information about running Processes.</para>
<para>On Systems like Solaris or Digital Unix where you need special
privileges to get those data, it uses a setuid/setgid server to do
so.</para>
<para>Even if LibGTop is a part of the GNOME desktop environment
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
independent from any particular desktop environment, so you can also
use it as a standalone library in any piece of GPLed software.</para>
<para>This manual documents the interfaces of the libgtop
library and has some short notes to help get you up to speed
with using the library.</para>
</abstract>
</bookinfo>
<!--FIXME: It is missing the rest of about.texi -->
<chapter id="libgtop-white-paper">
<title>White paper</title>
<sect1 id="libgtop-white-paper-introduction">
<title>Introduction</title>
<para>Many modern UNIX systems like Solaris, BSD or Digitial Unix
only allow priviledged processes to read information like CPU and
Memory Usage or information about running processes.</para>
<itemizedlist>
<listitem><para>
BSD, for instance, doesn't have any other way to get those data than reading
directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
be able to read this.</para></listitem>
<listitem><para>
Other systems, like Digital Unix, allow all users to get things like CPU and
Memory statistics, but only root may read information about any process other
than the current one (you may not even get information about your own processes
if you're not root).</para></listitem>
<listitem><para>
Linux has a very nice @file{/proc} filesystem, but reading and parsing
@file{/proc} is very slow and inefficient.</para></listitem>
<listitem><para>
Solaris is a bit better, but you still need to be in the @code{sys} group or
even root to get some data.</para></listitem>
</itemizedlist>
<para>
Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
often are setgid kmem or setuid root. Usually, they're also very specific to
the system they're written for and not easily portable to other systems without
a lot of work.</para>
<para>
This, of cause, becomes a problem for graphical tools like @code{gtop} - making
a GTK+ program setgid or even setuid would be a security hole as big as you can
drive the entire X11 source code through. For the GNOME project, we also needed
some kind of library which provides all the required information in a portable
since there's more than just one single program that wants to use them - for
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
@code{netload} panel applets.</para>
</sect1>
<sect1 id="libgtop-white-paper-overview">
<title>Overview</title>
<para>This section should give you a short overview on how LibGTop
was developed, which things needed to be considered and how it
works.</para>
<sect2 id="libgtop-white-paper-overview-design">
<title>Interface Design: Things that need to be considered</title>
<para>
At the very beginning, it was necessary to collect all the data the library part
should provide and put them into some C structures. This was not that easiy as it
might sound since LibGTop should be portable to any modern UNIX system with a common
library part on all those systems, but the data that should be returned vary from
system to system. For instance some systems support shared memory, but some others
may not.</para>
<para>
The header files where we define these C structures (which are system-independent) are
shared between client and server. This way we can call the system dependent code
directly where we do not need any special privileges to do so.</para>
<para>
All of those structures contain a @code{flags} member which is interpreted as a bit
mask and tells the caller of the library functions which of the fields in the returned
structure are valid and which are not.</para>
</sect2>
<sect2 id="libgtop-white-paper-overview-server">
<title>Server Implementation: The LibGTop "server"</title>
<para>
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
dependent code which needs special privileges. It is only build if it's required
on the current system (for instance, the Linux kernel provides all the required
data via its @file{/proc} filesystem so we do not need the server at all) and it
only contains the @dfn{features} which need privileges.</para>
<para>
Whenever we do not need any privileges to get all the data for some of the requested
structures (here called @dfn{features}) the library calls the sysdeps code directly
rather than using the server.</para>
</sect2>
</sect1>
</chapter>
<chapter id="libgtop-lib">
<title>Libgtop Library Reference</title>
<para>This section contains the API reference for libgtop. All
the public interfaces are documented here.</para>
<xi:include href="xml/glibtop.xml"/>
<xi:include href="xml/close.xml"/>
<xi:include href="xml/command.xml"/>
<xi:include href="xml/glibtop-server.xml"/>
<xi:include href="xml/netload.xml"/>
<xi:include href="xml/ppp.xml"/>
<xi:include href="xml/shm_limits.xml"/>
<xi:include href="xml/uptime.xml"/>
<xi:include href="xml/netlist.xml"/>
<xi:include href="xml/open.xml"/>
<xi:include href="xml/parameter.xml"/>
<xi:include href="xml/procargs.xml"/>
<xi:include href="xml/procmem.xml"/>
<xi:include href="xml/procopenfiles.xml"/>
<xi:include href="xml/procsegment.xml"/>
<xi:include href="xml/procsignal.xml"/>
<xi:include href="xml/sysdeps.xml"/>
<xi:include href="xml/procstate.xml"/>
<xi:include href="xml/procuid.xml"/>
<xi:include href="xml/proctime.xml"/>
<xi:include href="xml/signal.xml"/>
<xi:include href="xml/procmap.xml"/>
<xi:include href="xml/sysinfo.xml"/>
<xi:include href="xml/union.xml"/>
<xi:include href="xml/version.xml"/>
<xi:include href="xml/proclist.xml"/>
<xi:include href="xml/sem_limits.xml"/>
<xi:include href="xml/prockernel.xml"/>
<xi:include href="xml/fsusage.xml"/>
<xi:include href="xml/loadavg.xml"/>
<xi:include href="xml/mem.xml"/>
<xi:include href="xml/mountlist.xml"/>
<xi:include href="xml/msg_limits.xml"/>
<xi:include href="xml/cpu.xml"/>
<xi:include href="xml/swap.xml"/>
</chapter>
</book>

View File

View File

@@ -0,0 +1,736 @@
<INCLUDE>glibtop.h</INCLUDE>
<SECTION>
<FILE>glibtop</FILE>
<TITLE>GlibTop</TITLE>
GLIBTOP_MOUNTENTRY_LEN
LIBGTOP_CHECK_VERSION
glibtop
glibtop_global_server
glibtop_init
glibtop_init_r
glibtop_init_s
glibtop_server_features
</SECTION>
<INCLUDE>glibtop/close.h</INCLUDE>
<SECTION>
<FILE>close</FILE>
<TITLE>Close</TITLE>
glibtop_close
glibtop_close_r
glibtop_close_s
glibtop_close_p
</SECTION>
<INCLUDE>glibtop/command.h</INCLUDE>
<SECTION>
<FILE>command</FILE>
<TITLE>Command</TITLE>
GLIBTOP_CMND_QUIT
GLIBTOP_CMND_SYSDEPS
GLIBTOP_CMND_CPU
GLIBTOP_CMND_MEM
GLIBTOP_CMND_SWAP
GLIBTOP_CMND_UPTIME
GLIBTOP_CMND_LOADAVG
GLIBTOP_CMND_SHM_LIMITS
GLIBTOP_CMND_MSG_LIMITS
GLIBTOP_CMND_SEM_LIMITS
GLIBTOP_CMND_PROCLIST
GLIBTOP_CMND_PROC_STATE
GLIBTOP_CMND_PROC_UID
GLIBTOP_CMND_PROC_MEM
GLIBTOP_CMND_PROC_TIME
GLIBTOP_CMND_PROC_SIGNAL
GLIBTOP_CMND_PROC_KERNEL
GLIBTOP_CMND_PROC_SEGMENT
GLIBTOP_CMND_PROC_ARGS
GLIBTOP_CMND_PROC_MAP
GLIBTOP_CMND_MOUNTLIST
GLIBTOP_CMND_FSUSAGE
GLIBTOP_CMND_NETLOAD
GLIBTOP_CMND_PPP
GLIBTOP_CMND_NETLIST
GLIBTOP_CMND_PROC_OPEN_FILES
GLIBTOP_MAX_CMND
glibtop_command
glibtop_response
glibtop_response_union
glibtop_call
glibtop_call_l
glibtop_call_s
</SECTION>
<INCLUDE>glibtop/glibtop-server.h</INCLUDE>
<SECTION>
<FILE>glibtop-server</FILE>
<TITLE>GlibTop Server</TITLE>
glibtop_server
glibtop_server_info
glibtop_closure
glibtop_server_new
glibtop_server_ref
glibtop_server_unref
</SECTION>
<INCLUDE>glibtop/netload.h</INCLUDE>
<SECTION>
<FILE>netload</FILE>
<TITLE>Net Load</TITLE>
GLIBTOP_NETLOAD_IF_FLAGS
GLIBTOP_NETLOAD_MTU
GLIBTOP_NETLOAD_SUBNET
GLIBTOP_NETLOAD_ADDRESS
GLIBTOP_NETLOAD_PACKETS_IN
GLIBTOP_NETLOAD_PACKETS_OUT
GLIBTOP_NETLOAD_PACKETS_TOTAL
GLIBTOP_NETLOAD_BYTES_IN
GLIBTOP_NETLOAD_BYTES_OUT
GLIBTOP_NETLOAD_BYTES_TOTAL
GLIBTOP_NETLOAD_ERRORS_IN
GLIBTOP_NETLOAD_ERRORS_OUT
GLIBTOP_NETLOAD_ERRORS_TOTAL
GLIBTOP_NETLOAD_COLLISIONS
GLIBTOP_NETLOAD_ADDRESS6
GLIBTOP_NETLOAD_PREFIX6
GLIBTOP_NETLOAD_SCOPE6
GLIBTOP_NETLOAD_HWADDRESS
GLIBTOP_MAX_NETLOAD
glibtop_netload
glibtop_get_netload
glibtop_get_netload_r
glibtop_get_netload_l
glibtop_init_netload_p
glibtop_get_netload_p
glibtop_init_netload_s
glibtop_get_netload_s
</SECTION>
<INCLUDE>glibtop/ppp.h</INCLUDE>
<SECTION>
<FILE>ppp</FILE>
<TITLE>PPP</TITLE>
GLIBTOP_PPP_STATE
GLIBTOP_PPP_BYTES_IN
GLIBTOP_PPP_BYTES_OUT
GLIBTOP_MAX_PPP
glibtop_ppp
glibtop_get_ppp
glibtop_get_ppp_r
glibtop_get_ppp_l
glibtop_init_ppp_p
glibtop_get_ppp_p
glibtop_init_ppp_s
glibtop_get_ppp_s
</SECTION>
<INCLUDE>glibtop/shm_limits.h</INCLUDE>
<SECTION>
<FILE>shm_limits</FILE>
<TITLE>Shared Memory Limits</TITLE>
GLIBTOP_IPC_SHMMAX
GLIBTOP_IPC_SHMMIN
GLIBTOP_IPC_SHMMNI
GLIBTOP_IPC_SHMSEG
GLIBTOP_IPC_SHMALL
GLIBTOP_MAX_SHM_LIMITS
glibtop_shm_limits
glibtop_get_shm_limits
glibtop_get_shm_limits_r
glibtop_get_shm_limits_l
glibtop_init_shm_limits_p
glibtop_get_shm_limits_p
glibtop_init_shm_limits_s
glibtop_get_shm_limits_s
</SECTION>
<INCLUDE>glibtop/uptime.h</INCLUDE>
<SECTION>
<FILE>uptime</FILE>
<TITLE>Uptime</TITLE>
GLIBTOP_UPTIME_UPTIME
GLIBTOP_UPTIME_IDLETIME
GLIBTOP_UPTIME_BOOT_TIME
GLIBTOP_MAX_UPTIME
glibtop_uptime
glibtop_get_uptime
glibtop_get_uptime_r
glibtop_get_uptime_l
glibtop_init_uptime_p
glibtop_get_uptime_p
glibtop_init_uptime_s
glibtop_get_uptime_s
</SECTION>
<INCLUDE>glibtop/netlist.h</INCLUDE>
<SECTION>
<FILE>netlist</FILE>
<TITLE>Net List</TITLE>
GLIBTOP_NETLIST_NUMBER
GLIBTOP_MAX_NETLIST
glibtop_netlist
glibtop_get_netlist
glibtop_get_netlist_r
glibtop_get_netlist_l
glibtop_init_netlist_p
glibtop_get_netlist_p
glibtop_init_netlist_s
glibtop_get_netlist_s
</SECTION>
<INCLUDE>glibtop/open.h</INCLUDE>
<SECTION>
<FILE>open</FILE>
GLIBTOP_INIT_NO_OPEN
GLIBTOP_INIT_NO_INIT
GLIBTOP_FEATURES_NO_SERVER
GLIBTOP_FEATURES_EXCEPT
GLIBTOP_METHOD_DIRECT
GLIBTOP_METHOD_PIPE
GLIBTOP_METHOD_INET
GLIBTOP_METHOD_UNIX
GLIBTOP_ERROR_METHOD_IGNORE
GLIBTOP_ERROR_METHOD_WARN_ONCE
GLIBTOP_ERROR_METHOD_WARN
GLIBTOP_ERROR_METHOD_ABORT
GLIBTOP_ERROR_METHOD_DEFAULT
glibtop_open_l
glibtop_init_p
glibtop_open_p
glibtop_open_s
</SECTION>
<INCLUDE>glibtop/parameter.h</INCLUDE>
<SECTION>
<FILE>parameter</FILE>
GLIBTOP_PARAM_METHOD
GLIBTOP_PARAM_FEATURES
GLIBTOP_PARAM_COMMAND
GLIBTOP_PARAM_HOST
GLIBTOP_PARAM_PORT
GLIBTOP_PARAM_ERROR_METHOD
GLIBTOP_PARAM_REQUIRED
glibtop_get_parameter
glibtop_set_parameter
glibtop_get_parameter_l
glibtop_set_parameter_l
</SECTION>
<INCLUDE>glibtop/procargs.h</INCLUDE>
<SECTION>
<FILE>procargs</FILE>
GLIBTOP_PROC_ARGS_SIZE
GLIBTOP_MAX_PROC_ARGS
glibtop_proc_args
glibtop_get_proc_args_l
glibtop_get_proc_args
glibtop_get_proc_args_r
glibtop_init_proc_args_p
glibtop_get_proc_args_p
glibtop_init_proc_args_s
glibtop_get_proc_args_s
glibtop_get_proc_argv_l
glibtop_get_proc_argv
</SECTION>
<INCLUDE>glibtop/procmem.h</INCLUDE>
<SECTION>
<FILE>procmem</FILE>
GLIBTOP_PROC_MEM_SIZE
GLIBTOP_PROC_MEM_VSIZE
GLIBTOP_PROC_MEM_RESIDENT
GLIBTOP_PROC_MEM_SHARE
GLIBTOP_PROC_MEM_RSS
GLIBTOP_PROC_MEM_RSS_RLIM
GLIBTOP_MAX_PROC_MEM
glibtop_proc_mem
glibtop_get_proc_mem
glibtop_get_proc_mem_r
glibtop_get_proc_mem_l
glibtop_init_proc_mem_p
glibtop_get_proc_mem_p
glibtop_init_proc_mem_s
glibtop_get_proc_mem_s
</SECTION>
<INCLUDE>glibtop/procopenfiles.h</INCLUDE>
<SECTION>
<FILE>procopenfiles</FILE>
GLIBTOP_PROC_OPEN_FILES_NUMBER
GLIBTOP_PROC_OPEN_FILES_TOTAL
GLIBTOP_PROC_OPEN_FILES_SIZE
GLIBTOP_MAX_PROC_OPEN_FILES
GLIBTOP_FILE_ENTRY_FD
GLIBTOP_FILE_ENTRY_NAME
GLIBTOP_FILE_ENTRY_TYPE
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT
GLIBTOP_MAX_OPEN_FILE_ENTRY
GLIBTOP_OPEN_FILENAME_LEN
GLIBTOP_OPEN_DEST_HOST_LEN
glibtop_open_files_entry
glibtop_proc_open_files
glibtop_get_proc_open_files
glibtop_get_proc_open_files_r
glibtop_get_proc_open_files_l
glibtop_init_proc_open_files_p
glibtop_get_proc_open_files_p
glibtop_init_proc_open_files_s
glibtop_get_proc_open_files_s
</SECTION>
<INCLUDE>glibtop/procsegment.h</INCLUDE>
<SECTION>
<FILE>procsegment</FILE>
GLIBTOP_PROC_SEGMENT_TEXT_RSS
GLIBTOP_PROC_SEGMENT_SHLIB_RSS
GLIBTOP_PROC_SEGMENT_DATA_RSS
GLIBTOP_PROC_SEGMENT_STACK_RSS
GLIBTOP_PROC_SEGMENT_DIRTY_SIZE
GLIBTOP_PROC_SEGMENT_START_CODE
GLIBTOP_PROC_SEGMENT_END_CODE
GLIBTOP_PROC_SEGMENT_START_STACK
GLIBTOP_MAX_PROC_SEGMENT
glibtop_proc_segment
glibtop_get_proc_segment
glibtop_get_proc_segment_r
glibtop_get_proc_segment_l
glibtop_init_proc_segment_p
glibtop_get_proc_segment_p
glibtop_init_proc_segment_s
glibtop_get_proc_segment_s
</SECTION>
<INCLUDE>glibtop/procsignal.h</INCLUDE>
<SECTION>
<FILE>procsignal</FILE>
GLIBTOP_PROC_SIGNAL_SIGNAL
GLIBTOP_PROC_SIGNAL_BLOCKED
GLIBTOP_PROC_SIGNAL_SIGIGNORE
GLIBTOP_PROC_SIGNAL_SIGCATCH
GLIBTOP_MAX_PROC_SIGNAL
glibtop_proc_signal
glibtop_get_proc_signal
glibtop_get_proc_signal_r
glibtop_get_proc_signal_l
glibtop_init_proc_signal_p
glibtop_get_proc_signal_p
glibtop_init_proc_signal_s
glibtop_get_proc_signal_s
</SECTION>
<INCLUDE>glibtop/sysdeps.h</INCLUDE>
<SECTION>
<FILE>sysdeps</FILE>
GLIBTOP_SYSDEPS_FEATURES
GLIBTOP_SYSDEPS_CPU
GLIBTOP_SYSDEPS_MEM
GLIBTOP_SYSDEPS_SWAP
GLIBTOP_SYSDEPS_UPTIME
GLIBTOP_SYSDEPS_LOADAVG
GLIBTOP_SYSDEPS_SHM_LIMITS
GLIBTOP_SYSDEPS_MSG_LIMITS
GLIBTOP_SYSDEPS_SEM_LIMITS
GLIBTOP_SYSDEPS_PROCLIST
GLIBTOP_SYSDEPS_PROC_STATE
GLIBTOP_SYSDEPS_PROC_UID
GLIBTOP_SYSDEPS_PROC_MEM
GLIBTOP_SYSDEPS_PROC_TIME
GLIBTOP_SYSDEPS_PROC_SIGNAL
GLIBTOP_SYSDEPS_PROC_KERNEL
GLIBTOP_SYSDEPS_PROC_SEGMENT
GLIBTOP_SYSDEPS_PROC_ARGS
GLIBTOP_SYSDEPS_PROC_MAP
GLIBTOP_SYSDEPS_MOUNTLIST
GLIBTOP_SYSDEPS_FSUSAGE
GLIBTOP_SYSDEPS_NETLOAD
GLIBTOP_SYSDEPS_PPP
GLIBTOP_SYSDEPS_NETLIST
GLIBTOP_SYSDEPS_PROC_OPEN_FILES
GLIBTOP_MAX_SYSDEPS
GLIBTOP_SYSDEPS_ALL
glibtop_sysdeps
glibtop_get_sysdeps
glibtop_get_sysdeps_r
</SECTION>
<INCLUDE>glibtop/procstate.h</INCLUDE>
<SECTION>
<FILE>procstate</FILE>
GLIBTOP_PROC_STATE_CMD
GLIBTOP_PROC_STATE_STATE
GLIBTOP_PROC_STATE_UID
GLIBTOP_PROC_STATE_GID
GLIBTOP_PROC_STATE_RUID
GLIBTOP_PROC_STATE_RGID
GLIBTOP_PROC_STATE_HAS_CPU
GLIBTOP_PROC_STATE_PROCESSOR
GLIBTOP_PROC_STATE_LAST_PROCESSOR
GLIBTOP_MAX_PROC_STATE
GLIBTOP_PROCESS_RUNNING
GLIBTOP_PROCESS_INTERRUPTIBLE
GLIBTOP_PROCESS_UNINTERRUPTIBLE
GLIBTOP_PROCESS_ZOMBIE
GLIBTOP_PROCESS_STOPPED
GLIBTOP_PROCESS_SWAPPING
GLIBTOP_PROCESS_DEAD
glibtop_proc_state
glibtop_get_proc_state
glibtop_get_proc_state_r
glibtop_get_proc_state_l
glibtop_init_proc_state_p
glibtop_get_proc_state_p
glibtop_init_proc_state_s
glibtop_get_proc_state_s
</SECTION>
<INCLUDE>glibtop/procuid.h</INCLUDE>
<SECTION>
<FILE>procuid</FILE>
GLIBTOP_PROC_UID_UID
GLIBTOP_PROC_UID_EUID
GLIBTOP_PROC_UID_GID
GLIBTOP_PROC_UID_EGID
GLIBTOP_PROC_UID_SUID
GLIBTOP_PROC_UID_SGID
GLIBTOP_PROC_UID_FSUID
GLIBTOP_PROC_UID_FSGID
GLIBTOP_PROC_UID_PID
GLIBTOP_PROC_UID_PPID
GLIBTOP_PROC_UID_PGRP
GLIBTOP_PROC_UID_SESSION
GLIBTOP_PROC_UID_TTY
GLIBTOP_PROC_UID_TPGID
GLIBTOP_PROC_UID_PRIORITY
GLIBTOP_PROC_UID_NICE
GLIBTOP_PROC_UID_NGROUPS
GLIBTOP_PROC_UID_GROUPS
GLIBTOP_MAX_PROC_UID
glibtop_proc_uid
GLIBTOP_MAX_GROUPS
glibtop_get_proc_uid
glibtop_get_proc_uid_r
glibtop_get_proc_uid_l
glibtop_init_proc_uid_p
glibtop_get_proc_uid_p
glibtop_init_proc_uid_s
glibtop_get_proc_uid_s
</SECTION>
<INCLUDE>glibtop/proctime.h</INCLUDE>
<SECTION>
<FILE>proctime</FILE>
GLIBTOP_PROC_TIME_START_TIME
GLIBTOP_PROC_TIME_RTIME
GLIBTOP_PROC_TIME_UTIME
GLIBTOP_PROC_TIME_STIME
GLIBTOP_PROC_TIME_CUTIME
GLIBTOP_PROC_TIME_CSTIME
GLIBTOP_PROC_TIME_TIMEOUT
GLIBTOP_PROC_TIME_IT_REAL_VALUE
GLIBTOP_PROC_TIME_FREQUENCY
GLIBTOP_PROC_TIME_XCPU_UTIME
GLIBTOP_PROC_TIME_XCPU_STIME
GLIBTOP_MAX_PROC_TIME
glibtop_proc_time
glibtop_get_proc_time
glibtop_get_proc_time_r
glibtop_get_proc_time_l
glibtop_init_proc_time_p
glibtop_get_proc_time_p
glibtop_init_proc_time_s
glibtop_get_proc_time_s
</SECTION>
<INCLUDE>glibtop/signal.h</INCLUDE>
<SECTION>
<FILE>signal</FILE>
glibtop_signame
</SECTION>
<INCLUDE>glibtop/procmap.h</INCLUDE>
<SECTION>
<FILE>procmap</FILE>
GLIBTOP_PROC_MAP_NUMBER
GLIBTOP_PROC_MAP_TOTAL
GLIBTOP_PROC_MAP_SIZE
GLIBTOP_MAX_PROC_MAP
GLIBTOP_MAP_ENTRY_START
GLIBTOP_MAP_ENTRY_END
GLIBTOP_MAP_ENTRY_OFFSET
GLIBTOP_MAP_ENTRY_PERM
GLIBTOP_MAP_ENTRY_INODE
GLIBTOP_MAP_ENTRY_DEVICE
GLIBTOP_MAP_ENTRY_FILENAME
GLIBTOP_MAP_ENTRY_SIZE
GLIBTOP_MAP_ENTRY_RSS
GLIBTOP_MAP_ENTRY_SHARED_CLEAN
GLIBTOP_MAP_ENTRY_SHARED_DIRTY
GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN
GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY
GLIBTOP_MAX_MAP_ENTRY
GLIBTOP_MAP_FILENAME_LEN
GLIBTOP_MAP_PERM_READ
GLIBTOP_MAP_PERM_WRITE
GLIBTOP_MAP_PERM_EXECUTE
GLIBTOP_MAP_PERM_SHARED
GLIBTOP_MAP_PERM_PRIVATE
glibtop_map_entry
glibtop_proc_map
glibtop_get_proc_map
glibtop_get_proc_map_r
glibtop_get_proc_map_l
glibtop_init_proc_map_p
glibtop_get_proc_map_p
glibtop_init_proc_map_s
glibtop_get_proc_map_s
</SECTION>
<INCLUDE>glibtop/sysinfo.h</INCLUDE>
<SECTION>
<FILE>sysinfo</FILE>
GLIBTOP_SYSINFO_NCPU
GLIBTOP_SYSINFO_CPUINFO
GLIBTOP_MAX_SYSINFO
glibtop_sysinfo
glibtop_entry
glibtop_get_sysinfo_r
glibtop_get_sysinfo_s
glibtop_get_sysinfo
</SECTION>
<INCLUDE>glibtop/union.h</INCLUDE>
<SECTION>
<FILE>union</FILE>
glibtop_union
</SECTION>
<INCLUDE>glibtop/version.h</INCLUDE>
<SECTION>
<FILE>version</FILE>
LIBGTOP_VERSION_STRING
glibtop_send_version
</SECTION>
<INCLUDE>glibtop/proclist.h</INCLUDE>
<SECTION>
<FILE>proclist</FILE>
GLIBTOP_PROCLIST_NUMBER
GLIBTOP_PROCLIST_TOTAL
GLIBTOP_PROCLIST_SIZE
GLIBTOP_MAX_PROCLIST
GLIBTOP_KERN_PROC_ALL
GLIBTOP_KERN_PROC_PID
GLIBTOP_KERN_PROC_PGRP
GLIBTOP_KERN_PROC_SESSION
GLIBTOP_KERN_PROC_TTY
GLIBTOP_KERN_PROC_UID
GLIBTOP_KERN_PROC_RUID
GLIBTOP_KERN_PROC_MASK
GLIBTOP_EXCLUDE_IDLE
GLIBTOP_EXCLUDE_SYSTEM
GLIBTOP_EXCLUDE_NOTTY
glibtop_proclist
glibtop_get_proclist
glibtop_get_proclist_r
glibtop_get_proclist_l
glibtop_init_proclist_p
glibtop_get_proclist_p
glibtop_init_proclist_s
glibtop_get_proclist_s
</SECTION>
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
<SECTION>
<FILE>sem_limits</FILE>
GLIBTOP_IPC_SEMMAP
GLIBTOP_IPC_SEMMNI
GLIBTOP_IPC_SEMMNS
GLIBTOP_IPC_SEMMNU
GLIBTOP_IPC_SEMMSL
GLIBTOP_IPC_SEMOPM
GLIBTOP_IPC_SEMUME
GLIBTOP_IPC_SEMUSZ
GLIBTOP_IPC_SEMVMX
GLIBTOP_IPC_SEMAEM
GLIBTOP_MAX_SEM_LIMITS
glibtop_sem_limits
glibtop_get_sem_limits
glibtop_get_sem_limits_r
glibtop_get_sem_limits_l
glibtop_init_sem_limits_p
glibtop_get_sem_limits_p
glibtop_init_sem_limits_s
glibtop_get_sem_limits_s
</SECTION>
<INCLUDE>glibtop/prockernel.h</INCLUDE>
<SECTION>
<FILE>prockernel</FILE>
GLIBTOP_PROC_KERNEL_K_FLAGS
GLIBTOP_PROC_KERNEL_MIN_FLT
GLIBTOP_PROC_KERNEL_MAJ_FLT
GLIBTOP_PROC_KERNEL_CMIN_FLT
GLIBTOP_PROC_KERNEL_CMAJ_FLT
GLIBTOP_PROC_KERNEL_KSTK_ESP
GLIBTOP_PROC_KERNEL_KSTK_EIP
GLIBTOP_PROC_KERNEL_NWCHAN
GLIBTOP_PROC_KERNEL_WCHAN
GLIBTOP_MAX_PROC_KERNEL
glibtop_proc_kernel
glibtop_get_proc_kernel
glibtop_get_proc_kernel_r
glibtop_get_proc_kernel_l
glibtop_init_proc_kernel_p
glibtop_get_proc_kernel_p
glibtop_init_proc_kernel_s
glibtop_get_proc_kernel_s
</SECTION>
<INCLUDE>glibtop/fsusage.h</INCLUDE>
<SECTION>
<FILE>fsusage</FILE>
GLIBTOP_FSUSAGE_BLOCKS
GLIBTOP_FSUSAGE_BFREE
GLIBTOP_FSUSAGE_BAVAIL
GLIBTOP_FSUSAGE_FILES
GLIBTOP_FSUSAGE_FFREE
GLIBTOP_FSUSAGE_BLOCK_SIZE
GLIBTOP_FSUSAGE_READ
GLIBTOP_FSUSAGE_WRITE
GLIBTOP_MAX_FSUSAGE
glibtop_fsusage
glibtop_get_fsusage
glibtop_get_fsusage_r
glibtop_get_fsusage_l
glibtop_get_fsusage_s
</SECTION>
<INCLUDE>glibtop/loadavg.h</INCLUDE>
<SECTION>
<FILE>loadavg</FILE>
GLIBTOP_LOADAVG_LOADAVG
GLIBTOP_LOADAVG_NR_RUNNING
GLIBTOP_LOADAVG_NR_TASKS
GLIBTOP_LOADAVG_LAST_PID
GLIBTOP_MAX_LOADAVG
glibtop_loadavg
glibtop_get_loadavg
glibtop_get_loadavg_r
glibtop_get_loadavg_l
glibtop_init_loadavg_p
glibtop_get_loadavg_p
glibtop_init_loadavg_s
glibtop_get_loadavg_s
</SECTION>
<INCLUDE>glibtop/mem.h</INCLUDE>
<SECTION>
<FILE>mem</FILE>
GLIBTOP_MEM_TOTAL
GLIBTOP_MEM_USED
GLIBTOP_MEM_FREE
GLIBTOP_MEM_SHARED
GLIBTOP_MEM_BUFFER
GLIBTOP_MEM_CACHED
GLIBTOP_MEM_USER
GLIBTOP_MEM_LOCKED
GLIBTOP_MAX_MEM
glibtop_mem
glibtop_get_mem
glibtop_get_mem_r
glibtop_get_mem_l
glibtop_init_mem_p
glibtop_get_mem_p
glibtop_init_mem_s
glibtop_get_mem_s
</SECTION>
<INCLUDE>glibtop/mountlist.h</INCLUDE>
<SECTION>
<FILE>mountlist</FILE>
GLIBTOP_MOUNTLIST_NUMBER
GLIBTOP_MOUNTLIST_TOTAL
GLIBTOP_MOUNTLIST_SIZE
GLIBTOP_MAX_MOUNTLIST
glibtop_mountentry
glibtop_mountlist
glibtop_get_mountlist
glibtop_get_mountlist_r
glibtop_get_mountlist_l
glibtop_get_mountlist_s
</SECTION>
<INCLUDE>glibtop/msg_limits.h</INCLUDE>
<SECTION>
<FILE>msg_limits</FILE>
GLIBTOP_IPC_MSGPOOL
GLIBTOP_IPC_MSGMAP
GLIBTOP_IPC_MSGMAX
GLIBTOP_IPC_MSGMNB
GLIBTOP_IPC_MSGMNI
GLIBTOP_IPC_MSGSSZ
GLIBTOP_IPC_MSGTQL
GLIBTOP_MAX_MSG_LIMITS
glibtop_msg_limits
glibtop_get_msg_limits
glibtop_get_msg_limits_r
glibtop_get_msg_limits_l
glibtop_init_msg_limits_p
glibtop_get_msg_limits_p
glibtop_init_msg_limits_s
glibtop_get_msg_limits_s
</SECTION>
<INCLUDE>glibtop/cpu.h</INCLUDE>
<SECTION>
<FILE>cpu</FILE>
GLIBTOP_CPU_TOTAL
GLIBTOP_CPU_USER
GLIBTOP_CPU_NICE
GLIBTOP_CPU_SYS
GLIBTOP_CPU_IDLE
GLIBTOP_CPU_FREQUENCY
GLIBTOP_XCPU_TOTAL
GLIBTOP_XCPU_USER
GLIBTOP_XCPU_NICE
GLIBTOP_XCPU_SYS
GLIBTOP_XCPU_IDLE
GLIBTOP_XCPU_FLAGS
GLIBTOP_CPU_IOWAIT
GLIBTOP_CPU_IRQ
GLIBTOP_CPU_SOFTIRQ
GLIBTOP_XCPU_IOWAIT
GLIBTOP_XCPU_IRQ
GLIBTOP_XCPU_SOFTIRQ
GLIBTOP_MAX_CPU
GLIBTOP_NCPU
glibtop_cpu
glibtop_get_cpu
glibtop_get_cpu_r
glibtop_get_cpu_l
glibtop_init_cpu_p
glibtop_get_cpu_p
glibtop_init_cpu_s
glibtop_get_cpu_s
</SECTION>
<INCLUDE>glibtop/swap.h</INCLUDE>
<SECTION>
<FILE>swap</FILE>
GLIBTOP_SWAP_TOTAL
GLIBTOP_SWAP_USED
GLIBTOP_SWAP_FREE
GLIBTOP_SWAP_PAGEIN
GLIBTOP_SWAP_PAGEOUT
GLIBTOP_MAX_SWAP
glibtop_swap
glibtop_get_swap
glibtop_get_swap_r
glibtop_get_swap_l
glibtop_init_swap_p
glibtop_get_swap_p
glibtop_init_swap_s
glibtop_get_swap_s
</SECTION>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<phrase>@PACKAGE_VERSION@</phrase>

View File

@@ -4,7 +4,6 @@
@menu
* Introduction:: Introduction
* Overview:: Overview
* Servers and Daemons:: Servers and Daemons
@end menu
@node Introduction, Overview, White Paper, White Paper
@@ -48,7 +47,7 @@ since there's more than just one single program that wants to use them - for
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
@code{netload} panel applets.
@node Overview, Servers and Daemons, Introduction, White Paper
@node Overview, , Introduction, White Paper
@section Overview
This section should give you a short overview on how LibGTop was developed, which
@@ -89,48 +88,3 @@ only contains the @dfn{features} which need privileges.
Whenever we do not need any privileges to get all the data for some of the requested
structures (here called @dfn{features}) the library calls the sysdeps code directly
rather than using the server.
@node Servers and Daemons, , Overview, White Paper
@section Servers and Daemons
LibGTop gives you the possibility to use different LibGTop "servers" and
"daemons" in your application.
Normally you do not need to worry about this things since LibGTop auto-
matically opens a pipe to its server it it's required, but this can also
be customized to fit your needs.
For instance if you have a small applet which is only interested in disk
usage there's no need to fork a separate server process since you don't
need any privileges to get them on any of the supported systems. This can
be archieved with a special call to @code{glibtop_init_r} on startup.
There's also an option to tell @code{glibtop_init_r} that you're only
interested in several features - for instance cpu and memory usage. In
this case LibGTop will only fork a server process if it's required to get
cpu and memory.
You can also tell @code{glibtop_init_r} to start the server only on demand,
this might become useful in command-line based programs. For graphical
applications it's normally best to start the server directly during their
initialization. The same applies for any time critical applications (since
@code{fork} is an expensive operation on some systems this may lead to
incorrect statistics).
LibGTop also allows you to talk to a remote machine using the
@dfn{LibGTop daemon}. This daemon is based on @code{gnuserv} from
GNU Emacs and should be run as an unprivileged user. It has support
for either @code{xauth} or host based authorization.
This daemon itself behaves like a LibGTop client application, i.e. it
forks a server process if this is required.
The main use for this daemon is when you want to monitor a machine which
is either very slow or has very low disk space. In this case you don't need
to install the whole client application (for instance GTop) on the remote
machine but only a very small (maybe also statically linked) executable and
run the graphical application on a more powerful machine.
It can also be used to monitor a remote machine over a very slow link such
as a dialup connection since the conversation between LibGTop client and
daemon uses much less bandwith than an ordinary X11 connection.

View File

@@ -1,2 +0,0 @@
Makefile.in
Makefile

View File

@@ -1,9 +0,0 @@
backenddir = @LIBGTOP_BACKEND_DIR@
backend_DATA = \
libgtop-backends.dtd \
libgtop-backend-info.dtd
EXTRA_DIST = |
$(backend_DATA)

View File

@@ -1,23 +0,0 @@
<!ELEMENT BackendInfo (name,description?,comments?,authors,legalnotice)>
<!ELEMENT name (short_name,long_name?)>
<!ELEMENT short_name (#PCDATA)>
<!ELEMENT long_name (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT authors (author)+>
<!ELEMENT author (author_name,author_email?)>
<!ELEMENT author_name (#PCDATA)>
<!ELEMENT author_email (#PCDATA)>
<!ELEMENT legalnotice (license,copyright?)>
<!ELEMENT license (#PCDATA)>
<!ELEMENT copyright (holder)+>
<!ELEMENT holder (holder_year?,holder_name,holder_email?)>
<!ELEMENT holder_year (#PCDATA)>
<!ELEMENT holder_name (#PCDATA)>
<!ELEMENT holder_email (#PCDATA)>
<!ELEMENT comments (comment)+>
<!ELEMENT comment (#PCDATA)>

View File

@@ -1,11 +0,0 @@
<!ELEMENT Backends (Backend)+>
<!ELEMENT Backend (Name,Location)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Location (LibtoolName?,ShlibName,ExtraLibs?)>
<!ELEMENT LibtoolName (#PCDATA)>
<!ELEMENT ShlibName (#PCDATA)>
<!ELEMENT ExtraLibs (ExtraLib)+>
<!ELEMENT ExtraLib (LibtoolName?,ShlibName)>

243
examples/ChangeLog Normal file
View File

@@ -0,0 +1,243 @@
2007-05-19 Benoît Dejean <benoit@placenet.org>
* Makefile.am:
* mem.c: (main):
* wd.c: (main):
Fixed wd and new simple mem example.
2006-02-27 Benoît Dejean <benoit@placenet.org>
* pprint.c: (pprint_get_proc_mem), (main):
Added proc_mem example.
2005-12-15 Benoît Dejean <benoit@placenet.org>
* proclist.c: (print_pids), (main):
Improved example.
2005-12-12 Benoît Dejean <benoit@placenet.org>
* .cvsignore:
* Makefile.am:
* proclist.c: (main):
* procmap.c: (main):
Added quick example for glibtop_get_proclist()
and updated procmap example to display smap.
2005-08-02 Benoît Dejean <TazForEver@dlfp.org>
* pprint.c: (pprint_get_cpu), (pprint_get_loadavg),
(pprint_get_mem), (pprint_get_msg_limits), (pprint_get_netlist),
(pprint_get_swap), (pprint_get_uptime), (pprint_get_proc_kernel),
(main):
Added pprint_get_proc_kernel(pid).
Fixed prototypes.
2005-01-22 Benoît Dejean <TazForEver@dlfp.org>
* openfiles.c: (show_open_files): Updated.
2004-12-23 Benoît Dejean <tazforever@dlfp.org>
* netload.c: (main):
* procmap.c: (main): s/glibtop_error/g_error/g
2004-11-15 Benoît Dejean <tazforever@dlfp.org>
* netload.c: (hwaddress_format_for_display), (main): Updated.
2004-11-13 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_fsusage), (pprint_get_mountlist),
(pprint_get_netload), (pprint_get_netlist), (main): Updated.
2004-09-25 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (main): Re-added pprint_get_msg_limits()
i2004-09-25 Benoît Dejean <tazforever@dlfp.org>
* df.c: (main):
* pprint.c: (main):
* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
2004-09-24 Benoît Dejean <tazforever@dlfp.org>
* .cvsignore:
* Makefile.am:
* ../configure.in
* df.c: (print_fsusage), (main): Added new example, just like 'df'.
2004-09-22 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_swap), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: (show_args), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
(pprint_get_uptime), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_mountlist): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: (show_args), (main): Updated.
2004-09-20 Benoît Dejean <tazforever@dlfp.org>
* .cvsignore:
* Makefile.am:
* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
(pprint_get_msg_limits), (main): Added new example : pretty prints
the result of glibtop_*. Work in progress.
Now builds procargs.
* ../configure.in: Added to static list.
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: Added glibtop_get_proc_argv demo.
2003-12-27 Ole Laursen <olau@hardworking.dk>
* mountlist.c: Updated to display block size too.
2004-03-04 Bastien Nocera <hadess@hadess.net>
* smp.c: use libgtop-i18n.h
2003-10-21 Bastien Nocera <hadess@hadess.net>
* Makefile.am:
* smp.c:
* sysdeps.c: (main): install only one library, libgtop-2.0
Fix build-time warnings due to the redefinition of guint64
Fix building smp.c and sysdeps.c
2003-10-20 Bastien Nocera <hadess@hadess.net>
* first.c:
* mountlist.c:
* netload.c:
* procmap.c:
* second.c:
* smp.c:
* sysdeps.c:
* third.c:
* timings.c: fixed compilation
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
2001-01-14 Abel Cheung <maddog@linux.org.hk>
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
* Makefile.am, first.c, second.c, sysdeps.c: Make them at least
compile for now, by disabling chunks which should belong to
HEAD branch.
1999-05-28 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c, sysdeps.c: Use LibGTop version conditionals
so we can more easily merge the code into LIBGTOP_STABLE_1_0.
1999-05-07 Martin Baulig <martin@home-of-linux.org>
* timings.c (timersub): Renamed this to `libgtop_timersub' and define
it on all systems.
Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
* timings.c: Added timersub defenition, to make code compilable on
BSDI.
1999-03-24 Martin Baulig <martin@home-of-linux.org>
* timings.c: New example.
1999-03-17 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c: Fixed a bug that caused a core dump when
the sysdeps code does not return all data.
1998-11-22 Martin Baulig <baulig@taurus.uni-trier.de>
* netload.c: Call inet_ntoa () to get address and subnet
in quatted dot notation (like 136.199.14.201) and not just
as a number (like 0xc90ec788).
1998-11-02 Martin Baulig <martin@home-of-linux.org>
* sysdeps.c: New example.
1998-10-26 Martin Baulig <martin@home-of-linux.org>
* netload.c: New file. Gets network load for the interface
given as command line argument.
1998-10-26 Martin Baulig <martin@home-of-linux.org>
* first.c (glibtop_get_proc_args): Get command line arguments.
* second.c: Likewise.
1998-10-25 Martin Baulig <martin@home-of-linux.org>
* first.c (glibtop_get_ppp): Get PPP/ISDN statistics.
1998-09-28 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Install everything in $(libexecdir)/libgtop.
1998-09-09 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
* smp.c: New file. Nice tool to show CPU statistics on SMP systems.
1998-08-25 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c, procmap.c: Fixed some compiler warnings.
1998-08-18 Martin Baulig <martin@home-of-linux.org>
* procmap.c: We now display filenames when compiled
`--with-libgtop-inodedb'.
1998-08-12 Martin Baulig <martin@home-of-linux.org>
* second.c: Works a little bit more like `ps' - you can
give an optional command line argument to get information
about a single process.
1998-07-22 Martin Baulig <martin@home-of-linux.org>
* mountlist.c: New file.
1998-06-12 Martin Baulig <martin@home-of-linux.org>
* test.scm: New file.
1998-06-07 Martin Baulig <martin@home-of-linux.org>
* Makefile.am (CFLAGS): Disable optimize.
* first.c (PROFILE_COUNT): Number of times each function
should be called. Defaults to 1; to profile the code, you
can increase this when compiling.

60
examples/Makefile.am Normal file
View File

@@ -0,0 +1,60 @@
## Process this file with automake to produce Makefile.in
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
INCLUDES = @INCLUDES@
DEFS = @DEFS@
noinst_PROGRAMS = first second pprint procargs df netlist \
mountlist procmap netload sysdeps timings \
openfiles smp proclist mem wd
first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
second_SOURCES = second.c
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
procmap_SOURCES = procmap.c
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la
netload_SOURCES = netload.c
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la
sysdeps_SOURCES = sysdeps.c
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la
mountlist_SOURCES = mountlist.c
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
smp_SOURCES = smp.c
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
timings_SOURCES = timings.c
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
pprint_SOURCES = pprint.c
pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
procargs_SOURCES = procargs.c
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
df_SOURCES = df.c
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
netlist_SOURCES = netlist.c
netlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
openfiles_SOURCES = openfiles.c
openfiles_LDADD = $(top_builddir)/lib/libgtop-2.0.la
proclist_SOURCES = proclist.c
proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
wd_SOURCES = wd.c
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
mem_SOURCE = mem.c
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la

0
examples/affinity.c Normal file
View File

51
examples/df.c Normal file
View File

@@ -0,0 +1,51 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <glibtop.h>
#include <glibtop/fsusage.h>
#include <glibtop/mountlist.h>
#include <stdio.h>
static void print_fsusage(const char *mountpoint)
{
glibtop_fsusage buf;
glibtop_get_fsusage(&buf, mountpoint);
printf("%-20s %-10llu %-10llu %-10llu %.1f\n",
mountpoint,
buf.blocks * buf.block_size >> 20,
(buf.blocks - buf.bavail) * buf.block_size >> 20,
buf.bavail * buf.block_size >> 20,
(buf.blocks - buf.bavail) * 100.0 / buf.blocks
);
}
int main()
{
glibtop_mountlist buf;
glibtop_mountentry *entries;
size_t i;
glibtop_init();
printf("%-20s %-10s %-10s %-10s %-10s\n",
"Filesystem", "Size", "Used", "Avail", "Use%");
entries = glibtop_get_mountlist(&buf, FALSE);
for(i = 0; i < buf.number; ++i)
{
print_fsusage(entries[i].mountdir);
}
g_free(entries);
glibtop_close();
return 0;
}

578
examples/first.c Normal file
View File

@@ -0,0 +1,578 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/parameter.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
#include <sys/resource.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1
#endif
int
main (int argc, char *argv [])
{
glibtop_union data;
glibtop_sysdeps sysdeps;
unsigned c, method, count, port, i, *ptr;
char buffer [BUFSIZ];
pid_t pid, ppid;
char *args;
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
printf ("Method = %d\n", method);
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
buffer [count] = 0;
printf ("Command = '%s'\n", buffer);
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
buffer [count] = 0;
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
printf ("Host = '%s' - %u\n\n", buffer, port);
glibtop_init_r (&glibtop_global_server, 0, 0);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_cpu (&data.cpu);
printf ("CPU (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.cpu.flags,
(unsigned long) data.cpu.total,
(unsigned long) data.cpu.user,
(unsigned long) data.cpu.nice,
(unsigned long) data.cpu.sys,
(unsigned long) data.cpu.idle,
(unsigned long) data.cpu.frequency);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_mem (&data.mem);
printf ("Memory (0x%08lx): "
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.mem.flags,
(unsigned long) data.mem.total,
(unsigned long) data.mem.used,
(unsigned long) data.mem.free,
(unsigned long) data.mem.shared,
(unsigned long) data.mem.buffer,
(unsigned long) data.mem.cached,
(unsigned long) data.mem.user,
(unsigned long) data.mem.locked);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_swap (&data.swap);
printf ("Swap (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.swap.flags,
(unsigned long) data.swap.total,
(unsigned long) data.swap.used,
(unsigned long) data.swap.free,
(unsigned long) data.swap.pagein,
(unsigned long) data.swap.pageout);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_uptime (&data.uptime);
printf ("Uptime (0x%08lx): %f, %f\n",
(unsigned long) data.uptime.flags,
data.uptime.uptime, data.uptime.idletime);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_loadavg (&data.loadavg);
printf ("Loadavg (0x%08lx): %f, %f, %f - %lu, %lu, %lu\n",
(unsigned long) data.loadavg.flags,
(double) data.loadavg.loadavg [0],
(double) data.loadavg.loadavg [1],
(double) data.loadavg.loadavg [2],
(unsigned long) data.loadavg.nr_running,
(unsigned long) data.loadavg.nr_tasks,
(unsigned long) data.loadavg.last_pid);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_shm_limits (&data.shm_limits);
printf ("Shm Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.shm_limits.flags,
(unsigned long) data.shm_limits.shmmax,
(unsigned long) data.shm_limits.shmmin,
(unsigned long) data.shm_limits.shmmni,
(unsigned long) data.shm_limits.shmseg,
(unsigned long) data.shm_limits.shmall);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_msg_limits (&data.msg_limits);
printf ("Msg Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.msg_limits.flags,
(unsigned long) data.msg_limits.msgpool,
(unsigned long) data.msg_limits.msgmap,
(unsigned long) data.msg_limits.msgmax,
(unsigned long) data.msg_limits.msgmnb,
(unsigned long) data.msg_limits.msgmni,
(unsigned long) data.msg_limits.msgssz,
(unsigned long) data.msg_limits.msgtql);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_sem_limits (&data.sem_limits);
printf ("Sem Limits (0x%08lx): "
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.sem_limits.flags,
(unsigned long) data.sem_limits.semmap,
(unsigned long) data.sem_limits.semmni,
(unsigned long) data.sem_limits.semmns,
(unsigned long) data.sem_limits.semmnu,
(unsigned long) data.sem_limits.semmsl,
(unsigned long) data.sem_limits.semopm,
(unsigned long) data.sem_limits.semume,
(unsigned long) data.sem_limits.semusz,
(unsigned long) data.sem_limits.semvmx,
(unsigned long) data.sem_limits.semaem);
printf ("\n");
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_ppp (&data.ppp, 0);
printf ("PPP (0x%08lx): %lu, %lu, %lu\n",
(unsigned long) data.ppp.flags,
(unsigned long) data.ppp.state,
(unsigned long) data.ppp.bytes_in,
(unsigned long) data.ppp.bytes_out);
printf ("\n");
glibtop_get_sysdeps (&sysdeps);
printf ("Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, "
"%lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) sysdeps.flags,
(unsigned long) sysdeps.cpu,
(unsigned long) sysdeps.mem,
(unsigned long) sysdeps.swap,
(unsigned long) sysdeps.uptime,
(unsigned long) sysdeps.loadavg,
(unsigned long) sysdeps.shm_limits,
(unsigned long) sysdeps.msg_limits,
(unsigned long) sysdeps.sem_limits,
(unsigned long) sysdeps.proclist,
(unsigned long) sysdeps.proc_state,
(unsigned long) sysdeps.proc_uid,
(unsigned long) sysdeps.proc_mem,
(unsigned long) sysdeps.proc_time,
(unsigned long) sysdeps.proc_signal,
(unsigned long) sysdeps.proc_kernel,
(unsigned long) sysdeps.proc_segment,
(unsigned long) sysdeps.proc_args,
(unsigned long) sysdeps.proc_map,
(unsigned long) sysdeps.mountlist,
(unsigned long) sysdeps.fsusage,
(unsigned long) sysdeps.netload,
(unsigned long) sysdeps.ppp);
printf ("\n");
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
(unsigned long) data.proclist.flags,
(unsigned long) data.proclist.number,
(unsigned long) data.proclist.size,
(unsigned long) data.proclist.total);
if (ptr) {
printf ("\nProcess: ");
for (i = 0; i < data.proclist.number; i++)
printf ("%s%u", i ? ", " : "", ptr [i]);
printf ("\n");
}
g_free (ptr);
pid = getpid ();
ppid = getppid ();
printf ("\n");
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_state (&data.proc_state, pid);
printf ("Proc_State PID %5d (0x%08lx): '%s', %c, %lu, %lu\n",
(int) pid, (unsigned long) data.proc_state.flags,
data.proc_state.cmd, data.proc_state.state,
(unsigned long) data.proc_state.uid,
(unsigned long) data.proc_state.gid);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_uid (&data.proc_uid, pid);
printf ("Proc_Uid PID %5d (0x%08lx): "
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
(unsigned long) data.proc_uid.flags,
data.proc_uid.uid, data.proc_uid.euid,
data.proc_uid.gid, data.proc_uid.egid,
data.proc_uid.pid, data.proc_uid.ppid,
data.proc_uid.pgrp, data.proc_uid.session,
data.proc_uid.tty, data.proc_uid.tpgid,
data.proc_uid.priority, data.proc_uid.nice);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_mem (&data.proc_mem, pid);
printf ("Proc_Mem PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_mem.flags,
(unsigned long) data.proc_mem.size,
(unsigned long) data.proc_mem.vsize,
(unsigned long) data.proc_mem.resident,
(unsigned long) data.proc_mem.share,
(unsigned long) data.proc_mem.rss,
(unsigned long) data.proc_mem.rss_rlim);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_segment (&data.proc_segment, pid);
printf ("Proc_Segment PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_segment.flags,
(unsigned long) data.proc_segment.text_rss,
(unsigned long) data.proc_segment.shlib_rss,
(unsigned long) data.proc_segment.data_rss,
(unsigned long) data.proc_segment.stack_rss,
(unsigned long) data.proc_segment.dirty_size,
(unsigned long) data.proc_segment.start_code,
(unsigned long) data.proc_segment.end_code,
(unsigned long) data.proc_segment.start_stack);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_time (&data.proc_time, pid);
printf ("Proc_Time PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_time.flags,
(unsigned long) data.proc_time.start_time,
(unsigned long) data.proc_time.rtime,
(unsigned long) data.proc_time.utime,
(unsigned long) data.proc_time.stime,
(unsigned long) data.proc_time.cutime,
(unsigned long) data.proc_time.cstime,
(unsigned long) data.proc_time.timeout,
(unsigned long) data.proc_time.it_real_value,
(unsigned long) data.proc_time.frequency);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_signal (&data.proc_signal, pid);
printf ("Proc_Signal PID %5d (0x%08lx): "
"%lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_signal.flags,
(unsigned long) data.proc_signal.signal,
(unsigned long) data.proc_signal.blocked,
(unsigned long) data.proc_signal.sigignore,
(unsigned long) data.proc_signal.sigcatch);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_kernel (&data.proc_kernel, pid);
printf ("Proc_Kernel PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
(unsigned long) data.proc_kernel.maj_flt,
(unsigned long) data.proc_kernel.cmin_flt,
(unsigned long) data.proc_kernel.cmaj_flt,
(unsigned long) data.proc_kernel.kstk_esp,
(unsigned long) data.proc_kernel.kstk_eip,
(unsigned long) data.proc_kernel.nwchan,
data.proc_kernel.wchan);
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
printf ("\n");
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_state (&data.proc_state, ppid);
printf ("Proc_State PPID %5d (0x%08lx): '%s', %c, %lu, %lu\n",
(int) ppid, (unsigned long) data.proc_state.flags,
data.proc_state.cmd, data.proc_state.state,
(unsigned long) data.proc_state.uid,
(unsigned long) data.proc_state.gid);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_uid (&data.proc_uid, ppid);
printf ("Proc_Uid PPID %5d (0x%08lx): "
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) ppid,
(unsigned long) data.proc_uid.flags,
data.proc_uid.uid, data.proc_uid.euid,
data.proc_uid.gid, data.proc_uid.egid,
data.proc_uid.pid, data.proc_uid.ppid,
data.proc_uid.pgrp, data.proc_uid.session,
data.proc_uid.tty, data.proc_uid.tpgid,
data.proc_uid.priority, data.proc_uid.nice);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_mem (&data.proc_mem, ppid);
printf ("Proc_Mem PPID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu\n", (int) ppid,
(unsigned long) data.proc_mem.flags,
(unsigned long) data.proc_mem.size,
(unsigned long) data.proc_mem.vsize,
(unsigned long) data.proc_mem.resident,
(unsigned long) data.proc_mem.share,
(unsigned long) data.proc_mem.rss,
(unsigned long) data.proc_mem.rss_rlim);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_segment (&data.proc_segment, ppid);
printf ("Proc_Segment PPID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
(unsigned long) data.proc_segment.flags,
(unsigned long) data.proc_segment.text_rss,
(unsigned long) data.proc_segment.shlib_rss,
(unsigned long) data.proc_segment.data_rss,
(unsigned long) data.proc_segment.stack_rss,
(unsigned long) data.proc_segment.dirty_size,
(unsigned long) data.proc_segment.start_code,
(unsigned long) data.proc_segment.end_code,
(unsigned long) data.proc_segment.start_stack);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_time (&data.proc_time, ppid);
printf ("Proc_Time PPID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
(unsigned long) data.proc_time.flags,
(unsigned long) data.proc_time.start_time,
(unsigned long) data.proc_time.rtime,
(unsigned long) data.proc_time.utime,
(unsigned long) data.proc_time.stime,
(unsigned long) data.proc_time.cutime,
(unsigned long) data.proc_time.cstime,
(unsigned long) data.proc_time.timeout,
(unsigned long) data.proc_time.it_real_value,
(unsigned long) data.proc_time.frequency);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_signal (&data.proc_signal, ppid);
printf ("Proc_Signal PPID %5d (0x%08lx): %lu %lu %lu %lu\n",
(int) ppid, (unsigned long) data.proc_signal.flags,
(unsigned long) data.proc_signal.signal,
(unsigned long) data.proc_signal.blocked,
(unsigned long) data.proc_signal.sigignore,
(unsigned long) data.proc_signal.sigcatch);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_kernel (&data.proc_kernel, ppid);
printf ("Proc_Kernel PPID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) ppid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
(unsigned long) data.proc_kernel.maj_flt,
(unsigned long) data.proc_kernel.cmin_flt,
(unsigned long) data.proc_kernel.cmaj_flt,
(unsigned long) data.proc_kernel.kstk_esp,
(unsigned long) data.proc_kernel.kstk_eip,
(unsigned long) data.proc_kernel.nwchan,
data.proc_kernel.wchan);
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, ppid, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) ppid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
printf ("\n");
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_state (&data.proc_state, 1);
printf ("Proc_State INIT %5d (0x%08lx): '%s', %c, %lu, %lu\n", 1,
(unsigned long) data.proc_state.flags,
data.proc_state.cmd, data.proc_state.state,
(unsigned long) data.proc_state.uid,
(unsigned long) data.proc_state.gid);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_uid (&data.proc_uid, 1);
printf ("Proc_Uid INIT %5d (0x%08lx): "
"%d %d %d %d %d %d %d %d %d %d %d %d\n", 1,
(unsigned long) data.proc_uid.flags,
data.proc_uid.uid, data.proc_uid.euid,
data.proc_uid.gid, data.proc_uid.egid,
data.proc_uid.pid, data.proc_uid.ppid,
data.proc_uid.pgrp, data.proc_uid.session,
data.proc_uid.tty, data.proc_uid.tpgid,
data.proc_uid.priority, data.proc_uid.nice);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_mem (&data.proc_mem, 1);
printf ("Proc_Mem INIT %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu\n", 1,
(unsigned long) data.proc_mem.flags,
(unsigned long) data.proc_mem.size,
(unsigned long) data.proc_mem.vsize,
(unsigned long) data.proc_mem.resident,
(unsigned long) data.proc_mem.share,
(unsigned long) data.proc_mem.rss,
(unsigned long) data.proc_mem.rss_rlim);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_segment (&data.proc_segment, 1);
printf ("Proc_Segment INIT %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
(unsigned long) data.proc_segment.flags,
(unsigned long) data.proc_segment.text_rss,
(unsigned long) data.proc_segment.shlib_rss,
(unsigned long) data.proc_segment.data_rss,
(unsigned long) data.proc_segment.stack_rss,
(unsigned long) data.proc_segment.dirty_size,
(unsigned long) data.proc_segment.start_code,
(unsigned long) data.proc_segment.end_code,
(unsigned long) data.proc_segment.start_stack);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_time (&data.proc_time, 1);
printf ("Proc_Time INIT %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
(unsigned long) data.proc_time.flags,
(unsigned long) data.proc_time.start_time,
(unsigned long) data.proc_time.rtime,
(unsigned long) data.proc_time.utime,
(unsigned long) data.proc_time.stime,
(unsigned long) data.proc_time.cutime,
(unsigned long) data.proc_time.cstime,
(unsigned long) data.proc_time.timeout,
(unsigned long) data.proc_time.it_real_value,
(unsigned long) data.proc_time.frequency);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_signal (&data.proc_signal, 1);
printf ("Proc_Signal INIT %5d (0x%08lx): "
"%lu %lu %lu %lu\n", 1,
(unsigned long) data.proc_signal.flags,
(unsigned long) data.proc_signal.signal,
(unsigned long) data.proc_signal.blocked,
(unsigned long) data.proc_signal.sigignore,
(unsigned long) data.proc_signal.sigcatch);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_kernel (&data.proc_kernel, 1);
printf ("Proc_Kernel INIT %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", 1,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
(unsigned long) data.proc_kernel.maj_flt,
(unsigned long) data.proc_kernel.cmin_flt,
(unsigned long) data.proc_kernel.cmaj_flt,
(unsigned long) data.proc_kernel.kstk_esp,
(unsigned long) data.proc_kernel.kstk_eip,
(unsigned long) data.proc_kernel.nwchan,
data.proc_kernel.wchan);
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, 1, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", 1,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
glibtop_close ();
exit (0);
}

21
examples/mem.c Normal file
View File

@@ -0,0 +1,21 @@
#include <glibtop.h>
#include <glibtop/mem.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
glibtop_mem buf;
glibtop_init();
g_print("%lx\n", glibtop_global_server->features);
glibtop_get_mem(&buf);
glibtop_close();
return 0;
}

116
examples/mountlist.c Normal file
View File

@@ -0,0 +1,116 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/parameter.h>
#include <glibtop/mountlist.h>
#include <glibtop/fsusage.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1000
#endif
int
main (int argc, char *argv [])
{
glibtop_fsusage fsusage;
glibtop_mountlist mount_list;
glibtop_mountentry *mount_entries;
unsigned c, index, method, count, port;
char buffer [BUFSIZ];
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
printf ("Method = %d\n", method);
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
buffer [count] = 0;
printf ("Command = '%s'\n", buffer);
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
buffer [count] = 0;
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
printf ("Host = '%s' - %u\n\n", buffer, port);
printf ("sbrk (0) = %p\n\n", sbrk (0));
for (c = 0; c < PROFILE_COUNT; c++) {
mount_entries = glibtop_get_mountlist (&mount_list, 1);
g_free (mount_entries);
}
printf ("sbrk (0) = %p\n\n", sbrk (0));
mount_entries = glibtop_get_mountlist (&mount_list, 1);
if (mount_entries == NULL)
_exit (1);
for (index = 0; index < mount_list.number; index++)
printf ("Mount_Entry: %-30s %-10s %-20s\n",
mount_entries [index].mountdir,
mount_entries [index].type,
mount_entries [index].devname);
printf ("\n\n%-16s %9s %9s %9s %9s %9s %9s\n",
"Mount", "Blocks", "Free", "Avail", "Files", "Free", "BlockSz");
for (index = 0; index < mount_list.number; index++) {
glibtop_get_fsusage (&fsusage,
mount_entries [index].mountdir);
printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n",
mount_entries [index].mountdir,
fsusage.blocks, fsusage.bfree,
fsusage.bavail, fsusage.files,
fsusage.ffree, fsusage.block_size);
}
g_free (mount_entries);
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
glibtop_close ();
exit (0);
}

50
examples/netlist.c Normal file
View File

@@ -0,0 +1,50 @@
/* Copyright (C) 2004 Benoît Dejean
This file is part of LibGTop 2.0.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/netlist.h>
int main(int argc, char *argv [])
{
glibtop_netlist buf;
char **devices;
guint32 i;
glibtop_init();
devices = glibtop_get_netlist(&buf);
for(i = 0; i < buf.number; ++i)
{
printf("net device '%s'\n", devices[i]);
}
g_strfreev(devices);
glibtop_close();
return 0;
}

162
examples/netload.c Normal file
View File

@@ -0,0 +1,162 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/parameter.h>
#include <glibtop/netload.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1
#endif
static char* hwaddress_format_for_display(glibtop_netload *buf)
{
unsigned i;
GString *repr = g_string_new("");
char *str;
for(i = 0; i < sizeof buf->hwaddress; ++i)
g_string_append_printf(repr, "%02X:",
(unsigned) ((char*)buf->hwaddress)[i]);
repr->str [ repr->len - 1] = ' ';
str = g_string_free(repr, FALSE);
g_strstrip(str);
return str;
}
int
main (int argc, char *argv [])
{
glibtop_netload netload;
unsigned method, count, port;
struct in_addr addr, subnet;
char *address_string, *subnet_string;
char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
char *hwaddress_string;
char buffer [BUFSIZ];
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
printf ("Method = %d\n", method);
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
buffer [count] = 0;
printf ("Command = '%s'\n", buffer);
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
buffer [count] = 0;
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
printf ("Host = '%s' - %u\n\n", buffer, port);
glibtop_init_r (&glibtop_global_server, 0, 0);
if (argc != 2)
g_error ("Usage: %s interface", argv [0]);
glibtop_get_netload (&netload, argv [1]);
addr.s_addr = netload.address;
subnet.s_addr = netload.subnet;
address_string = g_strdup (inet_ntoa (addr));
subnet_string = g_strdup (inet_ntoa (subnet));
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
hwaddress_string = hwaddress_format_for_display(&netload);
printf ("Network Load (0x%016llx):\n\n"
"\tInterface Flags:\t0x%016llx\n"
"\tAddress:\t\t0x%08x - %s\n"
"\tSubnet:\t\t\t0x%08x - %s\n\n"
"\tMTU:\t\t\t%d\n"
"\tCollisions:\t\t%llu\n\n"
"\tPackets In:\t\t%llu\n"
"\tPackets Out:\t\t%llu\n"
"\tPackets Total:\t\t%llu\n\n"
"\tBytes In:\t\t%llu\n"
"\tBytes Out:\t\t%llu\n"
"\tBytes Total:\t\t%llu\n\n"
"\tErrors In:\t\t%llu\n"
"\tErrors Out:\t\t%llu\n"
"\tErrors Total:\t\t%llu\n\n"
"\tAddress6:\t\t%s\n"
"\tPrefix6:\t\t%s\n"
"\tScope6:\t\t\t%#03x\n\n"
"\tHarware Address:\t%s\n\n",
netload.flags,
netload.if_flags,
(guint32) netload.address, address_string,
(guint32) netload.subnet, subnet_string,
netload.mtu,
netload.collisions,
netload.packets_in,
netload.packets_out,
netload.packets_total,
netload.bytes_in,
netload.bytes_out,
netload.bytes_total,
netload.errors_in,
netload.errors_out,
netload.errors_total,
address6_string,
prefix6_string,
(int) netload.scope6,
hwaddress_string);
g_free (address_string);
g_free (subnet_string);
glibtop_close ();
exit (0);
}

68
examples/openfiles.c Normal file
View File

@@ -0,0 +1,68 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <glibtop.h>
#include <glibtop/procopenfiles.h>
#include <stdlib.h>
#include <unistd.h>
static void show_open_files(pid_t pid)
{
glibtop_proc_open_files buf;
glibtop_open_files_entry *files;
unsigned i;
files = glibtop_get_proc_open_files(&buf, pid);
printf("<%ld>\n", (long)pid);
for(i = 0; i < buf.number; ++i)
{
printf("\tfd = %d\t", files[i].fd);
switch(files[i].type)
{
case GLIBTOP_FILE_TYPE_FILE:
printf("file \"%s\"\n", files[i].info.file.name);
break;
case GLIBTOP_FILE_TYPE_PIPE:
printf("pipe\n");
break;
case GLIBTOP_FILE_TYPE_INETSOCKET:
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
break;
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
printf("localsocket %s\n", files[i].info.localsock.name);
break;
}
}
putchar('\n');
g_free(files);
}
int main(int argc, char **argv)
{
glibtop_init();
show_open_files(getpid());
while(*++argv)
{
pid_t pid = strtol(*argv, NULL, 10);
show_open_files(pid);
}
glibtop_close();
return 0;
}

324
examples/pprint.c Normal file
View File

@@ -0,0 +1,324 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <glibtop.h>
#include <glibtop/union.h>
#include <unistd.h>
#include <stdio.h>
#include <stddef.h>
#define buf_offsetof(MEMBER) ((ptrdiff_t)&(buf.MEMBER) - (ptrdiff_t)&buf)
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
(unsigned long) sizeof buf)
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
size_t i; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
} while(0)
#define FOOTER_PPRINT() putchar('\n');
static void pprint_get_cpu(void)
{
glibtop_cpu buf;
glibtop_get_cpu(&buf);
HEADER_PPRINT(glibtop_get_cpu);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(user, "%llu");
PPRINT(nice, "%llu");
PPRINT(sys, "%llu");
PPRINT(idle, "%llu");
PPRINT(iowait, "%llu");
PPRINT(irq, "%llu");
PPRINT(softirq, "%llu");
PPRINT(frequency, "%llu");
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu");
PPRINT(xcpu_flags, "%llx");
FOOTER_PPRINT();
}
static void pprint_get_fsusage(const char *mountpoint)
{
glibtop_fsusage buf;
glibtop_get_fsusage(&buf, mountpoint);
HEADER_PPRINT(glibtop_get_fsusage);
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
PPRINT(flags, "%#llx");
PPRINT(blocks, "%llu");
PPRINT(bfree, "%llu");
PPRINT(bavail, "%llu");
PPRINT(files, "%llu");
PPRINT(ffree, "%llu");
PPRINT(block_size, "%u");
PPRINT(read, "%llu");
PPRINT(write, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_loadavg(void)
{
glibtop_loadavg buf;
glibtop_get_loadavg(&buf);
HEADER_PPRINT(glibtop_get_loadavg);
PPRINT(flags, "%#llx");
PPRINT_ARRAY(loadavg, 3, "%f");
PPRINT(nr_running, "%llu");
PPRINT(nr_tasks, "%llu");
PPRINT(last_pid, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_mem(void)
{
glibtop_mem buf;
glibtop_get_mem(&buf);
HEADER_PPRINT(glibtop_get_mem);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(used, "%llu");
PPRINT(free, "%llu");
PPRINT(shared, "%llu");
PPRINT(buffer, "%llu");
PPRINT(cached, "%llu");
PPRINT(user, "%llu");
PPRINT(locked, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_mountlist(gboolean allfs)
{
glibtop_mountlist buf;
glibtop_mountentry *entries;
size_t i;
entries = glibtop_get_mountlist(&buf, allfs);
HEADER_PPRINT(glibtop_get_mountlist);
printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
PPRINT(flags, "%#llx");
PPRINT(number, "%llu");
PPRINT(total, "%llu");
PPRINT(size, "%llu");
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
for(i = 0; i < buf.number; ++i)
{
printf("\t\t .%lu = { .dev = %#llx,"
" .devname = \"%s\","
" .mountir = \"%s\","
" .type = \"%s\" }\n",
(unsigned long) i, entries[i].dev,
entries[i].devname,
entries[i].mountdir,
entries[i].type);
}
printf("\t\t}\n");
FOOTER_PPRINT();
g_free(entries);
}
static void pprint_get_msg_limits(void)
{
glibtop_msg_limits buf;
glibtop_get_msg_limits(&buf);
HEADER_PPRINT(glibtop_get_msg_limits);
PPRINT(flags, "%#llx");
PPRINT(msgpool, "%llu");
PPRINT(msgmap, "%llu");
PPRINT(msgmax, "%llu");
PPRINT(msgmnb, "%llu");
PPRINT(msgmni, "%llu");
PPRINT(msgssz, "%llu");
PPRINT(msgtql, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_netload(const char *iface)
{
glibtop_netload buf;
glibtop_get_netload(&buf, iface);
HEADER_PPRINT(glibtop_get_netload);
printf("glibtop_get_netload (iface = \"%s\")\n", iface);
PPRINT(flags, "%#llx");
FOOTER_PPRINT();
}
static void pprint_get_netlist(void)
{
glibtop_netlist buf;
char **devices;
guint32 i;
devices = glibtop_get_netlist(&buf);
HEADER_PPRINT(glibtop_get_netlist);
for(i = 0; i < buf.number; ++i)
{
printf("\t%s\n", devices[i]);
}
FOOTER_PPRINT();
g_strfreev(devices);
}
static void pprint_get_swap(void)
{
glibtop_swap buf;
glibtop_get_swap(&buf);
HEADER_PPRINT(glibtop_get_swap);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(used, "%llu");
PPRINT(free, "%llu");
PPRINT(pagein, "%llu");
PPRINT(pageout, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_uptime(void)
{
glibtop_uptime buf;
glibtop_get_uptime(&buf);
HEADER_PPRINT(glibtop_get_uptime);
PPRINT(flags, "%#llx");
PPRINT(uptime, "%f");
PPRINT(idletime, "%f");
PPRINT(boot_time, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_proc_kernel(pid_t pid)
{
glibtop_proc_kernel buf;
glibtop_get_proc_kernel(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_kernel);
PPRINT(flags, "%#llx");
PPRINT(k_flags, "%llu");
PPRINT(min_flt, "%llu");
PPRINT(maj_flt, "%llu");
PPRINT(cmin_flt, "%llu");
PPRINT(cmaj_flt, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_proc_mem(pid_t pid)
{
glibtop_proc_mem buf;
glibtop_get_proc_mem(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_mem);
PPRINT(flags, "%#llx");
PPRINT(size, "%llu");
PPRINT(vsize, "%llu");
PPRINT(resident, "%llu");
PPRINT(share, "%llu");
PPRINT(rss, "%llu");
PPRINT(rss_rlim, "%llu");
FOOTER_PPRINT();
}
int main()
{
glibtop_init();
pprint_get_cpu();
pprint_get_fsusage("/");
pprint_get_loadavg();
pprint_get_mem();
pprint_get_mountlist(TRUE);
pprint_get_mountlist(FALSE);
pprint_get_msg_limits();
pprint_get_swap();
pprint_get_netlist();
pprint_get_netload("eth0");
pprint_get_netload("ppp0");
pprint_get_netload("<unknown>");
/* pprint_get_sysinfo(); */
pprint_get_uptime();
pprint_get_proc_kernel(getpid());
pprint_get_proc_mem(getpid());
glibtop_close();
return 0;
}

51
examples/procargs.c Normal file
View File

@@ -0,0 +1,51 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <glibtop.h>
#include <glibtop/procargs.h>
#include <stdlib.h>
#include <unistd.h>
static void show_args(pid_t pid, unsigned max_len)
{
glibtop_proc_args buf;
char ** const pargv = glibtop_get_proc_argv(&buf, pid, max_len);
char **parg = pargv;
printf("<%ld>\t", (long)pid);
while(*parg)
{
printf("\"%s\" ", *parg);
parg++;
}
putchar('\n');
g_strfreev(pargv);
}
int main(int argc, char **argv)
{
glibtop_init();
show_args(getpid(), 0);
show_args(getpid(), 15);
while(*++argv)
{
pid_t pid = strtol(*argv, NULL, 10);
show_args(pid, 0);
show_args(pid, 15);
}
glibtop_close();
return 0;
}

43
examples/proclist.c Normal file
View File

@@ -0,0 +1,43 @@
#include <glibtop.h>
#include <glibtop/proclist.h>
#include <glib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
static void print_pids(guint64 which, guint64 arg)
{
unsigned *pids;
unsigned i;
glibtop_proclist buf;
pids = glibtop_get_proclist(&buf, which, arg);
printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
which, arg, (unsigned long)buf.number);
for (i = 0; i < buf.number; ++i)
printf("%u ", pids[i]);
putchar('\n');
putchar('\n');
g_free(pids);
}
int main()
{
glibtop_init();
print_pids(GLIBTOP_KERN_PROC_ALL, 0);
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
glibtop_close();
return 0;
}

163
examples/procmap.c Normal file
View File

@@ -0,0 +1,163 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/parameter.h>
#include <glibtop/procmap.h>
#include <sys/resource.h>
#include <sys/mman.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1
#endif
int
main (int argc, char *argv [])
{
glibtop_proc_map procmap;
glibtop_map_entry *maps;
unsigned method, count, port, i;
char buffer [BUFSIZ];
pid_t pid;
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
printf ("Method = %d\n", method);
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
buffer [count] = 0;
printf ("Command = '%s'\n", buffer);
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
buffer [count] = 0;
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
printf ("Host = '%s' - %u\n\n", buffer, port);
glibtop_init_r (&glibtop_global_server, 0, 0);
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
g_error ("Usage: %s pid", argv [0]);
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
maps = glibtop_get_proc_map (&procmap, pid);
for (i = 0; i < procmap.number; i++) {
const char *filename = NULL;
unsigned device, device_major, device_minor;
char perm [5];
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
filename = maps [i].filename;
perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-';
perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-';
perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-';
perm [3] = (maps [i].perm & GLIBTOP_MAP_PERM_SHARED) ? 's' : '-';
perm [4] = (maps [i].perm & GLIBTOP_MAP_PERM_PRIVATE) ? 'p' : '-';
device = (unsigned long) maps [i].device;
device_minor = (device & 255);
device_major = ((device >> 8) & 255);
if (filename) {
char *format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s - %s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s - %s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm, filename);
} else {
char * format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm);
}
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
"shared_clean:%lluKib shared_dirty:%lluKiB "
"private_clean:%lluKiB private_dirty: %lluKiB\n",
maps[i].flags,
maps[i].size >> 10,
maps[i].rss >> 10,
maps[i].shared_clean >> 10,
maps[i].shared_dirty >> 10,
maps[i].private_clean >> 10,
maps[i].private_dirty >> 10);
if (filename && (filename != maps [i].filename))
g_free ((void*)filename);
}
g_free (maps);
glibtop_close ();
exit (0);
}

303
examples/second.c Normal file
View File

@@ -0,0 +1,303 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include <math.h>
#include <stdio.h>
#include <libintl.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
static void
output (pid_t pid)
{
glibtop_union data;
char *args;
unsigned i;
#if HAVE_LIBGTOP_SMP
unsigned long total;
double p_total, p_utime, p_stime;
double b_total, b_utime, b_stime;
double s_total, s_utime, s_stime;
double my_utime, my_stime;
unsigned int ncpu;
#endif
printf ("\n");
glibtop_get_proc_state (&data.proc_state, pid);
printf ("Proc_State PID %5d (0x%08lx): "
"'%s', %c, %lu, %lu\n", (int) pid,
(unsigned long) data.proc_state.flags,
data.proc_state.cmd, data.proc_state.state,
(unsigned long) data.proc_state.uid,
(unsigned long) data.proc_state.gid);
glibtop_get_proc_uid (&data.proc_uid, pid);
printf ("Proc_Uid PID %5d (0x%08lx): "
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
(unsigned long) data.proc_uid.flags,
data.proc_uid.uid, data.proc_uid.euid,
data.proc_uid.gid, data.proc_uid.egid,
data.proc_uid.pid, data.proc_uid.ppid,
data.proc_uid.pgrp, data.proc_uid.session,
data.proc_uid.tty, data.proc_uid.tpgid,
data.proc_uid.priority, data.proc_uid.nice);
glibtop_get_proc_mem (&data.proc_mem, pid);
printf ("Proc_Mem PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_mem.flags,
(unsigned long) data.proc_mem.size,
(unsigned long) data.proc_mem.vsize,
(unsigned long) data.proc_mem.resident,
(unsigned long) data.proc_mem.share,
(unsigned long) data.proc_mem.rss,
(unsigned long) data.proc_mem.rss_rlim);
glibtop_get_proc_segment (&data.proc_segment, pid);
printf ("Proc_Segment PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_segment.flags,
(unsigned long) data.proc_segment.text_rss,
(unsigned long) data.proc_segment.shlib_rss,
(unsigned long) data.proc_segment.data_rss,
(unsigned long) data.proc_segment.stack_rss,
(unsigned long) data.proc_segment.dirty_size,
(unsigned long) data.proc_segment.start_code,
(unsigned long) data.proc_segment.end_code,
(unsigned long) data.proc_segment.start_stack);
glibtop_get_proc_time (&data.proc_time, pid);
printf ("Proc_Time PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_time.flags,
(unsigned long) data.proc_time.start_time,
(unsigned long) data.proc_time.rtime,
(unsigned long) data.proc_time.utime,
(unsigned long) data.proc_time.stime,
(unsigned long) data.proc_time.cutime,
(unsigned long) data.proc_time.cstime,
(unsigned long) data.proc_time.timeout,
(unsigned long) data.proc_time.it_real_value,
(unsigned long) data.proc_time.frequency);
glibtop_get_proc_signal (&data.proc_signal, pid);
printf ("Proc_Signal PID %5d (0x%08lx): "
"%lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_signal.flags,
(unsigned long) data.proc_signal.signal,
(unsigned long) data.proc_signal.blocked,
(unsigned long) data.proc_signal.sigignore,
(unsigned long) data.proc_signal.sigcatch);
glibtop_get_proc_kernel (&data.proc_kernel, pid);
printf ("Proc_Kernel PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
(unsigned long) data.proc_kernel.maj_flt,
(unsigned long) data.proc_kernel.cmin_flt,
(unsigned long) data.proc_kernel.cmaj_flt,
(unsigned long) data.proc_kernel.kstk_esp,
(unsigned long) data.proc_kernel.kstk_eip,
(unsigned long) data.proc_kernel.nwchan,
data.proc_kernel.wchan);
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
printf ("\n");
#if HAVE_LIBGTOP_SMP
ncpu = glibtop_global_server->ncpu;
glibtop_get_proc_time (&data.proc_time, pid);
total = (unsigned long) data.proc_time.utime +
(unsigned long) data.proc_time.stime;
p_total = total ? (double) total : 1.0;
p_utime = (double) data.proc_time.utime * 100.0 / p_total;
p_stime = (double) data.proc_time.stime * 100.0 / p_total;
b_total = p_total / ncpu;
b_utime = (double) data.proc_time.utime / ncpu;
b_stime = (double) data.proc_time.stime / ncpu;
s_total = 0.0; s_utime = 0.0; s_stime = 0.0;
printf ("Proc_Time PID %5d (0x%08lx): %12lu %12lu %12lu\n", (int) pid,
(unsigned long) data.proc_time.flags, total,
(unsigned long) data.proc_time.utime,
(unsigned long) data.proc_time.stime);
for (i = 0; i < ncpu; i++) {
unsigned long this_total;
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
(unsigned long) data.proc_time.xcpu_stime [i];
printf ("CPU %3d PID %5d (0x%08lx): %12lu %12lu %12lu\n", i,
(int) pid, (unsigned long) data.proc_time.flags, this_total,
(unsigned long) data.proc_time.xcpu_utime [i],
(unsigned long) data.proc_time.xcpu_stime [i]);
s_total += fabs (((double) this_total) - b_total);
s_utime += fabs (((double) data.proc_time.xcpu_utime [i]) - b_utime);
s_stime += fabs (((double) data.proc_time.xcpu_stime [i]) - b_stime);
}
printf ("\n");
printf ("Proc_Time PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", (int) pid,
(unsigned long) data.proc_time.flags, 100.0, p_utime, p_stime);
for (i = 0; i < ncpu; i++) {
double this_p_total, this_p_utime, this_p_stime;
unsigned long this_total;
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
(unsigned long) data.proc_time.xcpu_stime [i];
this_p_total = (double) this_total * 100.0 / p_total;
this_p_utime = (double) data.proc_time.xcpu_utime [i] * 100.0 / p_total;
this_p_stime = (double) data.proc_time.xcpu_stime [i] * 100.0 / p_total;
printf ("CPU %3d PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", i,
(int) pid, (unsigned long) data.proc_time.flags,
this_p_total, this_p_utime, this_p_stime);
}
printf ("\n");
my_utime = (unsigned long) data.proc_time.utime ?
(double) data.proc_time.utime : 1.0;
my_stime = (unsigned long) data.proc_time.stime ?
(double) data.proc_time.stime : 1.0;
printf ("SPIN: %31s %12.3f %12.3f %12.3f\n", "", s_total * 100.0 / p_total,
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
printf ("\n");
#endif
}
int
main (int argc, char *argv [])
{
glibtop_proclist proclist;
glibtop_sysdeps sysdeps;
unsigned *ptr, pid, i;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init ();
glibtop_get_sysdeps (&sysdeps);
printf ("Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) sysdeps.flags,
(unsigned long) sysdeps.cpu,
(unsigned long) sysdeps.mem,
(unsigned long) sysdeps.swap,
(unsigned long) sysdeps.uptime,
(unsigned long) sysdeps.loadavg,
(unsigned long) sysdeps.shm_limits,
(unsigned long) sysdeps.msg_limits,
(unsigned long) sysdeps.sem_limits,
(unsigned long) sysdeps.proclist,
(unsigned long) sysdeps.proc_state,
(unsigned long) sysdeps.proc_uid,
(unsigned long) sysdeps.proc_mem,
(unsigned long) sysdeps.proc_time,
(unsigned long) sysdeps.proc_signal,
(unsigned long) sysdeps.proc_kernel,
(unsigned long) sysdeps.proc_segment);
if ((argc == 2) && (sscanf (argv [1], "%d", &pid) == 1)) {
output (pid);
exit (0);
}
printf ("\n");
ptr = glibtop_get_proclist (&proclist, 0, 0);
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
(unsigned long) proclist.flags,
(unsigned long) proclist.number,
(unsigned long) proclist.size,
(unsigned long) proclist.total);
if (!ptr) exit (1);
for (i = 0; i < proclist.number; i++) {
pid = ptr [i];
output (pid);
}
g_free (ptr);
exit (0);
}

124
examples/smp.c Normal file
View File

@@ -0,0 +1,124 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, September 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <locale.h>
#include <libintl.h>
#include <math.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/cpu.h>
int
main (int argc, char *argv [])
{
glibtop_cpu cpu;
unsigned long frequency;
double total, user, nice, sys, idle;
double b_total, b_user, b_nice, b_sys, b_idle;
double s_total, s_user, s_nice, s_sys, s_idle;
char separator [BUFSIZ], buffer [BUFSIZ];
int ncpu, i;
glibtop_init();
glibtop_get_cpu (&cpu);
ncpu = glibtop_global_server->ncpu ? glibtop_global_server->ncpu : 1;
frequency = (unsigned long) cpu.frequency;
total = ((unsigned long) cpu.total) ? ((double) cpu.total) : 1.0;
user = ((unsigned long) cpu.user) ? ((double) cpu.user) : 1.0;
nice = ((unsigned long) cpu.nice) ? ((double) cpu.nice) : 1.0;
sys = ((unsigned long) cpu.sys) ? ((double) cpu.sys) : 1.0;
idle = ((unsigned long) cpu.idle) ? ((double) cpu.idle) : 1.0;
s_total = s_user = s_nice = s_sys = s_idle = 0.0;
b_total = total / ncpu;
b_user = user / ncpu;
b_nice = nice / ncpu;
b_sys = sys / ncpu;
b_idle = idle / ncpu;
memset (separator, '-', 91);
separator [92] = '\0';
sprintf (buffer, "Ticks (%ld per second):", frequency);
printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
"Total", "User", "Nice", "Sys", "Idle", separator);
printf ("CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n",
(unsigned long) cpu.flags, total, user, nice, sys, idle);
for (i = 0; i < glibtop_global_server->ncpu; i++) {
printf ("CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n", i,
(unsigned long) cpu.flags,
(unsigned long) cpu.xcpu_total [i],
(unsigned long) cpu.xcpu_user [i],
(unsigned long) cpu.xcpu_nice [i],
(unsigned long) cpu.xcpu_sys [i],
(unsigned long) cpu.xcpu_idle [i]);
s_total += fabs (((double) cpu.xcpu_total [i]) - b_total);
s_user += fabs (((double) cpu.xcpu_user [i]) - b_user);
s_nice += fabs (((double) cpu.xcpu_nice [i]) - b_nice);
s_sys += fabs (((double) cpu.xcpu_sys [i]) - b_sys);
s_idle += fabs (((double) cpu.xcpu_idle [i]) - b_idle);
}
printf ("%s\n\n\n", separator);
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", "Percent:",
"Total (%)", "User (%)", "Nice (%)", "Sys (%)",
"Idle (%)", separator);
printf ("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n",
(unsigned long) cpu.flags, (double) total * 100.0 / total,
(double) user * 100.0 / total,
(double) nice * 100.0 / total,
(double) sys * 100.0 / total,
(double) idle * 100.0 / total);
for (i = 0; i < glibtop_global_server->ncpu; i++) {
double p_total, p_user, p_nice, p_sys, p_idle;
p_total = ((double) cpu.xcpu_total [i]) * 100.0 / total;
p_user = ((double) cpu.xcpu_user [i]) * 100.0 / user;
p_nice = ((double) cpu.xcpu_nice [i]) * 100.0 / nice;
p_sys = ((double) cpu.xcpu_sys [i]) * 100.0 / sys;
p_idle = ((double) cpu.xcpu_idle [i]) * 100.0 / idle;
printf ("CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n",
i, (unsigned long) cpu.flags, p_total, p_user, p_nice,
p_sys, p_idle);
}
printf ("%s\n%-26s %12.3f %12.3f %12.3f %12.3f %12.3f\n\n", separator,
"Spin:", s_total * 100.0 / total, s_user * 100.0 / user,
s_nice * 100.0 / nice, s_sys * 100.0 / sys, s_idle * 100.0 / idle);
exit (0);
}

152
examples/sysdeps.c Normal file
View File

@@ -0,0 +1,152 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/sysdeps.h>
#include <glibtop/parameter.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1
#endif
int
main (int argc, char *argv [])
{
glibtop_sysdeps sysdeps;
unsigned method, count, port;
char buffer [BUFSIZ];
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
printf ("Method = %d\n", method);
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
buffer [count] = 0;
printf ("Command = '%s'\n", buffer);
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
buffer [count] = 0;
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
printf ("Host = '%s' - %u\n\n", buffer, port);
glibtop_init_r (&glibtop_global_server, 0, 0);
glibtop_get_sysdeps (&sysdeps);
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
printf ("Sysdeps (0x%08lx):\n\n"
"\tfeatures:\t\t0x%08lx\n\n"
"\tcpu:\t\t%d\t0x%08lx\n"
"\tmem:\t\t%d\t0x%08lx\n"
"\tswap:\t\t%d\t0x%08lx\n\n"
"\tuptime:\t\t%d\t0x%08lx\n"
"\tloadavg:\t%d\t0x%08lx\n\n"
"\tshm_limits:\t%d\t0x%08lx\n"
"\tmsg_limits:\t%d\t0x%08lx\n"
"\tsem_limits:\t%d\t0x%08lx\n\n"
"\tproclist:\t%d\t0x%08lx\n\n"
"\tproc_state:\t%d\t0x%08lx\n"
"\tproc_uid:\t%d\t0x%08lx\n"
"\tproc_mem:\t%d\t0x%08lx\n"
"\tproc_time:\t%d\t0x%08lx\n"
"\tproc_signal:\t%d\t0x%08lx\n"
"\tproc_kernel:\t%d\t0x%08lx\n"
"\tproc_segment:\t%d\t0x%08lx\n\n"
"\tproc_args:\t%d\t0x%08lx\n"
"\tproc_map:\t%d\t0x%08lx\n\n"
"\tmountlist:\t%d\t0x%08lx\n"
"\tfsusage:\t%d\t0x%08lx\n\n"
"\tnetload:\t%d\t0x%08lx\n"
"\tppp:\t\t%d\t0x%08lx\n\n",
(unsigned long) sysdeps.flags,
(unsigned long) sysdeps.features,
FEATURE_CHECK(CPU),
(unsigned long) sysdeps.cpu,
FEATURE_CHECK(MEM),
(unsigned long) sysdeps.mem,
FEATURE_CHECK(SWAP),
(unsigned long) sysdeps.swap,
FEATURE_CHECK(UPTIME),
(unsigned long) sysdeps.uptime,
FEATURE_CHECK(LOADAVG),
(unsigned long) sysdeps.loadavg,
FEATURE_CHECK(SHM_LIMITS),
(unsigned long) sysdeps.shm_limits,
FEATURE_CHECK(MSG_LIMITS),
(unsigned long) sysdeps.msg_limits,
FEATURE_CHECK(SEM_LIMITS),
(unsigned long) sysdeps.sem_limits,
FEATURE_CHECK(PROCLIST),
(unsigned long) sysdeps.proclist,
FEATURE_CHECK(PROC_STATE),
(unsigned long) sysdeps.proc_state,
FEATURE_CHECK(PROC_UID),
(unsigned long) sysdeps.proc_uid,
FEATURE_CHECK(PROC_MEM),
(unsigned long) sysdeps.proc_mem,
FEATURE_CHECK(PROC_TIME),
(unsigned long) sysdeps.proc_time,
FEATURE_CHECK(PROC_SIGNAL),
(unsigned long) sysdeps.proc_signal,
FEATURE_CHECK(PROC_KERNEL),
(unsigned long) sysdeps.proc_kernel,
FEATURE_CHECK(PROC_SEGMENT),
(unsigned long) sysdeps.proc_segment,
FEATURE_CHECK(PROC_ARGS),
(unsigned long) sysdeps.proc_args,
FEATURE_CHECK(PROC_MAP),
(unsigned long) sysdeps.proc_map,
FEATURE_CHECK(MOUNTLIST),
(unsigned long) sysdeps.mountlist,
FEATURE_CHECK(FSUSAGE),
(unsigned long) sysdeps.fsusage,
FEATURE_CHECK(NETLOAD),
(unsigned long) sysdeps.netload,
FEATURE_CHECK(PPP),
(unsigned long) sysdeps.ppp);
glibtop_close ();
exit (0);
}

80
examples/test.scm Normal file
View File

@@ -0,0 +1,80 @@
(display (glibtop-names-sysdeps)) (newline)
(display (glibtop-labels-sysdeps)) (newline)
(display (glibtop-descriptions-sysdeps)) (newline)
(display (glibtop-types-sysdeps)) (newline)
(newline)
(display (glibtop-names-cpu)) (newline)
(display (glibtop-names-mem)) (newline)
(display (glibtop-names-swap)) (newline)
(display (glibtop-names-uptime)) (newline)
(display (glibtop-names-loadavg)) (newline)
(display (glibtop-names-shm_limits)) (newline)
(display (glibtop-names-msg_limits)) (newline)
(display (glibtop-names-sem_limits)) (newline)
(display (glibtop-names-proclist)) (newline)
(display (glibtop-names-proc_state)) (newline)
(display (glibtop-names-proc_uid)) (newline)
(display (glibtop-names-proc_mem)) (newline)
(display (glibtop-names-proc_time)) (newline)
(display (glibtop-names-proc_signal)) (newline)
(display (glibtop-names-proc_kernel)) (newline)
(display (glibtop-names-proc_segment)) (newline)
(newline)
(display (glibtop-labels-cpu)) (newline)
(display (glibtop-labels-mem)) (newline)
(display (glibtop-labels-swap)) (newline)
(display (glibtop-labels-uptime)) (newline)
(display (glibtop-labels-loadavg)) (newline)
(display (glibtop-labels-shm_limits)) (newline)
(display (glibtop-labels-msg_limits)) (newline)
(display (glibtop-labels-sem_limits)) (newline)
(display (glibtop-labels-proclist)) (newline)
(display (glibtop-labels-proc_state)) (newline)
(display (glibtop-labels-proc_uid)) (newline)
(display (glibtop-labels-proc_mem)) (newline)
(display (glibtop-labels-proc_time)) (newline)
(display (glibtop-labels-proc_signal)) (newline)
(display (glibtop-labels-proc_kernel)) (newline)
(display (glibtop-labels-proc_segment)) (newline)
(newline)
(display (glibtop-descriptions-cpu)) (newline)
(display (glibtop-descriptions-mem)) (newline)
(display (glibtop-descriptions-swap)) (newline)
(display (glibtop-descriptions-uptime)) (newline)
(display (glibtop-descriptions-loadavg)) (newline)
(display (glibtop-descriptions-shm_limits)) (newline)
(display (glibtop-descriptions-msg_limits)) (newline)
(display (glibtop-descriptions-sem_limits)) (newline)
(display (glibtop-descriptions-proclist)) (newline)
(display (glibtop-descriptions-proc_state)) (newline)
(display (glibtop-descriptions-proc_uid)) (newline)
(display (glibtop-descriptions-proc_mem)) (newline)
(display (glibtop-descriptions-proc_time)) (newline)
(display (glibtop-descriptions-proc_signal)) (newline)
(display (glibtop-descriptions-proc_kernel)) (newline)
(display (glibtop-descriptions-proc_segment)) (newline)
(newline)
(display (glibtop-types-cpu)) (newline)
(display (glibtop-types-mem)) (newline)
(display (glibtop-types-swap)) (newline)
(display (glibtop-types-uptime)) (newline)
(display (glibtop-types-loadavg)) (newline)
(display (glibtop-types-shm_limits)) (newline)
(display (glibtop-types-msg_limits)) (newline)
(display (glibtop-types-sem_limits)) (newline)
(display (glibtop-types-proclist)) (newline)
(display (glibtop-types-proc_state)) (newline)
(display (glibtop-types-proc_uid)) (newline)
(display (glibtop-types-proc_mem)) (newline)
(display (glibtop-types-proc_time)) (newline)
(display (glibtop-types-proc_signal)) (newline)
(display (glibtop-types-proc_kernel)) (newline)
(display (glibtop-types-proc_segment)) (newline)

360
examples/timings.c Normal file
View File

@@ -0,0 +1,360 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include <stdio.h>
#include <libintl.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/parameter.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
#include <sys/times.h>
#include <sys/resource.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 100000L
#endif
#ifndef PROFILE_COUNT_EXPENSIVE
#define PROFILE_COUNT_EXPENSIVE 10000L
#endif
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
#define ELAPSED_STIME ((unsigned long) elapsed_stime.tv_sec * 1000000 + (unsigned long) elapsed_stime.tv_usec)
#define libgtop_timeradd(tvp, uvp, vvp) \
do { \
(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
(vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \
if ((vvp)->tv_usec >= 1000000) { \
(vvp)->tv_sec++; \
(vvp)->tv_usec -= 1000000; \
} \
} while (0)
#define libgtop_timersub(tvp, uvp, vvp) \
do { \
(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
if ((vvp)->tv_usec < 0) { \
(vvp)->tv_sec--; \
(vvp)->tv_usec += 1000000; \
} \
} while (0)
int
main (int argc, char *argv [])
{
glibtop_union data;
unsigned c, count, *ptr;
struct rusage total_start, total_end;
struct rusage rusage_start, rusage_end;
struct timeval elapsed_utime, elapsed_stime;
pid_t pid;
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
"Feature", "Flags", "Count", "utime", "stime");
printf ("-------------------------------------------"
"---------------\n");
glibtop_init_r (&glibtop_global_server, 0, 0);
getrusage (RUSAGE_SELF, &total_start);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_cpu (&data.cpu);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("CPU (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.cpu.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
glibtop_get_mem (&data.mem);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Memory (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.mem.flags, PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
glibtop_get_swap (&data.swap);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Swap (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.swap.flags, PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_uptime (&data.uptime);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Uptime (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.uptime.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_loadavg (&data.loadavg);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Loadavg (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.loadavg.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
printf ("\n");
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
g_free (ptr);
}
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proclist (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proclist.flags,
PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
pid = getpid ();
printf ("\n");
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_state (&data.proc_state, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_State (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_state.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_uid (&data.proc_uid, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Uid (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_uid.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_mem (&data.proc_mem, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Mem (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_mem.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_segment (&data.proc_segment, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Segment (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_segment.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_time (&data.proc_time, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Time (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_time.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_signal (&data.proc_signal, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Signal (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_signal.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_kernel (&data.proc_kernel, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Kernel (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_kernel.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &total_end);
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&total_end.ru_stime, &total_start.ru_stime,
&elapsed_stime);
printf ("-------------------------------------------"
"---------------\n");
printf ("%-36s %9lu - %9lu\n\n", "TOTAL",
ELAPSED_UTIME, ELAPSED_STIME);
printf ("All timings are in clock ticks "
"(1000000 ticks per second).\n\n");
glibtop_close ();
exit (0);
}

35
examples/wd.c Normal file
View File

@@ -0,0 +1,35 @@
#include <glibtop.h>
#include <glibtop/procwd.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
pid_t pid;
glibtop_proc_wd buf;
char **dirs, **dir;
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
pid = getpid();
glibtop_init();
dirs = glibtop_get_proc_wd(&buf, pid);
g_print("Process %u:\n"
" - root: '%s'\n"
" - exe: '%s'\n"
" - working directories:\n",
(unsigned)pid, buf.root, buf.exe);
for (dir = dirs; *dir; ++dir)
g_print(" - '%s'\n", *dir);
g_strfreev(dirs);
glibtop_close();
return 0;
}

View File

@@ -1,25 +1,26 @@
retval|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[GLIBTOP_NCPU],xcpu_user[GLIBTOP_NCPU],xcpu_nice[GLIBTOP_NCPU],xcpu_sys[GLIBTOP_NCPU],xcpu_idle[GLIBTOP_NCPU],xcpu_flags)
retval|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
retval|swap|ulong(total,used,free,pagein,pageout)
retval|uptime|double(uptime,idletime):ulong(boot_time)
retval|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
retval|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
retval|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
retval|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
pointer(unsigned)|proclist|array|long(which,arg)
retval|proc_state|string(cmd):unsigned(state):ulong(uid,gid,ruid,rgid,has_cpu,processor,last_processor)|pid_t(pid)
retval|proc_uid|long(uid,euid,gid,egid,suid,sgid,fsuid,fsgid,pid,ppid,pgrp,session,tty,tpgid,priority,nice,ngroups,groups[GLIBTOP_MAX_GROUPS])|pid_t(pid)
retval|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
retval|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[GLIBTOP_NCPU],xcpu_stime[GLIBTOP_NCPU],xcpu_flags)|pid_t(pid)
retval|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
retval|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):string(wchan)|pid_t(pid)
retval|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_data,end_data,start_brk,end_brk,start_stack,start_mmap,arg_start,arg_end,env_start,env_end)|pid_t(pid)
char *|proc_cwd|ulong(size,device,inode)|pid_t(pid)
pointer(string)|proc_args|array|pid_t(pid)
array(glibtop_map_entry)|proc_map|array|pid_t(pid)
array(glibtop_mountentry)|@mountlist|array|int(all_fs)
retval|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string(mount_dir)
array(glibtop_interface)|interface_names|array|ulong(interface,number,instance,strategy)
array(glibtop_ifaddr)|netinfo|array:ulong(if_flags,transport,mtu)|string(interface):ulong(transport)
retval|netload|ulong(packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string(interface):unsigned(transport,protocol)
retval|ppp|ulong(state,bytes_in,bytes_out)|ushort(device,use_isdn)
void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4])
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
void|swap|ulong(total,used,free,pagein,pageout)
void|uptime|double(uptime,idletime)
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid)
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid)
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
char **|netlist|unsigned(number)
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)

119
glibtop.h
View File

@@ -1,7 +1,3 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
@@ -26,32 +22,119 @@
#ifndef __GLIBTOP_H__
#define __GLIBTOP_H__
#ifndef _IN_LIBGTOP
#include <glibtop-config.h>
#endif
#include <glibtop/global.h>
#include <glibtop/limits.h>
#include <glibtop/types.h>
#include <glibtop/glibtop-client.h>
#include <glib/gmacros.h>
G_BEGIN_DECLS
typedef struct _glibtop glibtop;
typedef struct _glibtop glibtop;
/**
* LIBGTOP_CHECK_VERSION
* @major: Major version number
* @minor: Minor version number
* @micro: Micro version number
*
* Checks if the version given is compatable with this version of the
* library. For example, LIBGTOP_CHECK_VERSION(1.2.3) would return TRUE
* if the version is 1.2.5, and FALSE if 1.1.0. This can be used in
* build tests.
*
**/
#include <libgtopconfig.h>
#define LIBGTOP_CHECK_VERSION(major, minor, micro) \
(LIBGTOP_MAJOR_VERSION > (major) || \
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION > (minor)) || \
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION == (minor) && \
LIBGTOP_MICRO_VERSION >= (micro)))
#include <glibtop/global.h>
#include <glibtop_server.h>
#ifdef HAVE_GLIBTOP_MACHINE_H
#include <glibtop_machine.h>
#endif
#ifndef GLIBTOP_MOUNTENTRY_LEN
#define GLIBTOP_MOUNTENTRY_LEN 79
#endif
#include <glibtop/sysdeps.h>
#include <glibtop/errors.h>
#include <glibtop/glibtop-server.h>
#include <glibtop/close.h>
#ifdef HAVE_GLIBTOP_MACHINE_H
struct _glibtop
{
unsigned flags;
unsigned method; /* Server Method */
unsigned error_method; /* Error Method */
glibtop_machine machine; /* Machine dependent data */
int input [2]; /* Pipe client <- server */
int output [2]; /* Pipe client -> server */
int socket; /* Accepted connection of a socket */
int ncpu; /* Number of CPUs, zero if single-processor */
int real_ncpu; /* Real number of CPUs. Only ncpu are monitored */
unsigned long os_version_code; /* Version code of the operating system */
const char *name; /* Program name for error messages */
const char *server_command; /* Command used to invoke server */
const char *server_host; /* Host the server should run on */
const char *server_user; /* Name of the user on the target host */
const char *server_rsh; /* Command used to connect to the target host */
unsigned long features; /* Server is required for this features */
unsigned long server_port; /* Port on which daemon is listening */
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
pid_t pid; /* PID of the server */
};
#else /* !HAVE_GLIBTOP_MACHINE_H */
struct _glibtop
{
unsigned flags;
unsigned method; /* Server Method */
unsigned error_method; /* Error Method */
int input [2]; /* Pipe client <- server */
int output [2]; /* Pipe client -> server */
int socket; /* Accepted connection of a socket */
int ncpu; /* Number of CPUs, zero if single-processor */
int real_ncpu; /* Real number of CPUs. Only ncpu are monitored */
unsigned long os_version_code; /* Version code of the operating system */
const char *name; /* Program name for error messages */
const char *server_command; /* Command used to invoke server */
const char *server_host; /* Host the server should run on */
const char *server_user; /* Name of the user on the target host */
const char *server_rsh; /* Command used to connect to the target host */
unsigned long features; /* Server is required for this features */
unsigned long server_port; /* Port on which daemon is listening */
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
pid_t pid; /* PID of the server */
};
#endif /* HAVE_GLIBTOP_MACHINE_H */
extern glibtop *glibtop_global_server;
extern const unsigned long glibtop_server_features;
glibtop *
glibtop_init (void);
glibtop *
glibtop_init_r (glibtop **server_ptr,
unsigned long features,
unsigned flags);
void
glibtop_init_s (glibtop_server *server_ptr,
glibtop *
glibtop_init_s (glibtop **server_ptr,
unsigned long features,
unsigned flags);

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,3 +0,0 @@
Makefile
Makefile.in
call-vector.h

View File

@@ -1,25 +1,14 @@
glibtopdir = $(includedir)/glibtop
glibtopdir = $(includedir)/libgtop-2.0/glibtop
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
sem_limits.h uptime.h mem.h proclist.h \
proctime.h shm_limits.h cpu.h msg_limits.h \
procmem.h procuid.h swap.h error.h open.h \
procsegment.h sysdeps.h xmalloc.h global.h \
procsignal.h union.h types.h proccwd.h \
mountlist.h fsusage.h procmap.h signal.h \
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
netinfo.h interfaces.h limits.h array.h compat_10.h \
glib-arrays.h call-vector.h \
glibtop-client.h glibtop-server.h glibtop-backend.h \
glibtop-backend-info.h errors.h
BUILT_SOURCES = call-vector.h
call-vector.h: call-vector.pl call-vector.h.in $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/call-vector.pl $(top_srcdir)/features.def $(srcdir)/call-vector.h.in > tmp-t
mv tmp-t call-vector.h
EXTRA_DIST = call-vector.pl call-vector.h.in
CLEANFILES = $(BUILT_SOURCES)
sem_limits.h uptime.h command.h mem.h proclist.h \
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
procmem.h procuid.h swap.h \
procsegment.h sysdeps.h global.h \
procsignal.h union.h gnuserv.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \
sysinfo.h ppp.h procargs.h netload.h \
procwd.h \
netlist.h procopenfiles.h open.h
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h

View File

@@ -1,7 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
@@AUTOGEN_COMMENT@@
/* Copyright (C) 1998-99 Martin Baulig

View File

@@ -1,7 +1,3 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
@@ -30,10 +26,12 @@
G_BEGIN_DECLS
void glibtop_close (void);
void glibtop_close_r (glibtop *server);
void glibtop_close_s (glibtop_server *server);
void glibtop_close_p (glibtop_server *server);
void glibtop_close_s (glibtop *server);
void glibtop_close_p (glibtop *server);
G_END_DECLS

103
include/glibtop/command.h Normal file
View File

@@ -0,0 +1,103 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_COMMAND_H__
#define __GLIBTOP_COMMAND_H__
#include <glibtop.h>
#include <glibtop/sysdeps.h>
#include <glibtop/union.h>
G_BEGIN_DECLS
#define GLIBTOP_CMND_QUIT 0
#define GLIBTOP_CMND_SYSDEPS 1
#define GLIBTOP_CMND_CPU 2
#define GLIBTOP_CMND_MEM 3
#define GLIBTOP_CMND_SWAP 4
#define GLIBTOP_CMND_UPTIME 5
#define GLIBTOP_CMND_LOADAVG 6
#define GLIBTOP_CMND_SHM_LIMITS 7
#define GLIBTOP_CMND_MSG_LIMITS 8
#define GLIBTOP_CMND_SEM_LIMITS 9
#define GLIBTOP_CMND_PROCLIST 10
#define GLIBTOP_CMND_PROC_STATE 11
#define GLIBTOP_CMND_PROC_UID 12
#define GLIBTOP_CMND_PROC_MEM 13
#define GLIBTOP_CMND_PROC_TIME 14
#define GLIBTOP_CMND_PROC_SIGNAL 15
#define GLIBTOP_CMND_PROC_KERNEL 16
#define GLIBTOP_CMND_PROC_SEGMENT 17
#define GLIBTOP_CMND_PROC_ARGS 18
#define GLIBTOP_CMND_PROC_MAP 19
#define GLIBTOP_CMND_MOUNTLIST 20
#define GLIBTOP_CMND_FSUSAGE 21
#define GLIBTOP_CMND_NETLOAD 22
#define GLIBTOP_CMND_PPP 23
#define GLIBTOP_CMND_NETLIST 24
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
#define GLIBTOP_CMND_PROC_WD 26
#define GLIBTOP_MAX_CMND 27
#define _GLIBTOP_PARAM_SIZE 16
typedef struct _glibtop_command glibtop_command;
typedef struct _glibtop_response glibtop_response;
typedef union _glibtop_response_union glibtop_response_union;
struct _glibtop_command
{
guint64 command;
guint64 size, data_size;
char parameter [_GLIBTOP_PARAM_SIZE];
};
union _glibtop_response_union
{
glibtop_union data;
glibtop_sysdeps sysdeps;
};
struct _glibtop_response
{
gint64 offset;
guint64 size, data_size;
glibtop_response_union u;
};
#define glibtop_call(p1, p2, p3, p4) glibtop_call_r(glibtop_global_server, p1, p2, p3, p4)
void *
glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
const void *send_buf, size_t recv_size, void *recv_buf);
void *
glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
const void *send_buf, size_t recv_size, void *recv_buf);
G_END_DECLS
#endif

Some files were not shown because too many files have changed in this diff Show More