Compare commits

...

214 Commits

Author SHA1 Message Date
Mugurel Tudor
5e28a55218 *** empty log message *** 2003-09-08 06:59:52 +00:00
Duarte Loreto
4d0bca118a Updated and fixed typos in Portuguese translation.
2003-08-25  Duarte Loreto <happyguy_pt@hotmail.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

po/

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

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

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

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

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

        * configure.in: Put in error message telling people
        not to use HEAD for the time being untill I merger the
        porting branch
2002-01-10 21:31:09 +00:00
Darin Adler
b02653eef9 Fix install problem. Don't check this into cvs.
* Makefile.am: Fix install problem.
	* ltmain.sh: Don't check this into cvs.
2002-01-09 19:28:50 +00:00
Darin Adler
bfb2d1b25c Fix build breakage caused by bad MAKEINFO change.
* Makefile.am: Fix build breakage caused by bad MAKEINFO change.
2002-01-09 18:35:28 +00:00
Owen Taylor
1042379d6d Argument to free can't be const!
Mon Nov 26 20:11:31 2001  Owen Taylor  <otaylor@redhat.com>

	* lib/xmalloc.c include/glibtop/xmalloc.h: (glibtop_free_r):
	Argument to free can't be const!

	* include/glibtop/glibtop-client/backend.h
	  lib/glibtop-backend.c lib/glibtop-client.c: Include
	glib-object.h, not gobject/gobject.h.
2001-11-27 01:15:03 +00:00
Valek Frob
240d07da28 Updated russian translation. 2001-10-14 12:05:33 +00:00
Bastien Nocera
fb2247a58b - Renamed libgtop.pc to libgtop-2.0.pc 2001-10-13 13:43:19 +00:00
Bastien Nocera
c04ee88f00 - fixes for glib-1.3.9 2001-10-13 13:33:02 +00:00
Kwok-Koon Cheung
1b44968284 New traditional Chinese translation. 2001-09-10 19:34:18 +00:00
Kjartan Maraas
47bad7fac1 Added "nn" to ALL_LINGUAS.
2001-07-23  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Added "nn" to ALL_LINGUAS.
2001-07-24 23:05:50 +00:00
Kjartan Maraas
7691d85225 Added Norwegian (nynorsk) translation. Updated Norwegian (bokml)
2001-07-25  Kjartan Maraas  <kmaraas@gnome.org>

	* nn.po: Added Norwegian (nynorsk) translation.
	* no.po: Updated Norwegian (bokml) translation.
2001-07-24 23:04:51 +00:00
Pablo Saratxaga
d0863b7406 Updated Azeri file 2001-06-07 15:41:52 +00:00
Pablo Saratxaga
7afa0e0be7 fixed header 2001-05-26 09:07:54 +00:00
Pablo Saratxaga
0c260bfef1 updted Azeri file 2001-05-05 10:02:28 +00:00
Andraz Tori
312baf1bc2 Updated Slovenian translation 2001-05-03 21:59:26 +00:00
Andraz Tori
1dc0883059 Updated Slovenian translation 2001-05-02 17:21:34 +00:00
Martin Baulig
222b93c33f We always have libxml installed. 2001-04-20 22:35:57 +00:00
Martin Baulig
db93479a51 *** empty log message *** 2001-04-20 22:31:42 +00:00
Martin Baulig
236d2b18e7 Install this as a backend.
2001-04-21  Martin Baulig  <baulig@suse.de>

	* Makefile.am: Install this as a backend.

	* libgtop-common.backend, backend.c: New files.

	* inodedb.c: Removed; moved to ~/lib.
2001-04-20 22:31:26 +00:00
Martin Baulig
08956770d2 Removed all sysdeps checks.
2001-04-21  Martin Baulig  <baulig@suse.de>

	* configure.in: Removed all sysdeps checks.

	* lib/sysdeps-init*.c: Removed.

	* lib/inodedb.c: Moved here from sysdeps/common/inodedb.c.

	* glibtop-config.h: Removed.
