Compare commits

..

343 Commits

Author SHA1 Message Date
Kevin Vandersloot
0b1d58f306 2003-09-08 Kevin Vandersloot
* configure.in: release 2.0.5
2003-09-09 01:13:45 +00:00
Mugurel Tudor
4bd4d417e1 *** empty log message *** 2003-09-08 07:07:20 +00:00
Taneem Ahmed
e02b1be1e2 Added "bn" to ALL_LINGUAS. Added Bangla translation by Vat of Ankur group
2003-09-06  Taneem Ahmed  <taneem@bengalinux.org>

	* configure.in: Added "bn" to ALL_LINGUAS.
	* po/bn.po: Added Bangla translation by Vat
	of Ankur group <gnome-translation@bengalinux.org>.
2003-09-06 07:58:03 +00:00
Pablo Gonzalo del Campo
46f8800cc8 Revision of Spanish translation by Francisco Javier F. Serrador
2003-08-28  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>

        * es.po: Revision of Spanish translation by
                 Francisco Javier F. Serrador <serrador@arrakis.es>.
2003-08-28 15:05:47 +00:00
Alessio Frusciante
f6df4a3f07 Updated Italian translation. 2003-08-28 12:27:35 +00:00
Duarte Loreto
e94e56fa5c Fixed typos in Portuguese translation.
2003-08-25  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Fixed typos in Portuguese translation.
2003-08-25 18:16:21 +00:00
Kevin Vandersloot
d096dc3e63 2003-08-24 Kevin Vandersloot
* configure.in: release 2.0.4
2003-08-24 19:16:27 +00:00
Metin Amiroff
528c4d6362 Updated Azerbaijani translation.
2003-08-18  Metin Amiroff <metin@karegen.com>

	* az.po: Updated Azerbaijani translation.
2003-08-18 11:00:44 +00:00
Guntupalli Karunakar
143c3dafe1 Added Hindi translation 2003-08-13 12:44:23 +00:00
Andrew Sobala
629d9a0392 release 2.0.3
2003-08-13  Andrew Sobala  <aes@gnome.org>

        * configure.in: release 2.0.3
2003-08-13 12:23:13 +00:00
Dafydd Harries
798350fcef Added Welsh translation. 2003-08-09 18:49:56 +00:00
Wang Jian
8eaf7b99cf *** empty log message *** 2003-08-09 11:20:17 +00:00
Danilo Šegan
194c0548b5 Updated Serbian translation.
2003-08-08  Danilo Šegan  <dsegan@gmx.net>

	* sr.po, sr@Latn.po: Updated Serbian translation.
2003-08-08 11:47:56 +00:00
Malcolm Tredinnick
97167e7add Change subdirectory build order so that 'distclean' target work (and other
* Makefile.am: Change subdirectory build order so that
	'distclean' target work (and other targets remain working).
	Fixes bug #84622.
2003-08-03 11:52:13 +00:00
Arafat Medini
6a96719e58 Updated Arabic translation.
2003-07-21  Arafat Medini  <lumina@silverpen.de>

	* ar.po: Updated Arabic translation.
2003-07-21 17:54:50 +00:00
Arafat Medini
8181cef8e3 Updated Arabic translation.
2003-07-19  Arafat Medini  <lumina@silverpen.de>

	* ar.po: Updated Arabic translation.
2003-07-19 08:22:08 +00:00
Arafat Medini
45b8a9a361 Updated Arabic translation.
2003-07-19  Arafat Medini <lumina@silverpen.de>

	* ar.po: Updated Arabic translation.
2003-07-19 00:16:30 +00:00
Szabolcs Ban
6794524344 Unification of terminology and hotkeys 2003-07-13 23:21:07 +00:00
Metin Amiroff
9840ef9650 Updated Azerbaijani translation.
2003-07-13  Metin Amiroff  <metin@karegen.com>

	* az.po: Updated Azerbaijani translation.
2003-07-13 09:18:06 +00:00
Szabolcs Ban
8f1961056a Unification of terminology and hotkeys 2003-07-11 11:05:19 +00:00
Mohammad DAMT
60d4f03319 Updated Indonesian translation
2003-06-25  Mohammad DAMT  <mdamt@bisnisweb.com>

	* id.po: Updated Indonesian translation
2003-06-25 05:16:19 +00:00
Vincent van Adrighem
31ec86124b Dutch translation updated by Kees van den Broek.
2003-06-23  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>

	* nl.po: Dutch translation updated by Kees van den Broek.
2003-06-22 23:01:59 +00:00
Ivan Stojmirov
21768e8e99 updated Macedonian translation 2003-06-18 09:36:47 +00:00
Arafat medini
ab0bfbcf3c Updated Arabic translation.
2003-06-14  Arafat medini  <lumina@silverpen.de>

	* ar.po: Updated Arabic translation.
2003-06-15 11:22:47 +00:00
Kwok-Koon Cheung
d807950ce2 Updated traditional Chinese translation.
* zh_TW.po: Updated traditional Chinese translation.
2003-06-12 02:24:37 +00:00
Kjartan Maraas
68cebe2aaf Fix missing build flags. Patch from Julio Merino. Fixes bug #103086. Fix
2003-06-10  Kjartan Maraas  <set EMAIL_ADDRESS environment variable>

	* libgtop-2.0.pc.in: Fix missing build flags. Patch from
	Julio Merino. Fixes bug #103086.
	* sysdeps/linux/mem.c: (glibtop_get_mem_s): Fix memory calculation
	under Linux. Patch from <rwahl@gmx.de>. Fixes bug #68626.

2003-06-10  Kjartan Maraas  <kmaraas@gnome.org>
2003-06-10 17:09:39 +00:00
Kjartan Maraas
36ba38cdc4 Comment out text after
2003-06-10  Kjartan Maraas  <kmaraas@gnome.org>

	* sysdeps/freebsd/glibtop_machine.h:
	* sysdeps/kernel/glibtop_private.h:
	* sysdeps/solaris/glibtop_machine.h:
	* sysdeps/solaris/glibtop_private.h: Comment out text after
2003-06-10 16:22:12 +00:00
Paul Duffy
47aad7d822 Updated Irish Translation.
2003-06-04  Paul Duffy <dubhthach@frink.nuigalway.ie>
Updated Irish Translation.
2003-06-04 13:44:27 +00:00
Kwok-Koon Cheung
82e6de4aa2 Mark wrong entry as fuzzy (msgfmt check failed).
* he.po: Mark wrong entry as fuzzy (msgfmt check failed).
2003-05-25 01:04:01 +00:00
Danilo Šegan
ef825aa1c0 Updated Serbian translation by Serbian team (Prevod.org).
2003-05-16  Danilo Šegan  <dsegan@gmx.net>

	* po/sr.po, po/sr@Latn.po: Updated Serbian translation by Serbian
	team (Prevod.org).
2003-05-16 02:37:19 +00:00
Andrew Sobala
5516366d00 Fix buffer overflow vulnerability. Bump version to 2.0.2. 2003-05-11 14:36:26 +00:00
Danilo Šegan
ca0915e32c 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:13:38 +00:00
Abel Cheung
594e4f0079 Added "mk" to ALL_LINGUAS. Updated traditional Chinese translation.
2003-04-17  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Added "mk" to ALL_LINGUAS.
	* po/zh_TW.po: Updated traditional Chinese translation.
2003-04-20 20:08:09 +00:00
Ivan Stojmirov
7163fa842b updated Macedonian translation 2003-04-16 13:16:31 +00:00
Ivan Stojmirov
83bf982682 added Macedonian translation 2003-04-15 14:03:21 +00:00
Gil Osher
95fc1fb662 Updated Hebrew translation.
* he.po: Updated Hebrew translation.
2003-03-18 16:13:07 +00:00
Gil Osher
aafbeadcf0 *** empty log message *** 2003-03-18 16:12:40 +00:00
Christian Rose
5666bf9d33 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 22:02:03 +00:00
Roozbeh Pournader
3110b3d491 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:07:53 +00:00
Gil Osher
f80e0ea5d8 *** empty log message *** 2003-03-08 11:25:21 +00:00
Gil Osher
2679063df2 Added Hebrew translation.
* he.po: Added Hebrew translation.
2003-03-08 11:23:30 +00:00
Yuri Syrota
98b04a6165 Updated Ukrainian translation 2003-03-06 15:20:03 +00:00
Tivo Leedjrv
173785bf09 Added et to ALL_LINGUAS. Added Estonian translation.
2003-02-25  Tivo Leedjrv  <toivo@linux.ee>

        * configure.in: Added et to ALL_LINGUAS.
	* po/et.po: Added Estonian translation.
2003-02-24 23:08:39 +00:00
Abel Cheung
bd721cf53d Updated traditional Chinese translation.
2003-02-23  Abel Cheung  <maddog@linux.org.hk>

	* zh_TW.po: Updated traditional Chinese translation.
2003-02-23 09:58:06 +00:00
Jordi Mallach
2b5bc90451 Barbarism fixes from Jordi Mas. 2003-02-22 22:06:43 +00:00
Abel Cheung
635eefba48 Updated traditional Chinese translation.
2003-02-22  Abel Cheung  <maddog@linux.org.hk>

	* zh_TW.po: Updated traditional Chinese translation.
2003-02-22 16:38:26 +00:00
Mohammad DAMT
6da87f745d Added Indonesian translation Added "id" to ALL_LINGUAS
2003-02-16  Mohammad DAMT  <mdamt@bisnisweb.com>

	* po/id.po: Added Indonesian translation
	* configure.in: Added "id" to ALL_LINGUAS
2003-02-16 12:33:50 +00:00
Christian Rose
ed3e3212bb Some fixes for problems catched in translation review.
2003-01-26  Christian Rose  <menthos@menthos.com>

	* sv.po: Some fixes for problems catched in translation review.
2003-02-09 22:14:02 +00:00
Miloslav Trmac
fb34b3bb6e Fix typos in Czech translation 2003-02-07 21:04:48 +00:00
James Henstridge
fce31c179d use AC_LIBOBJ() to set LIBOBJS variable, since newer autoconf's barf on
2003-01-31  James Henstridge  <james@daa.com.au>

        * acinclude.m4 (GNOME_SUPPORT_CHECKS): use AC_LIBOBJ() to set
        LIBOBJS variable, since newer autoconf's barf on direct access.
        This also takes care of setting LTLIBOBJS for us.
2003-01-31 01:51:12 +00:00
Kwok-Koon Cheung
9d43d5d272 Global fix of ALL_LINGUAS for GNOME 2.2 2003-01-29 06:50:31 +00:00
Yuri Syrota
f91299a487 Updated Ukrainian translation 2003-01-27 15:43:21 +00:00
Alessio Frusciante
1e3f2ba5d0 Added Italian translation. 2003-01-25 14:59:41 +00:00
Marius Andreiana
6066288d72 added ( thanks to Misu Moldovan )
2003-01-23  Marius Andreiana <marius galuna.ro>

	* ro.po: added ( thanks to Misu Moldovan )
2003-01-23 14:45:20 +00:00
Christian Rose
f53e526dec 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:22:52 +00:00
Pablo Saratxaga
84b9a1e768 updated Vietnamese file 2003-01-20 18:32:33 +00:00
Abel Cheung
fcd114ff1b Updated traditional Chinese translation.
2003-01-18  Abel Cheung  <maddog@linux.org.hk>

	* zh_TW.po: Updated traditional Chinese translation.
2003-01-18 09:51:53 +00:00
Daniel Yacob
0fb561662e Adding Amharic translation. 2003-01-16 16:26:05 +00:00
Pablo Saratxaga
beff584d14 updated Vietnamese file 2003-01-16 16:00:41 +00:00
Andraz Tori
45a31cd564 Updated Slovenian translation 2003-01-14 18:39:46 +00:00
Kevin Vandersloot
bb0b77e0ae release 2.0.1
2003-01-12  Kevin Vandersloot <kfv101@psu.edu>

	* configure.in: release 2.0.1
2003-01-13 02:57:51 +00:00
Andras Timar
50e34421f7 Updated Hungarian translation.
2003-01-03  Andras Timar  <timar@gnome.hu>

        * hu.po: Updated Hungarian translation.
2003-01-03 21:20:26 +00:00
Bastien Nocera
ab60fc3dd1 Added sysdeps/aix directory that was missing
2002-12-30  Bastien Nocera <hadess@hadess.net>

        * Added sysdeps/aix directory that was missing
2002-12-30 16:15:12 +00:00
Laurent Vivier
2661891d6a Framework for AIX support
2002-10-08  Laurent Vivier <Laurent.Vivier@bull.net>

        * Framework for AIX support

2002-08-07  Vincent Berger <Vincent.Berger@ext.bull.net>

	* support/: Add alloca management for AIX
	* configure.in: correct checking for nm
2002-12-27 11:15:10 +00:00
Christophe Merlet
ba096bfae2 Updated French translation. 2002-12-14 09:57:12 +00:00
Yanko Kaneti
9b56e502eb Convert all to UTF-8.
2002-11-25  Yanko Kaneti  <yaneti@declera.com>

	* *.po: Convert all to UTF-8.
2002-11-25 13:02:36 +00:00
Simos Xenitellis
99ec1e3ff3 Updated Greek translation 2002-11-07 16:49:14 +00:00
Vincent van Adrighem
735102a5c1 Dutch ranslation updated by Jeroen van der Vegt.
2002-11-04 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
	* nl.po: Dutch ranslation updated by Jeroen van der Vegt.
2002-11-04 09:30:24 +00:00
Dmitry Mastrukov
72a46436d9 configure.in: Added Belarusian to ALL_LINGUAS 2002-11-03 04:30:11 +00:00
Dmitry Mastrukov
47cd681c0e be.po: Added Belarusian translation from Belarusian team <i18n@infonet.by>. 2002-11-03 03:49:09 +00:00
Kjartan Maraas
1451a36a04 Convert to UTF-8 2002-10-24 15:36:38 +00:00
Stanislav Brabec
358b0610f5 Added forgotten cs.po. 2002-09-26 16:28:44 +00:00
jacob berkman
1401fdd5bd remove cs until the file actually gets added
2002-09-26  jacob berkman  <jacob@ximian.com>

	* configure.in (ALL_LINGUAS): remove cs until the file actually
	gets added
2002-09-26 16:14:16 +00:00
Stanislav Brabec
16f6fab592 Added cs to ALL_LINGUAS.
2002-09-26  Stanislav Brabec  <sbrabec@suse.cz>

	* configure.in: Added cs to ALL_LINGUAS.
2002-09-26 09:30:27 +00:00
Stanislav Brabec
c140390f1d 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
Fatih Demir
5a681b7bea Updateeee. 2002-09-19 19:48:26 +00:00
Peteris Krisjanis
cc2790545c 2002-09-02 Peteris Krisjanis <peteris.krisjanis@os.lv> * lv.po: Updated Latvian translation 2002-09-02 19:05:30 +00:00
Peteris Krisjanis
a13877776b 2002-09-02 Peteris Krisjanis <peteris.krisjanis@os.lv> Updated Latvian translation 2002-09-02 19:04:47 +00:00
Andras Timar
243ed7fdd0 Updated Hungarian translation.
2002-08-22  Andras Timar  <timar@gnome.hu>

        * hu.po: Updated Hungarian translation.
2002-08-22 08:04:21 +00:00
Peteris Krisjanis
dc8687227a 2002-08-20 Peteris Krisjanis <peteris.krisjanis@os.lv> * configure.in (ALL_LINGUAS): Added Latvian (lv). 2002-08-20 18:11:28 +00:00
Peteris Krisjanis
d627a9a601 2002-08-20 Peteris Krisjanis <peteris.krisjanis@os.lv> ALL_LINGUAS Added Latvian (lv). 2002-08-20 18:08:52 +00:00
Peteris Krisjanis
f84fe9edc7 2002-08-20 Peteris Krisjanis <peteris.krisjanis@os.lv> Added Latvian translation 2002-08-20 18:06:20 +00:00
Peteris Krisjanis
6a53807bb8 2002-08-20 Peteris Krisjanis <peteris.krisjanis@os.lv> * lv.po (added): Latvian translation 2002-08-20 18:05:53 +00:00
Christian Neumair
2f2bbe236b Updated German translation. 2002-08-07 09:56:18 +00:00
Gustavo Noronha Silva
8180a1936a update by Evandro Fernandes Giovanini <evandrofg@ig.com.br> 2002-07-17 03:30:32 +00:00
Jordi Mallach
b1b7355ea8 Updated Catalan translation. 2002-07-13 19:33:58 +00:00
Yanko Kaneti
a105dbecdc 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:21:30 +00:00
Pablo Saratxaga
060dd70e09 Updated Catalan file 2002-06-23 02:31:04 +00:00
Pablo Saratxaga
739db1b32d Updated Vietnamese file 2002-06-17 13:27:02 +00:00
Takayuki KUSANO
fd525d3fa3 Updated Japanese translation.
* ja.po: Updated Japanese translation.
2002-06-13 06:38:19 +00:00
Kevin Vandersloot
78add589c6 release 2.0.0
2002-05-10  Kevin Vandersloot <kfv101@psu.edu>

	* configure.in: release 2.0.0
2002-06-10 21:48:54 +00:00
Pablo Saratxaga
c234586bfa updated Vietnamese file 2002-06-10 09:09:27 +00:00
Germn Poo Caamao
8d25899dc6 Updated Spanish translation from Juan Manuel Garca Molina
2002-06-02  Germn Poo Caamao <gpoo@ubiobio.cl>

	* es.po: Updated Spanish translation from
	Juan Manuel Garca Molina <juanma_gm@wanadoo.es>
2002-06-02 23:48:18 +00:00
Chyla Zbigniew
b7def65c7a Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-06-02 18:57:15 +00:00
Carlos Perell Marn
9939d070b9 Fixed.
2002-06-02  Carlos Perell Marn <carlos@gnome-db.org>

	* es.po: Fixed.
2002-06-01 22:41:15 +00:00
Isam Bayazidi
206c620fd6 adding a no accelerator PO 2002-05-31 20:42:09 +00:00
Carlos Perello Marin
057b16ec01 Updated.
2002-05-28  Carlos Perello Marin <carlos@gnome-db.org>

	* LEEME.es: Updated.
2002-05-28 14:15:47 +00:00
Carlos Perello Marin
ef899af6f3 Removed all es_* and added only es_ES.
2002-05-28  Carlos Perello Marin <carlos@gnome-db.org>

	* configure.in (ALL_LINGUAS): Removed all es_* and added only es_ES.
2002-05-28 14:01:57 +00:00
Carlos Perello Marin
730c36e1fd Updated so the contry dependent string is placed at es_ES.po for Spain and
2002-05-28  Carlos Perello Marin <carlos@gnome-db.org>

	* es.po, es_ES.po: Updated so the contry dependent string is
	placed at es_ES.po for Spain and the US like number notation is
	stored at es.po. It's much more easy mantain the es_ES.po file than
	4 or 5 files from American countries.
	* es_DO.pom, es_GT.po, es_HN.po, es_MX.po, es_PA.po, es_PE.po,
	es_SV.po: Removed, we only need to update es.po and es_ES.po now.
2002-05-28 13:59:55 +00:00
Isam Bayazidi
96f9b4f199 adding Arabic file 2002-05-26 22:57:11 +00:00
Isam Bayazidi
3dbb6f1eca - adding Arabic translation file 2002-05-24 22:16:23 +00:00
Vlad Harchev
52ea02ba87 ru.po: updated russian translation from Dmitry G. Mastrukov <dmitry@taurussoft.org> 2002-05-19 04:35:28 +00:00
Vincent van Adrighem
1b5fe965df Updated Dutch translation fom Jeroen van der Vegt.
2002-05-15 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>

	* nl.po: Updated Dutch translation fom Jeroen van der Vegt.
2002-05-15 20:29:21 +00:00
Valek Frob
7b274d19e4 Updated russian translation. 2002-05-10 15:11:28 +00:00
Chyla Zbigniew
934c7dca93 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-05-08 14:36:53 +00:00
Pablo Saratxaga
5fe502317e Added Vietnamese file 2002-05-08 11:41:26 +00:00
Duarte Loreto
0e5efea6f1 Updated Portuguese translation and converted to UTF-8.
2002-05-06  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation and converted to UTF-8.
2002-05-06 00:13:11 +00:00
Christian Rose
b1111e2b2a Updated Swedish translation.
2002-05-05  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2002-05-05 19:02:04 +00:00
Andraz Tori
64af09a8a2 Updated Slovenian translation 2002-04-29 23:32:11 +00:00
Changwoo Ryu
77ced38c16 Updated Korean translation.
* ko.po: Updated Korean translation.
2002-04-25 05:17:30 +00:00
Stanislav Visnovsky
8963e38a7c Updated Slovak translation by Marcel Telka <marcel@telka.sk>.
2002-04-24  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>

        * sk.po: Updated Slovak translation by Marcel Telka <marcel@telka.sk>.
2002-04-24 11:40:52 +00:00
Kjartan Maraas
a8f4eec9e6 Updated Norwegian (bokml) translation.
2002-04-23  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-04-23 18:22:37 +00:00
Ole Laursen
a9e9fe07ef Updated Danish translation.
2002-04-19  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2002-04-19 18:58:38 +00:00
Pauli Virtanen
85b34b98af Updated Finnish translation.
2002-04-19  Pauli Virtanen  <pauli.virtanen@hut.fi>

	* fi.po: Updated Finnish translation.
2002-04-19 18:16:29 +00:00
Valek Frob
ab8bd67cdf Updated russian translation from Dmitry Mastrukov. 2002-04-09 10:04:24 +00:00
Duarte Loreto
5650b49719 Updated Portuguese translation.
2002-04-02  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2002-04-01 23:56:56 +00:00
Abel Cheung
71426ed454 Added file. Added missing popt files.
2002-03-31  Abel Cheung  <maddog@linux.org.hk>

	* .cvsignore: Added file.
	* POTFILES.in: Added missing popt files.
2002-03-31 15:11:03 +00:00
Duarte Loreto
4458d6ba13 Updated Portuguese translation.
2002-03-25  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2002-03-25 12:50:30 +00:00
Hasbullah Bin Pit
70210721e0 Updated Malay Translation.
2002-03-23  Hasbullah Bin Pit <sebol@ikhlas.com>

* ms.po: Updated Malay Translation.
2002-03-24 05:19:21 +00:00
Valek Frob
b81f82e9a2 Updated russian translation. 2002-03-15 15:41:04 +00:00
James Henstridge
4df359b9d3 AM_CONDITIONAL() statements can't be conditionally executed (automake
2002-03-12  James Henstridge  <james@daa.com.au>

	* acinclude.m4 (LIBGTOP_HEACKER_TESTS): AM_CONDITIONAL()
	statements can't be conditionally executed (automake compat fix).
	(GNOME_LIBGTOP_SYSDEPS): move the conditional here so that it is
	always executed.

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.
2002-03-12 14:57:12 +00:00
Vincent van Adrighem
1c248d7e93 nl.po Dutch translation updated (Jeroen van der Vegt).
2002-03-07 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
* nl.po Dutch translation updated (Jeroen van der Vegt).
2002-03-08 20:53:06 +00:00
Vincent van Adrighem
b2368f46ca nl.po Translation updated by Jeroen van der Vegt
2002-03-06 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
* nl.po Translation updated by Jeroen van der Vegt
2002-03-07 00:28:15 +00:00
Kjartan Maraas
890398bbb5 Updated Norwegian (bokml) translation.
2002-03-06  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-03-06 15:03:16 +00:00
Germán Poó Caamaño
84cc3242fc Fixed spanish translation encoding 2002-03-06 14:02:40 +00:00
Germán Poó Caamaño
2456c458c2 es.po: Updated spanish translation. 2002-03-06 04:19:39 +00:00
Matthias Warkus
a6710fbfad Updated German translation 2002-03-05 13:11:26 +00:00
Chyla Zbigniew
6dca1e55d8 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-03-01 14:30:32 +00:00
Kjartan Maraas
1516e5e192 Updated Norwegian (bokml) translation.
2002-02-12  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-02-12 01:07:53 +00:00
Kevin Vandersloot
f659523856 bump version
2002-02-10  Kevin Vandersloot <kfv101@psu.edu>

        * configure.in: bump version

        * release 1.90.2
2002-02-10 14:35:48 +00:00
Bastien Nocera
6b81006d08 - remove stamp-h.in, remove need for dc in configure.in 2002-02-09 19:11:35 +00:00
Kwok-Koon Cheung
b70be80aca Updated traditional Chinese translation. 2002-02-08 18:52:16 +00:00
Kwok-Koon Cheung
f8fb49a428 Rename simplified Chinese translation 2002-02-05 09:24:45 +00:00
Christian Rose
18356c6ae6 Removed, they are obsoleted by intltool. Updated and converted to UTF-8.
2002-01-27  Christian Rose  <menthos@menthos.com>

	* README.tools, update.pl, update.sh: Removed, they are
	obsoleted by intltool.
	* sv.po: Updated and converted to UTF-8.
2002-01-27 01:57:53 +00:00
Roy-Magne Mo
807d4bf6ae Updated Norwegian nynorsk translation 2002-01-25 04:51:21 +00:00
Hasbullah Bin Pit
c0350d38ae "Hasbullah Bin Pit (sebol)" <sebol@ikhlas.com> Tag: libgtop-GNOME-2-0-port
"Hasbullah Bin Pit (sebol)" <sebol@ikhlas.com>
Tag: libgtop-GNOME-2-0-port
        * configure.in: Added ms in ALL_LINGUAS.
        * po/ms.po: Added Malay Translation.
        * po/.cvsignore: Added 'libgtop-2.0.pot'.
2002-01-14 20:27:53 +00:00
Kwok-Koon Cheung
d3a9e47ffb Fix previous changelog. 2002-01-14 00:59:46 +00:00
Kwok-Koon Cheung
c8a3e46433 Make examples at least compile under glib 1.3.x, and make use of
* Make examples at least compile under glib 1.3.x, and make use
	  of GETTEXT_PACKAGE.
	* Don't install popt* header.
	* Add nn to ALL_LINGUAS.
2002-01-14 00:56:50 +00:00
Kevin Vandersloot
222706a0d4 add back the support stuf but make it really work
2002-01-10  Kevin Vandersloot <kfv101@psu.edu>

        * acininclude.m4: add back the support stuf but make it really
        work

        * configure.in: bump version number, add back GNOME_SUPPORT
        check since that was causing a build failure

        * release 1.90.1
2002-01-11 04:25:27 +00:00
Kevin Vandersloot
2168cc5f71 remove gnome support check. Fixes the build for those with automake <
2002-01-09  Kevin Vandersloot <kfv101@psu.edu>

        * acinclude.m4: remove gnome support check. Fixes the build
        for those with automake < 1.4p5.

        * configure.in: remove check for GNOME_SUPPORT
2002-01-10 02:30:57 +00:00
Miles Lane
08808384f4 Added "#undef HAVE_GETTEXT" entry. Removed file. added glib-gettextize
2001-14-27  Miles Lane <miles@megapathdsl.net>
	* acconfig.h:  Added "#undef HAVE_GETTEXT" entry.
	* LIBGTOP_VERSION:  Removed file.
	* configure.in:  added glib-gettextize support and
	  moved in the *VERSION* stuff from LIBGTOP_VERSION.
2001-12-16 02:40:42 +00:00
Yuri Syrota
0f1306a20f Updated Ukrainian Translation 2001-12-07 09:25:07 +00:00
Yuri Syrota
84b05c0219 Updated Ukrainian Translation 2001-12-05 13:12:48 +00:00
Yuri Syrota
6916ada308 Updated Ukrainian Translation 2001-12-05 13:11:35 +00:00
Kevin Vandersloot
5943c96d35 copy some of the macros that were formerly in gnome-macros
2001-11-27  Kevin Vandersloot <kfv101@psu.edu>

        * acinclude.m4: copy some of the macros that were formerly
        in gnome-macros

        * configure.in, sysdeps/Makefile.am: comment out guile
        support for now.

        * release 1.90.0
2001-11-28 02:00:37 +00:00
Kevin Vandersloot
909a3e6512 ChangeLog 2001-11-26 22:17:21 +00:00
Kevin Vandersloot
ca94618e27 Apply patch fixing security issue from intexxia labs - #1048-261101
2001-11-26  Kevin Vandersloot <kfv101@psu.edu>

        * gnuserv.c: Apply patch fixing security issue from
        intexxia labs - #1048-261101
2001-11-26 22:16:57 +00:00
Kwok-Koon Cheung
a478d380f4 Various cleanup as well as a few fixes for parallel install 2001-11-26 06:15:53 +00:00
Kwok-Koon Cheung
af80d4d3d2 Bye-bye stamp-cat-id 2001-11-26 05:13:45 +00:00
Kevin Vandersloot
973dc2d37c port stable libgtop to GNOME 2.0. Too much to detail. pkgconfig is now
2001-11-25  Kevin Vandersloot <kfv101@psu.edu>

        * port stable libgtop to GNOME 2.0. Too much to detail.
        pkgconfig is now used. Libs are named libgtop-2.0 etc for
        parallel install.
2001-11-26 03:23:22 +00:00
Chyla Zbigniew
97b32c7046 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2001-10-30 22:56:35 +00:00
Carlos Perelló Marín
fb8184afba *** empty log message *** 2001-10-18 00:53:25 +00:00
Carlos Perell Marn
16643866cf Added by Duarte Loreto <happyguy_pt@hotmail.com>
2001-10-17  Carlos Perell Marn <carlos@gnome-db.org>

	* pt.po: Added by Duarte Loreto <happyguy_pt@hotmail.com>
2001-10-18 00:47:22 +00:00
Kwok-Koon Cheung
aa9299f344 Parallel installation fix {moved headers to $(includedir)/libgtop-1.0/ } 2001-10-17 03:53:56 +00:00
Kwok-Koon Cheung
6f69cd863b New traditional Chinese translation. 2001-09-15 23:20:45 +00:00
Kjartan Maraas
7262bf39d8 Added Norwegian (nynorsk) translation.
2001-07-16  Kjartan Maraas  <kmaraas@gnome.org>

	* nn.po: Added Norwegian (nynorsk) translation.
2001-07-16 20:25:25 +00:00
Andraz Tori
9e773390cc Updated Slovenian translation 2001-05-03 21:59:35 +00:00
Yuri Syrota
54cbdb8158 Updated Ukrainian transaltion 2001-03-30 10:23:17 +00:00
Yuri Syrota
c70b11ee00 Updated Ukrainian transaltion 2001-03-28 13:02:47 +00:00
Andraz Tori
965b26c926 Updated Slovenian translation 2001-03-25 13:11:30 +00:00
Fatih Demir
384cd6b2db Full tr.po 2001-03-25 10:56:03 +00:00
Fatih Demir
b055e3710b Updated tr.po from Grkem 2001-03-23 21:29:49 +00:00
Yuri Syrota
669c6fd670 Updated Ukrainian transaltion 2001-03-22 10:49:57 +00:00
Valek Frob
617c4568d2 Updated russian translation. 2001-03-15 18:49:12 +00:00
Pablo Saratxaga
93c998cf7a fixed chars 2001-03-15 10:52:29 +00:00
Pablo Saratxaga
46a0750736 corrected charset line 2001-03-15 10:42:32 +00:00
Andraz Tori
e9227d1a2e Updated Slovenian translation 2001-03-11 22:18:24 +00:00
Pablo Saratxaga
41b7120527 Converted az.po to 8bit encoding
added tr.po from HEAD branch
fixed the ALL_LINGUAS to match the available languages
2001-03-09 16:39:21 +00:00
Andraz Tori
0ad6ae0a12 Updated Slovenian translation 2001-03-01 23:29:52 +00:00
Martin Baulig
6197e3ad47 Released LibGTop 1.0.12 "Gerolzhofen". 2001-02-27 14:14:03 +00:00
Martin Baulig
e577717013 Released LibGTop 1.0.12 "Gerolzhofen".
2001-02-13  Martin Baulig  <baulig@suse.de>

	Released LibGTop 1.0.12 "Gerolzhofen".

	* NEWS: Added news entry to 1.0.12.

	* LIBGTOP-VERSION: Set version number to 1.0.12, binary age 11,
	interface age 11.
2001-02-27 14:01:13 +00:00
Martin Baulig
6b19a0090a February 27, 2001: =================
February 27, 2001:
=================

* Released LibGTop 1.0.12 "Gerolzhofen".

  - fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).

  - 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.
2001-02-27 14:00:40 +00:00
Martin Baulig
a515242f17 Comment out the `subnet' field on BSDI; this should make it compile. Bug
2001-02-27  Martin Baulig  <baulig@suse.de>

	* netload.c: Comment out the `subnet' field on BSDI; this should
	make it compile. Bug #13345.
2001-02-27 13:52:56 +00:00
Martin Baulig
a7b13c7d83 Applied a patch from Rolf Grossmann (grossman@securitas.net) for FreeBSD
2001-02-27  Martin Baulig  <baulig@suse.de>

	* shm_limits.c, msg_limits.c, sem_limits.c: Applied a patch
	from Rolf Grossmann (grossman@securitas.net) for FreeBSD 4.2.
	Fixes #51334.
2001-02-27 13:40:10 +00:00
Simos Xenitellis
849d2da085 Update of Greek translation 2001-02-25 20:18:16 +00:00
Simos Xenitellis
d4b195045a More Greek messages 2001-02-23 13:32:00 +00:00
Yuri Syrota
c269f0adb8 Updated Ukrainian translation 2001-02-20 07:43:11 +00:00
Andraz Tori
4f65ee018c Updated Slovenian translation 2001-02-19 23:08:08 +00:00
Simos Xenitellis
8a8b975d08 Update of Greek translation 2001-02-19 03:03:22 +00:00
Andraz Tori
64955004a0 Updated Slovenian translation 2001-02-18 19:44:35 +00:00
Martin Baulig
4ef82847fe Applied a patch from Laszlo PETER <Laszlo.Peter@ireland.sun.com> for
2001-02-18  Martin Baulig  <baulig@suse.de>

	Applied a patch from Laszlo PETER <Laszlo.Peter@ireland.sun.com>
	for Solaris 8.

	* msg_limits.c: `struct msginfo' no longer has msgmap and msgssz.
	* sem_limits.c: `struct seminfo' no longer has a semmap field.
2001-02-18 14:27:27 +00:00
Andraz Tori
9da5658ba1 Updated Slovenian translation 2001-02-16 21:47:18 +00:00
Christian Meyer
b300842f47 Some minor changes for German translation. 2001-02-15 16:08:51 +00:00
Yuri Syrota
9a49872026 Updated Ukrainian translation 2001-02-15 13:07:35 +00:00
Martin Baulig
1aa7aae2f6 Released LibGTop 1.0.11 "Jasmin".
2001-02-15  Martin Baulig  <baulig@suse.de>

	Released LibGTop 1.0.11 "Jasmin".
2001-02-15 01:40:58 +00:00
Martin Baulig
70ba9e2559 Released LibGTop 1.0.11 "Jasmin".
2001-02-15  Martin Baulig  <baulig@suse.de>

	Released LibGTop 1.0.11 "Jasmin".

	* NEWS: Added news entry for 1.0.11.
2001-02-15 01:20:08 +00:00
Martin Baulig
13323e55ee February 14, 2001: =================
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.
2001-02-15 01:19:36 +00:00
Martin Baulig
57d96878de February 15, 2001: =================
February 15, 2001:
=================

* This will be LibGTop 1.1.11 "Gerolzhofen":

  - merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.

  - minor OpenBSD fixes.

  - again a bunch of updated translations.
2001-02-15 00:29:30 +00:00
Martin Baulig
10de82e256 Added solaris to the DIST_SUBDIRS. 2001-02-14 23:56:16 +00:00
Martin Baulig
29240a5a96 Ooops, set LIBGTOP_VERSION_SUFFIX to -cvs. 2001-02-14 23:50:32 +00:00
Martin Baulig
1baa2ef8ff Merged from LIBGTOP_1_1_2_PATCHES.
2001-02-14  Martin Baulig  <baulig@suse.de>

	Merged from LIBGTOP_1_1_2_PATCHES.

	* libgtop-sysdeps.m4 (GLIBTOP_SOLARIS_RELEASE): Define this on Solaris;
	we use version codes like 270 for SunOS 5.7 and 251 for SunOS 2.5.1.

	* LIBGTOP-VERSION (LIBGTOP_VERSION_SUFFIX): Added this so you can
	have your tarballs called `libgtop-1.x.y-snap.tar.gz' or whatever.
	This only affects the `VERSION' variable and thus how the resulting
	tarball will be called, but not `LIBGTOP_VERSION_CODE' etc.

	* configure.in, acconfig.h: Added checks for <procfs.h>
	and <sys/procfs.h>

	* configure.in (DL_LIB): Check for dlopen() and AC_SUBST this.

	* Makefile.am: Make `aclocal.m4' also depend on `LIBGTOP-VERSION'
	when in maintainer-mode.
2001-02-14 23:42:19 +00:00
Martin Baulig
0bd5a6c082 **** Merged from LIBGTOP_1_1_2_PATCHES **** 2001-02-14 23:07:41 +00:00
Martin Baulig
2698263164 Removed; this file doesn't exist in the stable branch.
2001-02-14  Martin Baulig  <baulig@suse.de>

	* include/glibtop/limits.h: Removed; this file doesn't exist
	in the stable branch.
2001-02-14 22:42:00 +00:00
Martin Baulig
85d53a69cf Added *.mo. 2001-02-14 21:40:08 +00:00
Martin Baulig
0a42a8d018 Make things work on OpenBSD 2.6; this is basically the same than on
2001-02-14  Martin Baulig  <baulig@suse.de>

	* proctime.c (glibtop_get_proc_time_p): Make things work on
	OpenBSD 2.6; this is basically the same than on NetBSD.
2001-02-14 21:36:42 +00:00
Martin Baulig
9d772e3c07 Removed @LIBSUPPORT@.
2001-02-14  Martin Baulig  <baulig@suse.de>

	* Makefile.am (libgtop_server_LDADD): Removed @LIBSUPPORT@.
2001-02-14 21:35:45 +00:00
jjranta
ddd9d11c71 Updated Finnish translation 2001-02-14 19:11:58 +00:00
Stano Visnovsky
b161b5bb72 Updated Slovak translation from Marcel Telka <marcel@telka.sk> 2001-02-14 11:01:39 +00:00
Andraz Tori
5607fefe30 Updated Slovenian translation 2001-02-13 13:47:21 +00:00
Szabolcs Ban
9d9aed4023 Updated hu.po by Robert Vanyi 2001-02-13 13:07:24 +00:00
Martin Baulig
62edf91314 Set version number to 1.0.11, binary age 10, interface age 10.
2001-02-13  Martin Baulig  <baulig@suse.de>

	* LIBGTOP-VERSION: Set version number to 1.0.11, binary age 10,
	interface age 10.
2001-02-13 12:41:42 +00:00
Martin Baulig
38e55efd2d Fix bug #14076.
2001-02-13  Martin Baulig  <baulig@suse.de>

	Fix bug #14076.

	* open.c (glibtop_open_s): Check whether /proc/1/cpu exists to
	detect SMP support rather than reading /proc/stat; on Linux 2.4.x,
	/proc/stat has "cpu" and "cpu0" entries even for non-SMP systems.
2001-02-13 12:31:57 +00:00
Stano Visnovsky
67c9c8e3e3 Added sk to ALL_LINGUAS 2001-02-13 11:08:06 +00:00
Stano Visnovsky
013ab1841d Added Slovak translation from Marcel Telka <marcel@telka.sk> 2001-02-13 11:05:42 +00:00
Martin Baulig
88c5d4fd61 Reverted Jarkko Ranta's change; please do not commit any compressed files
2001-02-13  Martin Baulig  <baulig@suse.de>

	* fi.po: Reverted Jarkko Ranta's change; please do
	not commit any compressed files in future.
2001-02-13 10:57:50 +00:00
Christophe Merlet
adbe42cda3 Updated French translation. 2001-02-10 09:30:48 +00:00
Gustavo Maciel Dias Vieira
2e6e310a3e Updated Brazilian Portuguese translation.
2001-02-09  Gustavo Maciel Dias Vieira  <gdvieira@zaz.com.br>

* pt_BR.po: Updated Brazilian Portuguese translation.
2001-02-09 16:18:26 +00:00
Nam SungHyun
818e941413 updated 2001-02-09 04:52:08 +00:00
jjranta
dfa868ce82 Updated Finnish translation by Pauli Virtanen 2001-02-08 18:17:42 +00:00
Gustavo Maciel Dias Vieira
dc353a4172 Added pt_BR to ALL_LINGUAS.
2001-02-08  Gustavo Maciel Dias Vieira  <gdvieira@zaz.com.br>

* configure.in (ALL_LINGUAS): Added pt_BR to ALL_LINGUAS.
2001-02-08 14:51:34 +00:00
Valek Frob
4da65d5d0b Updated russian translation. 2001-02-08 11:52:07 +00:00
Christophe Merlet
a2043e3aaf Updated French translation. 2001-02-05 17:32:57 +00:00
Andraz Tori
f03304a920 Updated Slovenian translation 2001-01-25 21:02:22 +00:00
Andraz Tori
beedc57724 Added sl translations 2001-01-23 11:57:17 +00:00
Pablo Saratxaga
3049619931 updated Azeri file 2001-01-06 22:23:52 +00:00
Pablo Saratxaga
ddb0c913c1 Added Azeri file 2001-01-05 15:35:25 +00:00
Martin Baulig
c7244ba1ba Added --cflags', --libs' and `--extra-libs' parameters.
2000-11-21  Martin Baulig  <baulig@suse.de>

	* libgtop-config.h.in: Added `--cflags', `--libs' and `--extra-libs'
	parameters.
2000-11-21 15:27:18 +00:00
Yuri Syrota
146ccb2511 Updated Ukrainian translation 2000-11-21 13:59:26 +00:00
Martin Baulig
91c35548e4 Released LibGTop 1.0.10 "November Rain".
2000-11-20  Martin Baulig  <baulig@suse.de>

	Released LibGTop 1.0.10 "November Rain".

	* LIBGTOP-VERSION: Set version number to 1.0.10, binary age 9,
	interface age 9.
2000-11-20 15:13:45 +00:00
Yuri Syrota
8705ef6b65 Updated Ukrainian translation 2000-11-20 08:41:28 +00:00
Yuri Syrota
d5b27269d8 Updated Ukrainian translation 2000-11-16 08:06:57 +00:00
Yuri Syrota
6915f098ca Updated Ukrainian translation 2000-10-31 11:43:08 +00:00
Yuri Syrota
376613ddd4 Updated Ukrainian translation 2000-10-23 07:44:18 +00:00
Yuri Syrota
6a9cd61fd9 Updated Ukrainian translation 2000-10-23 07:28:59 +00:00
Yukihiro Nakai
18a3526ea7 ja.po: Update Japanese translation. 2000-10-14 18:37:58 +00:00
Szabolcs Ban
333c85736c Updated, thanx Robi 2000-10-11 11:44:49 +00:00
Yukihiro Nakai
df5ec3c02a ja.po: commit the right one. 2000-10-11 06:21:03 +00:00
Yukihiro Nakai
368e94c8e1 ja.po: Update Japanese translation. 2000-10-11 06:14:51 +00:00
Yuri Syrota
f5de8e4ead Updated Ukrainian translation 2000-10-04 08:04:36 +00:00
Szabolcs Ban
715975f7ed Added stable version 2000-10-04 07:13:11 +00:00
Christian Meyer
f13099194c Minor fix in German translation. 2000-09-20 10:51:08 +00:00
Christian Meyer
1dd8a8e8fc Updated German translation. 2000-09-19 22:13:22 +00:00
Christian Meyer
d9fb27e57c Updates German translation, Added update.pl and README.tools from menesis. 2000-09-10 15:07:26 +00:00
Kenneth Christiansen
dde1a2c1aa Translations from Keld
bonobo/po/da.po dia/po/da.po dr-genius/po/da.po eog/po/da.po
gconf/po/da.po gdict/po/da.po gdm2/po/da.po gfax/po/da.po
gimp/po/da.po gimp/po-libgimp/da.po gimp/po-plug-ins/da.po
gnome-applets/po/da.po gnome-chess/po/da.po gnome-db/po/da.po
gnome-iconedit/po/da.po gnome-lokkit/po/da.po
gnome-media/po/da.po gnome-pilot/po/da.po gnomeicu/po/da.po
gnop/po/da.po gphoto/po/da.po gtkhtml/po/da.po gxsnmp/po/da.po
libgtop/po/da.po
mc/po/da.po oaf/po/da.po rp3/po/da.po sodipodi/po/da.po
2000-09-09 00:06:12 +00:00
Kjartan Maraas
5bff21b7b4 Updated Norwegian translation.
2000-08-16  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian translation.
2000-08-16 11:58:54 +00:00
Takayuki KUSANO
e58c732f54 Updated Japanese translation.
2000-06-25  Takayuki KUSANO  <AE5T-KSN@asahi-net.or.jp>

	* ja.po: Updated Japanese translation.
2000-08-16 11:57:56 +00:00
Takayuki KUSANO
48404428a2 ' field.
* fix 'Language-Team:' field.
2000-06-25 12:51:01 +00:00
Takayuki KUSANO
d009071e40 Updated Japanese translation.
* ja.po: Updated Japanese translation.
2000-06-25 12:48:10 +00:00
Yuri Syrota
33b1fcf4f9 Updated Ukrainian translation 2000-05-26 07:59:40 +00:00
Martin Baulig
c0a9dedc4b Released LibGTop 1.0.9 "Stuttgart". 2000-05-25 15:42:24 +00:00
Martin Baulig
7ab96d212d Released LibGTop 1.0.9 "Stuttgart".
2000-05-25  Martin Baulig  <baulig@suse.de>

	Released LibGTop 1.0.9 "Stuttgart".

	* LIBGTOP-VERSION: Set version number to 1.0.9 binary age 8,
	interface age 8.

	(LibGTop 1.0.8 "Frankfurt" was not publically released.)
2000-05-25 14:27:14 +00:00
Martin Baulig
bd6e248adf Released LibGTop 1.0.8 "Stuttgart".
2000-05-25  Martin Baulig  <baulig@suse.de>

	Released LibGTop 1.0.8 "Stuttgart".
2000-05-25 14:20:31 +00:00
Manuel de Vega Barreiro
9abfb85080 *** empty log message *** 2000-05-20 15:27:39 +00:00
Manuel de Vega Barreiro
fdef2d5b38 Spanish translation 2000-05-20 15:26:47 +00:00
Kenneth Christiansen
641eb24a8b Translations from Keld
Tag: LIBGTOP_STABLE_1_0
libgtop/po/da.po
2000-05-18 12:42:24 +00:00
Martin Norback
8754f434d1 Updated Swedish translation 2000-05-18 12:26:46 +00:00
Kenneth Christiansen
f656208234 New update 2000-05-18 11:18:37 +00:00
Jesus Bravo Alvarez
0df1594f31 Updated Galician translation 2000-05-17 22:17:19 +00:00
Kjartan Maraas
1ab7936ced Updated translation.
2000-05-17  Kjartan Maraas  <kmaraas@online.no>

	* no.po: Updated translation.
2000-05-17 21:14:35 +00:00
Kenneth Christiansen
dcd43f8a15 Not good, since new POTFILES.in, but much better that 20 minutes ago :) 2000-05-16 22:16:00 +00:00
Kenneth Christiansen
7f7c5506f7 New strings added Added list of files which should not be in POTFILES.in
2000-05-16  Kenneth Christiansen  <kenneth@gnome.org>

        * POTFILES.in: New strings added
        * POTFILES.ignore: Added list of files which should
          not be in POTFILES.in of some reason
2000-05-16 22:05:02 +00:00
Kenneth Christiansen
b0a4cb2379 New Danish translation + update.sh script 2000-05-16 19:29:56 +00:00
Jesus Bravo Alvarez
8c06ed1516 Added some translations from HEAD branch 2000-05-16 09:09:59 +00:00
Andreas Hydén
56154e50f2 Added update.sh script 2000-05-09 21:51:05 +00:00
Jesus Bravo Alvarez
902670623f Updated Galician translation 2000-04-01 18:18:26 +00:00
Martin Baulig
0e5d856065 Set version number to 1.0.8 binary age 7, interface age 7.
2000-02-20  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.0.8 binary age 7,
	interface age 7.
2000-02-19 23:18:05 +00:00
Martin Baulig
35b6acfc22 Updated this a bit. 2000-02-16 15:41:37 +00:00
Martin Baulig
0830a0b8a7 Released LibGTop 1.0.7 "Copenhagen".
2000-02-15  Martin Baulig  <martin@home-of-linux.org>

	Released LibGTop 1.0.7 "Copenhagen".
2000-02-15 11:09:36 +00:00
Martin Baulig
f4be080d63 *** empty log message *** 2000-02-15 11:07:33 +00:00
Martin Baulig
a599e04eb6 *** empty log message *** 2000-02-14 16:41:14 +00:00
Martin Baulig
0dec9a7b70 First version of a debian/ directory for LibGTop 1.0.x. 2000-02-14 14:54:13 +00:00
Martin Baulig
75958ce2ab Make sure we close all open files. 2000-02-14 14:34:33 +00:00
Martin Baulig
20bbc17f6b 1.0.7 again :) 2000-02-13 22:39:54 +00:00
Martin Baulig
19ffa1419a Only #include <osreldate.h> on FreeBSD. 2000-02-13 21:31:39 +00:00
Martin Baulig
1e568f294e **** Merged from HEAD ****
2000-02-13  Martin Baulig  <martin@home-of-linux.org>

	* *.c: kvm_nlist () returns -1 on error, but a positive return value
	does not necessarily mean failure. Fixes #3302 which was reported by
	Matthias Scheler some time ago.
2000-02-13 15:47:59 +00:00
Martin Baulig
7752a312e9 Set correct buf->size' and buf->flags' fields when `max_length' was
2000-01-22  Martin Baulig  <martin@home-of-linux.org>

	* procargs.c (glibtop_get_proc_args_s): Set correct `buf->size' and
	`buf->flags' fields when `max_length' was given. Fixes #5183.