2001-04-20 22:29:59 +00:00
Martin Baulig
7a7c6baf55 Moved all sysdeps code to the new libgtop-backends module.
2001-04-20  Martin Baulig  <baulig@suse.de>

	Moved all sysdeps code to the new libgtop-backends module.

	* sysdeps/freesd/*: Removed.
	* sysdeps/kernel/*: Removed.
	* sysdeps/linux/*: Removed.
	* sysdeps/osf1/*: Removed.
	* sysdeps/solaris/*: Removed.
	* sysdeps/stub/*: Removed.
	* sysdeps/stub_suid/*: Removed.
	* sysdeps/sun4/*: Removed.
2001-04-20 21:06:35 +00:00
Martin Baulig
5bfb085021 Added xmalloc.c and error.c.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* lib/Makefile.am (libgtop_la_SOURCES): Added xmalloc.c and
	error.c.
2001-04-20 20:53:00 +00:00
Martin Baulig
dfb9d6f967 Added `glibtop_closure *' argument.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/glibtop-server.h (glibtop_init_func_t):
	Added `glibtop_closure *' argument.

	* include/glibtop/glibtop-backend-info.h
	(glibtop_backend_close_func_t): Third argument is now
	`glibtop_closure *'.

	* include/glibtop/call-vector.pl: Reflect latest API changes.
2001-04-20 20:52:20 +00:00
Martin Baulig
530cc00ae7 Use G_BEGIN_DECLS and G_END_DECLS instead of LIBGTOP_BEGIN/END_DECLS.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/*.h: Use G_BEGIN_DECLS and G_END_DECLS
	instead of LIBGTOP_BEGIN/END_DECLS.
2001-04-20 20:50:01 +00:00
Martin Baulig
a3557112a7 Typedef this as an opaque struct.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/glibtop-server.h (glibtop_closure):
	Typedef this as an opaque struct.
2001-04-20 19:48:57 +00:00
Martin Baulig
3f34aafc6e New file.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/closure.h: New file.
2001-04-20 18:15:55 +00:00
Martin Baulig
d6630b9f7a Changed void *closure' to glibtop_closure *closure'.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/*.h (glibtop_get_*_s, glibtop_get_*_pl):
	Changed `void *closure' to `glibtop_closure *closure'.

	* include/glibtop/*.h
	(glibtop_init_*_s): Added `glibtop_closure *closure' argument.
	(glibtop_init_*_p): Changed `glibtop *server' to
	`glibtop_server *server' and added `glibtop_closure *closure'.
2001-04-20 18:09:15 +00:00
Martin Baulig
3b7c109916 Removed this typedef. (glibtop_server): Made the _priv' field a void *'.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/glibtop-server.h
	(glibtop_server_private): Removed this typedef.
	(glibtop_server): Made the `_priv' field a `void *'.

	* glibtop-server-private.h: Moved to lib/.

	* lib/glibtop-server-private.h
	(glibtop_server_private): Moved this typedef here.
2001-04-20 17:48:55 +00:00
Martin Baulig
c5fcc9aad6 Removed this typedef. (glibtop_server): Made the _priv' field a void *'.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/glibtop-server.h
	(glibtop_server_private): Removed this typedef.
	(glibtop_server): Made the `_priv' field a `void *'.
2001-04-20 17:38:28 +00:00
Martin Baulig
f4fc67f85c Added `void *closure' argument to all sysdeps functions.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* include/glibtop/*.h (glibtop_get_*_s, glibtop_get_*_pl):
	Added `void *closure' argument to all sysdeps functions.

	* include/glibtop/open.h (glibtop_open_s, glibtop_open_p):
	Removed the `const char *program_name' argument and added
	`void *closure'.
2001-04-20 17:12:11 +00:00
Martin Baulig
bcc4ec968e Install errors.h. 2001-04-20 16:24:46 +00:00
Martin Baulig
543b3b9160 Added pkg-config file.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* libgtop.pc.in: Added pkg-config file.
2001-04-20 15:57:50 +00:00
Martin Baulig
aac46b6daf *** empty log message *** 2001-04-20 15:48:09 +00:00
Martin Baulig
407514e4d7 Things are such much easier with the new g_signal_newc(). 2001-04-20 15:47:25 +00:00
Martin Baulig
1491ccc594 Fixed libgnomesupport check. 2001-04-20 15:46:25 +00:00
Martin Baulig
14b462fdc5 Put this here.
2001-04-20  Martin Baulig  <baulig@suse.de>

	* acinclude.m4 (GNOME_FILEUTILS_CHECKS): Put this here.
2001-04-20 15:45:35 +00:00
John Gotts
1c64d5c704 Improved spec file as per feedback in gnome-devel-list. 2001-04-05 00:10:16 +00:00
Pablo Saratxaga
21ecc84514 Fixed header of Romanian file 2001-03-28 09:30:56 +00:00
Andraz Tori
b7acfa6441 Updated Slovenian translation 2001-03-25 13:11:22 +00:00
Fatih Demir
de0391e6a4 Completed tr.po by Gorkem 2001-03-25 10:57:00 +00:00
Fatih Demir
56e7068a8b Updated tr.po 2001-03-23 21:32:00 +00:00
Marius Andreiana
ed9140570e Added partial ro (Romanian) translation 2001-03-17 13:33:36 +00:00
Marius Andreiana
ae5ecfe538 Added partially ro (Romanian) translation 2001-03-17 13:33:06 +00:00
Pablo Saratxaga
fdd8cb8d27 updatd Azeri file 2001-03-15 16:22:11 +00:00
Stano Visnovsky
2c986b988f Fixed Slovak translation from Marcel Telka 2001-03-14 12:08:32 +00:00
Stano Visnovsky
46cf060788 Updated Slovak translation from Marcel Telka <marcel@telka.sk> 2001-03-13 11:55:18 +00:00
jjranta
6ded77b938 Updated Finnish translation by Pauli Virtanen 2001-03-12 18:34:31 +00:00
Andraz Tori
b730035db5 Updated Slovenian translation 2001-03-01 23:29:27 +00:00
Andraz Tori
38755e23a3 Updated Slovenian translation 2001-02-19 23:07:25 +00:00
Simos Xenitellis
94a24147c7 Updated Greek translation 2001-02-19 16:32:42 +00:00
Christian Rose
5e08479a71 Updated Swedish translation. 2001-02-16 01:34:44 +00:00
Christian Rose
bb24644744 Updated Swedish translation. 2001-02-15 13:14:46 +00:00
Andraz Tori
eb8fd1d1be Updated Slovenian translation 2001-02-13 13:42:32 +00:00
Stano Visnovsky
f349d3a624 Added sk to ALL_LINGUAS 2001-02-13 10:53:03 +00:00
Stano Visnovsky
a0b236f4f7 Added Slovak translation from Marcel Telka <marcel@telka.sk> 2001-02-13 10:51:08 +00:00
Christophe Merlet
e5e1729baf Updated French translation. 2001-02-10 09:20:12 +00:00
Nam SungHyun
b035190e66 updated 2001-02-08 02:57:41 +00:00
Szabolcs Ban
427504e7ac Updated hu.po from Robert Vanyi 2001-02-07 17:03:27 +00:00
Christophe Merlet
33c49d7c14 Updated French translation. 2001-02-05 17:35:05 +00:00
Christophe Merlet
c24b7f3bc4 Updated French translation. 2001-02-05 17:19:38 +00:00
Fatih Demir
e76a450779 Added tr 2001-02-04 13:53:25 +00:00
Fatih Demir
c0fc0f4cb4 Added Turkish translation again. 2001-02-04 13:51:53 +00:00
Szabolcs Ban
5c597901ad Terminology fixes 2001-01-31 16:42:27 +00:00
Szabolcs Ban
d3145d1b8b Updated Hungarian translations 2001-01-26 15:48:24 +00:00
Andraz Tori
1ac0f147b7 Updated Slovenian translation 2001-01-25 21:02:08 +00:00
Szabolcs Ban
fdb4a824fc Tons of fixes by Andras and Emese (spelling, terminology, headers)
2001-01-24  Szabolcs Ban  <shooby@gnome.hu>

        * hu.po: Tons of fixes by Andras and Emese (spelling,
          terminology, headers)
2001-01-24 15:30:56 +00:00
Andraz Tori
2449e92804 Updated Slovenian translation 2001-01-23 15:58:14 +00:00
Andraz Tori
7846ac218d Updated Slovenian translation 2001-01-21 22:04:36 +00:00
Andraz Tori
5b34c23069 Updated Slovenian translation 2001-01-21 20:24:12 +00:00
Martin Baulig
b6ee365761 Fixed my debbugs-test-submit@bugzilla.gnome.org mess. 2001-01-11 21:24:49 +00:00
Martin Baulig
e4f5543f9d Added debbugs-test-submit@bugzilla.gnome.org everywhere. 2001-01-11 10:49:36 +00:00
Pablo Saratxaga
a7f8debaa2 Added Azeri file 2001-01-05 15:40:07 +00:00
Martin Baulig
34e8918003 *** empty log message *** 2000-11-26 23:33:27 +00:00
Martin Baulig
478be2d170 Added `void *closure' argument.
2000-11-27  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/glibtop-backend-info.h
	(glibtop_backend_close_func_t): Added `void *closure' argument.

	* include/glibtop/call-vector.h: Changed the second argument
	of all function in the call vector from `glibtop_backend *' to
	`void *closure'.
2000-11-26 23:29:15 +00:00
Martin Baulig
8a78a93e0c New global variable. (_open_server, _close_server): Use the quark.
2000-11-27  Martin Baulig  <martin@home-of-linux.org>

	* backend-server.c (backend_server_quark): New global variable.
	(_open_server, _close_server): Use the quark.
	* commands.c: Likewise.
2000-11-26 23:08:04 +00:00
Martin Baulig
622eb0ea5b Renamed to glibtop_backend_get(). (glibtop_backend_get_server): New
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/glibtop-backend.h (glibtop_backend_open):
	Renamed to glibtop_backend_get().
	(glibtop_backend_get_server): New function.
2000-11-26 22:58:47 +00:00
Martin Baulig
455118131e New file. (backend_server_private): New struct, formerly known as
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* backend-server.h: New file.
	(backend_server_private): New struct, formerly known
	as glibtop_backend_private.

	* glibtop-backend-private.h: Removed.

	* backend-server.c: (_open_server): Use g_object_set_data()
	to set add the backend_server_private data to the glibtop_backend,
	don't override `backend->_priv'.
	(_close_server): Use g_object_get_data() to get the data.
	[FIXME: Use quarks directly.]

	* read.c: (glibtop_read_i): Replaced the glibtop_server and
	glibtop_backend arguments with backend_server_private.
	* read_data.c: (glibtop_read_data_i): Likewise.
	* write.c: (glibtop_write_i): Likewise.
2000-11-26 22:52:34 +00:00
Martin Baulig
74ab42d100 Removed.
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* glibtop-backend-private.h: Removed.

	* backend-common.h: New files.

	* backend-common.c (_open_common): Don't overwrite
	`backend->_priv'.
2000-11-26 22:26:11 +00:00
Martin Baulig
d294298c7e Removed.
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* glibtop-backend-private.h: Removed.

	* backend-sysdeps.h: New files.

	* backend-sysdeps.c (_open_sysdeps): Don't overwrite
	`backend->_priv'.
2000-11-26 22:23:25 +00:00
Martin Baulig
4befe086c4 New function.
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/glibtop-backend.h
	(glibtop_backend_get_call_vector): New function.

	* lib/glibtop-client-private.h: New file.
	* lib/glibtop-client.h (struct _glibtop_client_private): Moved
	to glibtop-client-private.h.
2000-11-26 19:04:15 +00:00
Martin Baulig
98930be564 Changed return value to void.
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/glibtop-client.h (glibtop_client_open_backend):
	Changed return value to void.

	* lib/glibtop-client.c: Implement glibtop_client_add_backend() and
	glibtop_client_remove_backend().
2000-11-26 18:54:57 +00:00
Martin Baulig
16b81f0d91 Removed. Split into glibtop-backend.h and glibtop-backend-info.h.
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/backend.h: Removed. Split into glibtop-backend.h
	and glibtop-backend-info.h.

	* include/glibtop/glibtop-backend.h: New file. Switched
	glibtop_backend to a GObject.

	* include/glibtop/glibtop-backend-info.h: New file.

	* lib/backend.c, lib/init-backends.c, lib/open-backend.c: Removed.

	* lib/glibtop-backend.c: New file.
	* lib/glibtop-backend-info.c: New file.
2000-11-26 18:44:28 +00:00
Martin Baulig
dfd678599f Moved the typedef to backend.h.
2000-11-26  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/call-vector.h (glibtop_call_vector): Moved
	the typedef to backend.h.

	* include/glibtop/backend.h (glibtop_open_backend_l): Renamed
	to glibtop_open_backend(), removed the `glibtop_client *'
	argument and made the `GError *' argument non-optional.

	* include/glibtop/glibtop-client.h
	(glibtop_client_add_backend, glibtop_client_remove_backend): New
	functions to add/remove a glibtop_backend to a glibtop_client.
	(glibtop_client_open_backend): New convenient function; calls
	glibtop_open_backend() and glibtop_client_add_backend().
2000-11-26 18:07:11 +00:00
Martin Baulig
6e4f80b8e2 Added -Werror.
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (INCLUDES): Added -Werror.

	* include/glibtop/open.h (_glibtop_open_sysdeps): The first
	argument is now a `glibtop_client *', removed the `flags' argument
	and added `const char **backend_args' and `GError **opt_error'.
2000-11-22 21:26:15 +00:00
Martin Baulig
f704c4becf Allow the `error' argument to be NULL; propagate the error to the
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/backends.h (glibtop_open_backend_l): Allow
	the `error' argument to be NULL; propagate the error to the
	glibtop_client in this case.
2000-11-22 21:15:28 +00:00
Martin Baulig
9ab1889a3f Link libgtop_backend_sysdeps.la against
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Link libgtop_backend_sysdeps.la against
	$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la and
	$(top_builddir)/lib/libgtop_server.la.

	* libgtop-sysdeps.backend: Removed the ExtraLibs section.
2000-11-22 21:03:02 +00:00
Martin Baulig
201e78d00a Link libgtop_backend_common.la against
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Link libgtop_backend_common.la against
	$(top_builddir)/sysdeps/common/libgtop_common.la and
	$(top_builddir)/lib/libgtop_server.la.
2000-11-22 21:02:07 +00:00
Martin Baulig
d8cb698ae4 *** empty log message *** 2000-11-22 21:00:38 +00:00
Martin Baulig
876b2725c0 New file, formerly known as error.c.
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* error_suid.c: New file, formerly known as error.c.
2000-11-22 21:00:08 +00:00
Martin Baulig
c06a084fcf Added "error" and "warning" signals.
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/glibtop-client.h (glibtop_client_class):
	Added "error" and "warning" signals.
2000-11-22 20:59:16 +00:00
Martin Baulig
cee38c53bc New file.
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* lib/glibtop-server.c: New file.

	* lib/test-backends.c: New file.
	* lib/Makefile.am: Build test-backends test program.

	* lib/init-backends.c: Port this to libxml 2.

	* configure.in: Make this really work.
	* acinclude.m4: Removed the xml stuff.
	* Makefile.am (SUBDIRS): Put lib in front of sysdeps and backends.
2000-11-22 20:58:15 +00:00
Martin Baulig
81b009733e Don't call glibtop_init_s() anymore, this is deprecated.
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* fsusage.c, moutlist.c: Don't call glibtop_init_s() anymore,
	this is deprecated.

	* Makefile.am: Don't install libgtop_common.la
2000-11-22 19:55:29 +00:00
Martin Baulig
035b387463 Don't call glibtop_init_s(), this is deprecated.
2000-11-22  Martin Baulig  <martin@home-of-linux.org>

	* *.c: Don't call glibtop_init_s(), this is deprecated.

	* netinfo.c: New file.
2000-11-22 19:54:08 +00:00
Martin Baulig
158dec2b2a Removed gnomesupport checks here and started to use pkg-config.
2000-11-21  Martin Baulig  <martin@home-of-linux.org>

	* configure.in: Removed gnomesupport checks here and started
	to use pkg-config.

	* acinclude.m4: New file. Put contents of libgtop-sysdeps.m4
	and xml.m4 and LIBGTOP_CHECK_TYPE here.
	* libgtop-sysdeps.m4, xml.m4: Removed.

	* Makefile.am (SUBDIRS): Don't compile support and macros.
2000-11-21 18:30:21 +00:00
Martin Baulig
752d5b47d2 Started with the big rewrite for GNOME 2.0:
2000-11-20  Martin Baulig  <baulig@suse.de>

	Started with the big rewrite for GNOME 2.0:

	- split the `glibtop' structure into `glibtop_server' and
	`glibtop_client' and make `glibtop_client' a GObject.
	- cleanly separate the library and the backends.

	This stuff currently does not compile.

	* glibtop.h (glibtop_server_private, glibtop_server_info):
	Removed typedefs.
	(struct _glibtop, struct _glibtop_server_info): Removed.
	(glibtop_global_server, glibtop_server_features): Removed.
	(glibtop_server_ref, glibtop_server_unref): Removed.

	* glibtop.h (glibtop_init_s): First argument is now a
	`glibtop_server *'.

	* include/glibtop/*.h: Removed all #defines with the
	glibtop_global_server.
	(glibtop_get_*_l): First argument is now a `glibtop_client *'.
	(glibtop_get_*_s, glibtop_init_*_s): First argument is now a
	`glibtop_server *'.

	* lib/glibtop-client.c: New file.

	* sysdeps/common/xmalloc.c: Moved to lib/.
	* sysdeps/common/error.c: Moved to lib/.

	* lib/xmalloc.c: Moved here from sysdeps/common/.
	* lib/error.c: Moved here from sysdeps/common/.

	* include/glibtop/backend.h
	(glibtop_backend_open_func_t, glibtop_backend_close_func_t):
	First argument is now a `glibtop_server *'.
	(glibtop_backend_info): Added `glibtop_server *server'.
	(glibtop_open_backend_l): Returns `glibtop_backend *', first
	argument is `glibtop_client *' and added `GError **'.

	* include/glibtop/close.h (glibtop_close_s, glibtop_close_p):
	First argument is now a `glibtop_server *'.

	* include/glibtop/error.h (*):
	First argument is now a `glibtop_server *'.

	* include/glibtop/errors.h: Switched this to use GError.
2000-11-20 22:37:15 +00:00
Martin Baulig
c15ff3f342 New type. (glibtop): Added glibtop_server_info *info', moved ncpu',
2000-11-20  Martin Baulig  <baulig@suse.de>

	* glibtop.h (glibtop_server_info): New type.
	(glibtop): Added `glibtop_server_info *info', moved
	`ncpu', `features', `sysdeps', `required' and `wanted'
	info glibtop_server_info.
2000-11-20 16:52:30 +00:00
Martin Baulig
7a7e7d1bc3 Make it compile. 2000-11-20 16:43:59 +00:00
Martin Baulig
6511ad348b Use gnome-common. Require glib HEAD.
2000-11-20  Martin Baulig  <baulig@suse.de>

	* autogen.sh: Use gnome-common.
	* configure.in: Require glib HEAD.
2000-11-20 16:28:22 +00:00
Kenneth Christiansen
5b1eb2290a Translations from Keld
galeon/po/da.po guppi3/po/da.po helix-setup-tools/po/da.po
libgtop/po/da.po gnome-i18n/extra-po/gnome-find/da.po
2000-11-18 23:55:25 +00:00
Jorge Godoy
00aed22f17 Updating some pt_BR translations. (Update-Gnome.sh script)
any problem ricardo@conectiva.com.br please
2000-10-30 13:07:40 +00:00
Jorge Godoy
15c1ad1bd9 updating some pt_BR <ricardo@conectiva.com.br>
any problem, just tell me, and i reverse the commit.
2000-10-26 20:08:28 +00:00
Jorge Godoy
e1d552d9f7 updating pt_BR translations 2000-10-24 19:17:23 +00:00
Jorge Godoy
60749e0bef Updating pt_BR translations... 2000-10-19 13:56:20 +00:00
Christophe Merlet
bd01a45455 Updated French translation. 2000-10-17 17:23:10 +00:00
Almer S. Tigelaar
54529c2425 Update Dutch translation.
2000-10-14  Almer S. Tigelaar  <almer1@dds.nl>

	* nl.po: Update Dutch translation.
2000-10-14 12:12:31 +00:00
Yukihiro Nakai
cf62a380bf ja.po: Update Japanese translation. 2000-10-10 12:09:15 +00:00
Szabolcs Ban
ab2a4e6e6a Hungarian updates by Robi 2000-09-25 09:25:43 +00:00
Kjartan Maraas
7a9428a0e5 Updated Norwegian translation.
2000-09-19  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian translation.
2000-09-19 21:51:39 +00:00
Christian Meyer
da80f53deb Added update.pl and README.tools from kanikus. 2000-09-13 10:39:31 +00:00
Andraz Tori
ae15c4159c Updated Slovenian translation 2000-09-04 20:39:44 +00:00
Kai Lahmann
eaee97b2bf *** empty log message *** 2000-08-28 14:43:41 +00:00
Kai Lahmann
94882bbc60 Updated German translation 2000-08-28 13:37:43 +00:00
Andraz Tori
1e02e69b4a Updated Slovenian translation 2000-08-20 16:52:29 +00:00
Benedikt Roth
8277cc4d67 copyright fix 2000-08-16 18:24:53 +00:00
Kai Lahmann
29858d29d8 Updated German translation 2000-08-16 11:54:37 +00:00
Kai Lahmann
984baf22f2 Updated German translation 2000-08-14 22:43:55 +00:00
Valek Frob
cdd3862061 Updated russian translation. 2000-08-11 19:04:35 +00:00
Szabolcs Ban
c7cec23cf4 Added Hungarian PO 2000-08-09 15:05:01 +00:00
Kai Lahmann
55b6e2e082 I thought I did... 2000-07-15 22:13:00 +00:00
Kai Lahmann
7d481fc8e9 6 were missing 2000-07-14 22:03:52 +00:00
Benedikt Roth
50a02de454 wrong log message 2000-07-13 16:35:29 +00:00
Benedikt Roth
1fcdf1af86 Updated Dutch translation from Dennis Smit <synap@area101.penguin.nl> 2000-07-13 16:33:16 +00:00
Jorge Godoy
c62a74fb5a updated pt_BR translations 2000-07-12 16:37:52 +00:00
Andraz Tori
608ac42afe Updated Slovenian translation 2000-06-27 23:00:54 +00:00
Andraz Tori
99a3b1fe82 Updated Slovenian translation 2000-06-24 23:11:43 +00:00
Andraz Tori
ec00e62a54 Added Slovenian translations 2000-06-23 22:33:28 +00:00
Valek Frob
29060eb6ce Updated russian translation. 2000-06-04 21:17:01 +00:00
Nam SungHyun
5301e8a86a updated 2000-05-16 11:29:24 +00:00
Andreas Hydén
dc103ad41d Added update.sh script 2000-05-09 21:51:05 +00:00
Valek Frob
de91c11f87 Updated russian translation. 2000-05-05 15:16:08 +00:00
Kenneth Christiansen
b6091762ac Translations from Keld 2000-04-30 04:26:55 +00:00
Andreas Hydén
4719557dae Updated Swedish translation 2000-04-29 19:37:17 +00:00
Kjartan Maraas
f4a05d8fc9 Updated Norwegian translation.
2000-04-29  Kjartan Maraas  <kmaraas@online.no>

	* no.po: Updated Norwegian translation.
2000-04-29 18:06:20 +00:00
Martin Baulig
0ff66c2eaa stat () first and don't make any unnecessary noise in case of EACCES. 2000-04-24 13:37:37 +00:00
Martin Baulig
a40a438ec8 *** empty log message *** 2000-04-24 13:20:13 +00:00
Martin Baulig
718cd38098 Added `Process current working directory' feature (proc_cwd).
2000-04-24  Martin Baulig  <baulig@suse.de>

	Added `Process current working directory' feature (proc_cwd).

	* include/glibtop/proc_cwd.h: New file.
	* features.def: Added `proc_cwd'.

	* include/glibtop/sysdeps.h (glibtop_sysdeps): Added `proc_cwd'.
	* include/glibtop/union.h (glibtop_union): Added `proc_cwd'.

	* sysdeps/stub/proc_cwd.c: New file.
	* sysdeps/names/proc_cwd.c: New file.
2000-04-24 13:08:48 +00:00
Martin Baulig
6b88dcd4aa New file. This feature was requested by Nautilus hacker Maciej Stachowiak
2000-04-24  Martin Baulig  <baulig@suse.de>

	* proc_cwd.c: New file. This feature was requested by Nautilus
	hacker Maciej Stachowiak and it returns the current working
	directory of a process.
2000-04-24 13:08:27 +00:00
Andreas Hydén
29b428608d Updated Swedish translation 2000-04-20 21:41:59 +00:00
Pablo Saratxaga
e487fc30f4 Added Catalan file Updated Spanish file
Added Catalan file
Updated Spanish file
2000-04-19 12:29:06 +00:00
Pablo Saratxaga
578e5a5194 Updated Danish file 2000-04-18 19:49:38 +00:00
Kjartan Maraas
fb08ec7144 Updated Norwegian translation.
2000-04-18  Kjartan Maraas  <kmaraas@online.no>

	* no.po: Updated Norwegian translation.
2000-04-18 13:04:29 +00:00
Valek Frob
a51ffb6b73 Added russian translation. 2000-04-16 16:13:57 +00:00
Birger Langkjer/danish translations
0ecdde94c2 balsa/po/da.po gnome-core/po/da.po gnome-utils/po/da.po gtop/po/da.po
balsa/po/da.po gnome-core/po/da.po gnome-utils/po/da.po
 	gtop/po/da.po libgtop/po/da.po
2000-04-08 18:34:02 +00:00
Yuri Syrota
969260c9a9 Updated Ukrainian translation 2000-04-05 05:59:03 +00:00
Spiros Papadimitriou
fe00191113 - Added Greek (el) translation (from Sarantis Paskalis, paskalis@di.uoa.gr)
and updated ALL_LINGUAS.
2000-03-31 15:41:22 +00:00
Alastair McKinstry
60f0ea7dc2 Irish translations 2000-03-10 22:44:54 +00:00
Martin Baulig
d6c8167076 *** empty log message *** 2000-02-28 21:10:45 +00:00
Martin Baulig
26b2aaa2db *** empty log message *** 2000-02-27 18:26:46 +00:00
Martin Baulig
0b45f63e61 Added XML DTD for the `*.backend' files.
2000-02-27  Martin Baulig  <martin@home-of-linux.org>

	* dtd/libgtop-backends.dtd: Added XML DTD for the `*.backend' files.
2000-02-27 18:22:02 +00:00
Martin Baulig
a790130414 New directory. This is a XML DTD for "backend info" XML files. In future,
2000-02-27  Martin Baulig  <martin@home-of-linux.org>

	* dtd/: New directory.
	* dtd/libgtop-backend-info.dtd: This is a XML DTD for "backend info"
	XML files. In future, each backend will have such a xml file which
	contains information like a short description of the backend, its
	authors etc.

	* sysdeps/linux/backend-info.xml: New file. First version of such
	a "backend info" XML file as described above.
2000-02-27 18:13:16 +00:00
Martin Baulig
f36d5e5370 Set this to "no" for all systems until I made up my mind how this'll work
2000-02-27  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.m4 (libgtop_have_sysdeps): Set this to "no" for
	all systems until I made up my mind how this'll work in future.
2000-02-27 16:39:43 +00:00
Martin Baulig
5dbfe42493 Moved to sysdeps/common/error.c. (glibtop_error_io_r, glibtop_warn_io_r):
2000-02-24  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/error.h (glibtop_error_r, glibtop_warn_r): Moved
	to sysdeps/common/error.c.
	(glibtop_error_io_r, glibtop_warn_io_r): Likewise.
	(glibtop_error, glibtop_warn): Moved the non-GNU-C version of them
	to sysdeps/common/error.c.
	(glibtop_error_io, glibtop_warn_io): Likewise.

	* sysdeps/common/error.c (glibtop_error_r, glibtop_warn_r): Moved
	here from include/glibtop/error.h.
	(glibtop_error_io_r, glibtop_warn_io_r): Likewise.
	(glibtop_error, glibtop_warn): Moved the non-GNU-C version of them
	here from include/glibtop/error.h.
	(glibtop_error_io, glibtop_warn_io): Likewise.
2000-02-24 18:54:13 +00:00
Martin Baulig
76f1fb641c *** empty log message *** 2000-02-24 18:12:45 +00:00
Martin Baulig
7b30b1ec86 Applied a patch from Aron Griffis <agriffis@bigfoot.com>.
2000-02-24  Martin Baulig  <martin@home-of-linux.org>

	Applied a patch from Aron Griffis <agriffis@bigfoot.com>.

	* glibtop_machine.h: Don't declare table () here.
	* netinfo.c: Reflect latest interface changes.
2000-02-24 12:48:55 +00:00
Martin Baulig
9e2a8f7db8 Applied a patch from Aron Griffis to make this compile on Tru64. 2000-02-24 12:46:14 +00:00
Martin Baulig
d6a6d70c75 True64 fix from Aron Griffis: we need to `#include <sys/bitypes.h>' here.
2000-02-24  Martin Baulig  <martin@home-of-linux.org>

	* fsusage.c: True64 fix from Aron Griffis: we need to
	`#include <sys/bitypes.h>' here.
2000-02-24 12:43:20 +00:00
Martin Baulig
da16460aad *** empty log message *** 2000-02-24 12:41:55 +00:00
Martin Baulig
444ede9949 It's called <sys/bitypes.h>, not <sys/bittypes.h> ... 2000-02-24 12:16:30 +00:00
Martin Baulig
b25b0cf4d4 1.1.6-snap. 2000-02-23 00:56:39 +00:00
Martin Baulig
f282240c0c s/USE_GMODULE/LIBGTOP_USE_GMODULE/ 2000-02-23 00:23:00 +00:00
Martin Baulig
8d6e26a8d6 Call it "GNOME Portable System Access Library".
2000-02-23  Martin Baulig  <martin@home-of-linux.org>

	* autogen.sh: Call it "GNOME Portable System Access Library".
2000-02-23 00:08:01 +00:00
Martin Baulig
62af029665 *** empty log message *** 2000-02-22 23:57:48 +00:00
Martin Baulig
e43f1a64c5 Only install the libs in $(LIBGTOP_BACKEND_DIR) when we
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
	when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
2000-02-22 23:50:09 +00:00
Martin Baulig
f92c264826 Set this to `-snap' so the tarball will be called
2000-02-23  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION (LIBGTOP_VERSION_SUFFIX): Set this to `-snap' so
	the tarball will be called `libgtop-1.1.6-snap.tar.gz'.
2000-02-22 23:31:51 +00:00
Martin Baulig
350e4e799d Fix some True64 issues which were reported from Aron Griffis.
2000-02-23  Martin Baulig  <martin@home-of-linux.org>

	Fix some True64 issues which were reported from Aron Griffis.

	* libgtop-sysdeps.m4 (GNOME_LIBGTOP_TYPES_PRIVATE): Check for
	<sys/bittype.h> and use AC_LIBGTOP_CHECK_TYPE, not AC_CHECK_TYPE.

	* include/glibtop/global.h: #include <sys/bittypes.h>.

	* ltmain.sh: Added this from libtool 1.3.4 (only used on Solaris).
2000-02-22 23:30:56 +00:00
Martin Baulig
6c6d8e006e Removed external declaration. New static variable. This maps backend names
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* lib/init-backends.c (glibtop_backend_*): Removed external declaration.
	* lib/open-backends.c (backend_init_table): New static variable. This maps
	backend names to their `glibtop_backend_info' structure.
	(glibtop_open_backend_l): Make this working for the non-gmodule case.
	* lib/close.c (close_backend): Likewise.
2000-02-22 22:16:30 +00:00
Martin Baulig
df3901571d Fix LIBGTOP_LIBS for the non-gmodule case. 2000-02-22 22:12:33 +00:00
Martin Baulig
a4db88252e Removed external declaration.
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* lib/init-backends.c (glibtop_backend_*): Removed external
	declaration.
2000-02-22 21:58:09 +00:00
Martin Baulig
48440ac59b *** empty log message *** 2000-02-22 21:56:10 +00:00
Martin Baulig
c3a55796c2 Call this `LibGTopBackendInfo_Server' when we don't use gmodule.
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* backend-sysdeps.c (LibGTopBackendInfo): Call this
	`LibGTopBackendInfo_Server' when we don't use gmodule.
2000-02-22 21:55:43 +00:00
Martin Baulig
33a659ab06 Call this `LibGTopBackendInfo_Sysdeps' when we don't use gmodule.
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* backend-sysdeps.c (LibGTopBackendInfo): Call this
	`LibGTopBackendInfo_Sysdeps' when we don't use gmodule.
2000-02-22 21:55:12 +00:00
Martin Baulig
5e8644d736 Added. (LIBGTOP_NEED_SERVER): Added.
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* acconfig.h (LIBGTOP_HAVE_SYSDEPS): Added.
	(LIBGTOP_NEED_SERVER): Added.
2000-02-22 21:52:31 +00:00
Martin Baulig
14e7219160 *** empty log message *** 2000-02-22 21:03:44 +00:00
Martin Baulig
5f0246b07d Only install the libs in $(LIBGTOP_BACKEND_DIR) when we
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
	when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
2000-02-22 21:01:14 +00:00
Martin Baulig
fa20de8904 *** empty log message *** 2000-02-22 19:59:32 +00:00
Martin Baulig
00d9dd7065 Added this to CVS and hacked it to use `$CC -shared' to create shared
2000-02-22  Martin Baulig  <martin@home-of-linux.org>

	* ltconfig: Added this to CVS and hacked it to use `$CC -shared'
	to create shared libraries on Solaris.

	* automake.sh: Don't run libtoolize on Solaris but use the CVS
	version instead.
2000-02-22 19:58:58 +00:00
Martin Baulig
0a3a0c1a34 *** empty log message *** 2000-02-22 16:00:46 +00:00
Martin Baulig
a9ed25e7fc Add -lgtop_backend_sysdeps' and -lgtop_backend_common' if dynamic
2000-02-16  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (LIBGTOP_LIBS): Add `-lgtop_backend_sysdeps' and
	`-lgtop_backend_common' if dynamic linking does not work.

	* libgtop-sysdeps.m4 (GNOME_LIBGTOP_DYNLINK): New macro to check
	whether dynamic linking works.
	(libgtop_use_gmodule): Set this to `yes' or `no' depending on
	whether dynamic linking of the backends work on the current system.
	(LIBGTOP_USE_GMODULE): New automake conditional.

	* acconfig.h (LIBGTOP_USE_GMOUDLE): Define this when dynamic
	linking of the backends work on the current system.
2000-02-22 14:07:36 +00:00
Martin Baulig
e577aa3d08 Started to implement this. 2000-02-20 23:32:28 +00:00
Martin Baulig
8bcbf2f86c New constant.
2000-02-21  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/interfaces.h (GLIBTOP_STRATEGY_FLAGS_MASK):
	New constant.
2000-02-20 23:32:15 +00:00
Martin Baulig
1e9cb3ea2a Moved some #endif ... 2000-02-19 23:26:04 +00:00
Martin Baulig
7e24f71432 Set version number to 1.1.6, binary age 0, interface age 0.
2000-02-20  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.1.6, binary age 0,
	interface age 0.
2000-02-19 23:20:37 +00:00
Martin Baulig
4dad0e5b8c Released LibGTop 1.1.5 "Sidney". 2000-02-16 17:11:21 +00:00
Martin Baulig
9dc214b3e7 Released LibGTop 1.1.5 "Sidney".
2000-02-16  Martin Baulig  <martin@home-of-linux.org>

	Released LibGTop 1.1.5 "Sidney".
2000-02-16 16:56:51 +00:00
431 changed files with 42322 additions and 27642 deletions

View File

@@ -20,8 +20,6 @@ libgtop-1.*.*
libgtop-mirror.sh.swp
libgtopConf.sh
libtool
ltconfig
ltmain.sh
macros
stamp-h
stamp-h.in
@@ -43,3 +41,4 @@ glibtop-config.h
stamp-gc-h
build-debstamp
install-debstamp
libgtop.pc

467
ChangeLog
View File

@@ -1,3 +1,470 @@
2003-05-10 Danilo Šegan <dsegan@gmx.net>
* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.
2003-04-30 Abel Cheung <maddog@linux.org.hk>
* configure.in: Added "id" to ALL_LINGUAS.
2003-03-13 Christian Rose <menthos@menthos.com>
* configure.in: Added "ml" to ALL_LINGUAS.
2003-03-10 Roozbeh Pournader <roozbeh@sharif.edu>
* configure.in: Added "fa" to ALL_LINGUAS.
2003-01-25 Alessio Frusciante <algol@firenze.linux.it>
* configure.in: Added "it" (Italian) to ALL_LINGUAS.
2003-01-22 Christian Rose <menthos@menthos.com>
* configure.in: Added "mn" to ALL_LINGUAS.
2002-06-25 Yanko Kaneti <yaneti@declera.com>
* configure.in: (ALL_LINGUAS) Added Bulgarian (bg).
2002-05-08 Pablo Saratxaga <pablo@mandrakesoft.com>
* configure.in: Added Vietnamese (vi) to ALL_LINGUAS
2002-03-11 Duarte Loreto <happyguy_pt@hotmail.com>
* configure.in: Added pt (Portuguese) to ALL_LINGUAS
2002-02-05 Abel Cheung <maddog@linux.org.hk>
* configure.in (ALL_LINGUAS): zh_CN.GB2312 -> zh_CN
2002-01-10 Kevin Vandersloot <kfv101@psu.edu>
* configure.in: Put in error message telling people
not to use HEAD for the time being untill I merger the
porting branch
2002-01-09 Darin Adler <darin@bentspoon.com>
* Makefile.am: Fix install problem.
* ltmain.sh: Don't check this into cvs.
Mon Nov 26 20:11:31 2001 Owen Taylor <otaylor@redhat.com>
* lib/xmalloc.c include/glibtop/xmalloc.h: (glibtop_free_r):
Argument to free can't be const!
* include/glibtop/glibtop-client/backend.h
lib/glibtop-backend.c lib/glibtop-client.c: Include
glib-object.h, not gobject/gobject.h.
2001-10-13 Bastien Nocera <hadess@hadess.net>
* Makefile.am, configure.in, libgtop-2.0.pc.in, libgtop.pc.in:
Renamed libgtop.pc to libgtop-2.0.pc
2001-10-13 Bastien Nocera <hadess@hadess.net>
* configure.in, include/glibtop/errors.h, include/glibtop/global.h,
lib/glibtop-client.c, lib/test-backends.c: Fixes for glib-1.3.9
2001-09-10 Abel Cheung <maddog@linux.org.hk>
* configure.in: Added "zh_TW" to ALL_LINGUAS.
2001-07-23 Kjartan Maraas <kmaraas@gnome.org>
* configure.in: Added "nn" to ALL_LINGUAS.
2001-04-21 Martin Baulig <baulig@suse.de>
* configure.in: Removed all sysdeps checks.
* lib/sysdeps-init*.c: Removed.
* lib/inodedb.c: Moved here from sysdeps/common/inodedb.c.
* glibtop-config.h: Removed.
2001-04-20 Martin Baulig <baulig@suse.de>
Moved all sysdeps code to the new libgtop-backends module.
* sysdeps/freesd/*: Removed.
* sysdeps/kernel/*: Removed.
* sysdeps/linux/*: Removed.
* sysdeps/osf1/*: Removed.
* sysdeps/solaris/*: Removed.
* sysdeps/stub/*: Removed.
* sysdeps/stub_suid/*: Removed.
* sysdeps/sun4/*: Removed.
2001-04-20 Martin Baulig <baulig@suse.de>
* lib/Makefile.am (libgtop_la_SOURCES): Added xmalloc.c and
error.c.
2001-04-20 Martin Baulig <baulig@suse.de>
* include/glibtop/glibtop-server.h (glibtop_init_func_t):
Added `glibtop_closure *' argument.
* include/glibtop/glibtop-backend-info.h
(glibtop_backend_close_func_t): Third argument is now
`glibtop_closure *'.
* include/glibtop/call-vector.pl: Reflect latest API changes.
2001-04-20 Martin Baulig <baulig@suse.de>
* include/glibtop/*.h: Use G_BEGIN_DECLS and G_END_DECLS
instead of LIBGTOP_BEGIN/END_DECLS.
2001-04-20 Martin Baulig <baulig@suse.de>
* include/glibtop/glibtop-server.h (glibtop_closure):
Typedef this as an opaque struct.
2001-04-20 Martin Baulig <baulig@suse.de>
* include/glibtop/*.h (glibtop_get_*_s, glibtop_get_*_pl):
Changed `void *closure' to `glibtop_closure *closure'.
* include/glibtop/*.h
(glibtop_init_*_s): Added `glibtop_closure *closure' argument.
(glibtop_init_*_p): Changed `glibtop *server' to
`glibtop_server *server' and added `glibtop_closure *closure'.
2001-04-20 Martin Baulig <baulig@suse.de>
* include/glibtop/glibtop-server.h
(glibtop_server_private): Removed this typedef.
(glibtop_server): Made the `_priv' field a `void *'.
* glibtop-server-private.h: Moved to lib/.
* lib/glibtop-server-private.h
(glibtop_server_private): Moved this typedef here.
2001-04-20 Martin Baulig <baulig@suse.de>
* include/glibtop/*.h (glibtop_get_*_s, glibtop_get_*_pl):
Added `void *closure' argument to all sysdeps functions.
* include/glibtop/open.h (glibtop_open_s, glibtop_open_p):
Removed the `const char *program_name' argument and added
`void *closure'.
2001-04-20 Martin Baulig <baulig@suse.de>
* libgtop.pc.in: Added pkg-config file.
2001-04-20 Martin Baulig <baulig@suse.de>
* acinclude.m4 (GNOME_FILEUTILS_CHECKS): Put this here.
2001-04-04 John Gotts <jgotts@linuxsavvy.com>
* libgtop.spec.in: Fixed categories. Also build examples. Improved
file lists.
2001-03-17 Marius Andreiana <mandreiana@yahoo.com>
* configure.in: Added ro (Romanian) to ALL_LINGUAS
2001-02-13 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
* configure.in: Added sk to ALL_LINGUAS.
2001-01-04 Fatih Demir <kabalak@gmx.net>
* configure.in: Added tr to ALL_LINGUAS.
2000-11-27 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/glibtop-backend-info.h
(glibtop_backend_close_func_t): Added `void *closure' argument.
* include/glibtop/call-vector.h: Changed the second argument
of all function in the call vector from `glibtop_backend *' to
`void *closure'.
2000-11-26 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/glibtop-backend.h (glibtop_backend_open):
Renamed to glibtop_backend_get().
(glibtop_backend_get_server): New function.
* include/glibtop/glibtop-backend.h
(glibtop_backend_get_call_vector): New function.
* lib/glibtop-client-private.h: New file.
* lib/glibtop-client.h (struct _glibtop_client_private): Moved
to glibtop-client-private.h.
* include/glibtop/glibtop-client.h (glibtop_client_open_backend):
Changed return value to void.
* lib/glibtop-client.c: Implement glibtop_client_add_backend() and
glibtop_client_remove_backend().
* include/glibtop/backend.h: Removed. Split into glibtop-backend.h
and glibtop-backend-info.h.
* include/glibtop/glibtop-backend.h: New file. Switched
glibtop_backend to a GObject.
* include/glibtop/glibtop-backend-info.h: New file.
* lib/backend.c, lib/init-backends.c, lib/open-backend.c: Removed.
* lib/glibtop-backend.c: New file.
* lib/glibtop-backend-info.c: New file.
2000-11-26 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/call-vector.h (glibtop_call_vector): Moved
the typedef to backend.h.
* include/glibtop/backend.h (glibtop_open_backend_l): Renamed
to glibtop_open_backend(), removed the `glibtop_client *'
argument and made the `GError *' argument non-optional.
* include/glibtop/glibtop-client.h
(glibtop_client_add_backend, glibtop_client_remove_backend): New
functions to add/remove a glibtop_backend to a glibtop_client.
(glibtop_client_open_backend): New convenient function; calls
glibtop_open_backend() and glibtop_client_add_backend().
2000-11-22 Martin Baulig <martin@home-of-linux.org>
* configure.in (INCLUDES): Added -Werror.
* include/glibtop/open.h (_glibtop_open_sysdeps): The first
argument is now a `glibtop_client *', removed the `flags' argument
and added `const char **backend_args' and `GError **opt_error'.
* include/glibtop/backends.h (glibtop_open_backend_l): Allow
the `error' argument to be NULL; propagate the error to the
glibtop_client in this case.
2000-11-22 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/glibtop-client.h (glibtop_client_class):
Added "error" and "warning" signals.
* lib/glibtop-server.c: New file.
* lib/test-backends.c: New file.
* lib/Makefile.am: Build test-backends test program.
* lib/init-backends.c: Port this to libxml 2.
* configure.in: Make this really work.
* acinclude.m4: Removed the xml stuff.
* Makefile.am (SUBDIRS): Put lib in front of sysdeps and backends.
2000-11-21 Martin Baulig <martin@home-of-linux.org>
* configure.in: Removed gnomesupport checks here and started
to use pkg-config.
* acinclude.m4: New file. Put contents of libgtop-sysdeps.m4
and xml.m4 and LIBGTOP_CHECK_TYPE here.
* libgtop-sysdeps.m4, xml.m4: Removed.
* Makefile.am (SUBDIRS): Don't compile support and macros.
2000-11-20 Martin Baulig <baulig@suse.de>
Started with the big rewrite for GNOME 2.0:
- split the `glibtop' structure into `glibtop_server' and
`glibtop_client' and make `glibtop_client' a GObject.
- cleanly separate the library and the backends.
This stuff currently does not compile.
* glibtop.h (glibtop_server_private, glibtop_server_info):
Removed typedefs.
(struct _glibtop, struct _glibtop_server_info): Removed.
(glibtop_global_server, glibtop_server_features): Removed.
(glibtop_server_ref, glibtop_server_unref): Removed.
* glibtop.h (glibtop_init_s): First argument is now a
`glibtop_server *'.
* include/glibtop/*.h: Removed all #defines with the
glibtop_global_server.
(glibtop_get_*_l): First argument is now a `glibtop_client *'.
(glibtop_get_*_s, glibtop_init_*_s): First argument is now a
`glibtop_server *'.
* lib/glibtop-client.c: New file.
* sysdeps/common/xmalloc.c: Moved to lib/.
* sysdeps/common/error.c: Moved to lib/.
* lib/xmalloc.c: Moved here from sysdeps/common/.
* lib/error.c: Moved here from sysdeps/common/.
* include/glibtop/backend.h
(glibtop_backend_open_func_t, glibtop_backend_close_func_t):
First argument is now a `glibtop_server *'.
(glibtop_backend_info): Added `glibtop_server *server'.
(glibtop_open_backend_l): Returns `glibtop_backend *', first
argument is `glibtop_client *' and added `GError **'.
* include/glibtop/close.h (glibtop_close_s, glibtop_close_p):
First argument is now a `glibtop_server *'.
* include/glibtop/error.h (*):
First argument is now a `glibtop_server *'.
* include/glibtop/errors.h: Switched this to use GError.
2000-11-20 Martin Baulig <baulig@suse.de>
* glibtop.h (glibtop_server_info): New type.
(glibtop): Added `glibtop_server_info *info', moved
`ncpu', `features', `sysdeps', `required' and `wanted'
info glibtop_server_info.
2000-11-20 Martin Baulig <baulig@suse.de>
* autogen.sh: Use gnome-common.
* configure.in: Require glib HEAD.
2000-08-09 Szabolcs BAN <shooby@gnome.hu>
* po/hu.po: Adding Hungarian translations.
2000-04-24 Martin Baulig <baulig@suse.de>
Added `Process current working directory' feature (proc_cwd).
* include/glibtop/proc_cwd.h: New file.
* features.def: Added `proc_cwd'.
* include/glibtop/sysdeps.h (glibtop_sysdeps): Added `proc_cwd'.
* include/glibtop/union.h (glibtop_union): Added `proc_cwd'.
* sysdeps/stub/proc_cwd.c: New file.
* sysdeps/names/proc_cwd.c: New file.
2000-04-19 Pablo Saratxaga <pablo@mandrakesoft.com>
* configure.in (ALL_LINGUAS): added Catalan
2000-04-16 Valek Filippov <frob@df.ru>
* configure.in: Added russian translation.
2000-03-08 Alastair McKinstry <mckinstry@computer.org>
* configure.in (ALL_LINGUAS): Added Irish (ga) translation.
2000-02-27 Martin Baulig <martin@home-of-linux.org>
* dtd/libgtop-backends.dtd: Added XML DTD for the `*.backend' files.
2000-02-27 Martin Baulig <martin@home-of-linux.org>
* dtd/: New directory.
* dtd/libgtop-backend-info.dtd: This is a XML DTD for "backend info"
XML files. In future, each backend will have such a xml file which
contains information like a short description of the backend, its
authors etc.
* sysdeps/linux/backend-info.xml: New file. First version of such
a "backend info" XML file as described above.
2000-02-27 Martin Baulig <martin@home-of-linux.org>
* libgtop-sysdeps.m4 (libgtop_have_sysdeps): Set this to "no" for
all systems until I made up my mind how this'll work in future.
2000-02-24 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/error.h (glibtop_error_r, glibtop_warn_r): Moved
to sysdeps/common/error.c.
(glibtop_error_io_r, glibtop_warn_io_r): Likewise.
(glibtop_error, glibtop_warn): Moved the non-GNU-C version of them
to sysdeps/common/error.c.
(glibtop_error_io, glibtop_warn_io): Likewise.
* sysdeps/common/error.c (glibtop_error_r, glibtop_warn_r): Moved
here from include/glibtop/error.h.
(glibtop_error_io_r, glibtop_warn_io_r): Likewise.
(glibtop_error, glibtop_warn): Moved the non-GNU-C version of them
here from include/glibtop/error.h.
(glibtop_error_io, glibtop_warn_io): Likewise.
2000-02-23 Martin Baulig <martin@home-of-linux.org>
* autogen.sh: Call it "GNOME Portable System Access Library".
* LIBGTOP-VERSION (LIBGTOP_VERSION_SUFFIX): Set this to `-snap' so
the tarball will be called `libgtop-1.1.6-snap.tar.gz'.
2000-02-23 Martin Baulig <martin@home-of-linux.org>
Fix some True64 issues which were reported from Aron Griffis.
* libgtop-sysdeps.m4 (GNOME_LIBGTOP_TYPES_PRIVATE): Check for
<sys/bittype.h> and use AC_LIBGTOP_CHECK_TYPE, not AC_CHECK_TYPE.
* include/glibtop/global.h: #include <sys/bittypes.h>.
* ltmain.sh: Added this from libtool 1.3.4 (only used on Solaris).
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* lib/init-backends.c (glibtop_backend_*): Removed external declaration.
* lib/open-backends.c (backend_init_table): New static variable. This maps
backend names to their `glibtop_backend_info' structure.
(glibtop_open_backend_l): Make this working for the non-gmodule case.
* lib/close.c (close_backend): Likewise.
* acconfig.h (LIBGTOP_HAVE_SYSDEPS): Added.
(LIBGTOP_NEED_SERVER): Added.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* ltconfig: Added this to CVS and hacked it to use `$CC -shared'
to create shared libraries on Solaris.
* automake.sh: Don't run libtoolize on Solaris but use the CVS
version instead.
2000-02-16 Martin Baulig <martin@home-of-linux.org>
* configure.in (LIBGTOP_LIBS): Add `-lgtop_backend_sysdeps' and
`-lgtop_backend_common' if dynamic linking does not work.
* libgtop-sysdeps.m4 (GNOME_LIBGTOP_DYNLINK): New macro to check
whether dynamic linking works.
(libgtop_use_gmodule): Set this to `yes' or `no' depending on
whether dynamic linking of the backends work on the current system.
(LIBGTOP_USE_GMODULE): New automake conditional.
* acconfig.h (LIBGTOP_USE_GMOUDLE): Define this when dynamic
linking of the backends work on the current system.
2000-02-21 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/interfaces.h (GLIBTOP_STRATEGY_FLAGS_MASK):
New constant.
2000-02-20 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION: Set version number to 1.1.6, binary age 0,
interface age 0.
2000-02-16 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 1.1.5 "Sidney".
2000-02-16 Martin Baulig <martin@home-of-linux.org>
* sysdeps/sun4: This is very old and obsolete so we won't

View File

@@ -8,11 +8,11 @@
#
LIBGTOP_MAJOR_VERSION=1
LIBGTOP_MINOR_VERSION=1
LIBGTOP_MICRO_VERSION=5
LIBGTOP_MICRO_VERSION=6
# you can set this to `-snap' for instance to create
# a `libgtop-1.x.y-snap.tar.gz' tarball.
LIBGTOP_VERSION_SUFFIX=
LIBGTOP_VERSION_SUFFIX=-snap
LIBGTOP_INTERFACE_AGE=0
LIBGTOP_BINARY_AGE=0

View File

@@ -1,21 +1,14 @@
## Process this file with automake to produce Makefile.in.
if BUILD_GNOME_SUPPORT
support = support
endif
SUBDIRS = po intl $(support) macros misc include sysdeps backends lib \
src doc scripts
SUBDIRS = po intl misc include lib sysdeps src doc dtd scripts
include_HEADERS = glibtop.h
configincludedir = $(pkglibdir)/include
noinst_HEADERS = glibtop-server-private.h
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
LIBGTOP-VERSION features.def structures.def libgtop-config.in \
RELNOTES-0.25 RELNOTES-1.0 RELNOTES-1.1.x libgtop-sysdeps.m4 README \
libgtop-mirror.sh
libgtop-mirror.sh libgtop-2.0.pc.in
configinclude_DATA = \
glibtop-config.h
@@ -42,15 +35,7 @@ confexec_DATA = $(top_builddir)/libgtopConf.sh \
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
bin_SCRIPTS = libgtop-config
## We create libgtopConf.sh here and not from configure because we want
## to get the paths expanded correctly. Macros like srcdir are given
@@ -95,3 +80,5 @@ libgtop-features.def: features.def
libgtop-structures.def: structures.def
@LN_S@ $< $@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtop-2.0.pc

11
NEWS
View File

@@ -1,3 +1,14 @@
February 16, 2000:
=================
* Released LibGTop 1.1.5 "Sidney"
This is a developer's snapshot for the GUADEC CD-ROM. It
should work without problems on most recent GNU/Linux and
BSD systems. The Solaris port compiles, but has some dynamic
linking issues - please use LibGTop 1.1.2.1 on Solaris for
the moment until this is fixed.
January 14, 1999:
================

View File

@@ -1,23 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* 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 HAVE_GETTEXT
@@ -31,8 +13,6 @@
#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
@@ -112,43 +92,19 @@
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 ssize_t
#undef u_int64_t
#undef int64_t
#undef u_int8_t
#undef int8_t
#undef HAVE_GLIBTOP_MACHINE_H
#undef GLIBTOP_NAMES
#undef GLIBTOP_EXAMPLES
#undef GLIBTOP_INODEDB
#undef NEED_LIBGTOP
#undef HAVE_LINUX_SYSCTL
#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
@@ -156,27 +112,3 @@
/* Define to use glib's malloc. */
#undef LIBGTOP_USE_GLIB_MALLOC
/* 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
/* Define if you have the libxml library */
#undef HAVE_LIBXML
/* Modem lockfile for PPP support. This is a printf-like format string
* which takes the interface number as argument
* (default '/var/lock/LCK..ttyS%u'). */
#undef LIBGTOP_MODEM_LOCKFILE