2000-01-21 23:27:08 +00:00
Martin Baulig
23c7449898 **** Merged from HEAD ****
2000-01-20  Martin Baulig  <martin@home-of-linux.org>

	* fsusage.c (adjust_blocks): Use `u_int64_t' arguments and
	return value to avoid long int overflows on machines with large
	disks.

	* fsusage.h (struct fs_usage): Use `u_int64_t' here as well.
2000-01-20 21:54:28 +00:00
Martin Baulig
64b3db2dc0 **** Merged from Hardangervidda ****
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* gnuserv.c (setup_table): Don't dump core when the table of
	permitted host names contains a NULL pointer.
1999-11-28 16:43:00 +00:00
Martin Baulig
e94b4882b6 **** Merged from Hardangervidda ****
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* procstate.c (glibtop_get_procstate_s): Stat "/proc/<pid>" instead
	of "/proc/<pid>/state" to get `uid' and `gid'. Thanks to Jason Becker
	for pointing out that GTop reported wrong uid's.
1999-11-28 11:57:11 +00:00
Martin Baulig
1e629c9a86 **** Merged from HEAD ****
Fix bug #2909; I made some little mistake when applying a patch here.
1999-10-20 14:46:32 +00:00
Martin Baulig
6b6e1261f1 **** Merged from HEAD ****
1999-10-19  Martin Baulig  <martin@home-of-linux.org>

	* uptime.c (glibtop_get_uptime_s): Don't cast uptime and idletime
	to float as suggested by John Kodis.
1999-10-19 00:16:29 +00:00
Martin Baulig
bbc872138b Set version number to 1.0.7 binary age 6, interface age 6.
1999-10-19  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.0.7 binary age 6,
	interface age 6.
1999-10-19 00:04:38 +00:00
Martin Baulig
3555a6ca0c Released LibGTop 1.0.6 "October LibGTop".
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	Released LibGTop 1.0.6 "October LibGTop".
1999-10-18 20:03:58 +00:00
Martin Baulig
e5928d0b13 Let's call it "October LibGTop" ... :) 1999-10-18 20:02:36 +00:00
Martin Baulig
5bb7e07e95 One should not touch release notes of released versions ... but
this was really neccessary to avoid some confusion.
1999-10-18 19:51:30 +00:00
Martin Baulig
043f4a498f *** empty log message *** 1999-10-18 19:49:56 +00:00
Martin Baulig
94297b8460 Added release notes for LibGTop 1.0.6. 1999-10-18 19:49:38 +00:00
Martin Baulig
0f5b941b15 Removed obsolete file.
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* NEWS.old: Removed obsolete file.
1999-10-18 19:47:12 +00:00
Martin Baulig
df6d645afd Removed obsolete file.
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* TODO: Removed obsolete file.
1999-10-18 19:35:39 +00:00
Martin Baulig
9ac47c7839 We start maintaining a NEWS file now :)
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* NEWS: We start maintaining a NEWS file now :)
1999-10-18 19:34:20 +00:00
Martin Baulig
8d734d1296 This is an ordinary branch now. 1999-10-18 18:57:39 +00:00
Martin Baulig
7fa43bba5d C-u 1 texinfo-multiple-files-update 1999-10-18 18:54:50 +00:00
Martin Baulig
e2e01a9405 Remove internals.texi from the stable branch. 1999-10-18 18:49:28 +00:00
Martin Baulig
5530697ab8 **** Merged from HEAD ****
1999-10-16  Martin Baulig  <martin@home-of-linux.org>

	Applied all patches from the FreeBSD 3.3 ports collection.

	* swap.c: Only #include <rlist.h> for __FreeBSD_version < 400005.

	* prockernel.c: Make it compile on FreeBSD / alpha.

	* procsignal.c: Some fixes for FreeBSD-current.
1999-10-16 18:31:43 +00:00
Martin Baulig
95f279d1a7 Set version number to 1.0.6 binary age 5, interface age 5.
1999-10-16  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.0.6 binary age 5,
	interface age 5.
1999-10-16 18:03:12 +00:00
Martin Baulig
1904a463e2 **** Merged from HEAD ****
1999-10-16  Martin Baulig  <martin@home-of-linux.org>

	* procstate.c (glibtop_get_proc_state_p): Don't use the
	`GLIBTOP_PROCESS_*' constants for process states for
	LibGTop 1.0.x.
1999-10-16 18:01:39 +00:00
Jesus Bravo Alvarez
7ce1f9e9d7 Added Galician translation 1999-10-09 21:41:12 +00:00
Martin Baulig
5221f6d4f8 Released LibGTop 1.0.5.
1999-09-29  Martin Baulig  <martin@home-of-linux.org>

	Released LibGTop 1.0.5.
1999-09-29 00:46:31 +00:00
Martin Baulig
ac175a4cbf updated po files for 1.0.5. 1999-09-29 00:43:54 +00:00
Martin Baulig
f53d1a69bc **** Merged from HEAD ****
1999-09-29  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (libgtop_top_builddir): AC_SUBST this.
1999-09-28 23:29:47 +00:00
Kenneth llphaane Christiansen
adaa9cad97 Updated.
1999-09-29  Kenneth llphaane Christiansen  <kenneth@ripen.dk>

	* da.po: Updated.
1999-09-28 23:02:35 +00:00
Elliot Lee
7201ec7790 Remove %{prefix}/lib/libgtop
Remove %{prefix}/lib/libgtop
1999-09-27 22:43:10 +00:00
Chyla Zbigniew
113525a7d7 Updated Polish translation 1999-09-26 22:31:18 +00:00
Martin Baulig
d6e62e85d2 Set version number to 1.0.5 binary age 4, interface age 4.
1999-09-24  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.0.5 binary age 4,
	interface age 4.
1999-09-24 06:32:28 +00:00
Martin Baulig
ee153445f0 1.0.4. 1999-09-24 06:08:35 +00:00
Martin Baulig
50b43a0f41 Released LibGTop 1.0.4.
1999-09-24  Martin Baulig  <martin@home-of-linux.org>

	Released LibGTop 1.0.4.
1999-09-24 05:53:40 +00:00
Kjartan Maraas
25c26a6620 doh 1999-09-21 22:55:09 +00:00
Kjartan Maraas
0438b9d69a Added Danish translation from Kenneth Christiansen <kenneth@ripen.dk>.
1999-09-22  Kjartan Maraas  <kmaraas@online.no>

	* da.po: Added Danish translation from Kenneth
	Christiansen <kenneth@ripen.dk>.
1999-09-21 22:54:44 +00:00
Vincent Renardias
90c01f24fe Updated.
* Updated.
1999-09-20 14:00:34 +00:00
Martin Baulig
dc0f442247 **** Merged from HEAD ****
1999-09-19  Martin Baulig  <martin@home-of-linux.org>

	* libgtopConf.sh.in: Added MODULE_VERSION on Miguel's
	request (set it to "libgtop-@LIBGTOP_VERSION@").
1999-09-18 23:09:05 +00:00
Pablo Saratxaga
017f4d20c7 merged files from head cvs for translations 1999-09-18 17:09:00 +00:00
Chyla Zbigniew
c021ce7851 Added pl to ALL_LINGUAS 1999-09-17 03:37:44 +00:00
Chyla Zbigniew
93ab9882c3 Added Polish translation 1999-09-17 03:35:23 +00:00
Martin Baulig
a0477c6212 **** Merged from HEAD **** 1999-09-17 00:37:41 +00:00
Martin Baulig
6780e78a6b Set version number to 1.0.4 binary age 3, interface age 3.
1999-09-17  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.0.4 binary age 3,
	interface age 3.
1999-09-16 22:25:54 +00:00
Martin Baulig
d8871029eb Merged everything since May 31 from HEAD and released LibGTop 1.0.3.
1999-09-16  Martin Baulig  <martin@home-of-linux.org>

	Merged everything since May 31 from HEAD and released
 	LibGTop 1.0.3.
1999-09-16 21:49:18 +00:00
Martin Baulig
6799ce187b **** Merged from HEAD **** 1999-09-16 21:38:03 +00:00
Tomas Ogren
2b6b2578be Synced
1999-09-16  Tomas Ogren  <stric@ing.umu.se>

* sv.po: Synced
1999-09-16 21:37:45 +00:00
Martin Baulig
1b0a9fd291 Should be ok now. 1999-09-16 21:37:20 +00:00
Martin Baulig
43e070dd8b make update-po. 1999-09-16 21:33:27 +00:00
Martin Baulig
b0d18119ff **** Merged from HEAD **** 1999-09-16 21:31:36 +00:00
Kjartan Maraas
be05f8163a Updated translation.
1999-07-11  Kjartan Maraas  <kmaraas@online.no>

		* no.po: Updated translation.
1999-07-11 12:27:13 +00:00
Tomas Ogren
d6cdf95d83 New file
1999-07-11  Tomas Ogren  <stric@ing.umu.se>

* sv.po: New file
1999-07-11 01:41:44 +00:00
Tomas Ögren
2256a9127f darn typo 1999-07-11 01:41:01 +00:00
Tomas Ögren
e6507a80be 1999-07-11 Tomas Ogren <stric@ing.umu.se>e
* configure.in: Added sv to ALL_LINGUAS
1999-07-11 01:40:47 +00:00
Tomas Ogren
8411e566b4 Fixed a tyop
1999-07-11  Tomas Ogren  <stric@ing.umu.se>

* sysdeps/names/procmem.c: Fixed a tyop
1999-07-11 01:35:40 +00:00
Martin Baulig
40854f4179 Set version number to 1.0.3 binary age 2, interface age 2.
1999-05-31  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.0.3 binary age 2,
	interface age 2.
1999-05-31 14:11:07 +00:00
Martin Baulig
41062d0262 Released LibGTop 1.0.2. 1999-05-31 13:34:18 +00:00
Martin Baulig
58c882a860 Enable Timur's BSDI port by default. 1999-05-28 00:43:40 +00:00
Martin Baulig
789d156972 1.0.2. 1999-05-28 00:26:38 +00:00
Martin Baulig
19c24da036 **** Merged from HEAD ****
1999-05-07  Martin Baulig  <martin@home-of-linux.org>

	* server.c (main): There's some problem with uname () - some systems
	like Solaris or Digital Unix return a nonnegative value on success,
	some others like Linux return 0. Since all known systems seem to return
	a negative value on failure, we simply check whether the return value is
	not negative here.
1999-05-27 23:30:48 +00:00
Martin Baulig
929a025f53 **** Merged from HEAD ****
Use `(1L << feature)' instead of `(1 << feature)' to avoid problems
with integer overflows when we add more fields.
1999-05-27 23:30:11 +00:00
Martin Baulig
6a7c289305 *** empty log message *** 1999-05-27 23:26:43 +00:00
Martin Baulig
b65a4a7dcb **** Merged from HEAD **** 1999-05-27 23:23:30 +00:00
Martin Baulig
39b2fffe83 **** Merged from HEAD ****
1999-05-07  Martin Baulig  <martin@home-of-linux.org>

	* timings.c (timersub): Renamed this to `libgtop_timersub' and define
	it on all systems.
1999-05-27 23:19:38 +00:00
Martin Baulig
efb913acff **** Merged from HEAD ****
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-27 22:34:24 +00:00
Martin Baulig
79e756a2f7 **** Merged from HEAD ****
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.
1999-05-27 21:42:13 +00:00
Martin Baulig
b08968e644 **** Merged from HEAD **** 1999-05-27 21:23:18 +00:00
Martin Baulig
dff497d2fa **** Merged from HEAD ****
Use `(1L << feature)' instead of `(1 << feature)' to avoid problems
with integer overflows when we add more fields.
1999-05-27 19:30:30 +00:00
Martin Baulig
38de742ca4 **** Merged from HEAD ****
Merged everything from HEAD for the upcoming release.
1999-05-27 18:56:53 +00:00
Martin Baulig
e0d3401bc4 Only #include <sys/param.h> when inside LibGTop. 1999-05-27 18:41:50 +00:00
Martin Baulig
aae2b5a94d *** empty log message *** 1999-05-27 18:39:32 +00:00
Martin Baulig
a5bd38fc19 **** Merged from HEAD ****
Use `(1L << feature)' instead of `(1 << feature)' to avoid problems
with integer overflows when we add more fields.
1999-05-27 14:04:16 +00:00
Martin Baulig
931b8f065e Merged from HEAD. 1999-05-26 15:31:35 +00:00
Martin Baulig
f7885e488f Merged this from HEAD.
1999-05-26  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (INCLUDES): Define `LIBGTOP_VERSION_CODE' here so we
	can use version conditionals in the sysdeps code.
1999-05-26 13:19:03 +00:00
Martin Baulig
8122db69ee Merged I4B fixes for NetBSD from the HEAD. 1999-05-25 17:32:08 +00:00
Martin Baulig
ab13d4919d Make that "dc" think a bit more clean. 1999-05-21 08:19:58 +00:00
Martin Baulig
1d955fbf1f *** empty log message *** 1999-05-20 10:10:32 +00:00
Martin Baulig
8af25a2003 Merged the LibGTop Manual from the HEAD.
1999-05-16  Martin Baulig  <martin@home-of-linux.org>

	* doc: Merged the LibGTop Manual from the HEAD.
1999-05-16 13:48:14 +00:00
Martin Baulig
12eb6a25ec Applied a patch from David Kaelbling:
some compilers (like the SGI IRIX 6.x native one) enfore the
  "casts are not lvalues" maxim.
1999-05-06 22:09:26 +00:00
Martin Baulig
77ced087a1 This is the `LIBGTOP_STABLE_1_0' branch in CVS; please do only commit bug
1999-05-03  Martin Baulig  <martin@home-of-linux.org>

	This is the `LIBGTOP_STABLE_1_0' branch in CVS; please do only
	commit bug fixes here.

	* LIBGTOP-VERSION: Set version number to 1.0.2 binary age 1,
	interface age 0.
1999-05-03 20:31:51 +00:00
Martin Baulig
983475d0c1 Minor Alpha fixes. 1999-05-03 20:27:25 +00:00
Martin Baulig
70b65c05e5 Merged a few bug fixes from the HEAD. 1999-05-03 20:06:40 +00:00
578 changed files with 76710 additions and 26191 deletions

View File

@@ -33,16 +33,3 @@ libgtop.spec
libgtop*.tar.gz
*-debstamp
libgtop*.pc
autom4te.cache
COPYING
INSTALL
install-sh
missing
mkinstalldirs
libgtopconfig.h
intltool-extract.in
intltool-extract
intltool-merge.in
intltool-merge
intltool-update.in
intltool-update

View File

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

1710
ChangeLog

File diff suppressed because it is too large Load Diff

28
LIBGTOP-VERSION Normal file
View File

@@ -0,0 +1,28 @@
# 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=90
LIBGTOP_MICRO_VERSION=0
LIBGTOP_INTERFACE_AGE=0
LIBGTOP_BINARY_AGE=0
# you can set this to `-snap' for instance to create
# a `libgtop-1.x.y-snap.tar.gz' tarball.
LIBGTOP_VERSION_SUFFIX=
# Increase each time you change the client/server protocol.
LIBGTOP_SERVER_VERSION=5
# 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

View File

@@ -1,3 +0,0 @@
Email: martin@home-of-linux.org
Email: dave@srce.hr
Current maintainer : Benoît Dejean (benoit@placenet.org)

View File

@@ -1,34 +1,93 @@
## Process this file with automake to produce Makefile.in.
if EXAMPLES
EXAMPLES_DIR = examples
examples_SUBDIRS = examples
else
EXAMPLES_DIR =
examples_SUBDIRS =
endif
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
if BUILD_GNOME_SUPPORT
support = support
endif
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
SUBDIRS = . po $(support) misc include sysdeps lib src \
$(examples_SUBDIRS) doc
libgtopinclude_HEADERS = glibtop.h
libgtopincludedir = $(includedir)/libgtop-2.0
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
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \
RELNOTES-1.0 RELNOTES-1.0.x libgtop-sysdeps.m4 README \
libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4
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
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtop-2.0.pc
CLEANFILES=libgtopConf.sh
## bin_SCRIPTS = $(top_builddir)/libgtop-config
## to automatically rebuild aclocal.m4 if any of the macros in
## `macros/' change
## @MAINT@ include macros/macros.dep
## @MAINT@macros/macros.dep: macros/Makefile.am
## @MAINT@ cd macros && $(MAKE) macros.dep
@MAINT@$(top_srcdir)/aclocal.m4: libgtop-sysdeps.m4 LIBGTOP-VERSION
## 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)/libgtop-2.0#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)/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
libgtop-features.def: features.def
@LN_S@ $< $@

192
NEWS
View File

@@ -1,195 +1,3 @@
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:
=================

16
README
View File

@@ -1,20 +1,8 @@
$Id$
LATEST NEWS:
===========
Please look also in the file 'NEWS' for latest news.
Martin
ChangeLogs:
==========
LibGTop has many ChangeLogs files. The following files are the the
most important :
- 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).
Benoît

146
RELNOTES-0.25 Normal file
View File

@@ -0,0 +1,146 @@
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>

163
RELNOTES-1.0 Normal file
View File

@@ -0,0 +1,163 @@
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 GPL 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>

172
RELNOTES-1.0.x Normal file
View File