414
acinclude.m4 Normal file
View File

@@ -0,0 +1,414 @@
dnl
dnl GNOME_FILEUTILS_CHECKS
dnl
dnl checks that are needed for the diskusage applet.
dnl
AC_DEFUN([GNOME_FILEUTILS_CHECKS],
[
AC_CHECK_HEADERS(fcntl.h sys/param.h sys/statfs.h sys/fstyp.h \
mnttab.h mntent.h sys/statvfs.h sys/vfs.h sys/mount.h \
sys/filsys.h sys/fs_types.h sys/fs/s5param.h)
AC_CHECK_FUNCS(bcopy endgrent endpwent fchdir ftime ftruncate \
getcwd getmntinfo gettimeofday isascii lchown \
listmntent memcpy mkfifo strchr strerror strrchr vprintf)
dnl Set some defaults when cross-compiling
if test x$cross_compiling = xyes ; then
case "$host_os" in
linux*)
fu_cv_sys_mounted_getmntent1=yes
fu_cv_sys_stat_statfs2_bsize=yes
;;
sunos*)
fu_cv_sys_stat_statfs4=yes
;;
freebsd*)
fu_cv_sys_stat_statfs2_bsize=yes
;;
osf*)
fu_cv_sys_stat_statfs3_osf1=yes
;;
esac
fi
# Determine how to get the list of mounted filesystems.
list_mounted_fs=
# If the getmntent function is available but not in the standard library,
# make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
AC_FUNC_GETMNTENT
# This test must precede the ones for getmntent because Unicos-9 is
# reported to have the getmntent function, but its support is incompatible
# with other getmntent implementations.
# NOTE: Normally, I wouldn't use a check for system type as I've done for
# `CRAY' below since that goes against the whole autoconf philosophy. But
# I think there is too great a chance that some non-Cray system has a
# function named listmntent to risk the false positive.
if test -z "$list_mounted_fs"; then
# Cray UNICOS 9
AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
[fu_cv_sys_mounted_cray_listmntent=no
AC_EGREP_CPP(yes,
[#ifdef _CRAY
yes
#endif
], [test $ac_cv_func_listmntent = yes \
&& fu_cv_sys_mounted_cray_listmntent=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)
fi
fi
if test $ac_cv_func_getmntent = yes; then
# This system has the getmntent function.
# Determine whether it's the one-argument variant or the two-argument one.
if test -z "$list_mounted_fs"; then
# 4.3BSD, SunOS, HP-UX, Dynix, Irix
AC_MSG_CHECKING([for one-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
[test $ac_cv_header_mntent_h = yes \
&& fu_cv_sys_mounted_getmntent1=yes \
|| fu_cv_sys_mounted_getmntent1=no])
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)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR4
AC_MSG_CHECKING([for two-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
[AC_EGREP_HEADER(getmntent, sys/mnttab.h,
fu_cv_sys_mounted_getmntent2=yes,
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)
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
fi
fi
if test -z "$list_mounted_fs"; then
# DEC Alpha running OSF/1.
AC_MSG_CHECKING([for getfsstat function])
AC_CACHE_VAL(fu_cv_sys_mounted_getsstat,
[AC_TRY_LINK([
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/fs_types.h>],
[struct statfs *stats;
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
fu_cv_sys_mounted_getsstat=yes,
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)
fi
fi
if test -z "$list_mounted_fs"; then
# AIX.
AC_MSG_CHECKING([for mntctl function and struct vmount])
AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
[AC_TRY_CPP([#include <fshelp.h>],
fu_cv_sys_mounted_vmount=yes,
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)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR3
AC_MSG_CHECKING([for FIXME existence of three headers])
AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
[AC_TRY_CPP([
#include <sys/statfs.h>
#include <sys/fstyp.h>
#include <mnttab.h>],
fu_cv_sys_mounted_fread_fstyp=yes,
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)
fi
fi
if test -z "$list_mounted_fs"; then
# 4.4BSD and DEC OSF/1.
AC_MSG_CHECKING([for getmntinfo function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
[
ok=
if test $ac_cv_func_getmntinfo = yes; then
AC_EGREP_HEADER(f_type;, sys/mount.h,
ok=yes)
fi
test -n "$ok" \
&& fu_cv_sys_mounted_getmntinfo=yes \
|| fu_cv_sys_mounted_getmntinfo=no
])
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)
fi
fi
# FIXME: add a test for netbsd-1.1 here
if test -z "$list_mounted_fs"; then
# Ultrix
AC_MSG_CHECKING([for getmnt function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
[AC_TRY_CPP([
#include <sys/fs_types.h>
#include <sys/mount.h>],
fu_cv_sys_mounted_getmnt=yes,
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)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR2
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
AC_CACHE_VAL(fu_cv_sys_mounted_fread,
[AC_TRY_CPP([#include <mnttab.h>],
fu_cv_sys_mounted_fread=yes,
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)
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
# FIXME -- no need to abort building the whole package
# Can't build mountlist.c or anything that needs its functions
fi
AC_CHECKING(how to get filesystem space usage)
space=no
# Perform only the link test since it seems there are no variants of the
# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
# because that got a false positive on SCO OSR5. Adding the declaration
# of a `struct statvfs' causes this test to fail (as it should) on such
# systems. That system is reported to work fine with STAT_STATFS4 which
# is what it gets when this test fails.
if test $space = no; then
# SVR4
AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
[AC_TRY_LINK([#include <sys/types.h>
#include <sys/statvfs.h>],
[struct statvfs fsd; statvfs (0, &fsd);],
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)
fi
fi
if test $space = no; then
# DEC Alpha running OSF/1
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
[AC_TRY_RUN([
#include <sys/param.h>
#include <sys/types.h>
#include <sys/mount.h>
main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd, sizeof (struct statfs)));
}],
fu_cv_sys_stat_statfs3_osf1=yes,
fu_cv_sys_stat_statfs3_osf1=no,
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)
fi
fi
if test $space = no; then
# AIX
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
member (AIX, 4.3BSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
[AC_TRY_RUN([
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
main ()
{
struct statfs fsd;
fsd.f_bsize = 0;
exit (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_bsize=yes,
fu_cv_sys_stat_statfs2_bsize=no,
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)
fi
fi
if test $space = no; then
# SVR3
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
[AC_TRY_RUN([#include <sys/types.h>
#include <sys/statfs.h>
main ()
{
struct statfs fsd;
exit (statfs (".", &fsd, sizeof fsd, 0));
}],
fu_cv_sys_stat_statfs4=yes,
fu_cv_sys_stat_statfs4=no,
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)
fi
fi
if test $space = no; then
# 4.4BSD and NetBSD
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
member (4.4BSD and NetBSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
[AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_fsize=yes,
fu_cv_sys_stat_statfs2_fsize=no,
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)
fi
fi
if test $space = no; then
# Ultrix
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
[AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_FS_TYPES_H
#include <sys/fs_types.h>
#endif
main ()
{
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
exit (statfs (".", &fsd) != 1);
}],
fu_cv_sys_stat_fs_data=yes,
fu_cv_sys_stat_fs_data=no,
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)
fi
fi
if test $space = no; then
# SVR2
AC_TRY_CPP([#include <sys/filsys.h>],
AC_DEFINE(STAT_READ_FILSYS) space=yes)
fi
if test -n "$list_mounted_fs" && test $space != no; then
DF_PROG="df"
# LIBOBJS="$LIBOBJS fsusage.o"
# LIBOBJS="$LIBOBJS mountlist.o"
fi
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
# enable the work-around code in fsusage.c.
AC_MSG_CHECKING([for statfs that truncates block counts])
AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
[AC_TRY_COMPILE([
#if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem
#endif
#include <sys/types.h>
#include <sys/vfs.h>],
[struct statfs t; long c = *(t.f_spare);],
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)
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
AC_CHECKING(for AFS)
test -d /afs && AC_DEFINE(AFS)
])

View File

@@ -4,7 +4,7 @@
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="Gnome Top Library"
PKG_NAME="GNOME Portable System Access Library"
(test -f $srcdir/configure.in \
&& test -f $srcdir/copyright.txt \
@@ -14,8 +14,7 @@ PKG_NAME="Gnome Top Library"
exit 1
}
. $srcdir/macros/autogen.sh
cp -f $srcdir/po/Makefile.in.in.in $srcdir/po/Makefile.in.in
USE_GNOME2_MACROS=1 . gnome-autogen.sh
echo ""
echo " *** IMPORTANT *** "

View File

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

View File

@@ -4,13 +4,21 @@ INCLUDES = @INCLUDES@
backenddir = @LIBGTOP_BACKEND_DIR@
if LIBGTOP_USE_GMODULE
backendlibdir = $(backenddir)
else
backendlibdir = $(libdir)
endif
dynamic_ldflags = @libgtop_dynamic_ldflags@
backend_DATA = \
libgtop-common.backend
noinst_HEADERS = \
glibtop-backend-private.h
backend-common.h
backend_LTLIBRARIES = \
backendlib_LTLIBRARIES = \
libgtop_backend_common.la
libgtop_backend_common_la_SOURCES = \
@@ -18,7 +26,11 @@ libgtop_backend_common_la_SOURCES = \
marshal.c
libgtop_backend_common_la_LDFLAGS = \
$(LT_VERSION_INFO) -export-dynamic
$(LT_VERSION_INFO) $(dynamic_ldflags)
libgtop_backend_common_la_LIBADD = \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/lib/libgtop_server.la
BUILT_SOURCES = \
marshal.c

View File

@@ -23,40 +23,39 @@
Boston, MA 02111-1307, USA.
*/
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/xmalloc.h>
#include <glibtop/open.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include <backend-common.h>
static int
_open_common (glibtop *, glibtop_backend *, u_int64_t, const char **);
_open_common (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int
_close_common (glibtop *, glibtop_backend *);
_close_common (glibtop_server *, glibtop_backend *, void *closure);
extern glibtop_call_vector glibtop_backend_common_call_vector;
#ifdef LIBGTOP_USE_GMODULE
glibtop_backend_info LibGTopBackendInfo = {
"glibtop-backend-common", _open_common, _close_common,
&glibtop_backend_common_call_vector
};
#else
glibtop_backend_info LibGTopBackendInfo_Common = {
"glibtop-backend-common", _open_common, _close_common,
&glibtop_backend_common_call_vector
};
#endif
static int
_open_common (glibtop *server, glibtop_backend *backend,
_open_common (glibtop_server *server, glibtop_backend *backend,
u_int64_t features, const char **backend_args)
{
backend->_priv = glibtop_calloc_r
(server, 1, sizeof (glibtop_backend_private));
return 0;
}
static int
_close_common (glibtop *server, glibtop_backend *backend)
_close_common (glibtop_server *server, glibtop_backend *backend,
void *closure)
{
return -1;
return 0;
}

View File

@@ -23,15 +23,15 @@
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_BACKEND_COMMON_H__
#define __GLIBTOP_BACKEND_COMMON_H__
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h>
void
glibtop_open_s (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags)
{ }
void
glibtop_close_s (glibtop *server)
{ }
#endif

View File

@@ -1,4 +1,5 @@
<?xml version="1.0"?> <!-- -*-xml-*- -->
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
<libgtop:Backend>

View File

@@ -24,16 +24,12 @@ print '/* marshal.c */';
print "/* This is a generated file. Please modify `marshal.pl' */";
print '';
print '#include <glibtop.h>';
print '#include <glibtop/open.h>';
print '#include <glibtop/xmalloc.h>';
print '#include <backend-common.h>';
print '';
print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>';
print '';
print '#include <glibtop/backend.h>';
print '';
print '#include <glibtop-backend-private.h>';
print '#include <glibtop/call-vector.h>';
print '';
$feature_count = 0;
@@ -141,16 +137,16 @@ sub output {
$func_decl = 'static '.$retval."\n";
if ($line_fields[3] eq '') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] eq 'array') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, glibtop_array *array%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] =~ /^array/) {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, glibtop_array *array, %s *buf%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
} else {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, %s *buf%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
}

View File

@@ -1,3 +1,38 @@
2000-11-27 Martin Baulig <martin@home-of-linux.org>
* backend-server.c (backend_server_quark): New global variable.
(_open_server, _close_server): Use the quark.
* commands.c: Likewise.
2000-11-26 Martin Baulig <martin@home-of-linux.org>
* backend-server.h: New file.
(backend_server_private): New struct, formerly known
as glibtop_backend_private.
* glibtop-backend-private.h: Removed.
* backend-server.c: (_open_server): Use g_object_set_data()
to set add the backend_server_private data to the glibtop_backend,
don't override `backend->_priv'.
(_close_server): Use g_object_get_data() to get the data.
[FIXME: Use quarks directly.]
* read.c: (glibtop_read_i): Replaced the glibtop_server and
glibtop_backend arguments with backend_server_private.
* read_data.c: (glibtop_read_data_i): Likewise.
* write.c: (glibtop_write_i): Likewise.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* backend-sysdeps.c (LibGTopBackendInfo): Call this
`LibGTopBackendInfo_Server' when we don't use gmodule.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
2000-01-18 Martin Baulig <martin@home-of-linux.org>
* demarshal.pl: Only emit code for functions which are

View File

@@ -7,13 +7,21 @@ INCLUDES = @INCLUDES@ -D_BSD \
backenddir = @LIBGTOP_BACKEND_DIR@
if LIBGTOP_USE_GMODULE
backendlibdir = $(backenddir)
else
backendlibdir = $(libdir)
endif
dynamic_ldflags = @libgtop_dynamic_ldflags@
backend_DATA = \
libgtop-server.backend
noinst_HEADERS = \
glibtop-backend-private.h
backend-server.h
backend_LTLIBRARIES = \
backendlib_LTLIBRARIES = \
libgtop_backend_server.la
bin_PROGRAMS = \
@@ -31,7 +39,7 @@ libgtop_backend_server_la_SOURCES = \
write.c
libgtop_backend_server_la_LDFLAGS = \
$(LT_VERSION_INFO) -export-dynamic
$(LT_VERSION_INFO) $(dynamic_ldflags)
libgtop_server_SOURCES = \
server.c \

View File

@@ -23,78 +23,90 @@
Boston, MA 02111-1307, USA.
*/
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/xmalloc.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include <backend-server.h>
static int
_open_server (glibtop *, glibtop_backend *, u_int64_t, const char **);
_open_server (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int
_close_server (glibtop *, glibtop_backend *);
_close_server (glibtop_server *, glibtop_backend *, void *);
extern glibtop_call_vector glibtop_backend_server_call_vector;
#ifdef LIBGTOP_USE_GMODULE
glibtop_backend_info LibGTopBackendInfo = {
"glibtop-backend-server", _open_server, _close_server,
&glibtop_backend_server_call_vector
};
static int
_open_server (glibtop *server, glibtop_backend *backend,
u_int64_t features, const char **backend_args)
{
backend->_priv = glibtop_calloc_r
(server, 1, sizeof (glibtop_backend_private));
#ifdef DEBUG
fprintf (stderr, "open_server - %p, %p, %p\n", server, backend,
backend->_priv);
fprintf (stderr, "Opening pipe to server (%s).\n",
LIBGTOP_SERVER);
#else
glibtop_backend_info LibGTopBackendInfo_Server = {
"glibtop-backend-server", _open_server, _close_server,
&glibtop_backend_server_call_vector
};
#endif
if (pipe (backend->_priv->input) ||
pipe (backend->_priv->output)) {
static int
_open_server (glibtop_server *server, glibtop_backend *backend,
u_int64_t features, const char **backend_args)
{
backend_server_private *priv;
priv = glibtop_calloc_r (server, 1, sizeof (backend_server_private));
glibtop_backend_set_closure_data (backend, priv);
#ifdef DEBUG
fprintf (stderr, "open_server - %p, %p, %p\n", server, backend, priv);
fprintf (stderr, "Opening pipe to server (%s).\n", LIBGTOP_SERVER);
#endif
if (pipe (priv->input) || pipe (priv->output)) {
glibtop_warn_io_r (server, "cannot make a pipe");
return -1;
}
backend->_priv->pid = fork ();
priv->pid = fork ();
if (backend->_priv->pid < 0) {
if (priv->pid < 0) {
glibtop_warn_io_r (server, "fork failed");
return -1;
} else if (backend->_priv->pid == 0) {
} else if (priv->pid == 0) {
close (0); close (1);
close (backend->_priv->input [0]);
close (backend->_priv->output [1]);
dup2 (backend->_priv->input [1], 1);
dup2 (backend->_priv->output [0], 0);
close (priv->input [0]);
close (priv->output [1]);
dup2 (priv->input [1], 1);
dup2 (priv->output [0], 0);
execl (LIBGTOP_SERVER, "libgtop-server", NULL);
glibtop_error_io_r (server, "execl (%s)",
LIBGTOP_SERVER);
_exit (2);
}
close (backend->_priv->input [1]);
close (backend->_priv->output [0]);
close (priv->input [1]);
close (priv->output [0]);
glibtop_server_ref (server);
priv->server = server;
return 0;
}
static int
_close_server (glibtop *server, glibtop_backend *backend)
_close_server (glibtop_server *server, glibtop_backend *backend,
void *closure)
{
kill (backend->_priv->pid, SIGKILL);
close (backend->_priv->input [0]);
close (backend->_priv->output [1]);
backend_server_private *priv = closure;
backend->_priv->pid = 0;
kill (priv->pid, SIGKILL);
close (priv->input [0]);
close (priv->output [1]);
glibtop_server_unref (priv->server);
priv->pid = 0;
g_free (priv);
return 0;
}

View File

@@ -23,33 +23,44 @@
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_BACKEND_PRIVATE_H__
#define __GLIBTOP_BACKEND_PRIVATE_H__
#ifndef __GLIBTOP_BACKEND_COMMON_H__
#define __GLIBTOP_BACKEND_COMMON_H__
struct _glibtop_backend_private
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/open.h>
#include <glibtop/xmalloc.h>
#include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h>
typedef struct _backend_server_private backend_server_private;
struct _backend_server_private
{
u_int64_t flags;
int input [2]; /* Pipe client <- server */
int output [2]; /* Pipe client -> server */
pid_t pid; /* PID of the server */
glibtop_server *server;
};
void *
glibtop_call_i (glibtop *server, glibtop_backend *backend, unsigned command,
size_t send_size, const void *send_ptr,
glibtop_call_i (glibtop_server *server, backend_server_private *priv,
unsigned command, size_t send_size, const void *send_ptr,
size_t data_size, const void *data_ptr,
size_t recv_size, void *recv_ptr,
int *retval_ptr);
void
glibtop_read_i (glibtop *server, glibtop_backend *backend,
size_t size, void *buf);
glibtop_read_i (backend_server_private *priv, size_t size, void *buf);
void *
glibtop_read_data_i (glibtop *server, glibtop_backend *backend);
glibtop_read_data_i (backend_server_private *priv);
void
glibtop_write_i (glibtop *server, glibtop_backend *backend,
size_t size, const void *buf);
glibtop_write_i (backend_server_private *priv, size_t size, const void *buf);
#endif

View File

@@ -23,19 +23,13 @@
Boston, MA 02111-1307, USA.
*/
#include <glibtop/xmalloc.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include <backend-server.h>
#include "command.h"
void *
glibtop_call_i (glibtop *server, glibtop_backend *backend, unsigned command,
size_t send_size, const void *send_buf,
glibtop_call_i (glibtop_server *server, backend_server_private *priv,
unsigned command, size_t send_size, const void *send_buf,
size_t data_size, const void *data_buf,
size_t recv_size, void *recv_ptr,
int *retval_ptr)
@@ -46,8 +40,6 @@ glibtop_call_i (glibtop *server, glibtop_backend *backend, unsigned command,
int retval;
#endif
glibtop_init_r (&server, 0, 0);
memset (&cmnd, 0, sizeof (glibtop_command));
memset (&resp, 0, sizeof (glibtop_response));
@@ -66,16 +58,16 @@ glibtop_call_i (glibtop *server, glibtop_backend *backend, unsigned command,
cmnd.data_size = data_size;
glibtop_write_i (server, backend, sizeof (glibtop_command), &cmnd);
glibtop_write_i (priv, sizeof (glibtop_command), &cmnd);
if (data_size) {
#ifdef SLAVE_DEBUG
fprintf (stderr, "SENDING %d bytes of DATA.\n", data_size);
#endif
glibtop_write_i (server, backend, data_size, data_buf);
glibtop_write_i (priv, data_size, data_buf);
}
glibtop_read_i (server, backend, sizeof (glibtop_response), &resp);
glibtop_read_i (priv, sizeof (glibtop_response), &resp);
#ifdef SLAVE_DEBUG
fprintf (stderr, "RESPONSE: %d - %d - %ld - %ld - %p - %ld\n",
@@ -94,12 +86,12 @@ glibtop_call_i (glibtop *server, glibtop_backend *backend, unsigned command,
}
if (recv_ptr)
glibtop_read_i (server, backend, recv_size, recv_ptr);
glibtop_read_i (priv, recv_size, recv_ptr);
if (resp.data_size) {
void *ptr = glibtop_malloc_r (server, resp.data_size);
glibtop_read_i (server, backend, resp.data_size, ptr);
glibtop_read_i (priv, resp.data_size, ptr);
return ptr;
}

View File

@@ -1,4 +1,5 @@
<?xml version="1.0"?> <!-- -*-xml-*- -->
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
<libgtop:Backend>

View File

@@ -24,17 +24,13 @@ print '/* marshal.c */';
print "/* This is a generated file. Please modify `marshal.pl' */";
print '';
print '#include <glibtop.h>';
print '#include <glibtop/open.h>';
print '#include <glibtop/xmalloc.h>';
print '#include <backend-server.h>';
print '';
print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>';
print '';
print '#include "command.h"';
print '#include <glibtop/backend.h>';
print '';
print '#include <glibtop-backend-private.h>';
print '#include <glibtop/call-vector.h>';
print '';
$feature_count = 0;
@@ -202,7 +198,7 @@ sub output {
$send_buf_code .= "\t_LIBGTOP_DATA_ptr = _LIBGTOP_DATA_buf;\n";
$call_code = '';
$call_code .= sprintf ("\t%sglibtop_call_i (server, backend, GLIBTOP_CMND_%s,\n",
$call_code .= sprintf ("\t%sglibtop_call_i (server, closure, GLIBTOP_CMND_%s,\n",
$call_prefix, &toupper($feature));
$call_code .= sprintf ("\t\t\t%s%s, %s,\n", $call_prefix_space,
"_LIBGTOP_SEND_len", "_LIBGTOP_SEND_buf");
@@ -261,16 +257,16 @@ sub output {
$func_decl = 'static '.$retval."\n";
if ($line_fields[3] eq '') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] eq 'array') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, glibtop_array *array%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] =~ /^array/) {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, glibtop_array *array, %s *buf%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
} else {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, %s *buf%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
}

View File

@@ -23,31 +23,24 @@
Boston, MA 02111-1307, USA.
*/
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include <backend-server.h>
void
glibtop_read_i (glibtop *server, glibtop_backend *backend,
size_t size, void *buf)
glibtop_read_i (backend_server_private *priv, size_t size, void *buf)
{
int ret = 0;
glibtop_init_r (&server, 0, 0);
#ifdef DEBUG
fprintf (stderr, "LIBRARY: really reading %d bytes from %d.\n",
size, backend->_priv->input [0]);
size, priv->input [0]);
#endif
ret = read (backend->_priv->input [0], buf, size);
ret = read (priv->input [0], buf, size);
#ifdef DEBUG
fprintf (stderr, "LIBRARY: read %d bytes.\n", ret);
#endif
if (ret < 0)
glibtop_error_io_r (server, "read %d bytes", size);
glibtop_error_io_r (priv->server, "read %d bytes", size);
}

View File

@@ -23,15 +23,10 @@
Boston, MA 02111-1307, USA.
*/
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/xmalloc.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include <backend-server.h>
void *
glibtop_read_data_i (glibtop *server, glibtop_backend *backend)
glibtop_read_data_i (backend_server_private *priv)
{
size_t size;
void *ptr;
@@ -41,11 +36,10 @@ glibtop_read_data_i (glibtop *server, glibtop_backend *backend)
fprintf (stderr, "LIBRARY: reading %d data bytes.\n", sizeof (size_t));
#endif
ret = read (backend->_priv->input [0], (void *)&size,
sizeof (size_t));
ret = read (priv->input [0], (void *)&size, sizeof (size_t));
if (ret < 0)
glibtop_error_io_r (server, "read data size");
glibtop_error_io_r (priv->server, "read data size");
#ifdef DEBUG
fprintf (stderr, "LIBRARY: really reading %d data bytes (ret = %d).\n", size, ret);
@@ -53,12 +47,12 @@ glibtop_read_data_i (glibtop *server, glibtop_backend *backend)
if (!size) return NULL;
ptr = glibtop_malloc_r (server, size);
ptr = glibtop_malloc_r (priv->server, size);
ret = read (backend->_priv->input [0], ptr, size);
ret = read (priv->input [0], ptr, size);
if (ret < 0)
glibtop_error_io_r (server, "read data %d bytes");
glibtop_error_io_r (priv->server, "read data %d bytes");
return ptr;
}

View File

@@ -23,15 +23,10 @@
Boston, MA 02111-1307, USA.
*/
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include <backend-server.h>
void
glibtop_write_i (glibtop *server, glibtop_backend *backend,
size_t size, const void *buf)
glibtop_write_i (backend_server_private *priv, size_t size, const void *buf)
{
int ret;
@@ -41,8 +36,8 @@ glibtop_write_i (glibtop *server, glibtop_backend *backend,
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", size);
#endif
ret = write (backend->_priv->output [1], buf, size);
ret = write (priv->output [1], buf, size);
if (ret < 0)
glibtop_error_io_r (server, "write %d bytes", size);
glibtop_error_io_r (priv->server, "write %d bytes", size);
}

View File

@@ -1,3 +1,30 @@
2000-11-26 Martin Baulig <martin@home-of-linux.org>
* glibtop-backend-private.h: Removed.
* backend-sysdeps.h: New files.
* backend-sysdeps.c (_open_sysdeps): Don't overwrite
`backend->_priv'.
2000-11-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Link libgtop_backend_sysdeps.la against
$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la and
$(top_builddir)/lib/libgtop_server.la.
* libgtop-sysdeps.backend: Removed the ExtraLibs section.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* backend-sysdeps.c (LibGTopBackendInfo): Call this
`LibGTopBackendInfo_Sysdeps' when we don't use gmodule.
2000-02-22 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
2000-01-22 Martin Baulig <martin@home-of-linux.org>
* libgtop-sysdeps.backend: Added "ExtraLibs" section to

View File

@@ -4,13 +4,21 @@ INCLUDES = @INCLUDES@
backenddir = @LIBGTOP_BACKEND_DIR@
if LIBGTOP_USE_GMODULE
backendlibdir = $(backenddir)
else
backendlibdir = $(libdir)
endif
dynamic_ldflags = @libgtop_dynamic_ldflags@
backend_DATA = \
libgtop-sysdeps.backend
noinst_HEADERS = \
glibtop-backend-private.h
backend-sysdeps.h
backend_LTLIBRARIES = \
backendlib_LTLIBRARIES = \
libgtop_backend_sysdeps.la
libgtop_backend_sysdeps_la_SOURCES = \
@@ -18,7 +26,11 @@ libgtop_backend_sysdeps_la_SOURCES = \
marshal.c
libgtop_backend_sysdeps_la_LDFLAGS = \
$(LT_VERSION_INFO) -export-dynamic
$(LT_VERSION_INFO) $(dynamic_ldflags)
libgtop_backend_sysdeps_la_LIBADD = \
$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la
$(top_builddir)/lib/libgtop_server.la
BUILT_SOURCES = \
marshal.c

View File

@@ -23,36 +23,34 @@
Boston, MA 02111-1307, USA.
*/
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/xmalloc.h>
#include <glibtop/open.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include <backend-sysdeps.h>
static int
_open_sysdeps (glibtop *, glibtop_backend *, u_int64_t, const char **);
_open_sysdeps (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int
_close_sysdeps (glibtop *, glibtop_backend *);
_close_sysdeps (glibtop_server *, glibtop_backend *, void *);
extern glibtop_call_vector glibtop_backend_sysdeps_call_vector;
#ifdef LIBGTOP_USE_GMODULE
glibtop_backend_info LibGTopBackendInfo = {
"glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps,
&glibtop_backend_sysdeps_call_vector
};
#else
glibtop_backend_info LibGTopBackendInfo_Sysdeps = {
"glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps,
&glibtop_backend_sysdeps_call_vector
};
#endif
static int
_open_sysdeps (glibtop *server, glibtop_backend *backend,
_open_sysdeps (glibtop_server *server, glibtop_backend *backend,
u_int64_t features, const char **backend_args)
{
glibtop_init_func_t *init_fkt;
backend->_priv = glibtop_calloc_r
(server, 1, sizeof (glibtop_backend_private));
/* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
@@ -61,7 +59,7 @@ _open_sysdeps (glibtop *server, glibtop_backend *backend,
for (init_fkt = _glibtop_init_hook_s; *init_fkt; init_fkt++)
(*init_fkt) (server);
server->sysdeps.pointer_size = sizeof (void*)*8;
server->info->sysdeps.pointer_size = sizeof (void*)*8;
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
}
@@ -70,8 +68,9 @@ _open_sysdeps (glibtop *server, glibtop_backend *backend,
}
static int
_close_sysdeps (glibtop *server, glibtop_backend *backend)
_close_sysdeps (glibtop_server *server, glibtop_backend *backend,
void *closure)
{
return -1;
return 0;
}

View File

@@ -23,15 +23,15 @@
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_BACKEND_SYSDEPS_H__
#define __GLIBTOP_BACKEND_SYSDEPS_H__
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/open.h>
#include <glibtop/xmalloc.h>
#include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h>
#include <unistd.h>
#include <sys/types.h>
/* Opens pipe to gtop server. Returns 0 on success and -1 on error. */
void
glibtop_open_s (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags)
{ }
#endif

View File

@@ -1,34 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_BACKEND_PRIVATE_H__
#define __GLIBTOP_BACKEND_PRIVATE_H__
struct _glibtop_backend_private
{
u_int64_t flags;
};
#endif

View File

@@ -1,4 +1,5 @@
<?xml version="1.0"?> <!-- -*-xml-*- -->
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
<libgtop:Backend>
@@ -6,12 +7,6 @@
<libgtop:Location>
<libgtop:LibtoolName>libgtop_backend_sysdeps.la</libgtop:LibtoolName>
<libgtop:ShlibName>libgtop_backend_sysdeps.so</libgtop:ShlibName>
<libgtop:ExtraLibs>
<libgtop:ExtraLib>
<libgtop:LibtoolName>libgtop_sysdeps.la</libgtop:LibtoolName>
<libgtop:ShlibName>libgtop_sysdeps.so</libgtop:ShlibName>
</libgtop:ExtraLib>
</libgtop:ExtraLibs>
</libgtop:Location>
</libgtop:Backend>

View File

@@ -24,16 +24,12 @@ print '/* marshal.c */';
print "/* This is a generated file. Please modify `marshal.pl' */";
print '';
print '#include <glibtop.h>';
print '#include <glibtop/open.h>';
print '#include <glibtop/xmalloc.h>';
print '#include <backend-sysdeps.h>';
print '';
print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>';
print '';
print '#include <glibtop/backend.h>';
print '';
print '#include <glibtop-backend-private.h>';
print '#include <glibtop/call-vector.h>';
print '';
$feature_count = 0;
@@ -141,16 +137,16 @@ sub output {
$func_decl = 'static '.$retval."\n";
if ($line_fields[3] eq '') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] eq 'array') {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, glibtop_array *array%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
$feature, $param_decl);
} elsif ($line_fields[3] =~ /^array/) {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, glibtop_array *array, %s *buf%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
} else {
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop *server, glibtop_backend *backend, %s *buf%s)\n",
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
$feature, 'glibtop_'.$feature, $param_decl);
}

View File

@@ -6,6 +6,19 @@ AC_INIT(copyright.txt)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
if test -z "$I_LIKE_PAIN"; then
AC_MSG_ERROR([
*** You don't want this version of libgtop!
*** If you want the GNOME 2.0 port then check out
*** the libgtop-GNOME-2-0-port branch of libgtop
*** You can do this by typing
*** cvs update -r libgtop-GNOME-2-0-port libgtop/
*** in the directory above this one.
*** If you are looking for the stable branch then
*** check out the LIBGTOP_STABLE_1_0 branch
***])
fi
dnl This is required at several places
AC_CHECK_PROG(ac_dc_found, dc, yes, no)
if test x$ac_dc_found != xyes ; then
@@ -30,7 +43,6 @@ 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)
@@ -50,7 +62,8 @@ AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
AM_ACLOCAL_INCLUDE(. macros)
GNOME_COMMON_INIT
GNOME_PLATFORM_GNOME_2(yes, force)
AC_ISC_POSIX
AC_PROG_CC
@@ -91,48 +104,15 @@ AM_PROG_LIBTOOL
dnl Let the user enable compiler warnings
GNOME_COMPILE_WARNINGS
GNOME_INIT_HOOK(gnome_found=yes)
if test "x$gnome_found" != xyes; then
if test "x$want_gnome" != xno ; then
AC_MSG_ERROR([
*** GNOME was not found on this system. ***
*** If you want to use LibGTop without GNOME, you need
*** to give configure the --without-gnome parameter.
])
else
AC_DEFINE(WITHOUT_GNOME)
fi
GNOME_SUPPORT_CHECKS
else
if test "x$want_gnome" != xno ; then
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
else
GNOME_SUPPORT_CHECKS
fi
fi
dnl PKGCONFIG_CHECK_MODULES(GNOMESUPPORT, libgnomesupport-2.0:1.96.0)
dnl AC_SUBST(GNOMESUPPORT_CFLAGS)
dnl AC_SUBST(GNOMESUPPORT_LIBS)
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES_PRIVATE
sysdeps_dir="$libgtop_sysdeps_dir"
sysdeps_name="$libgtop_sysdeps_name"
AC_SUBST(sysdeps_dir)
AC_SUBST(sysdeps_name)
AC_MSG_CHECKING(for sysdeps_init_file)
if test x$linux_sysctl = xyes ; then
sysdeps_init_file='sysdeps-init-kernel.c'
else
sysdeps_init_file='sysdeps-init-'"$libgtop_sysdeps_name"'.c'
fi
AC_SUBST(sysdeps_init_file)
AC_MSG_RESULT($sysdeps_init_file)
LIBGTOP_XML_CHECK
PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.2.8)
AC_SUBST(XML_CFLAGS)
AC_SUBST(XML_LIBS)
AC_ARG_WITH(libgtop-inodedb,
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
@@ -149,19 +129,15 @@ if test x$build_inodedb = xyes ; then
AC_DEFINE(GLIBTOP_INODEDB)
fi
AC_DEFINE(GLIBTOP_NAMES)
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
AM_PROG_LIBTOOL
AM_PATH_GLIB(1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop),
[gmodule])
dnl You need to uncomment the following line if you want to use
dnl libGTop without Gnome.
dnl GNOME_SUPPORT_CHECKS
dnl Check for glib
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.1 gmodule-2.0 >= 1.3.1 gobject-2.0 >= 1.3.1)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@@ -174,65 +150,6 @@ AC_HEADER_TIME
AC_STRUCT_TM
AC_TYPE_UID_T
dnl For SunOS
AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_HEADERS(memory.h)
AC_CHECK_HEADERS(string.h strings.h, break)
AC_REPLACE_FUNCS(strerror)
dnl dlopen() and dlsym()
DL_LIB=
AC_CHECK_FUNCS(dlopen,,[
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
])
])
])
oLIBS="$LIBS"
LIBS="$LIBS $DL_LIB"
AC_CHECK_FUNCS(dlerror,,)
LIBS="$oLIBS"
AC_SUBST(DL_LIB)
dnl Solaris
AC_CHECK_LIB(kstat, kstat_open)
AC_CHECK_FUNCS(getloadavg swapctl)
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
dnl Some versions of Solaris require -lelf for -lkvm
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)
dnl For some broken libc5 systems (Debian 1.3)
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -D_GNU_SOURCE"
GCC_NEED_DECLARATION(program_invocation_name, [
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
])
CFLAGS=$saved_CFLAGS
dnl Check for Internet sockets.
AC_CHECK_FUNC(socket,
[AC_CHECK_HEADER(netinet/in.h,
@@ -256,26 +173,11 @@ AC_FUNC_STRFTIME
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
dnl ## all 'es_??' are only needed for format numbers different of 'es'
ALL_LINGUAS="da de es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fi fr gl ja ko nl no pl pt_BR sv uk zh_CN.GB2312"
AM_GNOME_GETTEXT
ALL_LINGUAS="am az bg ca da de el es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fa fi fr ga gl hu id it ja ko ml mn nl nn no pl pt pt_BR ro ru sk sl sr sr@Latn sv tr uk vi zh_CN zh_TW"
AM_GNOME2_GETTEXT
AC_PATH_XTRA
dnl For Solaris
dnl Please don't move this before AC_PATH_XTRA
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
dnl So we use the following instead.
dnl XE_SPACE(var, words)
define([XE_SPACE],[
T=""
for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
$1="$T"
])dnl
dnl For diskusage stuff
GNOME_FILEUTILS_CHECKS
@@ -300,50 +202,17 @@ if test "x$libgtop_enable_debug" = xyes ; then
AC_DEFINE(LIBGTOP_ENABLE_DEBUG)
fi
if test "x$gnome_found" = xyes ; then
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR"
else
LIBSUPPORT='$(top_builddir)/support/libgnomesupport.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)'
LIBGTOP_INCS='-I$(includedir) -I$(pkglibdir)/include'
if test x$libgtop_use_machine_h = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
fi
if test x$build_inodedb = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
fi
if test x$libgtop_smp = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
fi
LIBGTOP_INCS="$LIBGTOP_INCS $GNOMESUPPORT_CFLAGS $GLIB_CFLAGS $XML_CFLAGS"
if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
LIBGTOP_BINDIR='$(bindir)'
LIBGTOP_SERVER='$(bindir)/libgtop_server'
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS $LIBGTOP_XML_LIB"
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS $XML_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop_common -lgtop"
@@ -360,7 +229,7 @@ AC_SUBST(machine_incs)
LIBGTOP_BACKEND_DIR="\$(datadir)/libgtop/backends"
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 -I\$(top_builddir)/include -I\$(top_srcdir)/intl $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\" -DLIBGTOP_BACKEND_DIR=\"'"$LIBGTOP_BACKEND_DIR"'\"'
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -Werror -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include -I\$(top_builddir)/include -I\$(top_srcdir)/intl $GNOMESUPPORT_CFLAGS $GLIB_CFLAGS $XML_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_BACKEND_DIR=\"'"$LIBGTOP_BACKEND_DIR"'\"'
AC_SUBST(INCLUDES)
@@ -371,177 +240,9 @@ AC_SUBST(LIBGTOP_LIBS)
AC_SUBST(LIBGTOP_INCS)
AC_SUBST(LIBGTOP_NAMES_LIBS)
AC_SUBST(LIBGTOP_NAMES_INCS)
AC_SUBST(LIBGTOP_BINDIR)
AC_SUBST(LIBGTOP_SERVER)
if test x$libgtop_need_server = xyes ; then
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid.la"
server_programs='libgtop_server'
else
sysdeps_suid_lib=
server_programs=
fi
AC_SUBST(sysdeps_suid_lib)
AC_SUBST(server_programs)
dnl The following one is copied from glib/configure.in
AC_OUTPUT_COMMANDS([
## Generate `glibconfig.h' in two cases
## 1. `config.status' is run either explicitly, or via configure.
## Esp. not when it is run in `Makefile' to generate makefiles and
## config.h
## 2. CONFIG_OTHER is set explicitly
##
## Case 1 is difficult. We know that `automake' sets one of
## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
## only when AM_CONFIG_HEADER is set, however.
if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
# Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
CONFIG_OTHER=${CONFIG_OTHER:-glibtop-config.h}
fi
case "$CONFIG_OTHER" in
*glibtop-config.h*)
echo creating glibtop-config.h
outfile=glibtop-config.h-tmp
cat > $outfile <<\_______EOF
/* glibtop-config.h
*
* This is a generated file. Please modify `configure.in'
*/
#ifndef GLIBTOP_CONFIG_H
#define GLIBTOP_CONFIG_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
_______EOF
did_typedefs=no
if test x$glibtop_uint64_t != xyes ; then
did_typedefs=yes
cat >> $outfile <<\_______EOF
#ifndef u_int64_t
typedef unsigned long long int u_int64_t;
#endif
_______EOF
fi
if test x$glibtop_int64_t != xyes ; then
did_typedefs=yes
cat >> $outfile <<\_______EOF
#ifndef int64_t
typedef signed long long int int64_t;
#endif
_______EOF
fi
if test x$glibtop_uint8_t != xyes ; then
did_typedefs=yes
cat >> $outfile <<\_______EOF
#ifndef u_int8_t
typedef unsigned char u_int8_t;
#endif
_______EOF
fi
if test x$glibtop_int8_t != xyes ; then
did_typedefs=yes
cat >> $outfile <<\_______EOF
#ifndef int8_t
typedef signed char int8_t;
#endif
_______EOF
fi
if test x$did_typedefs = xyes ; then
cat >>$outfile <<_______EOF
/*
* NOTE: If your application checks for "u_int64_t" or "int64_t" in its own
* config.h, you must not include it after any of the LibGTop headers.
*/
_______EOF
fi
cat >>$outfile <<_______EOF
/* Define if we need the LibGTop server. */
_______EOF
if test x$glibtop_need_libgtop = xyes ; then
echo '#define NEED_LIBGTOP 1' >> $outfile
else
echo '#undef NEED_LIBGTOP' >> $outfile
fi
cat >>$outfile <<_______EOF
/* Define if LibGTop has support for multiple processors. */
_______EOF
if test x$glibtop_have_smp = xyes ; then
echo '#define HAVE_LIBGTOP_SMP 1' >> $outfile
else
echo '#undef HAVE_LIBGTOP_SMP' >> $outfile
fi
cat >>$outfile <<_______EOF
/* LibGTop major, minor and micro version. */
#define LIBGTOP_MAJOR_VERSION $libgtop_major_version
#define LIBGTOP_MINOR_VERSION $libgtop_minor_version
#define LIBGTOP_MICRO_VERSION $libgtop_micro_version
/* LibGTop version and numerical version code ("1.234.567" -> 1234567). */
#define LIBGTOP_VERSION "$libgtop_version"
#define LIBGTOP_VERSION_CODE $libgtop_version_code
/* LibGTop server version, increased each time the protocol changes. */
#define LIBGTOP_SERVER_VERSION $libgtop_server_version
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GLIBCONFIG_H */
_______EOF
if cmp -s $outfile glibtop-config.h; then
echo glibtop-config.h is unchanged
rm -f $outfile
else
mv $outfile glibtop-config.h
fi ;;
esac
],[
glibtop_uint64_t=$ac_cv_type_u_int64_t
glibtop_int64_t=$ac_cv_type_int64_t
glibtop_uint8_t=$ac_cv_type_u_int8_t
glibtop_int8_t=$ac_cv_type_int8_t
libgtop_major_version=$LIBGTOP_MAJOR_VERSION
libgtop_minor_version=$LIBGTOP_MINOR_VERSION
libgtop_micro_version=$LIBGTOP_MICRO_VERSION
libgtop_version_code=$LIBGTOP_VERSION_CODE
libgtop_server_version=$LIBGTOP_SERVER_VERSION
libgtop_version=$LIBGTOP_VERSION
glibtop_need_libgtop=$libgtop_need_server
glibtop_have_smp=$libgtop_smp
])
AC_OUTPUT([
Makefile
libgtop.spec
po/Makefile.in
intl/Makefile
misc/Makefile
@@ -550,13 +251,6 @@ include/glibtop/Makefile
sysdeps/Makefile
sysdeps/common/Makefile
sysdeps/names/Makefile
sysdeps/stub/Makefile
sysdeps/stub_suid/Makefile
sysdeps/osf1/Makefile
sysdeps/linux/Makefile
sysdeps/kernel/Makefile
sysdeps/freebsd/Makefile
sysdeps/solaris/Makefile
src/Makefile
src/inodedb/Makefile
scripts/Makefile
@@ -566,5 +260,5 @@ backends/sysdeps/Makefile
backends/common/Makefile
lib/Makefile
doc/Makefile
support/Makefile
macros/Makefile])
dtd/Makefile
libgtop-2.0.pc])

View File

@@ -1,3 +1,7 @@
2002-01-09 Darin Adler <darin@bentspoon.com>
* Makefile.am: Fix build breakage caused by bad MAKEINFO change.
2000-02-05 Martin Baulig <martin@home-of-linux.org>
* reference.texi: Started to update documentation.

View File

@@ -4,7 +4,7 @@ libgtop_TEXINFOS = libgtop.texi about.texi reference.texi \
auto-macros.texi version.texi main.texi \
white-paper.texi internals.texi
MAKEINFO += -I @libgtop_top_builddir@/doc
MAKEINFO = @MAKEINFO@ -I @libgtop_top_builddir@/doc
EXTRA_DIST = auto-macros.texi.in

2
dtd/.cvsignore Normal file
View File

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

9
dtd/Makefile.am Normal file
View File

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

View File

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

11
dtd/libgtop-backends.dtd Normal file
View File

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

View File

@@ -14,6 +14,7 @@ retval|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real
retval|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
retval|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):string(wchan)|pid_t(pid)
retval|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_data,end_data,start_brk,end_brk,start_stack,start_mmap,arg_start,arg_end,env_start,env_end)|pid_t(pid)
char *|proc_cwd|ulong(size,device,inode)|pid_t(pid)
pointer(string)|proc_args|array|pid_t(pid)
array(glibtop_map_entry)|proc_map|array|pid_t(pid)
array(glibtop_mountentry)|@mountlist|array|int(all_fs)

View File

@@ -32,65 +32,29 @@
#include <glibtop/global.h>
#include <glibtop/limits.h>
#include <glibtop_server.h>
#include <glibtop/types.h>
BEGIN_LIBGTOP_DECLS
#include <glibtop/glibtop-client.h>
typedef struct _glibtop glibtop;
typedef struct _glibtop_server_private glibtop_server_private;
G_BEGIN_DECLS
typedef struct _glibtop glibtop;
#include <glibtop/sysdeps.h>
#include <glibtop/errors.h>
#include <glibtop/parameter.h>
#ifdef _IN_LIBGTOP
#include <glibtop-server-private.h>
#endif
struct _glibtop
{
int refcount; /* Reference count */
unsigned flags;
int ncpu; /* Number of CPUs, zero if single-processor */
unsigned long os_version_code; /* Version code of the operating system */
const char *name; /* Program name for error messages */
unsigned long features; /* Server is required for this features */
unsigned long server_port; /* Port on which daemon is listening */
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
glibtop_sysdeps wanted; /* We only want this features */
glibtop_parameter _param; /* Server parameter */
glibtop_server_private *_priv; /* Private data */
unsigned glibtop_errno;
};
extern glibtop *glibtop_global_server;
extern const unsigned long glibtop_server_features;
#define glibtop_init() glibtop_init_r(&glibtop_global_server, 0, 0);
#define glibtop_close() glibtop_close_r(glibtop_global_server);
#include <glibtop/glibtop-server.h>
glibtop *
glibtop_init_r (glibtop **server_ptr,
unsigned long features,
unsigned flags);
glibtop *
glibtop_init_s (glibtop **server_ptr,
void
glibtop_init_s (glibtop_server *server_ptr,
unsigned long features,
unsigned flags);
void
glibtop_server_ref (glibtop *server);
void
glibtop_server_unref (glibtop *server);
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -5,11 +5,13 @@ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
proctime.h shm_limits.h cpu.h msg_limits.h \
procmem.h procuid.h swap.h error.h open.h \
procsegment.h sysdeps.h xmalloc.h global.h \
procsignal.h union.h types.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \
procsignal.h union.h types.h proccwd.h \
mountlist.h fsusage.h procmap.h signal.h \
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
netinfo.h interfaces.h limits.h array.h compat_10.h \
errors.h glib-arrays.h backend.h call-vector.h
glib-arrays.h call-vector.h \
glibtop-client.h glibtop-server.h glibtop-backend.h \
glibtop-backend-info.h errors.h
BUILT_SOURCES = call-vector.h

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_ARRAY_NUMBER 0
#define GLIBTOP_ARRAY_SIZE 1

View File

@@ -31,15 +31,13 @@
#include <glibtop.h>
#include <glibtop/union.h>
BEGIN_LIBGTOP_DECLS
typedef struct _glibtop_call_vector glibtop_call_vector;
G_BEGIN_DECLS
struct _glibtop_call_vector
{
@@GLIBTOP_CALL_VECTOR@@
};
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -82,16 +82,16 @@ sub parse_features_def {
if ($line_fields[3] eq '') {
$func_decl_code .= sprintf
(qq[\t%s (*%s) (glibtop *, glibtop_backend *%s);\n], $retval, $feature, $param_decl);
(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 *, glibtop_backend *, glibtop_array *%s);\n], $retval, $feature, $param_decl);
(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 *, glibtop_backend *, glibtop_array *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
(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 *, glibtop_backend *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
}
}

View File

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

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
/* glibtop_cpu */

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_CPU_TOTAL 0
#define GLIBTOP_CPU_USER 1
@@ -66,22 +66,20 @@ struct _glibtop_cpu
xcpu_flags; /* GLIBTOP_CPU_XCPU_FLAGS */
};
#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
#else
#define glibtop_get_cpu_r glibtop_get_cpu_s
#endif
int glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
int glibtop_get_cpu_l (glibtop_client *client, glibtop_cpu *buf);
#if GLIBTOP_SUID_CPU
int glibtop_init_cpu_p (glibtop *server);
int glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
int glibtop_init_cpu_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_cpu_p (glibtop_server *server, glibtop_closure *closure, glibtop_cpu *buf);
#else
int glibtop_init_cpu_s (glibtop *server);
int glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
int glibtop_init_cpu_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_cpu_s (glibtop_server *server, glibtop_closure *closure, glibtop_cpu *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -95,6 +93,6 @@ extern const char *glibtop_descriptions_cpu [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -28,111 +28,19 @@
#include <glibtop.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#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_vr (glibtop_server *server, char *format, va_list args);
void glibtop_warn_vr (glibtop_server *server, char *format, va_list args);
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_io_vr (glibtop_server *server, char *format, int, va_list args);
void glibtop_warn_io_vr (glibtop_server *server, char *format, int, va_list args);
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);
void glibtop_error_r (glibtop_server *server, char *format, ...);
void glibtop_warn_r (glibtop_server *server, char *format, ...);
void glibtop_error_io_r (glibtop_server *server, char *format, ...);
void glibtop_warn_io_r (glibtop_server *server, char *format, ...);
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
G_END_DECLS
#endif

View File

@@ -28,39 +28,68 @@
#include <glibtop.h>
BEGIN_LIBGTOP_DECLS
#include <glib/gerror.h>
#define GLIBTOP_ERROR_NO_ERROR 0
#define GLIBTOP_ERROR_UNKNOWN 1
#define GLIBTOP_ERROR_INVALID_ARGUMENT 2
#define GLIBTOP_ERROR_NO_SUCH_PARAMETER 3
#define GLIBTOP_ERROR_READONLY_VALUE 4
#define GLIBTOP_ERROR_SIZE_MISMATCH 5
G_BEGIN_DECLS
#define GLIBTOP_ERROR_SERVER_COMM_FAILURE 6
#define GLIBTOP_ERROR glibtop_error_quark ()
#define GLIBTOP_ERROR_NO_SUCH_PROCESS 7
GQuark glibtop_error_quark (void) G_GNUC_CONST;
#define GLIBTOP_ERROR_NO_KERNEL_SUPPORT 8
#define GLIBTOP_ERROR_INCOMPATIBLE_KERNEL 9
typedef enum {
GLIBTOP_ERROR_NO_ERROR = 0,
GLIBTOP_ERROR_UNKNOWN,
GLIBTOP_ERROR_INVALID_ARGUMENT,
GLIBTOP_ERROR_NO_SUCH_PARAMETER,
GLIBTOP_ERROR_READONLY_VALUE,
GLIBTOP_ERROR_SIZE_MISMATCH,
#define GLIBTOP_ERROR_NO_SUCH_BACKEND 10
#define GLIBTOP_ERROR_NOT_IMPLEMENTED 11
#define GLIBTOP_ERROR_NO_BACKEND_OPENED 12
GLIBTOP_ERROR_SERVER_COMM_FAILURE,
#define GLIBTOP_ERROR_DEMARSHAL_ERROR 13
GLIBTOP_ERROR_NO_SUCH_PROCESS,
#define GLIBTOP_MAX_ERROR 14
GLIBTOP_ERROR_NO_KERNEL_SUPPORT,
GLIBTOP_ERROR_INCOMPATIBLE_KERNEL,
char *
glibtop_get_error_string_l (glibtop *server, unsigned error_number);
GLIBTOP_ERROR_NO_SUCH_BACKEND,
GLIBTOP_ERROR_NOT_IMPLEMENTED,
GLIBTOP_ERROR_NO_BACKEND_OPENED,
unsigned
glibtop_get_errno_l (glibtop *server);
GLIBTOP_ERROR_DEMARSHAL_ERROR
} glibtop_error;
unsigned
glibtop_clear_errno_l (glibtop *server);
void
glibtop_error_vl (glibtop_client *client, glibtop_error code,
const char *format, va_list args);
END_LIBGTOP_DECLS
void
glibtop_error_io_vl (glibtop_client *client, glibtop_error code,
int io_errno, const char *format, va_list args);
void
glibtop_warn_vl (glibtop_client *client, glibtop_error code,
const char *format, va_list args);
void
glibtop_warn_io_vl (glibtop_client *client, glibtop_error code,
int io_errno, const char *format, va_list args);
void
glibtop_error_l (glibtop_client *client, glibtop_error code,
char *format, ...);
void
glibtop_warn_l (glibtop_client *client, glibtop_error code,
char *format, ...);
void
glibtop_error_io_l (glibtop_client *client, glibtop_error code,
char *format, ...);
void
glibtop_warn_io_l (glibtop_client *client, glibtop_error code,
char *format, ...);
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_FSUSAGE_BLOCKS 0
#define GLIBTOP_FSUSAGE_BFREE 1
@@ -51,12 +51,8 @@ struct _glibtop_fsusage
ffree; /* Free file nodes. */
};
#define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk)
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
int glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
int glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
int glibtop_get_fsusage_l (glibtop_client *client, glibtop_fsusage *buf, const char *mount_dir);
int glibtop_get_fsusage_s (glibtop_server *server, glibtop_closure *closure, glibtop_fsusage *buf, const char *mount_dir);
#ifdef GLIBTOP_NAMES
@@ -69,6 +65,6 @@ extern const char *glibtop_descriptions_fsusage [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,31 +29,22 @@
#include <glibtop.h>
#include <glibtop/array.h>
#include <glibtop/global.h>
#include <glibtop/xmalloc.h>
#include <glib.h>
BEGIN_LIBGTOP_DECLS
#define glibtop_get_proc_args_as_array(pid) glibtop_get_proc_args_as_array_l(glibtop_global_server, pid)
G_BEGIN_DECLS
GPtrArray *
glibtop_get_proc_args_as_array_l (glibtop *server, pid_t pid);
#define glibtop_get_proclist_as_array(which,arg) glibtop_get_proclist_as_array_l(glibtop_global_server, which, arg)
glibtop_get_proc_args_as_array_l (glibtop_client *client, pid_t pid);
GArray *
glibtop_get_proclist_as_array_l (glibtop *server, int64_t which, int64_t arg);
#define glibtop_get_proc_map_as_array(pid) glibtop_get_proc_map_as_array_l(glibtop_global_server, pid)
glibtop_get_proclist_as_array_l (glibtop_client *client, int64_t which, int64_t arg);
GPtrArray *
glibtop_get_proc_map_as_array_l (glibtop *server, pid_t pid);
#define glibtop_get_mountlist_as_array(all_fs) glibtop_get_mountlist_as_array_l(glibtop_global_server, all_fs)
glibtop_get_proc_map_as_array_l (glibtop_client *client, pid_t pid);
GPtrArray *
glibtop_get_mountlist_as_array_l (glibtop *server, int all_fs);
glibtop_get_mountlist_as_array_l (glibtop_client *client, int all_fs);
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -23,28 +23,26 @@
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_BACKEND_H__
#define __GLIBTOP_BACKEND_H__
#ifndef __GLIBTOP_BACKEND_INFO_H__
#define __GLIBTOP_BACKEND_INFO_H__
#include <glibtop.h>
#include <glibtop/global.h>
#include <glib.h>
#include <glibtop/glibtop-server.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
typedef struct _glibtop_backend_info glibtop_backend_info;
typedef struct _glibtop_backend_entry glibtop_backend_entry;
typedef struct _glibtop_backend_module glibtop_backend_module;
typedef struct _glibtop_backend_private glibtop_backend_private;
typedef struct _glibtop_backend glibtop_backend;
typedef struct _glibtop_call_vector glibtop_call_vector;
#include <glibtop/call-vector.h>
typedef int (*glibtop_backend_open_func_t) (glibtop *, glibtop_backend *,
u_int64_t, const char **);
typedef int (*glibtop_backend_close_func_t) (glibtop *, glibtop_backend *);
typedef int (*glibtop_backend_open_func_t) (glibtop_server *, glibtop_backend *,
u_int64_t, const char **);
typedef int (*glibtop_backend_close_func_t) (glibtop_server *, glibtop_backend *,
glibtop_closure *);
struct _glibtop_backend_info
{
@@ -66,8 +64,6 @@ struct _glibtop_backend_module
GSList *extra_modules;
};
#endif /* _IN_LIBGTOP */
struct _glibtop_backend_entry
{
char *name;
@@ -84,14 +80,7 @@ struct _glibtop_backend_entry
glibtop_backend_module *_priv;
};
struct _glibtop_backend
{
const glibtop_backend_info *info;
/* private pointers */
glibtop_backend_private *_priv;
glibtop_backend_module *_priv_module;
};
#endif /* _IN_LIBGTOP */
long
glibtop_register_backend (glibtop_backend_entry *entry);
@@ -108,10 +97,6 @@ glibtop_backend_by_name (const char *backend_name);
void
glibtop_init_backends (void);
int
glibtop_open_backend_l (glibtop *server, const char *backend_name,
u_int64_t features, const char **backend_args);
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -0,0 +1,85 @@
/* -*- 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_BACKEND_H__
#define __GLIBTOP_BACKEND_H__
#include <glibtop.h>
#include <glib-object.h>
G_BEGIN_DECLS
#define GLIBTOP_TYPE_BACKEND (glibtop_backend_get_type ())
#define GLIBTOP_BACKEND(backend) (G_TYPE_CHECK_INSTANCE_CAST ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend))
#define GLIBTOP_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_BACKEND, glibtop_backend_class))
#define GLIBTOP_IS_BACKEND(backend) (G_TYPE_CHECK_INSTANCE_TYPE ((backend), GLIBTOP_TYPE_BACKEND))
#define GLIBTOP_IS_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_BACKEND))
#define GLIBTOP_BACKEND_GET_CLASS(backend)(G_TYPE_INSTANCE_GET_CLASS ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend_class))
#define GLIBTOP_BACKEND_TYPE(backend) (G_TYPE_FROM_INSTANCE (backend))
#define GLIBTOP_BACKEND_TYPE_NAME(backend)(g_type_name (GLIBTOP_BACKEND_TYPE (backend)))
/* --- typedefs & structures --- */
typedef struct _glibtop_backend glibtop_backend;
typedef struct _glibtop_backend_class glibtop_backend_class;
typedef struct _glibtop_backend_private glibtop_backend_private;
#include <glibtop/glibtop-backend-info.h>
struct _glibtop_backend
{
GObject object;
/* <private> */
glibtop_backend_private *_priv;
};
struct _glibtop_backend_class
{
GObjectClass parent_class;;
};
GType
glibtop_backend_get_type (void);
glibtop_backend *
glibtop_backend_get (const char *backend_name, u_int64_t features,
const char **backend_args, GError **error);
void
glibtop_backend_set_closure_data (glibtop_backend *backend, glibtop_closure *closure);
glibtop_closure *
glibtop_backend_get_closure_data (glibtop_backend *backend);
glibtop_call_vector *
glibtop_backend_get_call_vector (glibtop_backend *backend);
glibtop_server *
glibtop_backend_get_server (glibtop_backend *backend);
G_END_DECLS
#endif

View File

@@ -0,0 +1,97 @@
/* -*- 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_CLIENT_H__
#define __GLIBTOP_CLIENT_H__
#include <glibtop.h>
#include <glib-object.h>
#include <glibtop/glibtop-backend.h>
G_BEGIN_DECLS
#define GLIBTOP_TYPE_CLIENT (glibtop_client_get_type ())
#define GLIBTOP_CLIENT(client) (G_TYPE_CHECK_INSTANCE_CAST ((client), GLIBTOP_TYPE_CLIENT, glibtop_client))
#define GLIBTOP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_CLIENT, glibtop_client_class))
#define GLIBTOP_IS_CLIENT(client) (G_TYPE_CHECK_INSTANCE_TYPE ((client), GLIBTOP_TYPE_CLIENT))
#define GLIBTOP_IS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_CLIENT))
#define GLIBTOP_CLIENT_GET_CLASS(client)(G_TYPE_INSTANCE_GET_CLASS ((client), GLIBTOP_TYPE_CLIENT, glibtop_client_class))
#define GLIBTOP_CLIENT_TYPE(client) (G_TYPE_FROM_INSTANCE (client))
#define GLIBTOP_CLIENT_TYPE_NAME(client)(g_type_name (GLIBTOP_CLIENT_TYPE (client)))
/* --- typedefs & structures --- */
typedef struct _glibtop_client glibtop_client;
typedef struct _glibtop_client_class glibtop_client_class;
typedef struct _glibtop_client_private glibtop_client_private;
struct _glibtop_client
{
GObject object;
/* <public> */
GError *error;
/* <private> */
glibtop_client_private *_priv;
};
struct _glibtop_client_class
{
GObjectClass parent_class;;
void (*error) (glibtop_client *client, GError *error);
void (*warning) (glibtop_client *client, GError *error);
};
GType
glibtop_client_get_type (void);
glibtop_client *
glibtop_client_new (void);
void
glibtop_client_propagate_error (glibtop_client *client, GError *error);
void
glibtop_client_propagate_warning (glibtop_client *client, GError *error);
void
glibtop_client_open_backend (glibtop_client *client, const char *backend_name,
u_int64_t features, const char **backend_args);
void
glibtop_client_add_backend (glibtop_client *client,
glibtop_backend *backend);
void
glibtop_client_remove_backend (glibtop_client *client,
glibtop_backend *backend);
G_END_DECLS
#endif

View File

@@ -0,0 +1,75 @@
/* -*- 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;
typedef int (*glibtop_init_func_t) (glibtop_server *, glibtop_closure *);
extern glibtop_init_func_t _glibtop_init_hook_s [];
extern glibtop_init_func_t _glibtop_init_hook_p [];
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

@@ -30,40 +30,24 @@
#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 */
#include <stdio.h>
#include <stdlib.h>
#include <sys/param.h>
#include <stdarg.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef _IN_LIBGTOP
#ifdef HAVE_MEMORY_H
#include <memory.h>
#endif
/* 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__ */
#include <string.h>
#include <sys/types.h>
#endif /* _IN_LIBGTOP */
#include <glib/gmacros.h>
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
@@ -76,6 +60,11 @@
# endif
#endif
/* For Tru64 UNIX */
#ifdef HAVE_SYS_BITYPES_H
#include <sys/bitypes.h>
#endif
#ifdef NEED_GNOMESUPPORT_H
#include <gnomesupport.h>
#endif
@@ -97,25 +86,8 @@
#endif
#endif
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_MEMORY_H
#include <memory.h>
#endif
#include <string.h>
#include <sys/types.h>
#ifdef _IN_LIBGTOP
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/stat.h>
@@ -126,7 +98,7 @@
#ifdef _IN_LIBGTOP
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#ifndef _
#define _(String) dgettext (LIBGTOP_PACKAGE, String)
@@ -137,7 +109,7 @@ BEGIN_LIBGTOP_DECLS
char *strerror (int errno);
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif /* _IN_LIBGTOP */

View File

@@ -33,7 +33,7 @@
#define GLIBTOP_INODEDB_ALL 7
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
typedef struct _glibtop_inodedb glibtop_inodedb;
@@ -49,21 +49,17 @@ struct _glibtop_inodedb
GDBM_FILE system_dbf, user_dbf;
};
#define glibtop_inodedb_open(p1,p2) glibtop_inodedb_open_s(glibtop_global_server, p1, p2)
#define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3)
#define glibtop_inodedb_close(p1) glibtop_inodedb_close_s(glibtop_global_server)
glibtop_inodedb *
glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size);
glibtop_inodedb_open_s (glibtop_server *server, unsigned databases, unsigned long cache_size);
const char *
glibtop_inodedb_lookup_s (glibtop *server,
glibtop_inodedb_lookup_s (glibtop_server *server,
glibtop_inodedb *inodedb,
u_int64_t device, u_int64_t inode);
void
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
glibtop_inodedb_close_s (glibtop_server *server, glibtop_closure *closure, glibtop_inodedb *inodedb);
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -32,7 +32,7 @@
#include <glibtop/compat_10.h>
#include <glibtop/array.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_INTERFACE_IF_FLAGS 0
#define GLIBTOP_INTERFACE_TRANSPORT 1
@@ -86,7 +86,7 @@ enum _glibtop_transport {
GLIBTOP_TRANSPORT_X25 = 1 << 3,
GLIBTOP_TRANSPORT_DECNET = 1 << 4,
GLIBTOP_TRANSPORT_APPLETALK = 1 << 5,
GLIBTOP_TRANSPORT_NETBEUI = 1 << 6,
GLIBTOP_TRANSPORT_NETBEUI = 1 << 6
};
#define GLIBTOP_TRANSPORT_ALL GLIBTOP_UNLIMITED
@@ -125,9 +125,11 @@ enum _glibtop_strategy {
GLIBTOP_INTERFACES_ALL = 0,
GLIBTOP_INTERFACES_BEST_MATCHING,
GLIBTOP_INTERFACES_ONLY_THIS_ONE,
GLIBTOP_INTERFACES_INCLUDE_LOGICAL = 1 << 7,
GLIBTOP_INTERFACES_INCLUDE_LOGICAL = 1 << 7
};
#define GLIBTOP_STRATEGY_FLAGS_MASK (1 << 7)
enum _glibtop_interface_flags {
GLIBTOP_IF_FLAGS_UP = 1,
GLIBTOP_IF_FLAGS_BROADCAST,
@@ -169,22 +171,20 @@ struct _glibtop_interface
char name [GLIBTOP_INTERFACE_LEN];
};
#define glibtop_get_interface_names(array,interface,number,instance,strategy) glibtop_get_interface_names_l (glibtop_global_server, array, interface, number, instance, strategy)
#if GLIBTOP_SUID_INTERFACE_NAMES
#define glibtop_get_interface_names_r glibtop_get_interface_names_p
#else
#define glibtop_get_interface_names_r glibtop_get_interface_names_s
#endif
glibtop_interface *glibtop_get_interface_names_l (glibtop *server, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
glibtop_interface *glibtop_get_interface_names_l (glibtop_client *client, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
#if GLIBTOP_SUID_INTERFACE_NAMES
int glibtop_init_interface_names_p (glibtop *server);
glibtop_interface *glibtop_get_interface_names_p (glibtop *server, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
int glibtop_init_interface_names_p (glibtop_server *server, glibtop_closure *closure);
glibtop_interface *glibtop_get_interface_names_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
#else
int glibtop_init_interface_names_s (glibtop *server);
glibtop_interface *glibtop_get_interface_names_s (glibtop *server, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
int glibtop_init_interface_names_s (glibtop_server *server, glibtop_closure *closure);
glibtop_interface *glibtop_get_interface_names_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
#endif
#ifdef GLIBTOP_NAMES
@@ -198,6 +198,6 @@ extern const char *glibtop_descriptions_interface_names [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -28,7 +28,7 @@
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
/* Nobody should really be using more than 64 processors. */
#define GLIBTOP_NCPU 64
@@ -51,6 +51,6 @@ BEGIN_LIBGTOP_DECLS
/* Maximum length of a backend name. */
#define GLIBTOP_BACKEND_NAME_LEN 40
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_LOADAVG_LOADAVG 0
#define GLIBTOP_LOADAVG_NR_RUNNING 1
@@ -49,22 +49,20 @@ struct _glibtop_loadavg
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
};
#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
#else
#define glibtop_get_loadavg_r glibtop_get_loadavg_s
#endif
int glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
int glibtop_get_loadavg_l (glibtop_client *client, glibtop_loadavg *buf);
#if GLIBTOP_SUID_LOADAVG
int glibtop_init_loadavg_p (glibtop *server);
int glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
int glibtop_init_loadavg_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_loadavg_p (glibtop_server *server, glibtop_closure *closure, glibtop_loadavg *buf);
#else
int glibtop_init_loadavg_s (glibtop *server);
int glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
int glibtop_init_loadavg_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_loadavg_s (glibtop_server *server, glibtop_closure *closure, glibtop_loadavg *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -78,6 +76,6 @@ extern const char *glibtop_descriptions_loadavg [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_MEM_TOTAL 0
#define GLIBTOP_MEM_USED 1
@@ -57,22 +57,20 @@ struct _glibtop_mem
locked; /* GLIBTOP_MEM_LOCKED */
};
#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
#else
#define glibtop_get_mem_r glibtop_get_mem_s
#endif
int glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
int glibtop_get_mem_l (glibtop_client *client, glibtop_mem *buf);
#if GLIBTOP_SUID_MEM
int glibtop_init_mem_p (glibtop *server);
int glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
int glibtop_init_mem_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_mem_p (glibtop_server *server, glibtop_closure *closure, glibtop_mem *buf);
#else
int glibtop_init_mem_s (glibtop *server);
int glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
int glibtop_init_mem_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_mem_s (glibtop_server *server, glibtop_closure *closure, glibtop_mem *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -86,6 +84,6 @@ extern const char *glibtop_descriptions_mem [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -32,7 +32,7 @@
#include <glibtop/compat_10.h>
#include <glibtop/array.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
typedef struct _glibtop_mountentry glibtop_mountentry;
@@ -44,15 +44,13 @@ struct _glibtop_mountentry
char type [GLIBTOP_MOUNTENTRY_LEN+1];
};
#define glibtop_get_mountlist(array,all_fs) glibtop_get_mountlist_l(glibtop_global_server, array, all_fs)
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
glibtop_mountentry *
glibtop_get_mountlist_l (glibtop *server, glibtop_array *array, int all_fs);
glibtop_get_mountlist_l (glibtop_client *client, glibtop_array *array, int all_fs);
glibtop_mountentry *
glibtop_get_mountlist_s (glibtop *server, glibtop_array *array, int all_fs);
glibtop_get_mountlist_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, int all_fs);
#ifdef GLIBTOP_NAMES
@@ -65,6 +63,6 @@ extern const char *glibtop_descriptions_mountlist [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_MSG_LIMITS_MSGPOOL 0
#define GLIBTOP_MSG_LIMITS_MSGMAP 1
@@ -55,22 +55,20 @@ struct _glibtop_msg_limits
msgtql; /* GLIBTOP_MSG_LIMITS_MSGTQL */
};
#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
#else
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_s
#endif
int glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
int glibtop_get_msg_limits_l (glibtop_client *client, glibtop_msg_limits *buf);
#if GLIBTOP_SUID_MSG_LIMITS
int glibtop_init_msg_limits_p (glibtop *server);
int glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
int glibtop_init_msg_limits_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_msg_limits_p (glibtop_server *server, glibtop_closure *closure, glibtop_msg_limits *buf);
#else
int glibtop_init_msg_limits_s (glibtop *server);
int glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
int glibtop_init_msg_limits_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_msg_limits_s (glibtop_server *server, glibtop_closure *closure, glibtop_msg_limits *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -84,7 +82,7 @@ extern const char *glibtop_descriptions_msg_limits [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_NETINFO_IF_FLAGS 0
#define GLIBTOP_NETINFO_TRANSPORT 1
@@ -51,22 +51,20 @@ struct _glibtop_netinfo
mtu; /* GLIBTOP_NETINFO_MTU */
};
#define glibtop_get_netinfo(array,netinfo,interface,transport) glibtop_get_netinfo_l(glibtop_global_server, array, netinfo, interface, transport)
#if GLIBTOP_SUID_NETINFO
#define glibtop_get_netinfo_r glibtop_get_netinfo_p
#else
#define glibtop_get_netinfo_r glibtop_get_netinfo_s
#endif
glibtop_ifaddr *glibtop_get_netinfo_l (glibtop *server, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
glibtop_ifaddr *glibtop_get_netinfo_l (glibtop_client *client, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
#if GLIBTOP_SUID_NETINFO
int glibtop_init_netinfo_p (glibtop *server);
glibtop_ifaddr *glibtop_get_netinfo_p (glibtop *server, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
int glibtop_init_netinfo_p (glibtop_server *server, glibtop_closure *closure);
glibtop_ifaddr *glibtop_get_netinfo_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
#else
int glibtop_init_netinfo_s (glibtop *server);
glibtop_ifaddr *glibtop_get_netinfo_s (glibtop *server, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
int glibtop_init_netinfo_s (glibtop_server *server, glibtop_closure *closure);
glibtop_ifaddr *glibtop_get_netinfo_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
#endif
#ifdef GLIBTOP_NAMES
@@ -80,6 +78,6 @@ extern const char *glibtop_descriptions_netinfo [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_NETLOAD_PACKETS_IN 0
#define GLIBTOP_NETLOAD_PACKETS_OUT 1
@@ -63,22 +63,20 @@ struct _glibtop_netload
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
};
#define glibtop_get_netload(netload,interface,transport,protocol) glibtop_get_netload_l(glibtop_global_server, netload, interface, transport, protocol)
#if GLIBTOP_SUID_NETLOAD
#define glibtop_get_netload_r glibtop_get_netload_p
#else
#define glibtop_get_netload_r glibtop_get_netload_s
#endif
int glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
int glibtop_get_netload_l (glibtop_client *client, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
#if GLIBTOP_SUID_NETLOAD
int glibtop_init_netload_p (glibtop *server);
int glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
int glibtop_init_netload_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_netload_p (glibtop_server *server, glibtop_closure *closure, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
#else
int glibtop_init_netload_s (glibtop *server);
int glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
int glibtop_init_netload_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_netload_s (glibtop_server *server, glibtop_closure *closure, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
#endif
#ifdef GLIBTOP_NAMES
@@ -92,6 +90,6 @@ extern const char *glibtop_descriptions_netload [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -25,9 +25,8 @@
#define __GLIBTOP_OPEN_H__
#include <glibtop.h>
#include <glibtop/error.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define _GLIBTOP_INIT_STATE_INIT 0x10000
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
@@ -53,7 +52,7 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_ERROR_METHOD_DEFAULT GLIBTOP_ERROR_METHOD_WARN_ONCE
void
glibtop_open_l (glibtop *server, const char *backend_name,
glibtop_open_l (glibtop_client *client, const char *backend_name,
const unsigned long features, const unsigned flags);
void
@@ -61,21 +60,22 @@ glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags);
void
glibtop_open_p (glibtop *server, const char *program_name,
glibtop_open_p (glibtop_server *server, glibtop_closure *closure,
const unsigned long features, const unsigned flags);
void
glibtop_open_s (glibtop *server, const char *program_name,
glibtop_open_s (glibtop_server *server, glibtop_closure *closure,
const unsigned long features, const unsigned flags);
#ifdef _IN_LIBGTOP
void
_glibtop_open_sysdeps (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags);
_glibtop_open_sysdeps (glibtop_client *client, const char *program_name,
const u_int64_t features, const char **backend_args,
GError **opt_error);
#endif /* _IN_LIBGTOP */
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h>
#include <glibtop/open.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PARAM_ERROR_METHOD 1
#define GLIBTOP_PARAM_FEATURES 2
@@ -60,6 +60,6 @@ int
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
const void *data_ptr, size_t data_size);
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PPP_STATE 0
#define GLIBTOP_PPP_BYTES_IN 1
@@ -53,22 +53,20 @@ struct _glibtop_ppp
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
};
#define glibtop_get_ppp(ppp,device,use_isdn) glibtop_get_ppp_l(glibtop_global_server, ppp, device, use_isdn)
#if GLIBTOP_SUID_PPP
#define glibtop_get_ppp_r glibtop_get_ppp_p
#else
#define glibtop_get_ppp_r glibtop_get_ppp_s
#endif
int glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
int glibtop_get_ppp_l (glibtop_client *client, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
#if GLIBTOP_SUID_PPP
int glibtop_init_ppp_p (glibtop *server);
int glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
int glibtop_init_ppp_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_ppp_p (glibtop_server *server, glibtop_closure *closure, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
#else
int glibtop_init_ppp_s (glibtop *server);
int glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
int glibtop_init_ppp_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_ppp_s (glibtop_server *server, glibtop_closure *closure, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
#endif
#ifdef GLIBTOP_NAMES
@@ -82,6 +80,6 @@ extern const char *glibtop_descriptions_ppp [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -32,9 +32,7 @@
#include <glibtop/compat_10.h>
#include <glibtop/array.h>
BEGIN_LIBGTOP_DECLS
#define glibtop_get_proc_args(array,pid) glibtop_get_proc_args_l(glibtop_global_server, array, pid)
G_BEGIN_DECLS
#if GLIBTOP_SUID_PROC_ARGS
#define glibtop_get_proc_args_r glibtop_get_proc_args_p
@@ -43,18 +41,18 @@ BEGIN_LIBGTOP_DECLS
#endif
char **
glibtop_get_proc_args_l (glibtop *server, glibtop_array *array, pid_t pid);
glibtop_get_proc_args_l (glibtop_client *client, glibtop_array *array, pid_t pid);
#if GLIBTOP_SUID_PROC_ARGS
int glibtop_init_proc_args_p (glibtop *server);
int glibtop_init_proc_args_p (glibtop_server *server, glibtop_closure *closure);
char **
glibtop_get_proc_args_p (glibtop *server, glibtop_array *array, pid_t pid);
glibtop_get_proc_args_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
#else
int glibtop_init_proc_args_s (glibtop *server);
int glibtop_init_proc_args_s (glibtop_server *server, glibtop_closure *closure);
char **
glibtop_get_proc_args_s (glibtop *server, glibtop_array *array, pid_t pid);
glibtop_get_proc_args_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -68,6 +66,6 @@ extern const char *glibtop_descriptions_proc_args [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

81
include/glibtop/proccwd.h Normal file
View File

@@ -0,0 +1,81 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCCWD_H__
#define __GLIBTOP_PROCCWD_H__
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/array.h>
G_BEGIN_DECLS
#define GLIBTOP_PROC_CWD_SIZE 0
#define GLIBTOP_PROC_CWD_DEVICE 1
#define GLIBTOP_PROC_CWD_INODE 2
#define GLIBTOP_MAX_PROC_CWD 3
typedef struct _glibtop_proc_cwd glibtop_proc_cwd;
/* Cwd stuff */
struct _glibtop_proc_cwd
{
u_int64_t flags,
size,
device,
inode;
};
#if GLIBTOP_SUID_PROC_CWD
#define glibtop_get_proc_cwd_r glibtop_get_proc_cwd_p
#else
#define glibtop_get_proc_cwd_r glibtop_get_proc_cwd_s
#endif
char *glibtop_get_proc_cwd_l (glibtop_client *client, glibtop_proc_cwd *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_CWD
int glibtop_init_proc_cwd_p (glibtop_server *server, glibtop_closure *closure);
char *glibtop_get_proc_cwd_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_cwd *buf, pid_t pid);
#else
int glibtop_init_proc_cwd_s (glibtop_server *server, glibtop_closure *closure);
char *glibtop_get_proc_cwd_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_cwd *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_proc_cwd [];
extern const unsigned glibtop_types_proc_cwd [];
extern const char *glibtop_labels_proc_cwd [];
extern const char *glibtop_descriptions_proc_cwd [];
#endif
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1
@@ -77,22 +77,20 @@ struct _glibtop_proc_kernel
char wchan [40];
};
#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
#else
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_s
#endif
int glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
int glibtop_get_proc_kernel_l (glibtop_client *client, glibtop_proc_kernel *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_KERNEL
int glibtop_init_proc_kernel_p (glibtop *server);
int glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
int glibtop_init_proc_kernel_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_kernel_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_kernel *buf, pid_t pid);
#else
int glibtop_init_proc_kernel_s (glibtop *server);
int glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
int glibtop_init_proc_kernel_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_kernel_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_kernel *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -106,6 +104,6 @@ extern const char *glibtop_descriptions_proc_kernel [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -32,7 +32,7 @@
#include <glibtop/compat_10.h>
#include <glibtop/array.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
/* You can use the folowing constants as the `which' member of
* glibtop_get_proclist () to specify which processes to fetch. */
@@ -52,8 +52,6 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
#define glibtop_get_proclist(array,which,arg) glibtop_get_proclist_l(glibtop_global_server, array, which, arg)
#if GLIBTOP_SUID_PROCLIST
#define glibtop_get_proclist_r glibtop_get_proclist_p
#else
@@ -61,20 +59,20 @@ BEGIN_LIBGTOP_DECLS
#endif
unsigned *
glibtop_get_proclist_l (glibtop *server, glibtop_array *array,
glibtop_get_proclist_l (glibtop_client *client, glibtop_array *array,
int64_t which, int64_t arg);
#if GLIBTOP_SUID_PROCLIST
int glibtop_init_proclist_p (glibtop *server);
int glibtop_init_proclist_p (glibtop_server *server, glibtop_closure *closure);
unsigned *
glibtop_get_proclist_p (glibtop *server, glibtop_array *array,
glibtop_get_proclist_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array,
int64_t which, int64_t arg);
#else
int glibtop_init_proclist_s (glibtop *server);
int glibtop_init_proclist_s (glibtop_server *server, glibtop_closure *closure);
unsigned *
glibtop_get_proclist_s (glibtop *server, glibtop_array *array,
glibtop_get_proclist_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array,
int64_t which, int64_t arg);
#endif
@@ -89,6 +87,6 @@ extern const char *glibtop_descriptions_proclist [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -32,7 +32,7 @@
#include <glibtop/compat_10.h>
#include <glibtop/array.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_MAP_ENTRY_START 1
#define GLIBTOP_MAP_ENTRY_END 2
@@ -60,8 +60,6 @@ struct _glibtop_map_entry
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
};
#define glibtop_get_proc_map(array,pid) glibtop_get_proc_map_l(glibtop_global_server, array, pid)
#if GLIBTOP_SUID_PROC_MAP
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
#else
@@ -69,18 +67,18 @@ struct _glibtop_map_entry
#endif
glibtop_map_entry *
glibtop_get_proc_map_l (glibtop *server, glibtop_array *array, pid_t pid);
glibtop_get_proc_map_l (glibtop_client *client, glibtop_array *array, pid_t pid);
#if GLIBTOP_SUID_PROC_MAP
int glibtop_init_proc_map_p (glibtop *server);
int glibtop_init_proc_map_p (glibtop_server *server, glibtop_closure *closure);
glibtop_map_entry *
glibtop_get_proc_map_p (glibtop *server, glibtop_array *array, pid_t pid);
glibtop_get_proc_map_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
#else
int glibtop_init_proc_map_s (glibtop *server);
int glibtop_init_proc_map_s (glibtop_server *server, glibtop_closure *closure);
glibtop_map_entry *
glibtop_get_proc_map_s (glibtop *server, glibtop_array *array, pid_t pid);
glibtop_get_proc_map_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -94,6 +92,6 @@ extern const char *glibtop_descriptions_proc_map [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PROC_MEM_SIZE 0
#define GLIBTOP_PROC_MEM_VSIZE 1
@@ -57,22 +57,20 @@ struct _glibtop_proc_mem
* of the process; usually 2,147,483,647 */
};
#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
#else
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_s
#endif
int glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
int glibtop_get_proc_mem_l (glibtop_client *client, glibtop_proc_mem *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_MEM
int glibtop_init_proc_mem_p (glibtop *server);
int glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
int glibtop_init_proc_mem_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_mem_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_mem *buf, pid_t pid);
#else
int glibtop_init_proc_mem_s (glibtop *server);
int glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
int glibtop_init_proc_mem_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_mem_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_mem *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -86,6 +84,6 @@ extern const char *glibtop_descriptions_proc_mem [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
@@ -77,22 +77,20 @@ struct _glibtop_proc_segment
env_end;
};
#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
#else
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_s
#endif
int glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
int glibtop_get_proc_segment_l (glibtop_client *client, glibtop_proc_segment *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_SEGMENT
int glibtop_init_proc_segment_p (glibtop *server);
int glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
int glibtop_init_proc_segment_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_segment_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_segment *buf, pid_t pid);
#else
int glibtop_init_proc_segment_s (glibtop *server);
int glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
int glibtop_init_proc_segment_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_segment_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_segment *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -106,6 +104,6 @@ extern const char *glibtop_descriptions_proc_segment [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1
@@ -51,22 +51,20 @@ struct _glibtop_proc_signal
sigcatch [2]; /* mask of caught signals */
};
#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
#else
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_s
#endif
int glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
int glibtop_get_proc_signal_l (glibtop_client *client, glibtop_proc_signal *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_SIGNAL
int glibtop_init_proc_signal_p (glibtop *server);
int glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
int glibtop_init_proc_signal_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_signal_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_signal *buf, pid_t pid);
#else
int glibtop_init_proc_signal_s (glibtop *server);
int glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
int glibtop_init_proc_signal_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_signal_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_signal *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -80,6 +78,6 @@ extern const char *glibtop_descriptions_proc_signal [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PROC_STATE_CMD 0
#define GLIBTOP_PROC_STATE_STATE 1
@@ -77,22 +77,20 @@ struct _glibtop_proc_state
};
#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
#else
#define glibtop_get_proc_state_r glibtop_get_proc_state_s
#endif
int glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
int glibtop_get_proc_state_l (glibtop_client *client, glibtop_proc_state *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_STATE
int glibtop_init_proc_state_p (glibtop *server);
int glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
int glibtop_init_proc_state_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_state_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_state *buf, pid_t pid);
#else
int glibtop_init_proc_state_s (glibtop *server);
int glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
int glibtop_init_proc_state_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_state_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_state *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -106,6 +104,6 @@ extern const char *glibtop_descriptions_proc_state [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -30,7 +30,7 @@
#include <glibtop/cpu.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PROC_TIME_START_TIME 0
#define GLIBTOP_PROC_TIME_RTIME 1
@@ -74,22 +74,20 @@ struct _glibtop_proc_time
xcpu_flags;
};
#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
#else
#define glibtop_get_proc_time_r glibtop_get_proc_time_s
#endif
int glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
int glibtop_get_proc_time_l (glibtop_client *client, glibtop_proc_time *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_TIME
int glibtop_init_proc_time_p (glibtop *server);
int glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
int glibtop_init_proc_time_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_time_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_time *buf, pid_t pid);
#else
int glibtop_init_proc_time_s (glibtop *server);
int glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
int glibtop_init_proc_time_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_time_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_time *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -103,6 +101,6 @@ extern const char *glibtop_descriptions_proc_time [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_PROC_UID_UID 0
#define GLIBTOP_PROC_UID_EUID 1
@@ -79,22 +79,20 @@ struct _glibtop_proc_uid
groups [GLIBTOP_MAX_GROUPS]; /* additional prcess groups */
};
#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
#else
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_s
#endif
int glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
int glibtop_get_proc_uid_l (glibtop_client *client, glibtop_proc_uid *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_UID
int glibtop_init_proc_uid_p (glibtop *server);
int glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
int glibtop_init_proc_uid_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_uid_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_uid *buf, pid_t pid);
#else
int glibtop_init_proc_uid_s (glibtop *server);
int glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
int glibtop_init_proc_uid_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_proc_uid_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_uid *buf, pid_t pid);
#endif
#ifdef GLIBTOP_NAMES
@@ -108,6 +106,6 @@ extern const char *glibtop_descriptions_proc_uid [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_SEM_LIMITS_SEMMAP 0
#define GLIBTOP_SEM_LIMITS_SEMMNI 1
@@ -61,22 +61,20 @@ struct _glibtop_sem_limits
semaem; /* GLIBTOP_SEM_LIMITS_SEMAEM */
};
#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
#else
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_s
#endif
int glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
int glibtop_get_sem_limits_l (glibtop_client *client, glibtop_sem_limits *buf);
#if GLIBTOP_SUID_SEM_LIMITS
int glibtop_init_sem_limits_p (glibtop *server);
int glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
int glibtop_init_sem_limits_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_sem_limits_p (glibtop_server *server, glibtop_closure *closure, glibtop_sem_limits *buf);
#else
int glibtop_init_sem_limits_s (glibtop *server);
int glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
int glibtop_init_sem_limits_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_sem_limits_s (glibtop_server *server, glibtop_closure *closure, glibtop_sem_limits *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -90,6 +88,6 @@ extern const char *glibtop_descriptions_sem_limits [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_SHM_LIMITS_SHMMAX 0
#define GLIBTOP_SHM_LIMITS_SHMMIN 1
@@ -51,22 +51,20 @@ struct _glibtop_shm_limits
shmall; /* GLIBTOP_SHM_LIMITS_SHMALL */
};
#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
#else
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
#endif
int glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
int glibtop_get_shm_limits_l (glibtop_client *client, glibtop_shm_limits *buf);
#if GLIBTOP_SUID_SHM_LIMITS
int glibtop_init_shm_limits_p (glibtop *server);
int glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
int glibtop_init_shm_limits_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_shm_limits_p (glibtop_server *, glibtop_shm_limits *buf);
#else
int glibtop_init_shm_limits_s (glibtop *server);
int glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
int glibtop_init_shm_limits_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_shm_limits_s (glibtop_server *server, glibtop_closure *closure, glibtop_shm_limits *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -80,6 +78,6 @@ extern const char *glibtop_descriptions_shm_limits [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

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

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_SWAP_TOTAL 0
#define GLIBTOP_SWAP_USED 1
@@ -51,22 +51,20 @@ struct _glibtop_swap
pageout; /* GLIBTOP_SWAP_PAGEOUT */
};
#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
#else
#define glibtop_get_swap_r glibtop_get_swap_s
#endif
int glibtop_get_swap_l (glibtop *server, glibtop_swap *buf);
int glibtop_get_swap_l (glibtop_client *client, glibtop_swap *buf);
#if GLIBTOP_SUID_SWAP
int glibtop_init_swap_p (glibtop *server);
int glibtop_get_swap_p (glibtop *server, glibtop_swap *buf);
int glibtop_init_swap_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_swap_p (glibtop_server *server, glibtop_closure *closure, glibtop_swap *buf);
#else
int glibtop_init_swap_s (glibtop *server);
int glibtop_get_swap_s (glibtop *server, glibtop_swap *buf);
int glibtop_init_swap_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_swap_s (glibtop_server *server, glibtop_closure *closure, glibtop_swap *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -80,6 +78,6 @@ extern const char *glibtop_descriptions_swap [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -28,7 +28,7 @@
#include <glibtop.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_SYSDEPS_CPU 0
#define GLIBTOP_SYSDEPS_MEM 1
@@ -46,23 +46,20 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_SYSDEPS_PROC_SIGNAL 13
#define GLIBTOP_SYSDEPS_PROC_KERNEL 14
#define GLIBTOP_SYSDEPS_PROC_SEGMENT 15
#define GLIBTOP_SYSDEPS_PROC_ARGS 16
#define GLIBTOP_SYSDEPS_PROC_MAP 17
#define GLIBTOP_SYSDEPS_MOUNTLIST 18
#define GLIBTOP_SYSDEPS_FSUSAGE 19
#define GLIBTOP_SYSDEPS_INTERFACE_NAMES 20
#define GLIBTOP_SYSDEPS_NETINFO 21
#define GLIBTOP_SYSDEPS_NETLOAD 22
#define GLIBTOP_SYSDEPS_PPP 23
#define GLIBTOP_SYSDEPS_PROC_CWD 16
#define GLIBTOP_SYSDEPS_PROC_ARGS 17
#define GLIBTOP_SYSDEPS_PROC_MAP 18
#define GLIBTOP_SYSDEPS_MOUNTLIST 19
#define GLIBTOP_SYSDEPS_FSUSAGE 20
#define GLIBTOP_SYSDEPS_INTERFACE_NAMES 21
#define GLIBTOP_SYSDEPS_NETINFO 22
#define GLIBTOP_SYSDEPS_NETLOAD 23
#define GLIBTOP_SYSDEPS_PPP 24
#define GLIBTOP_MAX_SYSDEPS 26
#define GLIBTOP_MAX_SYSDEPS 27
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
typedef int (*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
@@ -86,6 +83,7 @@ struct _glibtop_sysdeps
proc_signal, /* glibtop_proc_signal */
proc_kernel, /* glibtop_proc_kernel */
proc_segment, /* glibtop_proc_segment */
proc_cwd, /* glibtop_proc_cwd */
proc_args, /* glibtop_proc_args */
proc_map, /* glibtop_proc_map */
mountlist, /* glibtop_mountlist */
@@ -96,10 +94,6 @@ struct _glibtop_sysdeps
ppp; /* glibtop_ppp */
};
#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
/* You need to link with -lgtop_names to get this stuff here. */
@@ -111,6 +105,6 @@ extern const char *glibtop_descriptions_sysdeps [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -32,7 +32,7 @@
#include <glib.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_SYSINFO_CPUINFO 0
@@ -55,12 +55,10 @@ struct _glibtop_sysinfo
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
glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop_server *server);
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -26,7 +26,7 @@
#ifndef __GLIBTOP_TYPES_H__
#define __GLIBTOP_TYPES_H__
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_TYPE_LONG 1
#define GLIBTOP_TYPE_ULONG 2
@@ -36,6 +36,6 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_TYPE_CHAR 6
#define GLIBTOP_TYPE_STRING 7
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -46,6 +46,8 @@
#include <glibtop/procargs.h>
#include <glibtop/procmap.h>
#include <glibtop/proccwd.h>
#include <glibtop/mountlist.h>
#include <glibtop/fsusage.h>
@@ -54,7 +56,7 @@
#include <glibtop/interfaces.h>
#include <glibtop/ppp.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
typedef union _glibtop_union glibtop_union;
@@ -76,6 +78,7 @@ union _glibtop_union
glibtop_proc_signal proc_signal;
glibtop_proc_kernel proc_kernel;
glibtop_proc_segment proc_segment;
glibtop_proc_cwd proc_cwd;
glibtop_array proc_args;
glibtop_array proc_map;
glibtop_array mountlist;
@@ -86,6 +89,6 @@ union _glibtop_union
glibtop_ppp ppp;
};
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,7 +29,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_DECLS
#define GLIBTOP_UPTIME_UPTIME 0
#define GLIBTOP_UPTIME_IDLETIME 1
@@ -47,22 +47,20 @@ struct _glibtop_uptime
u_int64_t boot_time; /* GLIBTOP_UPTIME_BOOT_TIME */
};
#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
#else
#define glibtop_get_uptime_r glibtop_get_uptime_s
#endif
int glibtop_get_uptime_l (glibtop *server, glibtop_uptime *buf);
int glibtop_get_uptime_l (glibtop_client *client, glibtop_uptime *buf);
#if GLIBTOP_SUID_UPTIME
int glibtop_init_uptime_p (glibtop *server);
int glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf);
int glibtop_init_uptime_p (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_uptime_p (glibtop_server *server, glibtop_closure *closure, glibtop_uptime *buf);
#else
int glibtop_init_uptime_s (glibtop *server);
int glibtop_get_uptime_s (glibtop *server, glibtop_uptime *buf);
int glibtop_init_uptime_s (glibtop_server *server, glibtop_closure *closure);
int glibtop_get_uptime_s (glibtop_server *server, glibtop_closure *closure, glibtop_uptime *buf);
#endif
#ifdef GLIBTOP_NAMES
@@ -76,6 +74,6 @@ extern const char *glibtop_descriptions_uptime [];
#endif
END_LIBGTOP_DECLS
G_END_DECLS
#endif

View File

@@ -29,20 +29,14 @@
#include <glibtop.h>
#include <glibtop/error.h>
BEGIN_LIBGTOP_DECLS
G_BEGIN_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 *server, size_t size);
void *glibtop_calloc_r (glibtop_server *server, size_t nmemb, size_t size);
void *glibtop_realloc_r (glibtop_server *server, void *ptr, size_t size);
char *glibtop_strdup_r (glibtop_server *server, const char *string);
void glibtop_free_r (glibtop_server *server, void *ptr);
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
G_END_DECLS
#endif

View File

@@ -7,3 +7,5 @@ libgtop.la
lib.c
structures.h
sysdeps-init.c
libgtop_server.la
test-backends

View File

@@ -1,22 +1,42 @@
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
INCLUDES = @INCLUDES@
if INODEDB
inodedb_SRCLIST = inodedb.c
inodedb_DEFS = -DSYSTEM_INODEDB=\"$(prefix)/var/libgtop/inodedb.db\"
else
inodedb_SRCLIST =
inodedb_DEFS =
endif
INCLUDES = @INCLUDES@ $(inodedb_DEFS)
noinst_PROGRAMS = test-backends
lib_LTLIBRARIES = libgtop.la
libgtop_la_SOURCES = init.c open.c close.c lib.c parameter.c \
sysdeps.c errors.c glib-arrays.c \
backend.c init-backends.c open-backend.c \
sysdeps-init.c
noinst_LTLIBRARIES = libgtop_server.la
libgtop_la_SOURCES = errors.c glibtop-backend-info.c \
glibtop-client.c glibtop-server.c \
glibtop-backend.c glibtop-client-private.h \
glibtop-server-private.h xmalloc.c error.c \
$(inodedb_SRCLIST) $(BUILT_SOURCES)
libgtop_server_la_SOURCES = error.c xmalloc.c
libgtop_la_LDFLAGS = $(LT_VERSION_INFO)
libgtop_la_LIBADD = $(LIBGTOP_XML_LIB)
libgtop_la_LIBADD = $(GLIB_LIBS) $(XML_LIBS)
test_backends_SOURCES = \
test-backends.c
test_backends_LDADD = libgtop.la
glibtopdir = $(includedir)/glibtop
glibtop_HEADERS = structures.h
BUILT_SOURCES = lib.c structures.h sysdeps-init.c
BUILT_SOURCES = lib.c structures.h
lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t
@@ -29,17 +49,7 @@ structures.h: structures.pl $(top_builddir)/config.h \
structures.h > tmp-s
mv tmp-s structures.h
sysdeps-init.c:
rm -f sysdeps-init.c
cp $(srcdir)/@sysdeps_init_file@ sysdeps-init.c
CLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST = lib.pl structures.pl \
sysdeps-init-freebsd.c \
sysdeps-init-kernel.c \
sysdeps-init-linux.c \
sysdeps-init-solaris.c \
sysdeps-init-stub-suid.c \
sysdeps-init-stub.c
EXTRA_DIST = lib.pl structures.pl

View File

@@ -1,93 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/xmalloc.h>
#include <glibtop/backend.h>
static GHashTable *_glibtop_backend_list = NULL;
static long _glibtop_backend_nr = 0;
long
glibtop_register_backend (glibtop_backend_entry *entry)
{
long id;
if (!_glibtop_backend_list)
_glibtop_backend_list = g_hash_table_new (NULL, NULL);
id = ++_glibtop_backend_nr;
g_hash_table_insert (_glibtop_backend_list,
GINT_TO_POINTER (id),
entry);
return id;
}
void
glibtop_unregister_backend (long id)
{
g_hash_table_remove (_glibtop_backend_list,
GINT_TO_POINTER (id));
}
glibtop_backend_entry *
glibtop_backend_by_id (long id)
{
return g_hash_table_lookup (_glibtop_backend_list,
GINT_TO_POINTER (id));
}
typedef struct {
const char *backend_name;
glibtop_backend_entry *entry;
} _find_by_name_param_t;
static void
find_by_name (gpointer key, gpointer value, gpointer user_data)
{
_find_by_name_param_t *param = (_find_by_name_param_t *) user_data;
glibtop_backend_entry *entry = (glibtop_backend_entry *) value;
if (!entry || !entry->name || param->entry)
return;
if (!strcmp (entry->name, param->backend_name))
param->entry = entry;
}
glibtop_backend_entry *
glibtop_backend_by_name (const char *backend_name)
{
_find_by_name_param_t param = { backend_name, NULL };
g_hash_table_foreach (_glibtop_backend_list,
find_by_name, &param);
return param.entry;
}

View File

@@ -30,7 +30,7 @@
/* Prints error message and exits. */
static void
print_server_name (glibtop *server)
print_server_name (glibtop_server *server)
{
fprintf (stderr, "%s: ", server ?
(server->name ? server->name : DEFAULT_NAME)
@@ -38,7 +38,7 @@ print_server_name (glibtop *server)
}
void
glibtop_error_vr (glibtop *server, char *format, va_list args)
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
@@ -52,7 +52,7 @@ glibtop_error_vr (glibtop *server, char *format, va_list args)
}
void
glibtop_error_io_vr (glibtop *server, char *format, int error, va_list args)
glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
@@ -66,7 +66,7 @@ glibtop_error_io_vr (glibtop *server, char *format, int error, va_list args)
}
void
glibtop_warn_vr (glibtop *server, char *format, va_list args)
glibtop_warn_vr (glibtop_server *server, char *format, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
@@ -78,7 +78,7 @@ glibtop_warn_vr (glibtop *server, char *format, va_list args)
}
void
glibtop_warn_io_vr (glibtop *server, char *format, int error, va_list args)
glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
@@ -88,3 +88,83 @@ glibtop_warn_io_vr (glibtop *server, char *format, int error, va_list args)
abort ();
#endif
}
void
glibtop_error_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (server, format, args);
va_end (args);
}
void
glibtop_warn_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (server, format, args);
va_end (args);
}
void
glibtop_error_io_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (server, format, errno, args);
va_end (args);
}
void
glibtop_warn_io_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (server, format, errno, args);
va_end (args);
}
#ifndef __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__ */

View File

@@ -25,42 +25,132 @@
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/xmalloc.h>
#include <glibtop/errors.h>
const char *glibtop_error_strings[GLIBTOP_MAX_ERROR] = {
N_("No error"),
N_("Unknown error"),
N_("Invalid argument"),
N_("No such parameter"),
N_("Attempted to modify a read-only value"),
N_("Parameter size mismatch"),
N_("Communication with LibGTop server failed"),
N_("No such process"),
N_("No kernel support"),
N_("Incompatible kernel version")
};
char *
glibtop_get_error_string_l (glibtop *server, unsigned error_number)
/* Error quark */
GQuark
glibtop_error_quark (void)
{
if (error_number >= GLIBTOP_MAX_ERROR)
error_number = GLIBTOP_ERROR_UNKNOWN;
static GQuark q = 0;
if (q == 0)
q = g_quark_from_static_string ("glibtop-error-quark");
return glibtop_strdup_r (server, _(glibtop_error_strings [error_number]));
return q;
}
unsigned
glibtop_get_errno_l (glibtop *server)
void
glibtop_error_vl (glibtop_client *client, glibtop_error code,
const char *format, va_list args)
{
return server->glibtop_errno;
gchar *message;
GError *error;
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
message = g_strdup_vprintf (format, args);
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
glibtop_client_propagate_error (client, error);
g_error_free (error);
g_free (message);
}
unsigned
glibtop_clear_errno_l (glibtop *server)
void
glibtop_error_io_vl (glibtop_client *client, glibtop_error code,
int io_errno, const char *format, va_list args)
{
unsigned old_errno;
gchar *message, *fullmessage;
GError *error;
old_errno = server->glibtop_errno;
server->glibtop_errno = 0;
return old_errno;
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
message = g_strdup_vprintf (format, args);
fullmessage = g_strdup_printf ("%s: %s", message, strerror (io_errno));
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
glibtop_client_propagate_error (client, error);
g_error_free (error);
g_free (fullmessage);
g_free (message);
}
void
glibtop_warn_vl (glibtop_client *client, glibtop_error code,
const char *format, va_list args)
{
gchar *message;
GError *error;
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
message = g_strdup_vprintf (format, args);
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
glibtop_client_propagate_warning (client, error);
g_error_free (error);
g_free (message);
}
void
glibtop_warn_io_vl (glibtop_client *client, glibtop_error code,
int io_errno, const char *format, va_list args)
{
gchar *message, *fullmessage;
GError *error;
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
message = g_strdup_vprintf (format, args);
fullmessage = g_strdup_printf ("%s: %s", message, strerror (io_errno));
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
glibtop_client_propagate_warning (client, error);
g_error_free (error);
g_free (fullmessage);
g_free (message);
}
void
glibtop_error_l (glibtop_client *client, glibtop_error code,
char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vl (client, code, format, args);
va_end (args);
}
void
glibtop_warn_l (glibtop_client *client, glibtop_error code,
char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vl (client, code, format, args);
va_end (args);
}
void
glibtop_error_io_l (glibtop_client *client, glibtop_error code,
char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vl (client, code, errno, format, args);
va_end (args);
}
void
glibtop_warn_io_l (glibtop_client *client, glibtop_error code,
char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vl (client, code, errno, format, args);
va_end (args);
}

View File

@@ -29,14 +29,15 @@
#include <glibtop/glib-arrays.h>
GArray *
glibtop_get_proclist_as_array_l (glibtop *server, int64_t which, int64_t arg)
glibtop_get_proclist_as_array_l (glibtop_client *client, int64_t which,
int64_t arg)
{
glibtop_array array;
GArray *retval;
unsigned *ptr;
int i;
ptr = glibtop_get_proclist_l (server, &array, which, arg);
ptr = glibtop_get_proclist_l (client, &array, which, arg);
if (!ptr) return NULL;
retval = g_array_new (FALSE, TRUE, sizeof (guint));
@@ -45,20 +46,20 @@ glibtop_get_proclist_as_array_l (glibtop *server, int64_t which, int64_t arg)
for (i = 0; i < array.number; i++)
g_array_index (retval, guint, i) = ptr [i];
glibtop_free_r (server, ptr);
g_free (ptr);
return retval;
}
GPtrArray *
glibtop_get_proc_args_as_array_l (glibtop *server, pid_t pid)
glibtop_get_proc_args_as_array_l (glibtop_client *client, pid_t pid)
{
glibtop_array array;
GPtrArray *retval;
char **ptr;
int i;
ptr = glibtop_get_proc_args_l (server, &array, pid);
ptr = glibtop_get_proc_args_l (client, &array, pid);
if (!ptr) return NULL;
retval = g_ptr_array_new ();
@@ -66,23 +67,23 @@ glibtop_get_proc_args_as_array_l (glibtop *server, pid_t pid)
for (i = 0; i < array.number; i++) {
retval->pdata [i] = g_strdup (ptr [i]);
glibtop_free_r (server, ptr [i]);
g_free (ptr [i]);
}
glibtop_free_r (server, ptr);
g_free (ptr);
return retval;
}
GPtrArray *
glibtop_get_proc_map_as_array_l (glibtop *server, pid_t pid)
glibtop_get_proc_map_as_array_l (glibtop_client *client, pid_t pid)
{
glibtop_array array;
GPtrArray *retval;
glibtop_map_entry *ptr;
int i;
ptr = glibtop_get_proc_map_l (server, &array, pid);
ptr = glibtop_get_proc_map_l (client, &array, pid);
if (!ptr) return NULL;
retval = g_ptr_array_new ();
@@ -91,20 +92,20 @@ glibtop_get_proc_map_as_array_l (glibtop *server, pid_t pid)
for (i = 0; i < array.number; i++)
retval->pdata [i] = g_memdup (ptr+i, sizeof (glibtop_map_entry));
glibtop_free_r (server, ptr);
g_free (ptr);
return retval;
}
GPtrArray *
glibtop_get_mountlist_as_array_l (glibtop *server, int all_fs)
glibtop_get_mountlist_as_array_l (glibtop_client *client, int all_fs)
{
glibtop_array array;
GPtrArray *retval;
glibtop_mountentry *ptr;
int i;
ptr = glibtop_get_mountlist_l (server, &array, all_fs);
ptr = glibtop_get_mountlist_l (client, &array, all_fs);
if (!ptr) return NULL;
retval = g_ptr_array_new ();
@@ -113,7 +114,7 @@ glibtop_get_mountlist_as_array_l (glibtop *server, int all_fs)
for (i = 0; i < array.number; i++)
retval->pdata [i] = g_memdup (ptr+i, sizeof (glibtop_mountentry));
glibtop_free_r (server, ptr);
g_free (ptr);
return retval;
}

View File

@@ -25,26 +25,21 @@
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/xmalloc.h>
#include <glibtop/backend.h>
#include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h>
extern glibtop_backend_info glibtop_backend_server;
extern glibtop_backend_info glibtop_backend_sysdeps;
extern glibtop_backend_info glibtop_backend_common;
#if HAVE_LIBXML
static GHashTable *_glibtop_backend_list = NULL;
static long _glibtop_backend_nr = 0;
#define LIBGTOP_XML_NAMESPACE "http://www.home-of-linux.org/libgtop/1.1"
#include <gnome-xml/parser.h>
#include <libxml/parser.h>
#include <dirent.h>
static void _glibtop_init_gmodule_backends (const char *);
#endif /* HAVE_LIBXML */
void
glibtop_init_backends (void)
{
@@ -54,17 +49,15 @@ glibtop_init_backends (void)
return;
backends_initialized = 1;
#if HAVE_LIBXML
_glibtop_init_gmodule_backends (LIBGTOP_BACKEND_DIR);
#endif
}
LIBXML_TEST_VERSION;
#if HAVE_LIBXML
_glibtop_init_gmodule_backends (LIBGTOP_BACKEND_DIR);
}
static gchar *
_get_library_filename (xmlDocPtr doc, xmlNodePtr cur, const char *directory)
{
char *filename = xmlNodeListGetString (doc, cur->childs, 1);
char *filename = xmlNodeListGetString (doc, cur->xmlChildrenNode, 1);
gchar *retval;
if (!filename)
@@ -85,10 +78,10 @@ _parse_extra_libs (xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, const char *dir)
GSList *list = NULL;
/* We don't care what the top level element name is */
cur = cur->childs;
cur = cur->xmlChildrenNode;
while (cur != NULL) {
if ((!strcmp (cur->name, "ExtraLib")) && (cur->ns == ns)) {
xmlNodePtr sub = cur->childs;
xmlNodePtr sub = cur->xmlChildrenNode;
while (sub != NULL) {
if ((!strcmp (sub->name, "ShlibName")) && (sub->ns == ns))
@@ -116,14 +109,14 @@ _parseBackend (xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, const char *dir)
ret = g_new0 (glibtop_backend_entry, 1);
/* We don't care what the top level element name is */
cur = cur->childs;
cur = cur->xmlChildrenNode;
while (cur != NULL) {
if ((!strcmp (cur->name, "Name")) && (cur->ns == ns))
ret->name = xmlNodeListGetString
(doc, cur->childs, 1);
(doc, cur->xmlChildrenNode, 1);
if ((!strcmp (cur->name, "Location")) && (cur->ns == ns)) {
xmlNodePtr sub = cur->childs;
xmlNodePtr sub = cur->xmlChildrenNode;
while (sub != NULL) {
if ((!strcmp (sub->name, "LibtoolName")) && (sub->ns == ns))
@@ -202,7 +195,7 @@ _glibtop_init_gmodule_backends (const char *directory)
continue;
}
cur = cur->childs;
cur = cur->xmlChildrenNode;
while (cur != NULL) {
glibtop_backend_entry *backend;
@@ -226,4 +219,62 @@ _glibtop_init_gmodule_backends (const char *directory)
closedir (dir);
}
#endif /* HAVE_LIBXML */
long
glibtop_register_backend (glibtop_backend_entry *entry)
{
long id;
if (!_glibtop_backend_list)
_glibtop_backend_list = g_hash_table_new (NULL, NULL);
id = ++_glibtop_backend_nr;
g_hash_table_insert (_glibtop_backend_list,
GINT_TO_POINTER (id),
entry);
return id;
}
void
glibtop_unregister_backend (long id)
{
g_hash_table_remove (_glibtop_backend_list,
GINT_TO_POINTER (id));
}
glibtop_backend_entry *
glibtop_backend_by_id (long id)
{
return g_hash_table_lookup (_glibtop_backend_list,
GINT_TO_POINTER (id));
}
typedef struct {
const char *backend_name;
glibtop_backend_entry *entry;
} _find_by_name_param_t;
static void
find_by_name (gpointer key, gpointer value, gpointer user_data)
{
_find_by_name_param_t *param = (_find_by_name_param_t *) user_data;
glibtop_backend_entry *entry = (glibtop_backend_entry *) value;
if (!entry || !entry->name || param->entry)
return;
if (!strcmp (entry->name, param->backend_name))
param->entry = entry;
}
glibtop_backend_entry *
glibtop_backend_by_name (const char *backend_name)
{
_find_by_name_param_t param = { backend_name, NULL };
g_hash_table_foreach (_glibtop_backend_list,
find_by_name, &param);
return param.entry;
}

271
lib/glibtop-backend.c Normal file
View File

@@ -0,0 +1,271 @@
/* -*- 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.
*/
#include <glibtop.h>
#include <glib-object.h>
#include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h>
static void glibtop_backend_class_init (glibtop_backend_class *klass);
static void glibtop_backend_init (glibtop_backend *backend);
static void glibtop_backend_finalize (GObject *object);
static gpointer parent_class = NULL;
/* Internal data */
struct _glibtop_backend_private
{
const glibtop_backend_info *info;
glibtop_closure *closure_data;
glibtop_server *server;
glibtop_backend_module *module;
};
GType
glibtop_backend_get_type (void)
{
static GType glibtop_backend_type = 0;
if (!glibtop_backend_type) {
static const GTypeInfo glibtop_backend_info = {
sizeof (glibtop_backend_class),
NULL, /* base_class_init */
NULL, /* base_class_finalize */
(GClassInitFunc) glibtop_backend_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (glibtop_backend),
16, /* n_preallocs */
(GInstanceInitFunc) glibtop_backend_init,
};
glibtop_backend_type = g_type_register_static
(G_TYPE_OBJECT, "glibtop_backend", &glibtop_backend_info, 0);
}
return glibtop_backend_type;
}
static void
glibtop_backend_class_init (glibtop_backend_class *class)
{
GObjectClass *gobject_class;
gobject_class = (GObjectClass *) class;
parent_class = g_type_class_ref (G_TYPE_OBJECT);
gobject_class->finalize = glibtop_backend_finalize;
}
static void
glibtop_backend_init (glibtop_backend *backend)
{
glibtop_backend_private *priv;
priv = g_new0 (glibtop_backend_private, 1);
backend->_priv = priv;
}
static void
glibtop_backend_finalize (GObject *object)
{
glibtop_backend *glibtop;
glibtop_backend_private *priv = NULL;
glibtop = GLIBTOP_BACKEND (object);
priv = glibtop->_priv;
g_free (priv);
if (G_OBJECT_CLASS (parent_class)->finalize)
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
unload_module (gpointer data, gpointer user_data)
{
g_module_close (data);
}
static int
load_extra_libs (glibtop_backend_entry *entry, GError **error)
{
GSList *list;
GSList *loaded_here = NULL;
for (list = entry->extra_libs; list; list = list->next) {
const gchar *filename = list->data;
GModule *module;
module = g_module_open (filename, G_MODULE_BIND_LAZY);
if (!module) {
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
"Cannot open extra shared library `%s' "
"for backend `%s' (%s)", filename, entry->name,
g_module_error ());
g_slist_foreach (loaded_here, unload_module, NULL);
return -GLIBTOP_ERROR_NO_SUCH_BACKEND;
}
loaded_here = g_slist_prepend (loaded_here, module);
}
entry->_priv->extra_modules = g_slist_concat
(loaded_here, entry->_priv->extra_modules);
return 0;
}
glibtop_backend *
glibtop_backend_get (const char *backend_name, u_int64_t features,
const char **backend_args, GError **error)
{
const glibtop_backend_info *info;
glibtop_backend_entry *entry;
glibtop_backend *backend;
glibtop_init_backends ();
entry = glibtop_backend_by_name (backend_name);
if (!entry) {
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
"No backend with this name");
return NULL;
}
if (!entry->_priv) {
entry->_priv = g_new0 (glibtop_backend_module, 1);
if (entry->extra_libs) {
int retval;
retval = load_extra_libs (entry, error);
if (retval < 0)
return NULL;
}
entry->_priv->module = g_module_open (entry->shlib_name,
G_MODULE_BIND_LAZY);
if (!entry->_priv->module) {
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
"Cannot open shared library `%s' "
"for backend `%s' (%s)", entry->shlib_name,
entry->name, g_module_error ());
return NULL;
}
if (!g_module_symbol (entry->_priv->module,
"LibGTopBackendInfo",
(gpointer*) &entry->info)) {
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
"Library `%s' is not a valid "
"LibGTop Backend library (start symbol not found)",
entry->shlib_name);
g_module_close (entry->_priv->module);
g_free (entry->_priv);
entry->_priv = NULL;
return NULL;
}
}
info = entry->info;
if (!info) {
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
"Can't get backend info");
return NULL;
}
backend = g_object_new (GLIBTOP_TYPE_BACKEND, NULL);
backend->_priv->module = entry->_priv;
backend->_priv->info = info;
backend->_priv->server = glibtop_server_new ();
if (info->open) {
int retval;
retval = info->open (backend->_priv->server, backend, features,
backend_args);
if (retval) {
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
"Backend open function return error condition");
g_object_unref (G_OBJECT (backend));
return NULL;
}
}
entry->_priv->refcount++;
return backend;
}
glibtop_call_vector *
glibtop_backend_get_call_vector (glibtop_backend *backend)
{
g_return_val_if_fail (GLIBTOP_IS_BACKEND (backend), NULL);
g_assert (backend->_priv->info != NULL);
return backend->_priv->info->call_vector;
}
glibtop_server *
glibtop_backend_get_server (glibtop_backend *backend)
{
g_return_val_if_fail (GLIBTOP_IS_BACKEND (backend), NULL);
glibtop_server_ref (backend->_priv->server);
return backend->_priv->server;
}
glibtop_closure *
glibtop_backend_get_closure_data (glibtop_backend *backend)
{
g_return_val_if_fail (GLIBTOP_IS_BACKEND (backend), NULL);
return backend->_priv->closure_data;
}
void
glibtop_backend_set_closure_data (glibtop_backend *backend,
glibtop_closure *closure)
{
g_return_if_fail (GLIBTOP_IS_BACKEND (backend));
g_return_if_fail (backend->_priv->closure_data == NULL);
backend->_priv->closure_data = closure;
}

View File

@@ -3,7 +3,7 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
This file is part of LibGTop 2.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
@@ -23,12 +23,12 @@
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_BACKEND_PRIVATE_H__
#define __GLIBTOP_BACKEND_PRIVATE_H__
#ifndef __GLIBTOP_CLIENT_PRIVATE_H__
#define __GLIBTOP_CLIENT_PRIVATE_H__
struct _glibtop_backend_private
struct _glibtop_client_private
{
u_int64_t flags;
GSList *backend_list;
};
#endif

257
lib/glibtop-client.c Normal file
View File

@@ -0,0 +1,257 @@
/* -*- 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.
*/
#include <glibtop.h>
#include <glib-object.h>
static void glibtop_client_class_init (glibtop_client_class *klass);
static void glibtop_client_init (glibtop_client *client);
static void glibtop_client_finalize (GObject *object);
static gpointer parent_class = NULL;
#include <glibtop-client-private.h>
enum {
GLIBTOP_CLIENT_SIGNAL_ERROR,
GLIBTOP_CLIENT_SIGNAL_WARNING,
LAST_SIGNAL
};
static guint glibtop_client_signals [LAST_SIGNAL] = { 0 };
GType
glibtop_client_get_type (void)
{
static GType glibtop_client_type = 0;
if (!glibtop_client_type) {
static const GTypeInfo glibtop_client_info = {
sizeof (glibtop_client_class),
NULL, /* base_class_init */
NULL, /* base_class_finalize */
(GClassInitFunc) glibtop_client_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (glibtop_client),
16, /* n_preallocs */
(GInstanceInitFunc) glibtop_client_init,
};
glibtop_client_type = g_type_register_static
(G_TYPE_OBJECT, "glibtop_client", &glibtop_client_info, 0);
}
return glibtop_client_type;
}
static void
glibtop_client_error_handler (glibtop_client *client, GError *error)
{
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
if (error == NULL)
return;
g_error ("%s (%d): %s", g_quark_to_string (error->domain),
error->code, error->message);
}
static void
glibtop_client_warning_handler (glibtop_client *client, GError *error)
{
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
if (error == NULL)
return;
g_warning ("%s (%d): %s", g_quark_to_string (error->domain),
error->code, error->message);
}
static void
glibtop_client_class_init (glibtop_client_class *klass)
{
GObjectClass *gobject_class;
gobject_class = (GObjectClass *) klass;
parent_class = g_type_class_peek_parent (klass);
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_ERROR] =
g_signal_new ("error",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (glibtop_client_class, error),
NULL, NULL,
g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE, 1, G_TYPE_POINTER, NULL);
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_WARNING] =
g_signal_new ("warning",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (glibtop_client_class, warning),
NULL, NULL,
g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE, 1, G_TYPE_POINTER, NULL);
klass->error = glibtop_client_error_handler;
klass->warning = glibtop_client_warning_handler;
gobject_class->finalize = glibtop_client_finalize;
}
static void
glibtop_client_init (glibtop_client *glibtop)
{
glibtop_client_private *priv;
priv = g_new0 (glibtop_client_private, 1);
glibtop->_priv = priv;
}
static void
glibtop_client_finalize (GObject *object)
{
glibtop_client *glibtop;
glibtop_client_private *priv = NULL;
GSList *c;
glibtop = GLIBTOP_CLIENT (object);
priv = glibtop->_priv;
for (c = priv->backend_list; c; c = c->next)
g_object_unref (G_OBJECT (c->data));
g_slist_free (priv->backend_list);
g_free (priv);
if (G_OBJECT_CLASS (parent_class)->finalize)
G_OBJECT_CLASS (parent_class)->finalize (object);
}
glibtop_client *
glibtop_client_new (void)
{
return g_object_new (GLIBTOP_TYPE_CLIENT, NULL);
}
void
glibtop_client_propagate_error (glibtop_client *client, GError *error)
{
GValue params [2] = { { 0, }, { 0, } };
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
if (error == NULL)
return;
g_value_init (params, GLIBTOP_CLIENT_TYPE (client));
g_value_set_object (params, G_OBJECT (client));
g_value_init (params + 1, G_TYPE_POINTER);
g_value_set_pointer (params + 1, error);
g_signal_emitv (params,
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_ERROR],
0, NULL);
g_value_unset (params + 1);
g_value_unset (params + 0);
}
void
glibtop_client_propagate_warning (glibtop_client *client, GError *error)
{
GValue params [2] = { { 0, }, { 0, } };
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
if (error == NULL)
return;
g_value_init (params, GLIBTOP_CLIENT_TYPE (client));
g_value_set_object (params, G_OBJECT (client));
g_value_init (params + 1, G_TYPE_POINTER);
g_value_set_pointer (params + 1, error);
g_signal_emitv (params,
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_WARNING],
0, NULL);
g_value_unset (params + 1);
g_value_unset (params + 0);
}
void
glibtop_client_open_backend (glibtop_client *client, const char *backend_name,
u_int64_t features, const char **backend_args)
{
glibtop_backend *backend;
GError *error = NULL;
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
backend = glibtop_backend_get (backend_name, features, backend_args,
&error);
if (!backend) {
glibtop_client_propagate_error (client, error);
g_error_free (error);
return;
}
glibtop_client_add_backend (client, backend);
}
void
glibtop_client_add_backend (glibtop_client *client,
glibtop_backend *backend)
{
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
g_return_if_fail (GLIBTOP_IS_BACKEND (backend));
client->_priv->backend_list = g_slist_append
(client->_priv->backend_list, backend);
}
void
glibtop_client_remove_backend (glibtop_client *client,
glibtop_backend *backend)
{
GSList *c;
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
g_return_if_fail (GLIBTOP_IS_BACKEND (backend));
c = g_slist_find (client->_priv->backend_list, backend);
if (!c) return;
g_slist_remove_link (client->_priv->backend_list, c);
g_object_unref (G_OBJECT (backend));
}

View File

@@ -26,17 +26,12 @@
#ifndef __GLIBTOP_SERVER_PRIVATE_H__
#define __GLIBTOP_SERVER_PRIVATE_H__
#ifdef HAVE_GLIBTOP_MACHINE_H
#include <glibtop_machine.h>
#endif
#include <glib.h>
typedef struct _glibtop_server_private glibtop_server_private;
struct _glibtop_server_private
{
#ifdef HAVE_GLIBTOP_MACHINE_H
glibtop_machine machine; /* Machine dependent data */
#endif
GSList *backend_list;
};

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