@@ -0,0 +1,172 @@
RELEASE NOTES FOR LIBGTOP 1.0.7
===============================
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:
-----------------
Although LibGTop is part of the GNOME desktop environment, its main
interface is totally independent from any particular desktop environment,
so you can also use it as a standalone library in any piece of GPLed
software which makes it also a valuable part of the GNU project.
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 ...
However, you need to give the configure.in script the `--without-gnome'
parameter when you want to use LibGTop without GNOME (this is because,
if you want to use it with GNOME, you need to compile it after the main
GNOME libraries and I wanted to avoid getting unnecessary bug reports
about this).
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.
Unfortunately, I don't have the power and disk space to install all
possible operating systems out there on my machine and test things myself,
so I depend on people telling me whether it works and sending me bug
reports and patches if not.
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:
==================================
[I am speaking of the Linux kernel here.]
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:
====================================
The development branch of LibGTop (the 1.1.x series) has a first version
of the Solaris port which works at least on Solaris 7.
If you are on a Solaris system and want to give it a try, just fetch the
latest 1.1.x tarball from ftp://ftp.home-of-linux.org/pub/libgtop/1.1/
and try it out.
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>

0
TODO
View File

170
acconfig.h Normal file
View File

@@ -0,0 +1,170 @@
/* Define if gethostname () must be declared. */
#undef NEED_DECLARATION_GETHOSTNAME
/* Define if setreuid () must be declared. */
#undef NEED_DECLARATION_SETREUID
/* Define if setregid () must be declared. */
#undef NEED_DECLARATION_SETREGID
/* Define if getpagesize () must be declared. */
#undef NEED_DECLARATION_GETPAGESIZE
/* Define if program_invocation_name must be declared. */
#undef NEED_DECLARATION_PROGRAM_INVOCATION_NAME
@TOP@
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef GETTEXT_PACKAGE
#undef HAVE_GETTEXT
#undef HAVE_LC_MESSAGES
#undef HAVE_STPCPY
#undef HAVE_STRUCT_OSOCKADDR
#undef PACKAGE
#undef VERSION
#undef HAVE_LIBSM
#undef HAVE_LIBINTL_H
#undef HAVE_GTK_SIGNAL_HANDLER_PENDING
/* Do not remove this comments and the empty lines; they are needed */
#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
/* 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
/* to fix a bug in autoheader on DEC OSF1. */
#undef HAVE_PROGRAM_INVOCATION_NAME
#undef HAVE_SOCKETS
#undef HAVE_SOCKADDR_SUN_LEN
#undef HAVE_LIBJPEG
#undef HAVE_LIBGIF
#undef HAVE_LIBTIFF
#undef HAVE_LIBZ
#undef HAVE_LIBPNG
#undef HAVE_GMP2_INCLUDE_DIR
#undef HAVE_GUILE
#undef ssize_t
#undef u_int64_t
#undef int64_t
#undef HAVE_GLIBTOP_MACHINE_H
#undef GLIBTOP_NAMES
#undef GLIBTOP_GUILE
#undef GLIBTOP_GUILE_NAMES
#undef GLIBTOP_EXAMPLES
#undef GLIBTOP_INODEDB
#undef NEED_LIBGTOP
#undef HAVE_LINUX_TABLE
#undef HAVE_LIBGTOP_SMP
#undef HAVE_XAUTH
/* Define if your have the I4B package. */
#undef HAVE_I4B
#undef HAVE_I4B_ACCT
/* Define to enable debugging. */
#undef LIBGTOP_ENABLE_DEBUG
#undef LIBGTOP_FATAL_WARNINGS
/* Same as LINUX_VERSION_CODE either from <linux/version.h> or from
* the running kernel (if we don't have configured kernel sources).
*/
#undef GLIBTOP_LINUX_VERSION_CODE
/* Solaris release code (eg. 251 for Solaris 2.5.1). */
#undef GLIBTOP_SOLARIS_RELEASE
/* Define if you want to use LibGTop without GNOME. */
#undef WITHOUT_GNOME
/* Define if you have the <procfs.h> header file */
#undef HAVE_PROCFS_H
/* Define if you have the <sys/procfs.h> header file */
#undef HAVE_SYS_PROCFS_H

View File

@@ -30,7 +30,7 @@ changequote([,]), [#include <sys/types.h>
], 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.])
AC_DEFINE($1, $2)
fi
])
@@ -43,6 +43,8 @@ dnl
AC_DEFUN([GNOME_LIBGTOP_TYPES],
[
AC_CHECK_HEADERS(sys/bitypes.h)
AC_LIBGTOP_CHECK_TYPE(u_int64_t, unsigned long long int)
AC_LIBGTOP_CHECK_TYPE(int64_t, signed long long int)
])
dnl See whether we need a declaration for a function.
@@ -72,7 +74,7 @@ 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.])
AC_DEFINE_UNQUOTED($gcc_tr_decl)
else
AC_MSG_RESULT(no)
fi
@@ -157,8 +159,7 @@ 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, 1,
[Define if there is a function named listmntent that can be used to list all mounted filesystems. [UNICOS]])
AC_DEFINE(MOUNTED_LISTMNTENT)
fi
fi
@@ -177,8 +178,7 @@ 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, 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]])
AC_DEFINE(MOUNTED_GETMNTENT1)
fi
fi
@@ -192,8 +192,7 @@ 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, 1,
[Define if there is a function named getmntent for reading the list of mounted filesystems, and that function takes two arguments. [SVR4]])
AC_DEFINE(MOUNTED_GETMNTENT2)
fi
fi
@@ -218,8 +217,7 @@ 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, 1,
[Define if there is a function named getfsstat for reading the list of mounted filesystems. [DEC Alpha running OSF/1]])
AC_DEFINE(MOUNTED_GETFSSTAT)
fi
fi
@@ -233,8 +231,7 @@ 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, 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]])
AC_DEFINE(MOUNTED_VMOUNT)
fi
fi
@@ -251,8 +248,7 @@ 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, 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]])
AC_DEFINE(MOUNTED_FREAD_FSTYP)
fi
fi
@@ -273,8 +269,7 @@ 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, 1,
[Define if there is a function named getmntinfo for reading the list of mounted filesystems. [4.4BSD]])
AC_DEFINE(MOUNTED_GETMNTINFO)
fi
fi
@@ -292,8 +287,7 @@ 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, 1,
[Define if there is a function named getmnt for reading the list of mounted filesystems. [Ultrix]])
AC_DEFINE(MOUNTED_GETMNT)
fi
fi
@@ -307,8 +301,7 @@ 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, 1,
[Define if there is no specific function for reading the list of mounted filesystems. fread will be used to read /etc/mnttab. [SVR2]])
AC_DEFINE(MOUNTED_FREAD)
fi
fi
@@ -337,8 +330,7 @@ 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, 1,
[Define if there is a function named statvfs. [SVR4]])
AC_DEFINE(STAT_STATVFS)
fi
fi
@@ -362,8 +354,7 @@ 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, 1,
[Define if statfs takes 3 args. [DEC Alpha running OSF/1]])
AC_DEFINE(STAT_STATFS3_OSF1)
fi
fi
@@ -394,8 +385,7 @@ 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, 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]])
AC_DEFINE(STAT_STATFS2_BSIZE)
fi
fi
@@ -416,8 +406,7 @@ 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, 1,
[Define if statfs takes 4 args. [SVR3, Dynix, Irix, Dolphin]])
AC_DEFINE(STAT_STATFS4)
fi
fi
@@ -445,8 +434,7 @@ 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, 1,
[Define if statfs takes 2 args and struct statfs has a field named f_fsize. [4.4BSD, NetBSD]])
AC_DEFINE(STAT_STATFS2_FSIZE)
fi
fi
@@ -477,17 +465,14 @@ 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, 1,
[Define if statfs takes 2 args and the second argument has type struct fs_data. [Ultrix]])
AC_DEFINE(STAT_STATFS2_FS_DATA)
fi
fi
if test $space = no; then
# SVR2
AC_TRY_CPP([#include <sys/filsys.h>],
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)
AC_DEFINE(STAT_READ_FILSYS) space=yes)
fi
if test -n "$list_mounted_fs" && test $space != no; then
@@ -512,14 +497,384 @@ 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, 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.]])
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS)
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
AC_CHECKING(for AFS)
test -d /afs && AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
test -d /afs && AC_DEFINE(AFS)
])
dnl GNOME_SUPPORT_CHECKS
dnl Check for various support functions needed by the standard
dnl Gnome libraries. Sets LIBOBJS, might define some macros.
dnl This should only be used when building the Gnome libs;
dnl Gnome clients should not need this macro.
AC_DEFUN([GNOME_SUPPORT_CHECKS],[
# we need an `awk' to build `gnomesupport.h'
AC_REQUIRE([AC_PROG_AWK])
# this should go away soon
need_gnome_support=yes
AC_CHECK_FUNCS(getopt_long,,
[AC_LIBOBJ(getopt)
AC_LIBOBJ(getopt1)])
# for `scandir'
AC_HEADER_DIRENT
# copied from `configure.in' of `libiberty'
vars="program_invocation_short_name program_invocation_name sys_errlist"
for v in $vars; do
AC_MSG_CHECKING([for $v])
AC_CACHE_VAL(gnome_cv_var_$v,
[AC_TRY_LINK([int *p;], [extern int $v; p = &$v;],
[eval "gnome_cv_var_$v=yes"],
[eval "gnome_cv_var_$v=no"])])
if eval "test \"`echo '$gnome_cv_var_'$v`\" = yes"; then
AC_MSG_RESULT(yes)
n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
AC_DEFINE_UNQUOTED($n)
else
AC_MSG_RESULT(no)
fi
done
AC_REPLACE_FUNCS(memmove mkstemp scandir strcasecmp strerror strndup strnlen)
AC_REPLACE_FUNCS(strtok_r strtod strtol strtoul vasprintf vsnprintf)
AC_CHECK_FUNCS(realpath,,AC_LIBOBJ(canonicalize))
# to include `error.c' error.c has some HAVE_* checks
AC_CHECK_FUNCS(vprintf doprnt strerror_r)
# stolen from am_func_error_at_line
AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
[AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
am_cv_lib_error_at_line=yes,
am_cv_lib_error_at_line=no)])
if test $am_cv_lib_error_at_line = no; then
AC_LIBOBJ(error)
fi
# This is required if we declare setreuid () and setregid ().
AC_TYPE_UID_T
# see if we need to declare some functions. Solaris is notorious for
# putting functions into the `libc' but not listing them in the headers
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h dirent.h)
GCC_NEED_DECLARATIONS(gethostname setreuid setregid getpagesize)
GCC_NEED_DECLARATION(scandir,[
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
])
AC_SUBST(need_gnome_support)
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, test "$need_gnome_support" = yes)
])
m4_include([libgtop-sysdeps.m4])
dnl This file is intended for use both internally in libgtop and in every program
dnl that wants to use it.
dnl
dnl It defines the following variables:
dnl
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
dnl their own header file. In this case we need to
dnl define 'HAVE_GLIBTOP_MACHINE_H'.
dnl * 'libgtop_need_server' - is the server really needed? Defines 'NEED_LIBGTOP'
dnl if true; defines conditional 'NEED_LIBGTOP'.
AC_DEFUN([LIBGTOP_HACKER_TESTS],[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_WITH(linux-table,
[ --with-linux-table Use the table () function from Martin Baulig],
[linux_table="$withval"],[linux_table=auto])
case "$host_os" in
linux*)
if test $linux_table = yes ; then
AC_CHECK_HEADER(linux/table.h, linux_table=yes, linux_table=no)
elif test $linux_table = auto ; then
AC_MSG_CHECKING(for table function in Linux Kernel)
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <linux/unistd.h>
#include <linux/table.h>
#include <syscall.h>
static inline _syscall3 (int, table, int, type, union table *, tbl, const void *, param);
int
main (void)
{
union table tbl;
int ret;
ret = table (TABLE_VERSION, NULL, NULL);
if (ret == -1)
exit (-errno);
exit (ret < 1 ? ret : 0);
}
], linux_table=yes, linux_table=no, linux_table=no)
AC_MSG_RESULT($linux_table)
fi
if test $linux_table = yes ; then
AC_DEFINE(HAVE_LINUX_TABLE)
fi
;;
esac
])
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_SUBST(libgtop_sysdeps_dir)
AC_SUBST(libgtop_use_machine_h)
AC_SUBST(libgtop_need_server)
AC_ARG_WITH(libgtop-examples,
[ --with-libgtop-examples Build the libgtop examples (default=no)],[
build_examples="$withval"], [build_examples=no])
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
AC_ARG_ENABLE(hacker-mode,
[ --enable-hacker-mode Enable building of unstable sysdeps],
[hacker_mode="$enableval"], [hacker_mode=no])
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
linux_table=auto
if test x$hacker_mode = xyes ; then
LIBGTOP_HACKER_TESTS
fi
AM_CONDITIONAL(LINUX_TABLE, test $linux_table = yes)
AC_ARG_WITH(libgtop-smp,
[ --with-libgtop-smp Enable SMP support (default-auto)],[
libgtop_smp="$withval"],[libgtop_smp=auto])
if test $libgtop_smp = auto ; then
AC_MSG_CHECKING(whether to enable SMP support)
case "$host_os" in
linux*)
libgtop_smp=yes
;;
aix*)
libgtop_smp=yes
;;
*)
libgtop_smp=no
;;
esac
AC_MSG_RESULT($libgtop_smp)
fi
if test $libgtop_smp = yes ; then
AC_DEFINE(HAVE_LIBGTOP_SMP)
fi
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
AC_MSG_CHECKING(for libgtop sysdeps directory)
case "$host_os" in
linux*)
if test x$linux_table = xyes ; then
libgtop_sysdeps_dir=kernel
libgtop_use_machine_h=no
else
libgtop_sysdeps_dir=linux
libgtop_use_machine_h=no
libgtop_have_sysinfo=yes
fi
libgtop_need_server=no
;;
freebsd*|netbsd*|openbsd*|bsdi*)
libgtop_sysdeps_dir=freebsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
;;
solaris*)
libgtop_sysdeps_dir=solaris
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
;;
aix*)
libgtop_sysdeps_dir=aix
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_have_sysinfo=yes
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
;;
*)
if test x$hacker_mode = xyes ; then
case "$host_os" in
sunos4*)
#Please note that this port is obsolete and not working at
#all. It is only useful for people who want to fix it ... :-)
libgtop_sysdeps_dir=sun4
libgtop_use_machine_h=yes
libgtop_need_server=yes
;;
osf*)
libgtop_sysdeps_dir=osf1
libgtop_use_machine_h=yes
libgtop_need_server=yes
;;
*)
libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no
;;
esac
else
libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no
fi
;;
esac
test -z "$libgtop_postinstall" && libgtop_postinstall=:
AC_MSG_RESULT($libgtop_sysdeps_dir)
AC_SUBST(libgtop_sysdeps_dir)
AC_SUBST(libgtop_postinstall)
AC_SUBST(libgtop_have_sysinfo)
case "$host_os" in
*bsd*)
AC_CHECK_HEADERS(net/if_var.h)
AC_MSG_CHECKING([for I4B])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
#include <net/if_types.h>
#ifdef HAVE_NET_IF_VAR_H
#include <net/if_var.h>
#endif
#include <net/netisr.h>
#include <net/route.h>
#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <net/if_sppp.h>
#else
#include <i4b/sppp/if_sppp.h>
#endif
],[
size_t size = sizeof (struct sppp);
], have_i4b=yes, have_i4b=no)
AC_MSG_RESULT($have_i4b)
if test x$have_i4b = xyes; then
AC_DEFINE(HAVE_I4B)
AC_MSG_CHECKING([for I4B accounting])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
#include <net/if_types.h>
#ifdef HAVE_NET_IF_VAR_H
#include <net/if_var.h>
#endif
#include <net/netisr.h>
#include <net/route.h>
#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <net/if_sppp.h>
#else
#include <i4b/sppp/if_sppp.h>
#endif
#include <machine/i4b_acct.h>
],[
size_t size = sizeof (struct i4bisppp_softc);
], have_i4b_acct=yes, have_i4b_acct=no)
AC_MSG_RESULT($have_i4b_acct)
if test x$have_i4b_acct = xyes ; then
AC_DEFINE(HAVE_I4B_ACCT)
else
AC_WARN([
*** I4B accounting disabled - you won't get any PPP statistics.
*** Read "misc/i4b_acct.txt" in the LibGTop source directory
*** to see how to enable it.])
fi
fi
;;
linux*)
os_major_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
os_minor_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
os_micro_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
os_version_expr="$os_major_version 65536 * $os_minor_version 256 * + $os_micro_version + p q"
AC_CHECK_HEADERS(linux/version.h, have_linux_version_h=yes,
have_linux_version_h=no)
if test x$have_linux_version_h = xyes ; then
version_code=`cat /usr/include/linux/version.h | \
grep \#define | grep LINUX_VERSION_CODE`
os_version_code=`echo $version_code | \
sed 's/^.*LINUX_VERSION_CODE[[ \t]]*\([[0-9]]*\).*$/\1/'`
else
os_version_code=`echo "$os_version_expr" | dc`
fi
AC_MSG_CHECKING(for Linux kernel version code)
AC_DEFINE_UNQUOTED(GLIBTOP_LINUX_VERSION_CODE, $os_version_code)
AC_MSG_RESULT($os_version_code)
;;
solaris*)
os_major_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\1/'`
os_minor_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\2/'`
os_micro_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\3/'`
test -z "$os_micro_version" && os_micro_version=0
os_version_expr="$os_major_version 100 * $os_minor_version 10 * + $os_micro_version + p q"
os_version_code=`echo "$os_version_expr" | dc`
AC_MSG_CHECKING(for Solaris release code)
AC_DEFINE_UNQUOTED(GLIBTOP_SOLARIS_RELEASE, $os_version_code)
AC_MSG_RESULT($os_version_code)
;;
esac
AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
AC_MSG_RESULT($libgtop_use_machine_h)
AC_MSG_CHECKING(whether we need libgtop)
AC_MSG_RESULT($libgtop_need_server)
if test x$libgtop_need_server = xyes ; then
AC_DEFINE(NEED_LIBGTOP)
fi
if test x$libgtop_use_machine_h = xyes ; then
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H)
fi
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
])

View File

@@ -18,5 +18,4 @@ 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
USE_GNOME2_MACROS=1 . gnome-autogen.sh

View File

@@ -2,49 +2,49 @@ dnl
dnl Configure script for the Gnome library
dnl
m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [14])
m4_define([libgtop_micro_version], [2])
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], [7])
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], [0])
# 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_INIT([libgtop], [libgtop_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
AC_CONFIG_SRCDIR(copyright.txt)
AC_CONFIG_HEADERS(config.h)
AC_INIT(copyright.txt)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
LIBGTOP_MAJOR_VERSION=2
LIBGTOP_MINOR_VERSION=0
LIBGTOP_MICRO_VERSION=5
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
LIBGTOP_INTERFACE_AGE=5
LIBGTOP_BINARY_AGE=5
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])
# you can set this to `-snap' for instance to create
# a `libgtop-1.x.y-snap.tar.gz' tarball.
LIBGTOP_VERSION_SUFFIX=
# Increase each time you change the client/server protocol.
LIBGTOP_SERVER_VERSION=5
# Version code calculation
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_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_SERVER_VERSION)
AC_SUBST(LIBGTOP_VERSION)
AC_SUBST(LIBGTOP_VERSION_CODE)
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
# libtool versioning
AC_SUBST(LT_VERSION_INFO,
["-version-info libgtop_current:libgtop_revision:libgtop_age"])
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}'
AC_SUBST(LT_VERSION_INFO)
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
@@ -81,11 +81,46 @@ export cross_compiling
AM_PROG_LIBTOOL
dnl Let the user enable compiler warnings
dnl GNOME_COMPILE_WARNINGS
dnl GNOME_INIT_HOOK(gnome_found=yes)
dnl if test "x$gnome_found" != xyes; then
dnl if test "x$want_gnome" != xno ; then
dnl AC_MSG_ERROR([
dnl *** GNOME was not found on this system. ***
dnl
dnl *** If you want to use LibGTop without GNOME, you need
dnl *** to give configure the --without-gnome parameter.
dnl ])
dnl else
dnl AC_DEFINE(WITHOUT_GNOME)
dnl fi
dnl GNOME_SUPPORT_CHECKS
dnl else
dnl if test "x$want_gnome" != xno ; then
dnl AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
dnl else
dnl GNOME_SUPPORT_CHECKS
dnl fi
dnl fi
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES
dnl AC_ARG_WITH(libgtop-guile,
dnl [ --with-libgtop-guile Build the libgtop guile interface (default=no)],
dnl [build_guile="$withval"], [build_guile=yes])
dnl if test x$build_guile != xno ; then
dnl GNOME_CHECK_GUILE
dnl fi
AC_ARG_WITH(libgtop-inodedb,
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
[build_inodedb="$withval"], [build_inodedb=no])
@@ -99,28 +134,60 @@ fi
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
if test x$build_inodedb = xyes ; then
AC_DEFINE(GLIBTOP_INODEDB, 1,
[Define if the libgtop inodedb should be built])
AC_DEFINE(GLIBTOP_INODEDB)
fi
GLIB_REQUIRED=2.6.0
AC_DEFINE(GLIBTOP_NAMES)
if test x$ac_cv_guile_found = xyes ; then
AC_DEFINE(GLIBTOP_GUILE)
AC_DEFINE(GLIBTOP_GUILE_NAMES)
libgtop_guile_found=yes
guile_examples='third'
guile_static_examples='third_static'
guile_subdirs='guile'
else
libgtop_guile_found=no
guile_examples=
guile_static_examples=
guile_subdirs=
fi
if test x$libgtop_smp = xyes ; then
smp_examples='smp'
smp_static_examples='smp_static'
else
smp_examples=
smp_static_examples=
fi
if test "x$enable_static" != xno; then
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $guile_static_examples $smp_static_examples"
else
static_targets=""
fi
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
AC_SUBST(static_targets)
AC_SUBST(smp_examples)
AC_SUBST(guile_examples)
AC_SUBST(guile_subdirs)
AM_PROG_LIBTOOL
GLIB_REQUIRED=2.0.0
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no])
AC_MSG_CHECKING(for popt.h)
if test x$POPT = xyes ; then
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR([libgtop requires the popt development libraries])
fi
dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
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 You need to uncomment the following line if you want to use
dnl libGTop without Gnome.
GNOME_SUPPORT_CHECKS
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@@ -154,49 +221,33 @@ 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]))
AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the `vmgetinfo' function in libperfstat])
AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO))
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)
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 Some versions of Solaris require -lelf for -lkvm
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
])
dnl For DEC OSF1
AC_CHECK_LIB(mach, vm_statistics)
@@ -216,7 +267,7 @@ CFLAGS=$saved_CFLAGS
AC_CHECK_FUNC(socket,
[AC_CHECK_HEADER(netinet/in.h,
[AC_CHECK_HEADER(arpa/inet.h, [
AC_DEFINE(HAVE_SOCKETS, 1, [Define if BSD sockets are supported])
AC_DEFINE(HAVE_SOCKETS)
AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
AC_TRY_LINK([
#include <sys/types.h>
@@ -224,7 +275,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, 1, [Define if struct sockaddr_un has a sun_len member])],
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
[AC_MSG_RESULT(no)])])])])
dnl Checks for library functions.
@@ -234,15 +285,14 @@ AC_TYPE_SIGNAL
AC_FUNC_STRFTIME
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
IT_PROG_INTLTOOL([0.35.0])
dnl ## 'es_ES' is only needed for format numbers different of 'es'
ALL_LINGUAS="am ar az be bg bn ca cs cy da de el es es_ES et fa fi fr ga gl he hi hu id it ja ko lv mk ml mn ms nl nn no pl pt pt_BR ro ru sk sl sr sr@Latn sv tr uk vi zh_CN zh_TW"
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])
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
AM_GLIB_GNU_GETTEXT
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
AC_PATH_XTRA
@@ -269,7 +319,7 @@ 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])
AC_DEFINE(HAVE_XAUTH)
XE_SPACE(libs_xauth, $X_LIBS -lXau)
fi
CPPFLAGS="$saved_CPPFLAGS"
@@ -279,8 +329,26 @@ dnl For diskusage stuff
GNOME_FILEUTILS_CHECKS
dnl Debugging
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),)
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1, [Define to enable fatal warnings]),)
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
if test "x$gnome_found" = xyes ; then
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR"
else
LIBSUPPORT='$(top_builddir)/support/libgnomesupport-2.0.la'
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
fi
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS,
dnl we include it here.
case "$GNOME_LIBS" in
'*-lgnomesupport*' )
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR" ;;
esac
AC_SUBST(LIBSUPPORT)
AC_SUBST(SUPPORTINCS)
dnl These definitions are expanded in make.
LIBGTOP_LIBS='-L$(libdir)'
@@ -302,65 +370,62 @@ if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS"
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
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"
LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS"
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS"
LIBGTOP_BINDIR='$(bindir)'
LIBGTOP_SERVER='$(bindir)/libgtop_server2'
sysdeps_dir="$libgtop_sysdeps_dir"
AC_SUBST(sysdeps_dir)
if test x$ac_cv_guile_found = xyes ; then
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile-2.0"
libgtop_guile_found=yes
else
libgtop_guile_found=no
fi
AC_SUBST(libgtop_guile_found)
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_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names-2.0 -lgtop_names-2.0"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_NAMES_LIBS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
LIBGTOP_GUILE_INCS="$LIBGTOP_GUILE_INCS $GUILE_INCS -DGLIBTOP_GUILE"
LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES"
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_GUILE_NAMES"
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_NAMES"
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
AC_SUBST(machine_incs)
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"
if test x$libgtop_guile_found = xyes ; then
guile_def="-DGLIBTOP_GUILE -DGLIBTOP_GUILE_NAMES $GUILE_INCS "
else
guile_def=""
fi
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])
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
AC_SUBST(INCLUDES)
@@ -368,6 +433,12 @@ AC_SUBST(LIBGTOP_EXTRA_LIBS)
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_GUILE_LIBS)
AC_SUBST(LIBGTOP_GUILE_INCS)
AC_SUBST(LIBGTOP_GUILE_NAMES_LIBS)
AC_SUBST(LIBGTOP_GUILE_NAMES_INCS)
AC_SUBST(LIBGTOP_BINDIR)
AC_SUBST(LIBGTOP_SERVER)
@@ -381,7 +452,7 @@ fi
AC_SUBST(sysdeps_suid_lib)
AC_SUBST(server_programs)
AC_CONFIG_FILES([
AC_OUTPUT([
Makefile
libgtop.spec
po/Makefile.in
@@ -390,11 +461,15 @@ include/Makefile
include/glibtop/Makefile
sysdeps/Makefile
sysdeps/common/Makefile
sysdeps/names/Makefile
sysdeps/guile/Makefile
sysdeps/guile/names/Makefile
sysdeps/stub/Makefile
sysdeps/stub_suid/Makefile
sysdeps/sun4/Makefile
sysdeps/osf1/Makefile
sysdeps/linux/Makefile
sysdeps/kernel/Makefile
sysdeps/freebsd/Makefile
sysdeps/solaris/Makefile
sysdeps/aix/Makefile
@@ -404,8 +479,6 @@ src/inodedb/Makefile
lib/Makefile
examples/Makefile
doc/Makefile
support/Makefile
libgtop-2.0.pc
libgtopconfig.h
])
AC_OUTPUT

View File

@@ -1,9 +1,10 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 2.0.
This file is part of LibGTop 1.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,

View File

@@ -1,14 +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

View File

@@ -1,5 +0,0 @@
The Debian package of libgtop, a GNOME library.
--
Ian Lynagh <ian@lynagh.demon.co.uk>

View File

@@ -1,12 +0,0 @@
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.

View File

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

View File

@@ -1,2 +0,0 @@
@PREFIX@/lib/libgtop*-1.1.so.*.*
@PREFIX@/lib/libgtop*-1.1.so.*

View File

@@ -8,4 +8,3 @@ auto-macros.texi
version.texi
stamp-vti
*.html *.pdf
mdate-sh

View File

@@ -1,38 +1,3 @@
2006-02-21 Benoît Dejean <benoit@placenet.org>
* 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

View File

@@ -1,6 +1,45 @@
info_TEXINFOS = libgtop2.texi
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
version.texi main.texi white-paper.texi
auto-macros.texi version.texi main.texi \
white-paper.texi
AM_MAKEINFOFLAGS = -I $(libgtop_top_builddir)/doc
MAKEINFO = @MAKEINFO@ -I @libgtop_top_builddir@/doc
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)/libgtop-2.0#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

12
doc/auto-macros.texi.in Normal file
View File

@@ -0,0 +1,12 @@
@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,107 +0,0 @@
@node LibGTop Internals, , Reference Manual, Top
@chapter LibGTop Internals
@menu
* General Internals:: General Internals
* Sysdeps Internals:: Sysdeps Internals
@end menu
@node General Internals, Sysdeps Internals, LibGTop Internals, LibGTop Internals
@section General Internals
@menu
* glibtop:: The server structure
@end menu
@node glibtop, , General Internals, General Internals
@subsection The server structure - @code{glibtop}
@example
@cartouche
typedef struct _glibtop glibtop;
struct _glibtop
@{
unsigned flags;
unsigned method;
unsigned error_method;
#ifdef HAVE_GLIBTOP_MACHINE_H
glibtop_machine machine;
#endif
int input [2];
int output [2];
int socket;
int ncpu;
unsigned long os_version_code;
const char *name;
const char *server_command;
const char *server_host;
const char *server_user;
const char *server_rsh;
unsigned long features;
unsigned long server_port;
glibtop_sysdeps sysdeps;
glibtop_sysdeps required;
glibtop_sysdeps wanted;
pid_t pid;
@};
@end cartouche
@end example
@node Sysdeps Internals, , General Internals, LibGTop Internals
@section Sysdeps Internals
@menu
* glibtop_open_s:: Non-privileged initializations
* glibtop_close_s:: Non-privileged cleanups
@end menu
@node glibtop_open_s, glibtop_close_s, Sysdeps Internals, Sysdeps Internals
@subsection glibtop_open_s
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
initialize a server. It should do all initializations that do not need any
privileges.
@example
@cartouche
void
glibtop_open_s (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags);
@end cartouche
@end example
@table @code
@item server
Pointer to the @code{glibtop} server structure.
@item program_name
Name of the calling program; the implementation will usually
set @samp{server->name} to this so it'll be used as the program
name in error messages.
@end table
Typically, this function will set @code{server->name}, @code{server->ncpu} and
@code{server->os_version_code} and initialize any of the @code{server->machine}
fields which do not need any privileges.
It is normally implemented in @file{open.c} in the sysdeps directory.
@node glibtop_close_s, , glibtop_open_s, Sysdeps Internals
@subsection glibtop_close_s
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
clean-up a server when it's no longer used.
It must free all resources that were allocated in @code{glibtop_open_s}.
@example
@cartouche
void
glibtop_close_s (glibtop *server);
@end cartouche
@end example
It is normally implemented in @file{close.c} in the sysdeps directory, but may
be empty.

View File

@@ -5,6 +5,7 @@
@setchapternewpage odd
@c %**end of header
@include auto-macros.texi
@include version.texi
@ifinfo

View File

@@ -50,25 +50,24 @@ typedef struct _glibtop_cpu glibtop_cpu;
struct _glibtop_cpu
@{
guint64 flags,
u_int64_t 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
@@ -93,33 +92,25 @@ 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}, @code{idle},
@code{iowait}, @code{irq} and @code{softirq}
@code{total}, @code{user}, @code{nice}, @code{sys} and @code{idle}
except that they are arrays of @code{GLIBTOP_NCPU} (defined in
@file{<glibtop/cpu.h>}) elements and contain one value for each CPU
@file{<glibtop/limits.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
@@ -148,7 +139,7 @@ typedef struct _glibtop_mem glibtop_mem;
struct _glibtop_mem
@{
guint64 flags,
u_int64_t flags,
total,
used,
free,
@@ -216,7 +207,7 @@ typedef struct _glibtop_swap glibtop_swap;
struct _glibtop_swap
@{
guint64 flags,
u_int64_t flags,
total,
used,
free,
@@ -275,10 +266,10 @@ typedef struct _glibtop_uptime glibtop_uptime;
struct _glibtop_uptime
@{
guint64 flags;
u_int64_t flags;
double uptime,
idletime;
guint64 boot_time;
u_int64_t boot_time;
@};
@end cartouche
@end example
@@ -327,9 +318,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
struct _glibtop_loadavg
@{
guint64 flags;
u_int64_t flags;
double loadavg [3];
guint64 nr_running,
u_int64_t nr_running,
nr_tasks,
last_pid;
@};
@@ -368,11 +359,11 @@ Library function @code{glibtop_get_proclist}:
@cartouche
unsigned *
glibtop_get_proclist (glibtop_proclist *buf,
gint64 which, gint64 arg);
int64_t which, int64_t arg);
unsigned *
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
int64_t which, int64_t arg);
@end cartouche
@end example
@@ -404,7 +395,7 @@ typedef struct _glibtop_proclist glibtop_proclist;
struct _glibtop_proclist
@{
guint64 flags,
u_int64_t flags,
number,
total,
size;
@@ -473,8 +464,8 @@ Size of a single entry in the returned list
(this equals @code{sizeof (unsigned)}).
@end table
The returned list is allocated using @code{g_malloc} and must be freed
using @code{g_free} to avoid a memory leak.
The returned list is allocated using @code{glibtop_malloc} and must be freed
using @code{glibtop_free} to avoid a memory leak.
@page
@node glibtop_proc_state, glibtop_proc_uid, glibtop_proclist, System Dependent
@@ -493,7 +484,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/procstate.h>}:
Declaration of @code{glibtop_proc_state} in @file{<glibtop/proc_state.h>}:
@example
@cartouche
@@ -501,7 +492,7 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
struct _glibtop_proc_state
@{
guint64 flags;
u_int64_t flags;
char cmd[40];
@ifset LIBGTOP-1-1
unsigned state;
@@ -581,7 +572,6 @@ 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
@@ -628,7 +618,7 @@ typedef struct _glibtop_proc_uid glibtop_proc_uid;
struct _glibtop_proc_uid
@{
guint64 flags;
u_int64_t flags;
int uid,
euid,
gid,
@@ -680,7 +670,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/procuid.h>}).
(@code{GLIBTOP_MAX_GROUPS} is defined in @file{<glibtop/limits.h>}).
@end table
@page
@@ -708,7 +698,7 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
struct _glibtop_proc_mem
@{
guint64 flags,
u_int64_t flags,
size,
vsize,
resident,
@@ -727,7 +717,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.
@@ -823,7 +813,7 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
struct _glibtop_proc_time
@{
guint64 flags,
u_int64_t flags,
start_time,
rtime,
utime,
@@ -840,7 +830,6 @@ struct _glibtop_proc_time
@end cartouche
@end example
@table @code
@item start_time
Start time of process in seconds since the epoch
@@ -867,18 +856,6 @@ 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
@@ -904,7 +881,7 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
struct _glibtop_proc_signal
@{
guint64 flags,
u_int64_t flags,
signal [2],
blocked [2],
sigignore [2],
@@ -925,7 +902,7 @@ Mask of caught signals
@end table
All signal masks are interpreted as bit mask; it is an array of two
@code{guint64}'s so we can save 128 signals there.
@code{u_int64_t}'s so we can save 128 signals there.
@page
@node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent
@@ -952,8 +929,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
struct _glibtop_proc_kernel
@{
guint64 flags;
guint64 k_flags,
u_int64_t flags;
u_int64_t k_flags,
min_flt,
maj_flt,
cmin_flt,
@@ -1052,7 +1029,7 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
struct _glibtop_proc_segment
@{
guint64 flags,
u_int64_t flags,
text_rss,
shlib_rss,
data_rss,
@@ -1060,7 +1037,16 @@ struct _glibtop_proc_segment
dirty_size,
start_code,
end_code,
start_stack;
start_data,
end_data,
start_brk,
end_brk,
start_stack,
start_mmap,
arg_start,
arg_end,
env_start,
env_end;
@};
@end cartouche
@end example
@@ -1093,7 +1079,7 @@ Library function @code{glibtop_get_proc_args}:
@example
@cartouche
char *
glibtop_get_proc_args(glibtop_proc_args *buf, pid_t pid,
glibtop_get_proc_args_l (glibtop_proc_args *buf, pid_t pid,
unsigned max_len);
char *
@@ -1110,7 +1096,7 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
struct _glibtop_proc_args
@{
guint64 flags,
u_int64_t flags,
size;
@};
@end cartouche
@@ -1122,31 +1108,7 @@ 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{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.
Remember to @code{glibtop_free} the returned string to avoid a memory leak.
@page
@node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent
@@ -1173,7 +1135,7 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
struct _glibtop_proc_map
@{
guint64 flags,
u_int64_t flags,
number,
total,
size;
@@ -1182,7 +1144,7 @@ struct _glibtop_proc_map
@end example
Returns a @code{glibtop_map_entry *} list (which needs to be freed with
@code{g_free}) of memory maps of process @code{pid}.
@code{glibtop_free}) of memory maps of process @code{pid}.
@table @code
@item number
@@ -1202,7 +1164,7 @@ typedef struct _glibtop_map_entry glibtop_map_entry;
struct _glibtop_map_entry
@{
guint64 flags, start, end, offset, perm, inode, device;
u_int64_t flags, start, end, offset, perm, inode, device;
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
@};
@end cartouche
@@ -1213,13 +1175,13 @@ fields are valid:
@example
@cartouche
#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
#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
@end cartouche
@end example
@@ -1260,7 +1222,7 @@ typedef struct _glibtop_netload glibtop_netload;
struct _glibtop_netload
@{
guint64 flags,
u_int64_t flags,
if_flags,
mtu,
subnet,
@@ -1367,7 +1329,7 @@ typedef struct _glibtop_ppp glibtop_ppp;
struct _glibtop_ppp
@{
guint64 flags,
u_int64_t flags,
state,
bytes_in,
bytes_out;
@@ -1447,7 +1409,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
struct _glibtop_mountlist
@{
guint64 flags,
u_int64_t flags,
number,
total,
size;
@@ -1456,7 +1418,7 @@ struct _glibtop_mountlist
@end example
Returns a @code{glibtop_mountentry *} list (which needs to be freed with
@code{g_free}) of mounted filesystems.
@code{glibtop_free}) of mounted filesystems.
@table @code
@item number
@@ -1476,7 +1438,7 @@ typedef struct _glibtop_mountentry glibtop_mountentry;
struct _glibtop_mountentry
@{
guint64 dev;
u_int64_t dev;
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
char type [GLIBTOP_MOUNTENTRY_LEN+1];
@@ -1484,7 +1446,13 @@ struct _glibtop_mountentry
@end cartouche
@end example
@code{GLIBTOP_MOUNTENTRY_LEN} is defined in @file{<glibtop.h>}.
@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
@table @code
@item devname
@@ -1520,15 +1488,12 @@ typedef struct _glibtop_fsusage glibtop_fsusage;
struct _glibtop_fsusage
@{
guint64 flags,
u_int64_t flags,
blocks,
bfree,
bavail,
files,
ffree;
guint32 block_size;
guint64 read,
write;
@};
@end cartouche
@end example
@@ -1544,14 +1509,10 @@ 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, , Common Functions, Reference Manual
@section Library Functions
@@ -1678,7 +1639,7 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
struct _glibtop_sysdeps
@{
guint64 flags,
u_int64_t flags,
features,
pointer_size,
cpu,

View File

@@ -14,14 +14,3 @@ second_linux
smp_static sysdeps_static netload_static procmap_static mountlist_static
smp sysdeps netload procmap mountlist
timings timings_static
pprint
pprint_static
procargs
procargs_static
proclist
df
df_static
netlist
netlist_static
openfiles
openfiles_static

View File

@@ -1,144 +1,3 @@
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.
@@ -159,7 +18,7 @@ i2004-09-25 Benoît Dejean <tazforever@dlfp.org>
Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
* timings.c: Added timersub defenition, to make code compilable on
* timings.c: Added timersub defenition, to make code compilable on
BSDI.
1999-03-24 Martin Baulig <martin@home-of-linux.org>
@@ -225,11 +84,11 @@ Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
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.

View File

@@ -6,48 +6,116 @@ INCLUDES = @INCLUDES@
DEFS = @DEFS@
noinst_PROGRAMS = first second pprint procargs df netlist \
# We install it in `libexec' since this will make it more easy
# to put the examples into an extra RPM package.
libgtopdir = $(libexecdir)/libgtop
libgtop_PROGRAMS = first second\
mountlist procmap netload sysdeps timings \
openfiles smp proclist
@static_targets@ @guile_examples@ @smp_examples@
EXTRA_PROGRAMS = first_static second_static \
mountlist_static procmap_static \
third third_static smp smp_static \
netload_static sysdeps_static \
timings_static
first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
first_static_SOURCES = $(first_SOURCES)
first_static_LDADD = $(first_LDADD)
first_static_LDFLAGS = -static
second_SOURCES = second.c
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
second_static_SOURCES = $(second_SOURCES)
second_static_LDADD = $(second_LDADD)
second_static_LDFLAGS = -static
procmap_SOURCES = procmap.c
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
procmap_static_SOURCES = $(procmap_SOURCES)
procmap_static_LDADD = $(procmap_LDADD)
procmap_static_LDFLAGS = -static
netload_SOURCES = netload.c
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
netload_static_SOURCES = $(netload_SOURCES)
netload_static_LDADD = $(netload_LDADD)
netload_static_LDFLAGS = -static
sysdeps_SOURCES = sysdeps.c
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
sysdeps_static_SOURCES = $(sysdeps_SOURCES)
sysdeps_static_LDADD = $(sysdeps_LDADD)
sysdeps_static_LDFLAGS = -static
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names-2.0.la
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la
third_SOURCES = third.c
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile-2.0.la \
$(third_guile_names_LIBS) $(third_names_LIBS) \
$(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@GUILE_LIBS@ @LIBSUPPORT@ @INTLLIBS@
third_static_SOURCES = $(third_SOURCES)
third_static_LDADD = $(third_LDADD)
third_static_LDFLAGS = -static
mountlist_SOURCES = mountlist.c
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
mountlist_static_SOURCES= $(mountlist_SOURCES)
mountlist_static_LDADD = $(mountlist_LDADD)
mountlist_static_LDFLAGS= -static
smp_SOURCES = smp.c
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
smp_static_SOURCES = $(smp_SOURCES)
smp_static_LDADD = $(smp_LDADD)
smp_static_LDFLAGS = -static
timings_SOURCES = timings.c
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
pprint_SOURCES = pprint.c
pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
timings_static_SOURCES = $(timings_SOURCES)
timings_static_LDADD = $(timings_LDADD)
timings_static_LDFLAGS = -static
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

View File

@@ -1,51 +0,0 @@
#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;
}

View File

@@ -21,17 +21,12 @@
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/xmalloc.h>
#include <glibtop/parameter.h>
@@ -59,7 +54,7 @@ main (int argc, char *argv [])
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));
@@ -139,7 +134,7 @@ main (int argc, char *argv [])
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,
@@ -163,7 +158,7 @@ main (int argc, char *argv [])
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,
@@ -221,7 +216,7 @@ main (int argc, char *argv [])
(unsigned long) sysdeps.ppp);
printf ("\n");
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
@@ -237,7 +232,7 @@ main (int argc, char *argv [])
printf ("\n");
}
g_free (ptr);
glibtop_free (ptr);
pid = getpid ();
ppid = getppid ();
@@ -312,7 +307,7 @@ main (int argc, char *argv [])
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,
@@ -351,7 +346,7 @@ main (int argc, char *argv [])
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
glibtop_free (args);
printf ("\n");
@@ -461,7 +456,7 @@ main (int argc, char *argv [])
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
glibtop_free (args);
printf ("\n");
@@ -572,7 +567,7 @@ main (int argc, char *argv [])
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
glibtop_free (args);
glibtop_close ();

View File

@@ -21,17 +21,12 @@
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/xmalloc.h>
#include <glibtop/parameter.h>
@@ -54,11 +49,11 @@ main (int argc, char *argv [])
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);
@@ -78,7 +73,7 @@ main (int argc, char *argv [])
for (c = 0; c < PROFILE_COUNT; c++) {
mount_entries = glibtop_get_mountlist (&mount_list, 1);
g_free (mount_entries);
glibtop_free (mount_entries);
}
printf ("sbrk (0) = %p\n\n", sbrk (0));
@@ -94,21 +89,21 @@ main (int argc, char *argv [])
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");
printf ("\n\n%-23s %9s %9s %9s %9s %9s\n\n",
"", "Blocks", "Free", "Avail", "Files", "Free");
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",
printf ("Usage: %-16s %9Lu %9Lu %9Lu %9Lu %9Lu\n",
mount_entries [index].mountdir,
fsusage.blocks, fsusage.bfree,
fsusage.bavail, fsusage.files,
fsusage.ffree, fsusage.block_size);
fsusage.ffree);
}
g_free (mount_entries);
glibtop_free (mount_entries);
printf ("\nsbrk (0) = %p\n\n", sbrk (0));

View File

@@ -1,50 +0,0 @@
/* 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;
}

View File

@@ -21,17 +21,12 @@
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/xmalloc.h>
#include <glibtop/parameter.h>
@@ -44,24 +39,6 @@
#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 [])
{
@@ -69,8 +46,6 @@ main (int argc, char *argv [])
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;
@@ -78,7 +53,7 @@ main (int argc, char *argv [])
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));
@@ -100,63 +75,49 @@ main (int argc, char *argv [])
glibtop_init_r (&glibtop_global_server, 0, 0);
if (argc != 2)
g_error ("Usage: %s interface", argv [0]);
glibtop_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));
address_string = glibtop_strdup (inet_ntoa (addr));
subnet_string = glibtop_strdup (inet_ntoa (subnet));
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
printf ("Network Load (0x%08lx):\n\n"
"\tInterface Flags:\t0x%08lx\n"
"\tAddress:\t\t0x%08lx - %s\n"
"\tSubnet:\t\t\t0x%08lx - %s\n\n"
"\tMTU:\t\t\t%ld\n"
"\tCollisions:\t\t%ld\n\n"
"\tPackets In:\t\t%ld\n"
"\tPackets Out:\t\t%ld\n"
"\tPackets Total:\t\t%ld\n\n"
"\tBytes In:\t\t%ld\n"
"\tBytes Out:\t\t%ld\n"
"\tBytes Total:\t\t%ld\n\n"
"\tErrors In:\t\t%ld\n"
"\tErrors Out:\t\t%ld\n"
"\tErrors Total:\t\t%ld\n\n",
(unsigned long) netload.flags,
(unsigned long) netload.if_flags,
(unsigned long) netload.address, address_string,
(unsigned long) netload.subnet, subnet_string,
(unsigned long) netload.mtu,
(unsigned long) netload.collisions,
(unsigned long) netload.packets_in,
(unsigned long) netload.packets_out,
(unsigned long) netload.packets_total,
(unsigned long) netload.bytes_in,
(unsigned long) netload.bytes_out,
(unsigned long) netload.bytes_total,
(unsigned long) netload.errors_in,
(unsigned long) netload.errors_out,
(unsigned long) netload.errors_total);
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_free (address_string);
glibtop_free (subnet_string);
glibtop_close ();

View File

@@ -1,68 +0,0 @@
#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;
}

View File

@@ -1,324 +0,0 @@
#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;
}

View File

@@ -1,51 +0,0 @@
#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;
}

View File

@@ -1,43 +0,0 @@
#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;
}

View File

@@ -21,17 +21,12 @@
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/xmalloc.h>
#include <glibtop/parameter.h>
@@ -65,7 +60,7 @@ main (int argc, char *argv [])
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));
@@ -87,7 +82,7 @@ main (int argc, char *argv [])
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]);
glibtop_error ("Usage: %s pid", argv [0]);
#ifdef GLIBTOP_INODEDB
inodedb = glibtop_inodedb_open (0, 0);
@@ -101,7 +96,7 @@ main (int argc, char *argv [])
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;
@@ -157,23 +152,11 @@ main (int argc, char *argv [])
perm);
}
g_print("smaps flags:%#llx size:%llu rss:%llu "
"shared_clean:%llu shared_dirty:%llu "
"private_clean:%llu private_dirty: %llu\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);
glibtop_free (filename);
}
g_free (maps);
glibtop_free (maps);
glibtop_close ();

View File

@@ -21,18 +21,13 @@
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/xmalloc.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
@@ -50,11 +45,11 @@ output (pid_t pid)
double b_total, b_utime, b_stime;
double s_total, s_utime, s_stime;
double my_utime, my_stime;
unsigned int ncpu;
int ncpu;
#endif
printf ("\n");
glibtop_get_proc_state (&data.proc_state, pid);
printf ("Proc_State PID %5d (0x%08lx): "
@@ -63,9 +58,9 @@ output (pid_t pid)
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,
@@ -77,7 +72,7 @@ output (pid_t pid)
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,
@@ -87,7 +82,7 @@ output (pid_t pid)
(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): "
@@ -103,7 +98,7 @@ output (pid_t pid)
(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,
@@ -118,7 +113,7 @@ output (pid_t pid)
(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,
@@ -156,7 +151,7 @@ output (pid_t pid)
(unsigned long) data.proc_args.size,
args ? args : "");
g_free (args);
glibtop_free (args);
printf ("\n");
@@ -164,7 +159,7 @@ output (pid_t pid)
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;
@@ -246,7 +241,7 @@ main (int argc, char *argv [])
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init ();
glibtop_get_sysdeps (&sysdeps);
@@ -292,11 +287,11 @@ main (int argc, char *argv [])
for (i = 0; i < proclist.number; i++) {
pid = ptr [i];
output (pid);
}
g_free (ptr);
glibtop_free (ptr);
exit (0);
}

View File

@@ -21,15 +21,12 @@
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>
#include <glibtop/xmalloc.h>
int
main (int argc, char *argv [])
@@ -42,6 +39,10 @@ main (int argc, char *argv [])
char separator [BUFSIZ], buffer [BUFSIZ];
int ncpu, i;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init();
glibtop_get_cpu (&cpu);
@@ -67,16 +68,16 @@ main (int argc, char *argv [])
memset (separator, '-', 91);
separator [92] = '\0';
sprintf (buffer, "Ticks (%ld per second):", frequency);
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);
_("Total"), _("User"), _("Nice"), _("Sys"), _("Idle"), separator);
printf ("CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n",
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,
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],
@@ -93,11 +94,11 @@ main (int argc, char *argv [])
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",
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,
@@ -113,13 +114,13 @@ main (int argc, char *argv [])
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",
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,
_("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);

View File

@@ -21,18 +21,12 @@
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/xmalloc.h>
#include <glibtop/parameter.h>
@@ -52,7 +46,7 @@ main (int argc, char *argv [])
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));
@@ -75,7 +69,7 @@ main (int argc, char *argv [])
glibtop_get_sysdeps (&sysdeps);
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0)
printf ("Sysdeps (0x%08lx):\n\n"
"\tfeatures:\t\t0x%08lx\n\n"

57
examples/third.c Normal file
View File

@@ -0,0 +1,57 @@
/* $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 <locale.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
void main_prog(int argc, char *argv[]);
int
main (int argc, char *argv[])
{
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
gh_enter (argc, argv, main_prog);
exit (0);
}
void
main_prog (int argc, char *argv[])
{
glibtop_boot_guile ();
#ifdef GLIBTOP_GUILE_NAMES
glibtop_boot_guile_names ();
#endif
gh_repl (argc, argv);
}

View File

@@ -21,17 +21,12 @@
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/xmalloc.h>
#include <glibtop/parameter.h>
@@ -91,7 +86,7 @@ main (int argc, char *argv [])
"Feature", "Flags", "Count", "utime", "stime");
printf ("-------------------------------------------"
"---------------\n");
glibtop_init_r (&glibtop_global_server, 0, 0);
getrusage (RUSAGE_SELF, &total_start);
@@ -192,7 +187,7 @@ main (int argc, char *argv [])
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
g_free (ptr);
glibtop_free (ptr);
}
getrusage (RUSAGE_SELF, &rusage_end);
@@ -307,7 +302,7 @@ main (int argc, char *argv [])
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,
@@ -338,7 +333,7 @@ main (int argc, char *argv [])
(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,

View File

@@ -1,4 +1,4 @@
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|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[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)
@@ -16,10 +16,7 @@ void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_e
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)

View File

@@ -24,33 +24,10 @@
#ifndef __GLIBTOP_H__
#define __GLIBTOP_H__
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>
#include <glibtop/types.h>
#ifdef HAVE_GLIBTOP_MACHINE_H
#include <glibtop_machine.h>
@@ -60,11 +37,10 @@ LIBGTOP_MICRO_VERSION >= (micro)))
#define GLIBTOP_MOUNTENTRY_LEN 79
#endif
typedef struct _glibtop glibtop;
#include <glibtop/sysdeps.h>
#include <glibtop/close.h>
struct _glibtop
{
unsigned flags;
@@ -77,7 +53,6 @@ struct _glibtop
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 */
@@ -95,8 +70,9 @@ extern glibtop *glibtop_global_server;
extern const unsigned long glibtop_server_features;
glibtop *
glibtop_init (void);
#define glibtop_init() glibtop_init_r(&glibtop_global_server, 0, 0);
#define glibtop_close() glibtop_close_r(glibtop_global_server);
glibtop *
glibtop_init_r (glibtop **server_ptr,
@@ -108,4 +84,24 @@ glibtop_init_s (glibtop **server_ptr,
unsigned long features,
unsigned flags);
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
void glibtop_boot_guile (void);
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
void glibtop_boot_guile_names (void);
#ifndef GLIBTOP_NAMES
#define GLIBTOP_NAMES
#endif
#endif
#endif

View File

@@ -3,11 +3,8 @@ glibtopdir = $(includedir)/libgtop-2.0/glibtop
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
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 \
procmem.h procuid.h swap.h write.h error.h open.h \
procsegment.h read.h sysdeps.h xmalloc.h global.h \
procsignal.h read_data.h union.h types.h gnuserv.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
netlist.h procopenfiles.h open.h
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h
inodedb.h sysinfo.h ppp.h procargs.h netload.h

View File

@@ -1,116 +0,0 @@
#!/usr/bin/perl
require 'c_types.pl';
die "Usage: $0 features.def call-vector.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 $_;
}
$func_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;
if ($retval eq 'retval') {
$retval_param = '&retval';
$retval = 'int';
}
elsif ($retval !~ /^void$/) {
$retval_param = 'NULL';
}
else {
$retval_param = 'NULL';
}
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
}
$param_decl = '';
$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];
$param_decl = $param_decl . ', ';
$param_decl = $param_decl . $c_type;
}
}
if ($line_fields[3] eq '') {
$func_decl_code .= sprintf
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *%s);\n], $retval, $feature, $param_decl);
} elsif ($line_fields[3] eq 'array') {
$func_decl_code .= sprintf
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *%s);\n], $retval, $feature, $param_decl);
} elsif ($line_fields[3] =~ /^array/) {
$func_decl_code .= sprintf
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
} else {
$func_decl_code .= sprintf
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
}
}
chop $func_decl_code;
$auto_gen_comment = sprintf
(qq[/*\n * This file is automatically generated.\n * Please modify `call-vector.pl' and `call-vector.h.in'.\n */]);
open CALLVECTOR, $ARGV[2] or
die "open ($ARGV[2]): $!";
while (<CALLVECTOR>) {
chop;
s/^\s*\@\@GLIBTOP_CALL_VECTOR\@\@\s*$/$func_decl_code/;
s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/;
} continue {
print $_;
}
close CALLVECTOR;

View File

@@ -26,15 +26,13 @@
#include <glibtop.h>
G_BEGIN_DECLS
void glibtop_close (void);
BEGIN_LIBGTOP_DECLS
void glibtop_close_r (glibtop *server);
void glibtop_close_s (glibtop *server);
void glibtop_close_p (glibtop *server);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -28,7 +28,7 @@
#include <glibtop/sysdeps.h>
#include <glibtop/union.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_CMND_QUIT 0
#define GLIBTOP_CMND_SYSDEPS 1
@@ -57,10 +57,8 @@ G_BEGIN_DECLS
#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_MAX_CMND 26
#define GLIBTOP_MAX_CMND 24
#define _GLIBTOP_PARAM_SIZE 16
@@ -71,8 +69,8 @@ typedef union _glibtop_response_union glibtop_response_union;
struct _glibtop_command
{
guint64 command;
guint64 size, data_size;
u_int64_t command;
u_int64_t size, data_size;
char parameter [_GLIBTOP_PARAM_SIZE];
};
@@ -84,8 +82,8 @@ union _glibtop_response_union
struct _glibtop_response
{
gint64 offset;
guint64 size, data_size;
int64_t offset;
u_int64_t size, data_size;
glibtop_response_union u;
};
@@ -99,6 +97,6 @@ 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
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_CPU_TOTAL 0
#define GLIBTOP_CPU_USER 1
@@ -41,49 +41,31 @@ G_BEGIN_DECLS
#define GLIBTOP_XCPU_NICE 8
#define GLIBTOP_XCPU_SYS 9
#define GLIBTOP_XCPU_IDLE 10
#define GLIBTOP_XCPU_FLAGS 11
#define GLIBTOP_CPU_IOWAIT 12
#define GLIBTOP_CPU_IRQ 13
#define GLIBTOP_CPU_SOFTIRQ 14
#define GLIBTOP_XCPU_IOWAIT 15
#define GLIBTOP_XCPU_IRQ 16
#define GLIBTOP_XCPU_SOFTIRQ 17
#define GLIBTOP_MAX_CPU 11
#define GLIBTOP_MAX_CPU 18
/* Nobody should really be using more than 4 processors.
Yes we are :)
Nobody should really be using more than 32 processors.
*/
#define GLIBTOP_NCPU 32
/* Nobody should really be using more than 4 processors. */
#define GLIBTOP_NCPU 4
typedef struct _glibtop_cpu glibtop_cpu;
struct _glibtop_cpu
{
guint64 flags;
guint64 total; /* GLIBTOP_CPU_TOTAL */
guint64 user; /* GLIBTOP_CPU_USER */
guint64 nice; /* GLIBTOP_CPU_NICE */
guint64 sys; /* GLIBTOP_CPU_SYS */
guint64 idle; /* GLIBTOP_CPU_IDLE */
guint64 iowait; /* GLIBTOP_CPU_IOWAIT */
guint64 irq; /* GLIBTOP_CPU_IRQ */
guint64 softirq; /* GLIBTOP_CPU_SOFTIRQ */
guint64 frequency; /* GLIBTOP_CPU_FREQUENCY */
guint64 xcpu_total [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_TOTAL */
guint64 xcpu_user [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_USER */
guint64 xcpu_nice [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_NICE */
guint64 xcpu_sys [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_SYS */
guint64 xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
guint64 xcpu_iowait [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IOWAIT */
guint64 xcpu_irq [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IRQ */
guint64 xcpu_softirq [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_SOFTIRQ */
guint64 xcpu_flags; /* GLIBTOP_XCPU_IDLE */
u_int64_t flags,
total, /* GLIBTOP_CPU_TOTAL */
user, /* GLIBTOP_CPU_USER */
nice, /* GLIBTOP_CPU_NICE */
sys, /* GLIBTOP_CPU_SYS */
idle, /* GLIBTOP_CPU_IDLE */
frequency, /* GLIBTOP_CPU_FREQUENCY */
xcpu_total [GLIBTOP_NCPU], /* GLIBTOP_XCPU_TOTAL */
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
};
void glibtop_get_cpu(glibtop_cpu *buf);
#define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu)
#if GLIBTOP_SUID_CPU
#define glibtop_get_cpu_r glibtop_get_cpu_p
@@ -101,7 +83,17 @@ void glibtop_init_cpu_s (glibtop *server);
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_cpu [];
extern const unsigned glibtop_types_cpu [];
extern const char *glibtop_labels_cpu [];
extern const char *glibtop_descriptions_cpu [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -21,33 +21,116 @@
Boston, MA 02111-1307, USA.
*/
/*
* This is private API
*/
#ifndef __GLIBTOP_ERROR_H__
#define __GLIBTOP_ERROR_H__
#include <glibtop.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
void glibtop_warn_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL;
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL;
#ifndef G_GNUC_UNUSED
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
#define G_GNUC_UNUSED \
__attribute__((unused))
#else /* !__GNUC__ */
#define G_GNUC_UNUSED
#endif /* !__GNUC__ */
#endif /* defined G_GNUC_UNUSED */
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
void glibtop_error_vr (glibtop *server, char *format, va_list args);
void glibtop_warn_vr (glibtop *server, char *format, va_list args);
void glibtop_error (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
void glibtop_warn (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
void glibtop_error_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
void glibtop_warn_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
void glibtop_error_io_vr (glibtop *server, char *format, int, va_list args);
void glibtop_warn_io_vr (glibtop *server, char *format, int, va_list args);
G_END_DECLS
static void G_GNUC_UNUSED
glibtop_error_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (server, format, args);
va_end (args);
}
static void G_GNUC_UNUSED
glibtop_warn_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (server, format, args);
va_end (args);
}
static void G_GNUC_UNUSED
glibtop_error_io_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (server, format, errno, args);
va_end (args);
}
static void G_GNUC_UNUSED
glibtop_warn_io_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (server, format, errno, args);
va_end (args);
}
#ifdef __GNUC__
#define glibtop_error(p1, args...) glibtop_error_r(glibtop_global_server , p1 , ## args)
#define glibtop_warn(p1, args...) glibtop_warn_r(glibtop_global_server , p1 , ## args)
#define glibtop_error_io(p1, args...) glibtop_error_io_r(glibtop_global_server , p1 , ## args)
#define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args)
#else /* no __GNUC__ */
static void
glibtop_error (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (glibtop_global_server, format, args);
va_end (args);
}
static void
glibtop_warn (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (glibtop_global_server, format, args);
va_end (args);
}
static void
glibtop_error_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
static void
glibtop_warn_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
#endif /* no __GNUC__ */
END_LIBGTOP_DECLS
#endif

View File

@@ -1,6 +1,7 @@
/* $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.
@@ -26,41 +27,46 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_FSUSAGE_BLOCKS 0
#define GLIBTOP_FSUSAGE_BFREE 1
#define GLIBTOP_FSUSAGE_BAVAIL 2
#define GLIBTOP_FSUSAGE_FILES 3
#define GLIBTOP_FSUSAGE_FFREE 4
#define GLIBTOP_FSUSAGE_BLOCK_SIZE 5
#define GLIBTOP_FSUSAGE_READ 6
#define GLIBTOP_FSUSAGE_WRITE 7
#define GLIBTOP_MAX_FSUSAGE 8
#define GLIBTOP_MAX_FSUSAGE 5
typedef struct _glibtop_fsusage glibtop_fsusage;
struct _glibtop_fsusage
{
guint64 flags;
guint64 blocks; /* Total number of blocks. */
guint64 bfree; /* Free blocks available to superuser. */
guint64 bavail; /* Free blocks available to non-superuser. */
guint64 files; /* Total file nodes. */
guint64 ffree; /* Free file nodes. */
guint32 block_size; /* Size of a block in bytes. */
guint64 read, write; /* Total blocks read and written */
u_int64_t flags,
blocks, /* Total blocks. */
bfree, /* Free blocks available to superuser. */
bavail, /* Free blocks available to non-superuser. */
files, /* Total file nodes. */
ffree; /* Free file nodes. */
};
void glibtop_get_fsusage(glibtop_fsusage *buf, const char *mount_dir);
#define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk)
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_fsusage [];
extern const unsigned glibtop_types_fsusage [];
extern const char *glibtop_labels_fsusage [];
extern const char *glibtop_descriptions_fsusage [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -1,70 +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 2.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_SERVER_H__
#define __GLIBTOP_SERVER_H__
#include <glibtop/global.h>
#include <glibtop/sysdeps.h>
G_BEGIN_DECLS
typedef struct _glibtop_server glibtop_server;
typedef struct _glibtop_server_info glibtop_server_info;
typedef struct _glibtop_closure glibtop_closure;
struct _glibtop_server_info
{
int ncpu; /* Number of CPUs, zero if single-processor */
unsigned long features; /* Server is required for this features */
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
glibtop_sysdeps wanted; /* We only want this features */
};
struct _glibtop_server
{
glibtop_server_info *info;
int refcount;
unsigned flags;
const char *name;
void *_priv;
};
glibtop_server *
glibtop_server_new (void);
void
glibtop_server_ref (glibtop_server *server);
void
glibtop_server_unref (glibtop_server *server);
G_END_DECLS
#endif

View File

@@ -24,10 +24,43 @@
#ifndef __GLIBTOP_GLOBAL_H__
#define __GLIBTOP_GLOBAL_H__
#include <glib.h>
#ifdef _IN_LIBGTOP
#include <config.h>
#endif
/*
* All declarations are enclosed in BEGIN_LIBGTOP_DECLS and
* END_LIBGTOP_DECLS so that C++ compilers don't mangle their names.
*
*/
#undef BEGIN_LIBGTOP_DECLS
#undef END_LIBGTOP_DECLS
#ifdef __cplusplus
# define BEGIN_LIBGTOP_DECLS extern "C" {
# define END_LIBGTOP_DECLS }
#else
# define BEGIN_LIBGTOP_DECLS /* empty */
# define END_LIBGTOP_DECLS /* empty */
#endif
#ifdef _IN_LIBGTOP
/* Provide macros to feature the GCC function attribute.
*/
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
#define G_GNUC_NORETURN \
__attribute__((noreturn))
#define G_GNUC_CONST \
__attribute__((const))
#define G_GNUC_UNUSED \
__attribute__((unused))
#else /* !__GNUC__ */
#define G_GNUC_NORETURN
#define G_GNUC_CONST
#define G_GNUC_UNUSED
#endif /* !__GNUC__ */
#endif /* _IN_LIBGTOP */
#if TIME_WITH_SYS_TIME
@@ -41,6 +74,27 @@
# endif
#endif
#ifdef NEED_GNOMESUPPORT_H
#include <gnomesupport.h>
#endif
#ifdef WITHOUT_GUILE
#undef GLIBTOP_GUILE
#undef GLIBTOP_GUILE_NAMES
#endif
#ifdef GLIBTOP_GUILE
#include <guile/gh.h>
#endif
#ifdef _IN_LIBGTOP
#if (defined HAVE_LIBINTL_H) || (defined HAVE_GETTEXT)
#include <libintl.h>
#else
#include <libgettext.h>
#endif
#endif
#include <stdio.h>
#include <stdlib.h>
@@ -70,13 +124,18 @@
#ifdef _IN_LIBGTOP
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#ifndef _
#define _(String) dgettext (PACKAGE, String)
#define N_(String) (String)
#endif
#ifndef HAVE_STRERROR
char *strerror (int errno);
#endif
G_END_DECLS
END_LIBGTOP_DECLS
#endif /* _IN_LIBGTOP */

View File

@@ -9,15 +9,15 @@
Copyright (C) 1989 Free Software Foundation, Inc.
Author: Andy Norman (ange@hplb.hpl.hp.com), based on
Author: Andy Norman (ange@hplb.hpl.hp.com), based on
'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU
Emacs distribution.
Please mail bugs and suggestions to the author at the above address.
*/
/* HISTORY
* 11-Nov-1990 bristor@simba
/* HISTORY
* 11-Nov-1990 bristor@simba
* Added EOT stuff.
*/
@@ -42,6 +42,7 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
/* gnuserv should not be compiled using SOCKS */
#define DO_NOT_SOCKSIFY
#include <glibtop.h>
#include <glibtop/error.h>
#undef read
#undef write
#undef open
@@ -75,7 +76,7 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
*/
#if 0
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
#endif
#define MCOOKIE_NAME "MAGIC-1" /* authentication protocol name */
#define MCOOKIE_X_NAME "MIT-MAGIC-COOKIE-1" /* as needed by X */
@@ -105,7 +106,7 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
* since it limits the size of requests and responses. Don't make it bigger
* than your system's max message size though (usually a couple of k) or else
* msgsend will start failing. For sockets, using the system BUFSIZ is usually
* what you want.
* what you want.
*/
#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)

View File

@@ -1,11 +0,0 @@
#ifndef H_LIBGTOP_INIT_HOOKS_1122955666
#define H_LIBGTOP_INIT_HOOKS_1122955666
#include <glibtop.h>
typedef void (*glibtop_init_func_t)(glibtop *);
extern const glibtop_init_func_t _glibtop_init_hook_s[];
extern const glibtop_init_func_t _glibtop_init_hook_p[];
#endif /* H_LIBGTOP_INIT_HOOKS_1122955666 */

View File

@@ -31,7 +31,7 @@
#define GLIBTOP_INODEDB_ALL 7
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
typedef struct _glibtop_inodedb glibtop_inodedb;
@@ -39,7 +39,7 @@ typedef struct _glibtop_inodedb_key glibtop_inodedb_key;
struct _glibtop_inodedb_key
{
guint64 device, inode;
u_int64_t device, inode;
};
struct _glibtop_inodedb
@@ -57,11 +57,11 @@ glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache
const char *
glibtop_inodedb_lookup_s (glibtop *server,
glibtop_inodedb *inodedb,
guint64 device, guint64 inode);
u_int64_t device, u_int64_t inode);
void
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_LOADAVG_LOADAVG 0
#define GLIBTOP_LOADAVG_NR_RUNNING 1
@@ -40,14 +40,14 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
struct _glibtop_loadavg
{
guint64 flags;
u_int64_t flags;
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
guint64 nr_running; /* GLIBTOP_LOADAVG_NR_RUNNING */
guint64 nr_tasks; /* GLIBTOP_LOADAVG_NR_TASKS */
guint64 last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
u_int64_t nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
};
void glibtop_get_loadavg(glibtop_loadavg *buf);
#define glibtop_get_loadavg(loadavg) glibtop_get_loadavg_l(glibtop_global_server, loadavg)
#if GLIBTOP_SUID_LOADAVG
#define glibtop_get_loadavg_r glibtop_get_loadavg_p
@@ -65,7 +65,17 @@ void glibtop_init_loadavg_s (glibtop *server);
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_loadavg [];
extern const unsigned glibtop_types_loadavg [];
extern const char *glibtop_labels_loadavg [];
extern const char *glibtop_descriptions_loadavg [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_MEM_TOTAL 0
#define GLIBTOP_MEM_USED 1
@@ -44,18 +44,18 @@ typedef struct _glibtop_mem glibtop_mem;
struct _glibtop_mem
{
guint64 flags;
guint64 total; /* GLIBTOP_MEM_TOTAL */
guint64 used; /* GLIBTOP_MEM_USED */
guint64 free; /* GLIBTOP_MEM_FREE */
guint64 shared; /* GLIBTOP_MEM_SHARED */
guint64 buffer; /* GLIBTOP_MEM_BUFFER */
guint64 cached; /* GLIBTOP_MEM_CACHED */
guint64 user; /* GLIBTOP_MEM_USER */
guint64 locked; /* GLIBTOP_MEM_LOCKED */
u_int64_t flags,
total, /* GLIBTOP_MEM_TOTAL */
used, /* GLIBTOP_MEM_USED */
free, /* GLIBTOP_MEM_FREE */
shared, /* GLIBTOP_MEM_SHARED */
buffer, /* GLIBTOP_MEM_BUFFER */
cached, /* GLIBTOP_MEM_CACHED */
user, /* GLIBTOP_MEM_USER */
locked; /* GLIBTOP_MEM_LOCKED */
};
void glibtop_get_mem(glibtop_mem *buf);
#define glibtop_get_mem(mem) glibtop_get_mem_l(glibtop_global_server, mem)
#if GLIBTOP_SUID_MEM
#define glibtop_get_mem_r glibtop_get_mem_p
@@ -73,7 +73,17 @@ void glibtop_init_mem_s (glibtop *server);
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_mem [];
extern const unsigned glibtop_types_mem [];
extern const char *glibtop_labels_mem [];
extern const char *glibtop_descriptions_mem [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_MOUNTLIST_NUMBER 0
#define GLIBTOP_MOUNTLIST_TOTAL 1
@@ -41,7 +41,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
struct _glibtop_mountentry
{
guint64 dev;
u_int64_t dev;
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
char type [GLIBTOP_MOUNTENTRY_LEN+1];
@@ -49,14 +49,13 @@ struct _glibtop_mountentry
struct _glibtop_mountlist
{
guint64 flags;
guint64 number; /* GLIBTOP_MOUNTLIST_NUMBER */
guint64 total; /* GLIBTOP_MOUNTLIST_TOTAL */
guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */
u_int64_t flags,
number, /* GLIBTOP_MOUNTLIST_NUMBER */
total, /* GLIBTOP_MOUNTLIST_TOTAL */
size; /* GLIBTOP_MOUNTLIST_SIZE */
};
glibtop_mountentry *
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
#define glibtop_get_mountlist(mountlist,all_fs) glibtop_get_mountlist_l(glibtop_global_server, mountlist, all_fs)
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
@@ -66,7 +65,17 @@ glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
glibtop_mountentry *
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_mountlist [];
extern const unsigned glibtop_types_mountlist [];
extern const char *glibtop_labels_mountlist [];
extern const char *glibtop_descriptions_mountlist [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_IPC_MSGPOOL 0
#define GLIBTOP_IPC_MSGMAP 1
@@ -43,17 +43,17 @@ typedef struct _glibtop_msg_limits glibtop_msg_limits;
struct _glibtop_msg_limits
{
guint64 flags;
guint64 msgpool; /* GLIBTOP_IPC_MSGPOOL */
guint64 msgmap; /* GLIBTOP_IPC_MSGMAP */
guint64 msgmax; /* GLIBTOP_IPC_MSGMAX */
guint64 msgmnb; /* GLIBTOP_IPC_MSGMNB */
guint64 msgmni; /* GLIBTOP_IPC_MSGMNI */
guint64 msgssz; /* GLIBTOP_IPC_MSGSSZ */
guint64 msgtql; /* GLIBTOP_IPC_MSGTQL */
u_int64_t flags,
msgpool, /* GLIBTOP_IPC_MSGPOOL */
msgmap, /* GLIBTOP_IPC_MSGMAP */
msgmax, /* GLIBTOP_IPC_MSGMAX */
msgmnb, /* GLIBTOP_IPC_MSGMNB */
msgmni, /* GLIBTOP_IPC_MSGMNI */
msgssz, /* GLIBTOP_IPC_MSGSSZ */
msgtql; /* GLIBTOP_IPC_MSGTQL */
};
void glibtop_get_msg_limits(glibtop_msg_limits *buf);
#define glibtop_get_msg_limits(msg) glibtop_get_msg_limits_l(glibtop_global_server, msg)
#if GLIBTOP_SUID_MSG_LIMITS
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_p
@@ -71,8 +71,18 @@ void glibtop_init_msg_limits_s (glibtop *server);
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_msg_limits [];
extern const unsigned glibtop_types_msg_limits [];
extern const char *glibtop_labels_msg_limits [];
extern const char *glibtop_descriptions_msg_limits [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -1,61 +0,0 @@
/* 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.
*/
#ifndef __GLIBTOP_NETLIST_H__
#define __GLIBTOP_NETLIST_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
#define GLIBTOP_NETLIST_NUMBER 0
#define GLIBTOP_MAX_NETLIST 1
typedef struct _glibtop_netlist glibtop_netlist;
struct _glibtop_netlist
{
guint64 flags;
guint32 number;
};
char** glibtop_get_netlist(glibtop_netlist *buf);
#if GLIBTOP_SUID_NETLIST
#define glibtop_get_netlist_r glibtop_get_netlist_p
#else
#define glibtop_get_netlist_r glibtop_get_netlist_s
#endif
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
#if GLIBTOP_SUID_NETLIST
void glibtop_init_netlist_p (glibtop *server);
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
#else
void glibtop_init_netlist_s (glibtop *server);
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
#endif
G_END_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_NETLOAD_IF_FLAGS 0
#define GLIBTOP_NETLOAD_MTU 1
@@ -43,12 +43,8 @@ G_BEGIN_DECLS
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
#define GLIBTOP_NETLOAD_COLLISIONS 13
#define GLIBTOP_NETLOAD_ADDRESS6 14
#define GLIBTOP_NETLOAD_PREFIX6 15
#define GLIBTOP_NETLOAD_SCOPE6 16
#define GLIBTOP_NETLOAD_HWADDRESS 17
#define GLIBTOP_MAX_NETLOAD 18
#define GLIBTOP_MAX_NETLOAD 14
typedef struct _glibtop_netload glibtop_netload;
@@ -68,47 +64,29 @@ enum {
GLIBTOP_IF_FLAGS_LINK1,
GLIBTOP_IF_FLAGS_LINK2,
GLIBTOP_IF_FLAGS_ALTPHYS,
GLIBTOP_IF_FLAGS_MULTICAST,
GLIBTOP_IF_FLAGS_WIRELESS
};
enum GLIBTOP_IF_IN6_SCOPE
{
GLIBTOP_IF_IN6_SCOPE_UNKNOWN = 0,
GLIBTOP_IF_IN6_SCOPE_LINK = 1,
GLIBTOP_IF_IN6_SCOPE_SITE = 2,
GLIBTOP_IF_IN6_SCOPE_GLOBAL = 4,
GLIBTOP_IF_IN6_SCOPE_HOST = 8
GLIBTOP_IF_FLAGS_MULTICAST
};
struct _glibtop_netload
{
guint64 flags;
guint64 if_flags; /* GLIBTOP_NETLOAD_IF_FLAGS */
guint32 mtu; /* GLIBTOP_NETLOAD_MTU */
guint32 subnet; /* GLIBTOP_NETLOAD_SUBNET */
guint32 address; /* GLIBTOP_NETLOAD_ADDRESS */
guint64 packets_in; /* GLIBTOP_NETLOAD_PACKETS_IN */
guint64 packets_out; /* GLIBTOP_NETLOAD_PACKETS_OUT */
guint64 packets_total; /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
guint64 bytes_in; /* GLIBTOP_NETLOAD_BYTES_IN */
guint64 bytes_out; /* GLIBTOP_NETLOAD_BYTES_OUT */
guint64 bytes_total; /* GLIBTOP_NETLOAD_BYTES_TOTAL */
guint64 errors_in; /* GLIBTOP_NETLOAD_ERRORS_IN */
guint64 errors_out; /* GLIBTOP_NETLOAD_ERRORS_OUT */
guint64 errors_total; /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
guint64 collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
guint8 address6[16]; /* GLIBTOP_NETLOAD_ADDRESS6 */
guint8 prefix6[16]; /* GLIBTOP_NETLOAD_PREXIF6 */
guint8 scope6; /* GLIBTOP_NETLOAD_SCOPE6 */
guint8 hwaddress[8]; /* GLIBTOP_NETLOAD_HWADDRESS */
u_int64_t flags,
if_flags, /* GLIBTOP_NETLOAD_IF_FLAGS */
mtu, /* GLIBTOP_NETLOAD_MTU */
subnet, /* GLIBTOP_NETLOAD_SUBNET */
address, /* GLIBTOP_NETLOAD_ADDRESS */
packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */
bytes_out, /* GLIBTOP_NETLOAD_BYTES_OUT */
bytes_total, /* GLIBTOP_NETLOAD_BYTES_TOTAL */
errors_in, /* GLIBTOP_NETLOAD_ERRORS_IN */
errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */
errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
};
void glibtop_get_netload(glibtop_netload *buf, const char *interface);
#define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface)
#if GLIBTOP_SUID_NETLOAD
#define glibtop_get_netload_r glibtop_get_netload_p
@@ -126,7 +104,17 @@ void glibtop_init_netload_s (glibtop *server);
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_netload [];
extern const unsigned glibtop_types_netload [];
extern const char *glibtop_labels_netload [];
extern const char *glibtop_descriptions_netload [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -23,8 +23,10 @@
#define __GLIBTOP_OPEN_H__
#include <glibtop.h>
#include <glibtop/read.h>
#include <glibtop/error.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define _GLIBTOP_INIT_STATE_INIT 0x10000
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
@@ -66,6 +68,6 @@ glibtop_open_s (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -23,8 +23,9 @@
#define __GLIBTOP_PARAMETER_H__
#include <glibtop.h>
#include <glibtop/open.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PARAM_METHOD 1
#define GLIBTOP_PARAM_FEATURES 2
@@ -45,6 +46,6 @@ void
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
const void *data_ptr, size_t data_size);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -27,10 +27,10 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PPP_STATE 0
#define GLIBTOP_PPP_BYTES_IN 1
#define GLIBTOP_PPP_BYTES_IN 1
#define GLIBTOP_PPP_BYTES_OUT 2
#define GLIBTOP_MAX_PPP 3
@@ -45,13 +45,13 @@ enum {
struct _glibtop_ppp
{
guint64 flags;
guint64 state; /* GLIBTOP_PPP_STATE */
guint64 bytes_in; /* GLIBTOP_PPP_BYTES_IN */
guint64 bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
u_int64_t flags,
state, /* GLIBTOP_PPP_STATE */
bytes_in, /* GLIBTOP_PPP_BYTES_IN */
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
};
void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
#define glibtop_get_ppp(ppp,device) glibtop_get_ppp_l(glibtop_global_server, ppp, device)
#if GLIBTOP_SUID_PPP
#define glibtop_get_ppp_r glibtop_get_ppp_p
@@ -69,7 +69,17 @@ void glibtop_init_ppp_s (glibtop *server);
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_ppp [];
extern const unsigned glibtop_types_ppp [];
extern const char *glibtop_labels_ppp [];
extern const char *glibtop_descriptions_ppp [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_ARGS_SIZE 0
@@ -37,54 +37,47 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
struct _glibtop_proc_args
{
guint64 flags;
guint64 size; /* GLIBTOP_PROC_ARGS_SIZE */
u_int64_t flags,
size; /* GLIBTOP_PROC_ARGS_SIZE */
};
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
#if GLIBTOP_SUID_PROC_ARGS
#define glibtop_get_proc_args_r glibtop_get_proc_args_p
#else
#define glibtop_get_proc_args_r glibtop_get_proc_args_s
#endif
char *
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
char *
glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
#if GLIBTOP_SUID_PROC_ARGS
void glibtop_init_proc_args_p (glibtop *server);
# define glibtop_get_proc_args_r glibtop_get_proc_args_p
void glibtop_init_proc_args_p (glibtop *server);
char *
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
#else /* !GLIBTOP_SUID_PROC_ARGS */
# define glibtop_get_proc_args_r glibtop_get_proc_args_s
void glibtop_init_proc_args_s (glibtop *server);
char *
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
#endif /* GLIBTOP_SUID_PROC_ARGS */
/*
* NEW functions
*/
char **
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
char *
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
#else
void glibtop_init_proc_args_s (glibtop *server);
char **
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
char *
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_args [];
extern const unsigned glibtop_types_proc_args [];
extern const char *glibtop_labels_proc_args [];
extern const char *glibtop_descriptions_proc_args [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1
@@ -47,24 +47,24 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
struct _glibtop_proc_kernel
{
guint64 flags;
guint64 k_flags; /* kernel flags for the process */
guint64 min_flt; /* number of minor page faults since
u_int64_t flags;
u_int64_t k_flags, /* kernel flags for the process */
min_flt, /* number of minor page faults since
* process start */
guint64 maj_flt; /* number of major page faults since
maj_flt, /* number of major page faults since
* process start */
guint64 cmin_flt; /* cumulative min_flt of process and
cmin_flt, /* cumulative min_flt of process and
* child processes */
guint64 cmaj_flt; /* cumulative maj_flt of process and
cmaj_flt, /* cumulative maj_flt of process and
* child processes */
guint64 kstk_esp; /* kernel stack pointer */
guint64 kstk_eip; /* kernel stack pointer */
guint64 nwchan; /* address of kernel wait channel
kstk_esp, /* kernel stack pointer */
kstk_eip, /* kernel stack pointer */
nwchan; /* address of kernel wait channel
* proc is sleeping in */
char wchan [40];
};
void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
#define glibtop_get_proc_kernel(p1, p2) glibtop_get_proc_kernel_l(glibtop_global_server, p1, p2)
#if GLIBTOP_SUID_PROC_KERNEL
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_p
@@ -82,7 +82,17 @@ void glibtop_init_proc_kernel_s (glibtop *server);
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_kernel [];
extern const unsigned glibtop_types_proc_kernel [];
extern const char *glibtop_labels_proc_kernel [];
extern const char *glibtop_descriptions_proc_kernel [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROCLIST_NUMBER 0
#define GLIBTOP_PROCLIST_TOTAL 1
@@ -56,14 +56,13 @@ typedef struct _glibtop_proclist glibtop_proclist;
struct _glibtop_proclist
{
guint64 flags;
guint64 number; /* GLIBTOP_PROCLIST_NUMBER */
guint64 total; /* GLIBTOP_PROCLIST_TOTAL */
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
u_int64_t flags,
number, /* GLIBTOP_PROCLIST_NUMBER */
total, /* GLIBTOP_PROCLIST_TOTAL */
size; /* GLIBTOP_PROCLIST_SIZE */
};
unsigned *
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
#define glibtop_get_proclist(proclist,which,arg) glibtop_get_proclist_l(glibtop_global_server, proclist, which, arg)
#if GLIBTOP_SUID_PROCLIST
#define glibtop_get_proclist_r glibtop_get_proclist_p
@@ -73,23 +72,33 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
unsigned *
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
int64_t which, int64_t arg);
#if GLIBTOP_SUID_PROCLIST
void glibtop_init_proclist_p (glibtop *server);
unsigned *
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
int64_t which, int64_t arg);
#else
void glibtop_init_proclist_s (glibtop *server);
unsigned *
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
int64_t which, int64_t arg);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proclist [];
extern const unsigned glibtop_types_proclist [];
extern const char *glibtop_labels_proclist [];
extern const char *glibtop_descriptions_proclist [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_MAP_NUMBER 0
#define GLIBTOP_PROC_MAP_TOTAL 1
@@ -35,23 +35,15 @@ G_BEGIN_DECLS
#define GLIBTOP_MAX_PROC_MAP 3
#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
#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
/* Smap support */
#define GLIBTOP_MAP_ENTRY_SIZE 7
#define GLIBTOP_MAP_ENTRY_RSS 8
#define GLIBTOP_MAP_ENTRY_SHARED_CLEAN 9
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12
#define GLIBTOP_MAX_MAP_ENTRY 13
#define GLIBTOP_MAX_MAP_ENTRY 8
#define GLIBTOP_MAP_FILENAME_LEN 215
@@ -67,32 +59,19 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
struct _glibtop_map_entry
{
guint64 flags;
guint64 start;
guint64 end;
guint64 offset;
guint64 perm;
guint64 inode;
guint64 device;
guint64 size;
guint64 rss;
guint64 shared_clean;
guint64 shared_dirty;
guint64 private_clean;
guint64 private_dirty;
u_int64_t flags, start, end, offset, perm, inode, device;
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
};
struct _glibtop_proc_map
{
guint64 flags;
guint64 number; /* GLIBTOP_PROC_MAP_NUMBER */
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
u_int64_t flags,
number, /* GLIBTOP_PROC_MAP_NUMBER */
total, /* GLIBTOP_PROC_MAP_TOTAL */
size; /* GLIBTOP_PROC_MAP_SIZE */
};
glibtop_map_entry *
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
#define glibtop_get_proc_map(proc_map,pid) glibtop_get_proc_map_l(glibtop_global_server, proc_map, pid)
#if GLIBTOP_SUID_PROC_MAP
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
@@ -115,7 +94,17 @@ glibtop_map_entry *
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_map [];
extern const unsigned glibtop_types_proc_map [];
extern const char *glibtop_labels_proc_map [];
extern const char *glibtop_descriptions_proc_map [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_MEM_SIZE 0
#define GLIBTOP_PROC_MEM_VSIZE 1
@@ -44,18 +44,18 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
struct _glibtop_proc_mem
{
guint64 flags;
guint64 size; /* total # of pages of memory */
guint64 vsize; /* number of pages of virtual memory ... */
guint64 resident; /* number of resident set
u_int64_t flags,
size, /* total # of pages of memory */
vsize, /* number of pages of virtual memory ... */
resident, /* number of resident set
* (non-swapped) pages (4k) */
guint64 share; /* number of pages of shared (mmap'd) memory */
guint64 rss; /* resident set size */
guint64 rss_rlim; /* current limit (in bytes) of the rss
share, /* number of pages of shared (mmap'd) memory */
rss, /* resident set size */
rss_rlim; /* current limit (in bytes) of the rss
* of the process; usually 2,147,483,647 */
};
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
#define glibtop_get_proc_mem(p1, p2) glibtop_get_proc_mem_l(glibtop_global_server, p1, p2)
#if GLIBTOP_SUID_PROC_MEM
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_p
@@ -73,7 +73,17 @@ void glibtop_init_proc_mem_s (glibtop *server);
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_mem [];
extern const unsigned glibtop_types_proc_mem [];
extern const char *glibtop_labels_proc_mem [];
extern const char *glibtop_descriptions_proc_mem [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -1,123 +0,0 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
Copyright (C) 2004 Nicolás Lichtmaier
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
Modified by Nicolás Lichtmaier to give open process files.
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_PROC_OPEN_FILES_H__
#define __GLIBTOP_PROC_OPEN_FILES_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
#define GLIBTOP_PROC_OPEN_FILES_NUMBER 0
#define GLIBTOP_PROC_OPEN_FILES_TOTAL 1
#define GLIBTOP_PROC_OPEN_FILES_SIZE 2
#define GLIBTOP_MAX_PROC_OPEN_FILES 3
#define GLIBTOP_FILE_ENTRY_FD 0
#define GLIBTOP_FILE_ENTRY_NAME 1
#define GLIBTOP_FILE_ENTRY_TYPE 2
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST 3
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT 4
#define GLIBTOP_MAX_OPEN_FILE_ENTRY 5
#define GLIBTOP_OPEN_FILENAME_LEN 215
/* ready for IPv6 */
#define GLIBTOP_OPEN_DEST_HOST_LEN 46
enum glibtop_file_type {
GLIBTOP_FILE_TYPE_FILE = 1,
GLIBTOP_FILE_TYPE_PIPE = 2,
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8
};
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
typedef struct _glibtop_proc_open_files glibtop_proc_open_files;
struct _glibtop_open_files_entry
{
int fd;
guint16 type; /* An "enum glibtop_file_type" value. */
union {
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
struct {
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
int dest_port;
} sock;
/* When type == GLIBTOP_FILE_TYPE_FILE */
struct {
char name[GLIBTOP_OPEN_FILENAME_LEN+1];
} file;
/* When type == GLIBTOP_FILE_TYPE_LOCALSOCKET */
struct {
char name[GLIBTOP_OPEN_FILENAME_LEN+1];
} localsock;
} info;
};
struct _glibtop_proc_open_files
{
guint64 flags;
guint64 number; /* GLIBTOP_PROC_OPEN_FILES_NUMBER */
guint64 total; /* GLIBTOP_PROC_OPEN_FILES_TOTAL */
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
};
glibtop_open_files_entry *
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_FILE
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_p
#else
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
#endif
glibtop_open_files_entry *
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_FILE
void glibtop_init_proc_open_files_p (glibtop *server);
glibtop_open_files_entry *
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#else
void glibtop_init_proc_open_files_s (glibtop *server);
glibtop_open_files_entry *
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#endif
G_END_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
@@ -46,19 +46,19 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
struct _glibtop_proc_segment
{
guint64 flags;
guint64 text_rss; /* text resident set size */
guint64 shlib_rss; /* shared-lib resident set size */
guint64 data_rss; /* data resident set size */
guint64 stack_rss; /* stack resident set size */
guint64 dirty_size; /* size of dirty pages */
guint64 start_code;
u_int64_t flags,
text_rss, /* text resident set size */
shlib_rss, /* shared-lib resident set size */
data_rss, /* data resident set size */
stack_rss, /* stack resident set size */
dirty_size, /* size of dirty pages */
start_code,
/* address of beginning of code segment */
guint64 end_code; /* address of end of code segment */
guint64 start_stack; /* address of the bottom of stack segment */
end_code, /* address of end of code segment */
start_stack; /* address of the bottom of stack segment */
};
void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
#define glibtop_get_proc_segment(p1, p2) glibtop_get_proc_segment_l(glibtop_global_server, p1, p2)
#if GLIBTOP_SUID_PROC_SEGMENT
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_p
@@ -76,7 +76,17 @@ void glibtop_init_proc_segment_s (glibtop *server);
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_segment [];
extern const unsigned glibtop_types_proc_segment [];
extern const char *glibtop_labels_proc_segment [];
extern const char *glibtop_descriptions_proc_segment [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1
@@ -42,14 +42,14 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
struct _glibtop_proc_signal
{
guint64 flags;
guint64 signal [2]; /* mask of pending signals */
guint64 blocked [2]; /* mask of blocked signals */
guint64 sigignore [2]; /* mask of ignored signals */
guint64 sigcatch [2]; /* mask of caught signals */
u_int64_t flags,
signal [2], /* mask of pending signals */
blocked [2], /* mask of blocked signals */
sigignore [2], /* mask of ignored signals */
sigcatch [2]; /* mask of caught signals */
};
void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
#define glibtop_get_proc_signal(p1, p2) glibtop_get_proc_signal_l(glibtop_global_server, p1, p2)
#if GLIBTOP_SUID_PROC_SIGNAL
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_p
@@ -67,7 +67,17 @@ void glibtop_init_proc_signal_s (glibtop *server);
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_signal [];
extern const unsigned glibtop_types_proc_signal [];
extern const char *glibtop_labels_proc_signal [];
extern const char *glibtop_descriptions_proc_signal [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,27 +27,14 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_STATE_CMD 0
#define GLIBTOP_PROC_STATE_STATE 1
#define GLIBTOP_PROC_STATE_UID 2
#define GLIBTOP_PROC_STATE_GID 3
#define GLIBTOP_PROC_STATE_RUID 4
#define GLIBTOP_PROC_STATE_RGID 5
#define GLIBTOP_PROC_STATE_HAS_CPU 6
#define GLIBTOP_PROC_STATE_PROCESSOR 7
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
#define GLIBTOP_MAX_PROC_STATE 9
#define GLIBTOP_PROCESS_RUNNING 1
#define GLIBTOP_PROCESS_INTERRUPTIBLE 2
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE 4
#define GLIBTOP_PROCESS_ZOMBIE 8
#define GLIBTOP_PROCESS_STOPPED 16
#define GLIBTOP_PROCESS_SWAPPING 32
#define GLIBTOP_PROCESS_DEAD 64
#define GLIBTOP_MAX_PROC_STATE 4
typedef struct _glibtop_proc_state glibtop_proc_state;
@@ -55,26 +42,21 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
struct _glibtop_proc_state
{
guint64 flags;
char cmd[40]; /* basename of executable file in
u_int64_t flags;
char cmd[40], /* basename of executable file in
* call to exec(2) */
unsigned state; /* single-char code for process state
state; /* single-char code for process state
* (S=sleeping) */
/* NOTE: when porting the library, TRY HARD to implement the
* following two fields. */
/* IMPORTANT NOTICE: For security reasons, it is extremely important
* only to set the flags value for those two
* fields if their values are corrent ! */
int uid; /* UID of process */
int gid; /* GID of process */
int ruid;
int rgid;
int has_cpu;
int processor;
int last_processor;
int uid, /* UID of process */
gid; /* GID of process */
};
void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
#define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state_l(glibtop_global_server, p1, p2)
#if GLIBTOP_SUID_PROC_STATE
#define glibtop_get_proc_state_r glibtop_get_proc_state_p
@@ -91,8 +73,18 @@ void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t p
void glibtop_init_proc_state_s (glibtop *server);
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
/* You need to link with -lgtop_names to get this stuff here. */
G_END_DECLS
extern const char *glibtop_names_proc_state [];
extern const unsigned glibtop_types_proc_state [];
extern const char *glibtop_labels_proc_state [];
extern const char *glibtop_descriptions_proc_state [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -28,7 +28,7 @@
#include <glibtop/cpu.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_TIME_START_TIME 0
#define GLIBTOP_PROC_TIME_RTIME 1
@@ -50,28 +50,27 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
struct _glibtop_proc_time
{
guint64 flags;
guint64 start_time; /* start time of process --
u_int64_t flags,
start_time, /* start time of process --
* seconds since 1-1-70 */
guint64 rtime; /* real time accumulated by process */
guint64 utime; /* user-mode CPU time accumulated by process */
guint64 stime; /* kernel-mode CPU time accumulated by process */
guint64 cutime; /* cumulative utime of process and
rtime, /* real time accumulated by process */
utime, /* user-mode CPU time accumulated by process */
stime, /* kernel-mode CPU time accumulated by process */
cutime, /* cumulative utime of process and
* reaped children */
guint64 cstime; /* cumulative stime of process and
cstime, /* cumulative stime of process and
* reaped children */
guint64 timeout; /* The time (in jiffies) of the process's
timeout, /* The time (in jiffies) of the process's
* next timeout */
guint64 it_real_value; /* The time (in jiffies) before the
it_real_value, /* The time (in jiffies) before the
* next SIGALRM is sent to the process
* due to an interval timer. */
guint64 frequency; /* Tick frequency. */
guint64 xcpu_utime [GLIBTOP_NCPU]; /* utime and stime for all CPUs on */
guint64 xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
frequency, /* Tick frequency. */
xcpu_utime [GLIBTOP_NCPU], /* utime and stime for all CPUs on */
xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
};
void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
#define glibtop_get_proc_time(p1, p2) glibtop_get_proc_time_l(glibtop_global_server, p1, p2)
#if GLIBTOP_SUID_PROC_TIME
#define glibtop_get_proc_time_r glibtop_get_proc_time_p
@@ -89,7 +88,17 @@ void glibtop_init_proc_time_s (glibtop *server);
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_time [];
extern const unsigned glibtop_types_proc_time [];
extern const char *glibtop_labels_proc_time [];
extern const char *glibtop_descriptions_proc_time [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,60 +27,45 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_UID_UID 0
#define GLIBTOP_PROC_UID_EUID 1
#define GLIBTOP_PROC_UID_GID 2
#define GLIBTOP_PROC_UID_EGID 3
#define GLIBTOP_PROC_UID_SUID 4
#define GLIBTOP_PROC_UID_SGID 5
#define GLIBTOP_PROC_UID_FSUID 6
#define GLIBTOP_PROC_UID_FSGID 7
#define GLIBTOP_PROC_UID_PID 8
#define GLIBTOP_PROC_UID_PPID 9
#define GLIBTOP_PROC_UID_PGRP 10
#define GLIBTOP_PROC_UID_SESSION 11
#define GLIBTOP_PROC_UID_TTY 12
#define GLIBTOP_PROC_UID_TPGID 13
#define GLIBTOP_PROC_UID_PRIORITY 14
#define GLIBTOP_PROC_UID_NICE 15
#define GLIBTOP_PROC_UID_NGROUPS 16
#define GLIBTOP_PROC_UID_GROUPS 17
#define GLIBTOP_PROC_UID_PID 4
#define GLIBTOP_PROC_UID_PPID 5
#define GLIBTOP_PROC_UID_PGRP 6
#define GLIBTOP_PROC_UID_SESSION 7
#define GLIBTOP_PROC_UID_TTY 8
#define GLIBTOP_PROC_UID_TPGID 9
#define GLIBTOP_PROC_UID_PRIORITY 10
#define GLIBTOP_PROC_UID_NICE 11
#define GLIBTOP_MAX_PROC_UID 18
#define GLIBTOP_MAX_PROC_UID 12
typedef struct _glibtop_proc_uid glibtop_proc_uid;
#define GLIBTOP_MAX_GROUPS 64
/* User, Group, Terminal and session */
struct _glibtop_proc_uid
{
guint64 flags;
gint32 uid; /* user id */
gint32 euid; /* effective user id */
gint32 gid; /* group id */
gint32 egid; /* effective group id */
gint32 suid; /* set user id */
gint32 sgid; /* set group id */
gint32 fsuid; /* ??? user id */
gint32 fsgid; /* ??? group id */
gint32 pid; /* process id */
gint32 ppid; /* pid of parent process */
gint32 pgrp; /* process group id */
gint32 session; /* session id */
gint32 tty; /* full device number of controlling terminal */
gint32 tpgid; /* terminal process group id */
gint32 priority; /* kernel scheduling priority */
gint32 nice; /* standard unix nice level of process */
gint32 ngroups;
gint32 groups [GLIBTOP_MAX_GROUPS];
u_int64_t flags;
int uid, /* user id */
euid, /* effective user id */
gid, /* group id */
egid, /* effective group id */
pid, /* process id */
ppid, /* pid of parent process */
pgrp, /* process group id */
session, /* session id */
tty, /* full device number of controlling terminal */
tpgid, /* terminal process group id */
priority, /* kernel scheduling priority */
nice; /* standard unix nice level of process */
};
void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid);
#define glibtop_get_proc_uid(p1, p2) glibtop_get_proc_uid_l(glibtop_global_server, p1, p2)
#if GLIBTOP_SUID_PROC_UID
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_p
@@ -98,7 +83,17 @@ void glibtop_init_proc_uid_s (glibtop *server);
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_uid [];
extern const unsigned glibtop_types_proc_uid [];
extern const char *glibtop_labels_proc_uid [];
extern const char *glibtop_descriptions_proc_uid [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -25,14 +25,15 @@
#define __GLIBTOP_READ_H__
#include <glibtop.h>
#include <glibtop/error.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define glibtop_read(p1, p2) glibtop_read(glibtop_global_server, p1, p2)
void glibtop_read_l (glibtop *server, size_t size, void *buf);
void glibtop_read_s (glibtop *server, size_t size, void *buf);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -25,14 +25,15 @@
#define __GLIBTOP_READ_DATA_H__
#include <glibtop.h>
#include <glibtop/error.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define glibtop_read_data() glibtop_read_data_r(glibtop_global_server)
void *glibtop_read_data_l (glibtop *server);
void *glibtop_read_data_s (glibtop *server);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_IPC_SEMMAP 0
#define GLIBTOP_IPC_SEMMNI 1
@@ -46,20 +46,20 @@ typedef struct _glibtop_sem_limits glibtop_sem_limits;
struct _glibtop_sem_limits
{
guint64 flags;
guint64 semmap; /* GLIBTOP_IPC_SEMMAP */
guint64 semmni; /* GLIBTOP_IPC_SEMMNI */
guint64 semmns; /* GLIBTOP_IPC_SEMMNS */
guint64 semmnu; /* GLIBTOP_IPC_SEMMNU */
guint64 semmsl; /* GLIBTOP_IPC_SEMMSL */
guint64 semopm; /* GLIBTOP_IPC_SEMOPM */
guint64 semume; /* GLIBTOP_IPC_SEMUME */
guint64 semusz; /* GLIBTOP_IPC_SEMUSZ */
guint64 semvmx; /* GLIBTOP_IPC_SEMVMX */
guint64 semaem; /* GLIBTOP_IPC_SEMAEM */
u_int64_t flags,
semmap, /* GLIBTOP_IPC_SEMMAP */
semmni, /* GLIBTOP_IPC_SEMMNI */
semmns, /* GLIBTOP_IPC_SEMMNS */
semmnu, /* GLIBTOP_IPC_SEMMNU */
semmsl, /* GLIBTOP_IPC_SEMMSL */
semopm, /* GLIBTOP_IPC_SEMOPM */
semume, /* GLIBTOP_IPC_SEMUME */
semusz, /* GLIBTOP_IPC_SEMUSZ */
semvmx, /* GLIBTOP_IPC_SEMVMX */
semaem; /* GLIBTOP_IPC_SEMAEM */
};
void glibtop_get_sem_limits(glibtop_sem_limits *buf);
#define glibtop_get_sem_limits(sem) glibtop_get_sem_limits_l(glibtop_global_server, sem)
#if GLIBTOP_SUID_SEM_LIMITS
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_p
@@ -77,7 +77,17 @@ void glibtop_init_sem_limits_s (glibtop *server);
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_sem_limits [];
extern const unsigned glibtop_types_sem_limits [];
extern const char *glibtop_labels_sem_limits [];
extern const char *glibtop_descriptions_sem_limits [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_IPC_SHMMAX 0
#define GLIBTOP_IPC_SHMMIN 1
@@ -41,15 +41,15 @@ typedef struct _glibtop_shm_limits glibtop_shm_limits;
struct _glibtop_shm_limits
{
guint64 flags;
guint64 shmmax; /* GLIBTOP_IPC_SHMMAX */
guint64 shmmin; /* GLIBTOP_IPC_SHMMIN */
guint64 shmmni; /* GLIBTOP_IPC_SHMMNI */
guint64 shmseg; /* GLIBTOP_IPC_SHMSEG */
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
u_int64_t flags,
shmmax, /* GLIBTOP_IPC_SHMMAX */
shmmin, /* GLIBTOP_IPC_SHMMIN */
shmmni, /* GLIBTOP_IPC_SHMMNI */
shmseg, /* GLIBTOP_IPC_SHMSEG */
shmall; /* GLIBTOP_IPC_SHMALL */
};
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
#define glibtop_get_shm_limits(shm) glibtop_get_shm_limits_l(glibtop_global_server, shm)
#if GLIBTOP_SUID_SHM_LIMITS
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_p
@@ -67,7 +67,17 @@ void glibtop_init_shm_limits_s (glibtop *server);
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_shm_limits [];
extern const unsigned glibtop_types_shm_limits [];
extern const char *glibtop_labels_shm_limits [];
extern const char *glibtop_descriptions_shm_limits [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -30,7 +30,7 @@
#include <sys/signal.h>
#endif
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
typedef struct _glibtop_signame glibtop_signame;
@@ -42,6 +42,6 @@ struct _glibtop_signame
extern const glibtop_signame glibtop_sys_siglist [];
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_SWAP_TOTAL 0
#define GLIBTOP_SWAP_USED 1
@@ -41,16 +41,15 @@ typedef struct _glibtop_swap glibtop_swap;
struct _glibtop_swap
{
guint64 flags;
guint64 total; /* GLIBTOP_SWAP_TOTAL */
guint64 used; /* GLIBTOP_SWAP_USED */
guint64 free; /* GLIBTOP_SWAP_FREE */
guint64 pagein; /* GLIBTOP_SWAP_PAGEIN */
guint64 pageout; /* GLIBTOP_SWAP_PAGEOUT */
u_int64_t flags,
total, /* GLIBTOP_SWAP_TOTAL */
used, /* GLIBTOP_SWAP_USED */
free, /* GLIBTOP_SWAP_FREE */
pagein, /* GLIBTOP_SWAP_PAGEIN */
pageout; /* GLIBTOP_SWAP_PAGEOUT */
};
void
glibtop_get_swap(glibtop_swap *buf);
#define glibtop_get_swap(swap) glibtop_get_swap_l(glibtop_global_server, swap)
#if GLIBTOP_SUID_SWAP
#define glibtop_get_swap_r glibtop_get_swap_p
@@ -68,7 +67,17 @@ void glibtop_init_swap_s (glibtop *server);
void glibtop_get_swap_s (glibtop *server, glibtop_swap *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_swap [];
extern const unsigned glibtop_types_swap [];
extern const char *glibtop_labels_swap [];
extern const char *glibtop_descriptions_swap [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -26,7 +26,7 @@
#include <glibtop.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_SYSDEPS_FEATURES 0
#define GLIBTOP_SYSDEPS_CPU 1
@@ -51,49 +51,60 @@ G_BEGIN_DECLS
#define GLIBTOP_SYSDEPS_FSUSAGE 20
#define GLIBTOP_SYSDEPS_NETLOAD 21
#define GLIBTOP_SYSDEPS_PPP 22
#define GLIBTOP_SYSDEPS_NETLIST 23
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
#define GLIBTOP_MAX_SYSDEPS 25
#define GLIBTOP_MAX_SYSDEPS 23
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
typedef void (*glibtop_init_func_t) (glibtop *);
extern glibtop_init_func_t _glibtop_init_hook_s [];
extern glibtop_init_func_t _glibtop_init_hook_p [];
typedef struct _glibtop_sysdeps glibtop_sysdeps;
struct _glibtop_sysdeps
{
guint64 flags;
guint64 features; /* server features */
guint64 cpu; /* glibtop_cpu */
guint64 mem; /* glibtop_mem */
guint64 swap; /* glibtop_swap */
guint64 uptime; /* glibtop_uptime */
guint64 loadavg; /* glibtop_loadavg */
guint64 shm_limits; /* glibtop_shm_limits */
guint64 msg_limits; /* glibtop_msg_limits */
guint64 sem_limits; /* glibtop_sem_limits */
guint64 proclist; /* glibtop_proclist */
guint64 proc_state; /* glibtop_proc_state */
guint64 proc_uid; /* glibtop_proc_uid */
guint64 proc_mem; /* glibtop_proc_mem */
guint64 proc_time; /* glibtop_proc_time */
guint64 proc_signal; /* glibtop_proc_signal */
guint64 proc_kernel; /* glibtop_proc_kernel */
guint64 proc_segment; /* glibtop_proc_segment */
guint64 proc_args; /* glibtop_proc_args */
guint64 proc_map; /* glibtop_proc_map */
guint64 proc_open_files; /* glibtop_proc_open_files */
guint64 mountlist; /* glibtop_mountlist */
guint64 fsusage; /* glibtop_fsusage */
guint64 netlist; /* glibtop_netlist */
guint64 netload; /* glibtop_netload */
guint64 ppp; /* glibtop_ppp */
u_int64_t flags,
features, /* server features */
cpu, /* glibtop_cpu */
mem, /* glibtop_mem */
swap, /* glibtop_swap */
uptime, /* glibtop_uptime */
loadavg, /* glibtop_loadavg */
shm_limits, /* glibtop_shm_limits */
msg_limits, /* glibtop_msg_limits */
sem_limits, /* glibtop_sem_limits */
proclist, /* glibtop_proclist */
proc_state, /* glibtop_proc_state */
proc_uid, /* glibtop_proc_uid */
proc_mem, /* glibtop_proc_mem */
proc_time, /* glibtop_proc_time */
proc_signal, /* glibtop_proc_signal */
proc_kernel, /* glibtop_proc_kernel */
proc_segment, /* glibtop_proc_segment */
proc_args, /* glibtop_proc_args */
proc_map, /* glibtop_proc_map */
mountlist, /* glibtop_mountlist */
fsusage, /* glibtop_fsusage */
netload, /* glibtop_netload */
ppp; /* glibtop_ppp */
};
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
#define glibtop_get_sysdeps(sysdeps) glibtop_get_sysdeps_r(glibtop_global_server,sysdeps)
void glibtop_get_sysdeps_r (glibtop *server, glibtop_sysdeps *buf);
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_sysdeps [];
extern const unsigned glibtop_types_sysdeps [];
extern const char *glibtop_labels_sysdeps [];
extern const char *glibtop_descriptions_sysdeps [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -30,12 +30,11 @@
#include <glib.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_SYSINFO_NCPU 0
#define GLIBTOP_SYSINFO_CPUINFO 1
#define GLIBTOP_SYSINFO_CPUINFO 0
#define GLIBTOP_MAX_SYSINFO 2
#define GLIBTOP_MAX_SYSINFO 1
typedef struct _glibtop_sysinfo glibtop_sysinfo;
@@ -44,21 +43,22 @@ typedef struct _glibtop_entry glibtop_entry;
struct _glibtop_entry
{
GPtrArray *labels;
GHashTable *values; /* key -> description */
GHashTable *descriptions; /* unused */
GHashTable *values;
GHashTable *descriptions;
};
struct _glibtop_sysinfo
{
guint64 flags, ncpu;
glibtop_entry cpuinfo [GLIBTOP_NCPU];
u_int64_t flags, ncpu;
glibtop_entry cpuinfo [GLIBTOP_NCPU];
};
#define glibtop_get_sysinfo() glibtop_get_sysinfo_s(glibtop_global_server)
#define glibtop_get_sysinfo_r glibtop_get_sysinfo_s
const glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
const glibtop_sysinfo *glibtop_get_sysinfo (void);
glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -1,9 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
@@AUTOGEN_COMMENT@@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
@@ -25,19 +21,18 @@
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_CALL_VECTOR_H__
#define __GLIBTOP_CALL_VECTOR_H__
#ifndef __GLIBTOP_TYPES_H__
#define __GLIBTOP_TYPES_H__
#include <glibtop.h>
#include <glibtop/union.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_TYPE_LONG 1
#define GLIBTOP_TYPE_ULONG 2
#define GLIBTOP_TYPE_DOUBLE 3
#define GLIBTOP_TYPE_INT 4
#define GLIBTOP_TYPE_CHAR 5
#define GLIBTOP_TYPE_STRING 6
struct _glibtop_call_vector
{
@@GLIBTOP_CALL_VECTOR@@
};
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -43,16 +43,14 @@
#include <glibtop/procsegment.h>
#include <glibtop/procargs.h>
#include <glibtop/procmap.h>
#include <glibtop/procopenfiles.h>
#include <glibtop/mountlist.h>
#include <glibtop/fsusage.h>
#include <glibtop/netload.h>
#include <glibtop/netlist.h>
#include <glibtop/ppp.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
typedef union _glibtop_union glibtop_union;
@@ -78,12 +76,10 @@ union _glibtop_union
glibtop_proc_map proc_map;
glibtop_mountlist mountlist;
glibtop_fsusage fsusage;
glibtop_netlist netlist;
glibtop_netload netload;
glibtop_ppp ppp;
glibtop_proc_open_files proc_open_files;
};
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -27,25 +27,23 @@
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_UPTIME_UPTIME 0
#define GLIBTOP_UPTIME_IDLETIME 1
#define GLIBTOP_UPTIME_BOOT_TIME 2
#define GLIBTOP_MAX_UPTIME 3
#define GLIBTOP_MAX_UPTIME 2
typedef struct _glibtop_uptime glibtop_uptime;
struct _glibtop_uptime
{
guint64 flags;
double uptime; /* GLIBTOP_UPTIME_UPTIME */
double idletime; /* GLIBTOP_UPTIME_IDLETIME */
guint64 boot_time;
u_int64_t flags;
double uptime, /* GLIBTOP_UPTIME_UPTIME */
idletime; /* GLIBTOP_UPTIME_IDLETIME */
};
void glibtop_get_uptime (glibtop_uptime *buf);
#define glibtop_get_uptime(uptime) glibtop_get_uptime_l(glibtop_global_server, uptime)
#if GLIBTOP_SUID_UPTIME
#define glibtop_get_uptime_r glibtop_get_uptime_p
@@ -63,7 +61,17 @@ void glibtop_init_uptime_s (glibtop *server);
void glibtop_get_uptime_s (glibtop *server, glibtop_uptime *buf);
#endif
#ifdef GLIBTOP_NAMES
G_END_DECLS
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_uptime [];
extern const unsigned glibtop_types_uptime [];
extern const char *glibtop_labels_uptime [];
extern const char *glibtop_descriptions_uptime [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -23,10 +23,13 @@
#define __GLIBTOP_VERSION_H__
#include <glibtop.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
#include <glibtop/command.h>
#define LIBGTOP_VERSION_STRING "Libgtop %s server version %s (%u,%u,%u,%u)."
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#if _IN_LIBGTOP
@@ -34,6 +37,6 @@ void glibtop_send_version (glibtop *server, int fd);
#endif
G_END_DECLS
END_LIBGTOP_DECLS
#endif

View File

@@ -25,14 +25,15 @@
#define __GLIBTOP_WRITE_H__
#include <glibtop.h>
#include <glibtop/error.h>
G_BEGIN_DECLS
BEGIN_LIBGTOP_DECLS
#define glibtop_write(p1, p2) glibtop_write(glibtop_global_server, p1, p2)
void glibtop_write_l (glibtop *server, size_t size, void *buf);
void glibtop_write_s (glibtop *server, size_t size, void *buf);
G_END_DECLS
END_LIBGTOP_DECLS
#endif

46
include/glibtop/xmalloc.h Normal file
View File

@@ -0,0 +1,46 @@
/* $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_XMALLOC_H__
#define __GLIBTOP_XMALLOC_H__
#include <glibtop.h>
#include <glibtop/error.h>
BEGIN_LIBGTOP_DECLS
#define glibtop_malloc(p1) glibtop_malloc_r(glibtop_global_server, p1)
#define glibtop_calloc(p1, p2) glibtop_calloc_r(glibtop_global_server, p1, p2)
#define glibtop_realloc(p1, p2) glibtop_realloc_r(glibtop_global_server, p1, p2)
#define glibtop_strdup(p1) glibtop_strdup_r(glibtop_global_server, p1)
#define glibtop_free(p1) glibtop_free_r(glibtop_global_server, p1)
void *glibtop_malloc_r (glibtop *server, size_t size);
void *glibtop_calloc_r (glibtop *server, size_t nmemb, size_t size);
void *glibtop_realloc_r (glibtop *server, void *ptr, size_t size);
char *glibtop_strdup_r (glibtop *server, const char *string);
void glibtop_free_r (glibtop *server, const void *ptr);
END_LIBGTOP_DECLS
#endif

14
kernel/ChangeLog Normal file
View File

@@ -0,0 +1,14 @@
1998-07-21 Martin Baulig <martin@home-of-linux.org>
* table20: New directory for 2.0.xx kernels.
* table21: New directory for 2.1.xx kernels.
* *: Moved into `table20' and `table21'.
1998-06-14 Martin Baulig <baulig@taurus.uni-trier.de>
* README: Added README.
* kernel.patch: Patch for the Linux kernel to add the
new system call.

1
kernel/sysctl/.cvsignore Normal file
View File

@@ -0,0 +1 @@
*.flags

22
kernel/sysctl/Makefile Normal file
View File

@@ -0,0 +1,22 @@
#
# Makefile for the LibGTop linux sysctl interface.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definition is now in the main makefile...
O_TARGET := kernel.o
ifeq ($(CONFIG_LIBGTOP),y)
O_OJBS := main.o libgtop.o
else
O_OBJS := main.o
endif
OX_OBJS := libgtop_syms.o
ifeq ($(CONFIG_LIBGTOP),m)
M_OBJS := libgtop.o
endif
include $(TOPDIR)/Rules.make

1268
kernel/sysctl/libgtop.c Normal file

File diff suppressed because it is too large Load Diff

242
kernel/sysctl/libgtop.h Normal file
View File

@@ -0,0 +1,242 @@
#ifndef _LINUX_LIBGTOP_H
#define _LINUX_LIBGTOP_H 1
#include <linux/tasks.h>
enum {
LIBGTOP_VERSION = 1,
LIBGTOP_UPDATE_EXPENSIVE,
LIBGTOP_STAT = 101,
LIBGTOP_MEM,
LIBGTOP_SWAP,
LIBGTOP_PROCLIST = 201,
LIBGTOP_PROC_STATE = 211,
LIBGTOP_PROC_KERNEL,
LIBGTOP_PROC_SEGMENT,
LIBGTOP_PROC_MEM,
LIBGTOP_PROC_SIGNAL,
LIBGTOP_PROC_ARGS = 251,
LIBGTOP_PROC_MAPS,
LIBGTOP_NETLOAD = 301
};
enum {
LIBGTOP_PROCLIST_ALL = 0,
LIBGTOP_PROCLIST_PID,
LIBGTOP_PROCLIST_PGRP,
LIBGTOP_PROCLIST_SESSION,
LIBGTOP_PROCLIST_TTY,
LIBGTOP_PROCLIST_UID,
LIBGTOP_PROCLIST_RUID
};
#define LIBGTOP_NSIG 4
#define LIBGTOP_PROCLIST_MASK 15
#define LIBGTOP_MAX_GROUPS 32
#define LIBGTOP_EXCLUDE_IDLE 0x1000
#define LIBGTOP_EXCLUDE_SYSTEM 0x2000
#define LIBGTOP_EXCLUDE_NOTTY 0x4000
#define LIBGTOP_TASK_RUNNING 1
#define LIBGTOP_TASK_INTERRUPTIBLE 2
#define LIBGTOP_TASK_UNINTERRUPTIBLE 4
#define LIBGTOP_TASK_ZOMBIE 8
#define LIBGTOP_TASK_STOPPED 16
#define LIBGTOP_TASK_SWAPPING 32
#define LIBGTOP_VM_READ 0x0001 /* currently active flags */
#define LIBGTOP_VM_WRITE 0x0002
#define LIBGTOP_VM_EXEC 0x0004
#define LIBGTOP_VM_SHARED 0x0008
#define LIBGTOP_VM_MAYREAD 0x0010 /* limits for mprotect() etc */
#define LIBGTOP_VM_MAYWRITE 0x0020
#define LIBGTOP_VM_MAYEXEC 0x0040
#define LIBGTOP_VM_MAYSHARE 0x0080
#define LIBGTOP_VM_GROWSDOWN 0x0100 /* general info on the segment */
#define LIBGTOP_VM_GROWSUP 0x0200
#define LIBGTOP_VM_SHM 0x0400 /* shared memory area, don't swap out */
#define LIBGTOP_VM_DENYWRITE 0x0800 /* ETXTBSY on write attempts.. */
#define LIBGTOP_VM_EXECUTABLE 0x1000
#define LIBGTOP_VM_LOCKED 0x2000
#define LIBGTOP_VM_IO 0x4000 /* Memory mapped I/O or similar */
#define LIBGTOP_MAP_PATH_LEN (PAGE_SIZE - sizeof (libgtop_proc_maps_header_t))
#ifndef min
#define min(a,b) ((a < b) ? a : b)
#endif
typedef struct libgtop_stat libgtop_stat_t;
typedef struct libgtop_cpu libgtop_cpu_t;
typedef struct libgtop_mem libgtop_mem_t;
typedef struct libgtop_swap libgtop_swap_t;
typedef struct libgtop_proclist libgtop_proclist_t;
typedef struct libgtop_proc_state libgtop_proc_state_t;
typedef struct libgtop_proc_kernel libgtop_proc_kernel_t;
typedef struct libgtop_proc_segment libgtop_proc_segment_t;
typedef struct libgtop_proc_mem libgtop_proc_mem_t;
typedef struct libgtop_proc_signal libgtop_proc_signal_t;
typedef struct libgtop_proc_maps_header libgtop_proc_maps_header_t;
typedef struct libgtop_proc_maps libgtop_proc_maps_t;
typedef struct libgtop_netload libgtop_netload_t;
struct libgtop_cpu
{
unsigned long total; /* Total CPU Time */
unsigned long user; /* CPU Time in User Mode */
unsigned long nice; /* CPU Time in User Mode (nice) */
unsigned long sys; /* CPU Time in System Mode */
unsigned long idle; /* CPU Time in the Idle Task */
};
struct libgtop_mem
{
unsigned long totalram; /* Total usable main memory size */
unsigned long freeram; /* Available memory size */
unsigned long sharedram; /* Amount of shared memory */
unsigned long bufferram; /* Memory used by buffers */
unsigned long cachedram;
};
struct libgtop_swap
{
unsigned long totalswap; /* Total swap space size */
unsigned long freeswap; /* swap space still available */
};
struct libgtop_proclist
{
int count;
int nr_running, nr_tasks, last_pid;
unsigned pids [NR_TASKS];
};
struct libgtop_stat
{
int ncpu; /* Number of CPUs */
unsigned long frequency; /* Tick frequency (HZ) */
libgtop_cpu_t cpu; /* CPU statistics */
libgtop_cpu_t xcpu [NR_CPUS]; /* SMP per-CPU statistics */
double loadavg [3]; /* Load average */
unsigned long total_forks; /* Total # of forks */
unsigned int context_swtch; /* Total # of context switches */
unsigned long boot_time; /* Boot time (seconds s. epoch) */
unsigned int pgpgin, pgpgout; /* # of pages paged in/out */
unsigned int pswpin, pswpout; /* # of swap pgs brought in/out */
};
struct libgtop_proc_state
{
long state;
unsigned long flags;
char comm [16];
int uid, euid, suid, fsuid;
int gid, egid, sgid, fsgid;
int pid, pgrp, ppid;
int session;
unsigned int tty;
int tpgid;
long priority, counter, def_priority;
long utime, stime, cutime, cstime, start_time;
long per_cpu_utime [NR_CPUS], per_cpu_stime [NR_CPUS];
int has_cpu, processor, last_processor;
unsigned long context;
unsigned long start_code, end_code, start_data, end_data;
unsigned long start_brk, brk, start_stack, start_mmap;
unsigned long arg_start, arg_end, env_start, env_end;
unsigned long rss, rlim, total_vm, locked_vm;
unsigned long policy, rt_priority;
unsigned long it_real_value, it_prof_value, it_virt_value;
unsigned long it_real_incr, it_prof_incr, it_virt_incr;
unsigned long keip, kesp;
unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt;
unsigned long nswap, cnswap;
int ngroups, groups [LIBGTOP_MAX_GROUPS];
};
struct libgtop_proc_kernel
{
unsigned long wchan;
};
struct libgtop_proc_segment
{
unsigned long vsize, data, exec, stack, lib;
};
struct libgtop_proc_mem
{
libgtop_proc_segment_t segment;
int size, resident, share, trs, lrs, drs, dt;
unsigned long rss, rlim;
};
struct libgtop_proc_signal
{
unsigned long signal [LIBGTOP_NSIG];
unsigned long blocked [LIBGTOP_NSIG];
unsigned long ignore [LIBGTOP_NSIG];
unsigned long catch [LIBGTOP_NSIG];
};
struct libgtop_proc_maps_header
{
unsigned long start, end, offset, perm;
off_t filename_offset;
ino_t inode;
dev_t device;
} __attribute__ ((aligned (64)));
struct libgtop_proc_maps
{
libgtop_proc_maps_header_t header;
char filename [LIBGTOP_MAP_PATH_LEN];
};
struct libgtop_netload
{
unsigned long rx_packets; /* total packets received */
unsigned long tx_packets; /* total packets transmitted */
unsigned long rx_bytes; /* total bytes received */
unsigned long tx_bytes; /* total bytes transmitted */
unsigned long rx_errors; /* bad packets received */
unsigned long tx_errors; /* packet transmit problems */
unsigned long rx_dropped; /* no space in linux buffers */
unsigned long tx_dropped; /* no space available in linux */
unsigned long multicast; /* multicast packets received */
unsigned long collisions;
/* detailed rx_errors: */
unsigned long rx_length_errors;
unsigned long rx_over_errors; /* receiver ring buff overflow */
unsigned long rx_crc_errors; /* recved pkt with crc error */
unsigned long rx_frame_errors; /* recv'd frame alignment error */
unsigned long rx_fifo_errors; /* recv'r fifo overrun */
unsigned long rx_missed_errors; /* receiver missed packet */
/* detailed tx_errors */
unsigned long tx_aborted_errors;
unsigned long tx_carrier_errors;
unsigned long tx_fifo_errors;
unsigned long tx_heartbeat_errors;
unsigned long tx_window_errors;
/* for cslip etc */
unsigned long rx_compressed;
unsigned long tx_compressed;
};
#endif

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