Compare commits

..

21 Commits

Author SHA1 Message Date
Sebastien Bacher
1991f7ed06 patch from Benot Dejean <bnet@ifrance.com> to fix libtop_mem.used and
2004-02-11  Sebastien Bacher  <seb128@debian.org>

        * sysdeps/linux/mem.c: (glibtop_get_mem_s): patch from
        Benot Dejean <bnet@ifrance.com> to fix libtop_mem.used
        and glibtop_mem.shared values (Closes: #129863).
2004-02-11 15:33:40 +00:00
Laurent Dhima
48226b861c Updated Albanian translation
* sq.po: Updated Albanian translation
2004-02-06 15:21:06 +00:00
Laurent Dhima
760e5c8791 Updated 2004-02-06 15:17:40 +00:00
Bastien Nocera
9968f74a05 Apply patch from Benoît Dejean <bnet@ifrance.com> to fix overflow issues
2003-12-23  Bastien Nocera  <hadess@hadess.net>

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

	* mem.c: (glibtop_get_mem_s): Fix calculation of used memory,
	patch by Benoît Dejean, <bnet@ifrance.com> (Closes: #129863)
2003-12-23 10:39:35 +00:00
Bastien Nocera
d1a9dab750 2.0.8 (huh?)
2003-12-19  Bastien Nocera  <hadess@hadess.net>

	* configure.in: 2.0.8 (huh?)
2003-12-19 16:08:23 +00:00
Zygimantas Berucka
956fdf57de Added "lt" to ALL_LINGUAS. Added Lithuanian translation by Tomas Kuliavas.
2003-11-04  Zygimantas Berucka  <uid0@tuxfamily.org>

* configure.in: Added "lt" to ALL_LINGUAS.
* po/lt.po: Added Lithuanian translation by Tomas Kuliavas.
2003-11-04 17:05:42 +00:00
Jordi Mallach
82ae93ab70 Typo fixes by Jordi Mas <jmas@softcatala.org>. 2003-11-03 14:04:36 +00:00
Vincent van Adrighem
2159e530c5 Dutch translation updated by Jeroen van der Vegt.
2003-10-29   Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Dutch translation updated by Jeroen van der Vegt.
2003-10-29 15:17:21 +00:00
Kjartan Maraas
bec5e10bb1 Flush this 2003-10-25 17:17:40 +00:00
Christian Neumair
7bd1293665 Updated German translation. 2003-10-25 16:40:16 +00:00
Vincent van Adrighem
5edf277435 Dutch translation updated by Vincent van Adrighem.
2003-10-22   Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Dutch translation updated by Vincent van Adrighem.
2003-10-21 22:27:31 +00:00
Christian Rose
3f307e8e30 Updated Swedish translation.
2003-10-22  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2003-10-21 22:09:35 +00:00
Bastien Nocera
b375457834 reverted string freeze breakage
2003-10-21  Bastien Nocera  <hadess@hadess.net>

	* lib/read.c: (glibtop_read_l):
	* lib/read_data.c: (glibtop_read_data_l):
	* lib/write.c: (glibtop_write_l):
	reverted string freeze breakage
2003-10-21 21:28:13 +00:00
Christian Neumair
79e8b914ed Updated German translation. 2003-10-21 12:09:36 +00:00
Christian Rose
faacbd7f8b Updated Swedish translation.
2003-10-21  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2003-10-21 11:11:31 +00:00
Bastien Nocera
dde57bee91 apply patch for ngettext support by Christian Neumair <chris@gnome-de.org>
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* lib/read.c: (glibtop_read_l):
	* lib/read_data.c: (glibtop_read_data_l):
	* lib/write.c: (glibtop_write_l): apply patch for ngettext support
	by Christian Neumair <chris@gnome-de.org>
2003-10-20 21:32:20 +00:00
Bastien Nocera
08798f05f5 link to libgtop_suid_common-2.0.la (Closes: #107990)
2003-10-20  Bastien Nocera  <hadess@hadess.net>

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

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

	* swap.c: (glibtop_get_swap_p): fix swap sizes in FreeBSD,
	patch by edwin@mavetju.org
2003-10-20 19:53:57 +00:00
Bastien Nocera
83a3d5f76d make it compile
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* configure.in: make it compile
2003-10-20 12:14:10 +00:00
474 changed files with 27083 additions and 45252 deletions

View File

@@ -33,9 +33,3 @@ libgtop.spec
libgtop*.tar.gz libgtop*.tar.gz
*-debstamp *-debstamp
libgtop*.pc libgtop*.pc
autom4te.cache
COPYING
INSTALL
install-sh
missing
mkinstalldirs

View File

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

629
ChangeLog
View File

@@ -1,420 +1,17 @@
2004-12-04 Benoît Dejean <tazforever@dlfp.org> 2003-12-19 Bastien Nocera <hadess@hadess.net>
* NEWS: * configure.in: 2.0.8 (huh?)
* configure.in: Released 2.8.2.
2004-10-11 Benoît Dejean <tazforever@dlfp.org> 2003-11-04 Žygimantas Beručka <uid0@tuxfamily.org>
* NEWS: Released 2.8.1.
2004-10-10 Benoît Dejean <tazforever@dlfp.org>
* lib/init.c: Replaced C99 initializer.
* lib/read.c: (do_read): 1-line cleanup.
2004-10-09 Benoît Dejean <tazforever@dlfp.org>
* configure.in: Depends on glib 2.4.0
2004-09-25 Benoît Dejean <tazforever@dlfp.org>
* glibtop.h: Added missing include <glibtop/close.h>.
2004-09-22 Benoît Dejean <tazforever@dlfp.org>
* configure.in: CFLAGS: Removed -W, added -Winline.
2004-09-14 Gora Mohanty <gmohanty@cvs.gnome.org>
* configure.in: Added 'or' to ALL_LINGUAS.
2004-09-13 Benoît Dejean <tazforever@dlfp.org>
* configure.in: bumped to 2.8.1.
* sysdeps/common/fsusage.c:
* sysdeps/common/gnuslib.c: (glibtop_make_connection),
(connect_to_unix_server), (glibtop_internet_addr):
* sysdeps/linux/glibtop_server.c: (get_pageshift):
* sysdeps/linux/glibtop_server.h:
* sysdeps/linux/open.c: (glibtop_open_s):
* sysdeps/linux/ppp.c: (is_ISDN_on): Cleanups. Thanks to Kjartan Maraas.
Closes #151557.
2004-09-13 Benoît Dejean <tazforever@dlfp.org>
* NEWS:
* configure.in: 2.8.0
2004-08-30 Benoît Dejean <tazforever@dlfp.org>
* NEWS: Released 2.7.92.
2004-08-28 Benoît Dejean <tazforever@dlfp.org>
* backends/server/command.c: (glibtop_call_i): Zeroed all args.
* configure.in: Bumped soname (thanks to seb128 and Dodji even if i've
fully understand everything.
* include/glibtop/array.h:
* include/glibtop/compat_10.h:
* include/glibtop/glib-arrays.h:
* include/glibtop/interfaces.h:
* include/glibtop/proccwd.h:
* lib/glib-arrays.c:
* sysdeps/names/interfaces.c:
* sysdeps/names/proccwd.c: Got rid of never-used / never-implemented files.
2004-08-28 Akagic Amila <bono@linux.org.ba>
* configure.in: Added 'bs' to ALL_LINGUAS.
2004-08-22 Benoît Dejean <tazforever@dlfp.org>
* lib/command.c: (glibtop_call_l): Zeroed all args.
2004-08-21 Kjartan Maraas <kmaraas@gnome.org>
* configure.in: Add «nb» to ALL_LINGUAS.
2004-08-15 Benoît Dejean <tazforever@dlfp.org>
* NEWS:
* configure.in: LibGTop 2.7.91.
2004-08-09 Benoît Dejean <tazforever@dlfp.org>
* configure.in: Added HAVE_IFADDRS_H
* sysdeps/linux/netload.c: (glibtop_get_netload_s): Disable IPv6
support is ifaddrs.h is not available.
Closes #149376.
2004-08-09 Benoît Dejean <tazforever@dlfp.org>
* configure.in: Added -gnu89 to CFLAGS.
* examples/Makefile.am: Fixed LDFLAGS.
* sysdeps/common/fsusage.c: (glibtop_get_fsusage_s):
* sysdeps/linux/fsusage.c: (linux_2_6_0):
* sysdeps/linux/proctime.c: (glibtop_get_proc_time_s):
* sysdeps/linux/sysinfo.c: (init_sysinfo): Fixed C89 issues.
Closes #149375.
2004-08-03 Benoît Dejean <tazforever@dlfp.org>
* NEWS:
* configure.in: LibGTop 2.7.90.
2004-07-20 Benoît Dejean <tazforever@dlfp.org>
* configure.in: LibGTop 2.7.5.
2004-07-20 Benoît Dejean <tazforever@dlfp.org>
* NEWS:
* configure.in: Released LibGTop 2.7.4.
2004-07-18 Benoît Dejean <tazforever@dlfp.org>
* doc/reference.texi:
* include/glibtop/command.h:
* include/glibtop/glib-arrays.h:
* include/glibtop/proclist.h:
* lib/glib-arrays.c: (glibtop_get_proclist_as_array_l):
* lib/lib.pl:
* scripts/c_types.pl:
* src/daemon/main.c: (handle_parent_connection):
* src/daemon/slave.c: (handle_slave_connection):
* support/mkstemp.c:
* sysdeps/aix/proclist.c: (glibtop_get_proclist_s):
* sysdeps/freebsd/cpu.c: (glibtop_get_cpu_p):
* sysdeps/freebsd/prockernel.c: (glibtop_get_proc_kernel_p):
* sysdeps/freebsd/proclist.c: (glibtop_get_proclist_p):
* sysdeps/freebsd/procmem.c: (glibtop_get_proc_mem_p):
* sysdeps/kernel/proclist.c: (glibtop_get_proclist_s):
* sysdeps/linux/proclist.c: (glibtop_get_proclist_s):
* sysdeps/osf1/proclist.c: (glibtop_get_proclist_p):
* sysdeps/solaris/proclist.c: (glibtop_get_proclist_s):
* sysdeps/stub/proclist.c: (glibtop_get_proclist_s):
* sysdeps/stub_suid/proclist.c: (glibtop_get_proclist_p):
* sysdeps/sun4/proclist.c: (glibtop_get_proclist_p): Glibify a bit more.
Closes #147618.
2004-07-17 Benoît Dejean <tazforever@dlfp.org>
* include/glibtop/fsusage.h: Added read, write. This members provides
total read and write in bytes since boot_time.
* include/glibtop/netload.h: Added hwaddress : provides harware address,
eg MAC address. mtu, address and subnet are now guint32.
2004-07-15 Benoît Dejean <tazforever@dlfp.org>
* include/glibtop/procstate.h: Added GLIBTOP_PROCESS_DEAD constant.
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* include/glibtop/procargs.h: Added new glibtop_get_proc_argv*() functions.
These are more easier to use than glibtop_get_proc_args*(). They return
a NULL-terminated array of string (like main's char* argv[]).
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* include/glibtop/netinfo.h:
* structures.def:
* sysdeps/names/netinfo.c: Removed netinfo.[ch] that were never used.
2004-07-03 Benoît Dejean <tazforever@dlfp.org>
* sysdeps/names/fsusage.c: Added missing fsusage names.
2004-07-03 Benoît Dejean <tazforever@dlfp.org>
* glibtop.h: Moved foward declaration of glibtop to break circular
#includes dependencies.
2004-06-18 Benoît Dejean <tazforever@dlfp.org>
* include/glibtop/error.h: Also tries C99 __VA_ARGS__ before using
functions.
* include/glibtop/error.h: Moved 8 static error functions to
sysdeps/common/error.c. This is the end of an big useless code
bloat : expect ~8KB of object size reduction.
* include/glibtop/procuid.h: s/int/gint32/g
* lib/errors.c: (glibtop_error_quark):
* lib/read.c: (do_read), (glibtop_read_l):
* lib/read_data.c: (glibtop_read_data_l): Minor cleanups.
* sysdeps/names/netload.c:
* include/glibtop/netload.h: Added IPv6 feature : provides address,
prefix and scope. This breaks the ABI. Not documented yet : check
this file.
2004-06-13 Benoît Dejean <tazforever@dlfp.org>
* include/glibtop/sysinfo.h: Changed get_sysinfo prototype so that it
returns a const pointer. Added missing macro.
2004-06-12 Benoît Dejean <tazforever@dlfp.org>
* include/glibtop/fsusage.h: block_size is now defined as a guint32
instead of a fuzzy gint.
* lib/sysdeps.c: (glibtop_get_sysdeps_r): Small cleanup.
* lib/init.c: Added missing initializer.
2004-06-09 Benoît Dejean <TazForEver@dlfp.org>
* *.{c,h} : whitespace clean up.
2004-06-07 Benoît Dejean <tazforever@dlfp.org>
* lib/parameter.c:
* support/popt.c: (poptGetContext): Cleaned.
* support/vsnprintf.c: s/strncpy/g_strlcpy
2004-05-28 Benoît Dejean <TazForEver@free.fr>
* examples/*: Added missing #include.
* ChangeLog: Converted to UTF-8.
2004-04-16 Iñaki Larrañaga <dooteo@euskalgnu.org>
* configure.in: Added "eu" (Basque) to ALL_LINGUAS.
2004-04-09 Guntupalli Karunakar <karunakar@freedomink.org>
* configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
2004-04-07 Bastien Nocera <hadess@hadess.net>
* configure.in: version 2.6.0
2004-04-07 Bastien Nocera <hadess@hadess.net>
* include/glibtop/fsusage.h: fix typo in the #defines for
FSUSAGE_BLOCK_SIZE (patch by Benoît Dejean <TazForEver@free.fr>)
2004-03-30 Adam Weinberger <adamw@gnome.org>
* configure.in: Added en_CA (Canadian English) to ALL_LINGUAS.
2004-03-22 Gareth Owen <gowen72@yahoo.com>
* configure.in: Added en_GB to ALL_LINGUAS
2004-03-22 Guntupalli Karunakar <karunakar@freedomink.org>
* configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.
2004-03-15 Bastien Nocera <hadess@hadess.net>
* include/glibtop/fsusage.h: set GLIBTOP_MAX_FSUSAGE properly,
use gint in the headers instead of int (Closes: #125049)
2004-03-11 Kjartan Maraas <kmaraas@gnome.org>
* configure.in: Up versions etc.
* po/am.po: Update foo.
* po/ar.po:
* po/az.po:
* po/be.po:
* po/bg.po:
* po/bn.po:
* po/ca.po:
* po/cs.po:
* po/cy.po:
* po/da.po:
* po/de.po:
* po/el.po:
* po/es.po:
* po/et.po:
* po/fa.po:
* po/fi.po:
* po/fr.po:
* po/ga.po:
* po/gl.po:
* po/he.po:
* po/hi.po:
* po/hr.po:
* po/hu.po:
* po/id.po:
* po/it.po:
* po/ja.po:
* po/ko.po:
* po/lt.po:
* po/lv.po:
* po/mk.po:
* po/ml.po:
* po/mn.po:
* po/ms.po:
* po/nl.po:
* po/nn.po:
* po/no.po:
* po/pl.po:
* po/pt.po:
* po/pt_BR.po:
* po/ro.po:
* po/ru.po:
* po/sk.po:
* po/sl.po:
* po/sq.po:
* po/sr.po:
* po/sr@Latn.po:
* po/sv.po:
* po/ta.po:
* po/tr.po:
* po/uk.po:
* po/vi.po:
* po/zh_CN.po:
* po/zh_TW.po:
2004-03-11 Bastien Nocera <hadess@hadess.net>
* NEWS: update the NEWS file for the release
2004-03-11 Bastien Nocera <hadess@hadess.net>
* include/Makefile.am: fix distchecking
2003-12-27 Ole Laursen <olau@hardworking.dk>
* include/glibtop/fsusage.h: Added block_size field. (Closes: #125049)
2004-03-05 Bastien Nocera <hadess@hadess.net>
* include/glibtop/procmap.h: patch by Benoît Dejean <bnet@ifrance.com>
to break the API, I mean, to make it easier to generate Python bindings
(Closes: #129701)
2004-03-04 Bastien Nocera <hadess@hadess.net>
* configure.in:
* include/libgtop-i18n.h:
* lib/lib.pl:
* lib/read.c:
* lib/read_data.c:
* lib/write.c:
* sysdeps/names/cpu.c:
* sysdeps/names/fsusage.c:
* sysdeps/names/loadavg.c:
* sysdeps/names/mem.c:
* sysdeps/names/mountlist.c:
* sysdeps/names/msg_limits.c:
* sysdeps/names/netload.c:
* sysdeps/names/ppp.c:
* sysdeps/names/procargs.c:
* sysdeps/names/prockernel.c:
* sysdeps/names/proclist.c:
* sysdeps/names/procmap.c:
* sysdeps/names/procmem.c:
* sysdeps/names/procsegment.c:
* sysdeps/names/procsignal.c:
* sysdeps/names/procstate.c:
* sysdeps/names/proctime.c:
* sysdeps/names/procuid.c:
* sysdeps/names/sem_limits.c:
* sysdeps/names/shm_limits.c:
* sysdeps/names/swap.c:
* sysdeps/names/sysdeps.c:
* sysdeps/names/uptime.c: remove dependency on libgnome,
check for linux/isdn.h for distros using the 2.6 kernel headers
2004-02-07 Kevin Vandersloot
* configure.in: release 2.5.1
2004-02-02 Sebastien Bacher <seb128@debian.org>
* sysdeps/linux/mem.c: (glibtop_get_mem_s): patch from
Benoît Dejean <bnet@ifrance.com> to fix libtop_mem.used
and glibtop_mem.shared values (Closes: #129863).
Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
* libgtop-2.0.pc.in: Should be -lgtop-2.0, #130506
2004-01-05 Frederic Crozat <fcrozat@mandrakesoft.com>
* libgtop.spec.in: License is GPL, not LGPL.
2004-01-05 Malcolm Tredinnick <malcolm@commsecure.com.au>
* libgtop-2.0.pc.in: Include -lgtop in the linking flags.
Bug #130506.
2004-01-03 Robert Sedak <robert.sedak@sk.htnet.hr>
* configure.in: Added "hr" in ALL_LINGUAS.
2003-12-22 Bastien Nocera <hadess@hadess.net>
* acinclude.m4:
* configure.in: remove linking to libgtop and checks for 64-bit
integer bytes (fixes warning on build on glib 2.0 systems)
2003-11-02 Ćœygimantas Beručka <uid0@tuxfamily.org>
* configure.in: Added "lt" to ALL_LINGUAS. * configure.in: Added "lt" to ALL_LINGUAS.
2003-10-21 Bastien Nocera <hadess@hadess.net> 2003-10-21 Bastien Nocera <hadess@hadess.net>
* Makefile.am: * lib/read.c: (glibtop_read_l):
* configure.in: * lib/read_data.c: (glibtop_read_data_l):
* src/inodedb/.cvsignore: * lib/write.c: (glibtop_write_l):
* sysdeps/names/Makefile.am: reverted string freeze breakage
install only one library, libgtop-2.0
Fix build-time warnings due to the redefinition of guint64
2003-10-20 Bastien Nocera <hadess@hadess.net> 2003-10-20 Bastien Nocera <hadess@hadess.net>
@@ -423,212 +20,22 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
* lib/write.c: (glibtop_write_l): apply patch for ngettext support * lib/write.c: (glibtop_write_l): apply patch for ngettext support
by Christian Neumair <chris@gnome-de.org> by Christian Neumair <chris@gnome-de.org>
2003-10-20 Bastien Nocera <hadess@hadess.net>
* include/glibtop/cpu.h:
* include/glibtop/procstate.h:
* include/glibtop/procuid.h:
* include/glibtop/uptime.h:
* lib/sysdeps.c:
* sysdeps/names/cpu.c:
* sysdeps/names/procstate.c:
* sysdeps/names/procuid.c:
* sysdeps/names/uptime.c: Apply patch by the_h1ghlander@yahoo.com and
Cory Omand <cory.omand@Sun.com> for Solaris support
2003-10-20 Bastien Nocera <hadess@hadess.net> 2003-10-20 Bastien Nocera <hadess@hadess.net>
* src/inodedb/Makefile.am: link to libgtop_suid_common-2.0.la * src/inodedb/Makefile.am: link to libgtop_suid_common-2.0.la
(Closes: #107990) (Closes: #107990)
2003-10-20 Bastien Nocera <hadess@hadess.net>
* acconfig.h:
* acinclude.m4:
* include/glibtop/array.h:
* include/glibtop/command.h:
* include/glibtop/cpu.h:
* include/glibtop/fsusage.h:
* include/glibtop/glibtop-backend-info.h:
* include/glibtop/glibtop-backend.h:
* include/glibtop/glibtop-client.h:
* include/glibtop/inodedb.h:
* include/glibtop/interfaces.h:
* include/glibtop/limits.h:
* include/glibtop/loadavg.h:
* include/glibtop/mem.h:
* include/glibtop/mountlist.h:
* include/glibtop/msg_limits.h:
* include/glibtop/netinfo.h:
* include/glibtop/netload.h:
* include/glibtop/ppp.h:
* include/glibtop/procargs.h:
* include/glibtop/proccwd.h:
* include/glibtop/prockernel.h:
* include/glibtop/proclist.h:
* include/glibtop/procmap.h:
* include/glibtop/procmem.h:
* include/glibtop/procsegment.h:
* include/glibtop/procsignal.h:
* include/glibtop/procstate.h:
* include/glibtop/proctime.h:
* include/glibtop/procuid.h:
* include/glibtop/sem_limits.h:
* include/glibtop/shm_limits.h:
* include/glibtop/swap.h:
* include/glibtop/sysdeps.h:
* include/glibtop/sysinfo.h:
* include/glibtop/uptime.h:
* lib/glibtop-backend.c: (glibtop_backend_get):
* lib/glibtop-client.c: (glibtop_client_open_backend):
* lib/inodedb.c: (glibtop_inodedb_lookup_s):
* lib/lib.pl:
* src/inodedb/README.inodedb:
* src/inodedb/mkinodedb2.c: (main): s/u_int64_t/guint64/
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: fix distchecking, release 2.5.0
2003-10-20 Bastien Nocera <hadess@hadess.net>
* configure.in: fix the library versioning to be hand-made rather
than uber-calculated from some esoteric numbers
2003-10-20 Bastien Nocera <hadess@hadess.net>
* glibtop.h:
* include/glibtop/close.h:
* include/glibtop/command.h:
* include/glibtop/cpu.h:
* include/glibtop/error.h:
* include/glibtop/fsusage.h:
* include/glibtop/global.h:
* include/glibtop/inodedb.h:
* include/glibtop/loadavg.h:
* include/glibtop/mem.h:
* include/glibtop/mountlist.h:
* include/glibtop/msg_limits.h:
* include/glibtop/netload.h:
* include/glibtop/open.h:
* include/glibtop/parameter.h:
* include/glibtop/ppp.h:
* include/glibtop/procargs.h:
* include/glibtop/prockernel.h:
* include/glibtop/proclist.h:
* include/glibtop/procmap.h:
* include/glibtop/procmem.h:
* include/glibtop/procsegment.h:
* include/glibtop/procsignal.h:
* include/glibtop/procstate.h:
* include/glibtop/proctime.h:
* include/glibtop/procuid.h:
* include/glibtop/read.h:
* include/glibtop/read_data.h:
* include/glibtop/sem_limits.h:
* include/glibtop/shm_limits.h:
* include/glibtop/signal.h:
* include/glibtop/swap.h:
* include/glibtop/sysdeps.h:
* include/glibtop/sysinfo.h:
* include/glibtop/types.h:
* include/glibtop/union.h:
* include/glibtop/uptime.h:
* include/glibtop/version.h:
* include/glibtop/write.h:
* lib/Makefile.am:
* lib/command.c: (glibtop_call_l):
* lib/init.c:
* lib/inodedb.c:
* lib/lib.pl:
* lib/open.c:
* lib/read.c:
* lib/read_data.c: (glibtop_read_data_l):
* lib/structures.pl:
* lib/write.c:
* sysdeps/names/cpu.c:
* sysdeps/names/fsusage.c:
* sysdeps/names/loadavg.c:
* sysdeps/names/mem.c:
* sysdeps/names/mountlist.c:
* sysdeps/names/msg_limits.c:
* sysdeps/names/netinfo.c:
* sysdeps/names/netload.c:
* sysdeps/names/ppp.c:
* sysdeps/names/procargs.c:
* sysdeps/names/proccwd.c:
* sysdeps/names/prockernel.c:
* sysdeps/names/proclist.c:
* sysdeps/names/procmap.c:
* sysdeps/names/procmem.c:
* sysdeps/names/procsegment.c:
* sysdeps/names/procsignal.c:
* sysdeps/names/procstate.c:
* sysdeps/names/proctime.c:
* sysdeps/names/procuid.c:
* sysdeps/names/sem_limits.c:
* sysdeps/names/shm_limits.c:
* sysdeps/names/swap.c:
* sysdeps/names/sysdeps.c:
* sysdeps/names/uptime.c: fixed compilation
2003-10-20 Bastien Nocera <hadess@hadess.net>
* RELNOTES-0.25: removed
* RELNOTES-1.0: removed
* RELNOTES-1.0.x: removed
* RELNOTES-1.1.x: removed
* include/glibtop/Makefile.am:
* include/glibtop/xmalloc.h: removed xmalloc.h
* lib/command.c: (glibtop_call_l):
* lib/init.c: (_init_server):
* lib/inodedb.c: (glibtop_inodedb_open_s),
(glibtop_inodedb_close_s):
* lib/read_data.c: (glibtop_read_data_l):
* lib/xmalloc.c: removed xmalloc.h
replace all the xmalloc crap by glib memory management functions
2003-10-20 Bastien Nocera <hadess@hadess.net>
* lib/Makefile.am:
* libgtop-config.in:
* libgtop.spec.in:
* libgtopConf.sh.in:
* src/inodedb/Makefile.am: removed traces of guile, intllibs and
libgnomesupport
2003-10-20 Bastien Nocera <hadess@hadess.net>
* .cvsignore: updated
* configure.in: removed all traces of guile stuff
* sysdeps/guile/.cvsignore: removed
2003-10-20 Bastien Nocera <hadess@hadess.net>
* sysdeps/Makefile.am:
* sysdeps/guile/ChangeLog:
* sysdeps/guile/Makefile.am:
* sysdeps/guile/guile.pl:
* sysdeps/guile/names/.cvsignore:
* sysdeps/guile/names/Makefile.am:
* sysdeps/guile/names/guile-names.pl: removed guile
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am:
* configure.in: remove guile and libgnome-support stuff
2003-10-20 Bastien Nocera <hadess@hadess.net> 2003-10-20 Bastien Nocera <hadess@hadess.net>
* configure.in: make it compile * configure.in: make it compile
2003-10-19 Carlos PerellĂł MarĂ­n <carlos@gnome.org> 2003-10-19 Carlos Perelló Marín <carlos@gnome.org>
* support/*: Reverted libgtop changes. It's a common module * support/*: Reverted libgtop changes. It's a common module
and I should not modify it. and I should not modify it.
* Added/removed files. Now the move should be done. * Added/removed files. Now the move should be done.
2003-10-19 Carlos PerellĂł MarĂ­n <carlos@gnome.org> 2003-10-19 Carlos Perelló Marín <carlos@gnome.org>
* libgtop-GNOME-2-0-branch moved to HEAD. * libgtop-GNOME-2-0-branch moved to HEAD.
@@ -640,7 +47,7 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
* configure.in: Added "ta" (Tamil) to the languages' list. * configure.in: Added "ta" (Tamil) to the languages' list.
2003-09-13 Carlos PerellĂł MarĂ­n <carlos@gnome.org> 2003-09-13 Carlos Perelló Marín <carlos@gnome.org>
* configure.in (ALL_LINGUAS): Removed es_ES. * configure.in (ALL_LINGUAS): Removed es_ES.
@@ -693,7 +100,7 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
* configure.in: release 2.0.2 * configure.in: release 2.0.2
2003-05-10 Danilo Ć egan <dsegan@gmx.net> 2003-05-10 Danilo Šegan <dsegan@gmx.net>
* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS. * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.
@@ -713,7 +120,7 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
* configure.in: Added he to ALL_LINGUAS. * configure.in: Added he to ALL_LINGUAS.
2003-02-25 T?”ivo Leedj?€rv <toivo@linux.ee> 2003-02-25 T?µivo Leedj?¤rv <toivo@linux.ee>
* configure.in: Added et to ALL_LINGUAS. * configure.in: Added et to ALL_LINGUAS.
@@ -1417,7 +824,7 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
1998-10-20 Martin Baulig <martin@home-of-linux.org> 1998-10-20 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/proc_signal.h: Use a 2-element-array of * include/glibtop/proc_signal.h: Use a 2-element-array of
type `guint64' for all signal masks instead of just type `u_int64_t' for all signal masks instead of just
scalar numbers. This avoids problems on systems with more scalar numbers. This avoids problems on systems with more
than 64 signals. than 64 signals.
@@ -1427,7 +834,7 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
[NOTE for people porting libgtop: [NOTE for people porting libgtop:
Please use all 64 bits of the `guint64' and not just 32 - the Please use all 64 bits of the `u_int64_t' and not just 32 - the
signal number (as it is used in calls to kill () ...) should be signal number (as it is used in calls to kill () ...) should be
a bit-index into this field; if a process ignores for instance a bit-index into this field; if a process ignores for instance
signal 64, it has the 0-bit of sigcatch[1] set, if it ignores 63, signal 64, it has the 0-bit of sigcatch[1] set, if it ignores 63,
@@ -1567,7 +974,7 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
* include/glibtop/command.h (glibtop_call): Third argument is * include/glibtop/command.h (glibtop_call): Third argument is
now `const void *'. now `const void *'.
* include/glibtop/xmalloc.h (g_free): Now taking a * include/glibtop/xmalloc.h (glibtop_free): Now taking a
`const void *'. `const void *'.
1998-08-25 Martin Baulig <martin@home-of-linux.org> 1998-08-25 Martin Baulig <martin@home-of-linux.org>
@@ -1768,14 +1175,14 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
1998-07-30 Martin Baulig <martin@home-of-linux.org> 1998-07-30 Martin Baulig <martin@home-of-linux.org>
* acconfig.h (guint64, int64_t): Added. * acconfig.h (u_int64_t, int64_t): Added.
* lib/lib.awk: Using correct `(1 << GLIBTOP_SYSDEPS_<feature>)' * lib/lib.awk: Using correct `(1 << GLIBTOP_SYSDEPS_<feature>)'
in call to `glibtop_init_r'. in call to `glibtop_init_r'.
* configure.in (GNOME_LIBGTOP_TYPES): New check. * configure.in (GNOME_LIBGTOP_TYPES): New check.
* include/glibtop/*.h: Using `guint64' instead of `unsigned long' * include/glibtop/*.h: Using `u_int64_t' instead of `unsigned long'
and `long' to avoid problems when client is on a 32bit system and and `long' to avoid problems when client is on a 32bit system and
the server on a 64bit system. the server on a 64bit system.
@@ -2153,7 +1560,7 @@ Wed Jan 7 02:23:28 2004 Jonathan Blandford <jrb@gnome.org>
* glibtop.h (_glibtop): New field `server_port'. * glibtop.h (_glibtop): New field `server_port'.
* lib/xmalloc.c (g_strdup): New function. * lib/xmalloc.c (glibtop_strdup_r): New function.
* lib/gnuclient.c: Removed. * lib/gnuclient.c: Removed.

View File

@@ -1,3 +1,2 @@
Email: martin@home-of-linux.org Email: martin@home-of-linux.org
Email: dave@srce.hr Email: dave@srce.hr
Beno<EFBFBD>t Dejean (tazforever@dlfp.org)

View File

@@ -1,20 +1,93 @@
## Process this file with automake to produce Makefile.in.
SUBDIRS = po misc include sysdeps lib src examples doc if EXAMPLES
examples_SUBDIRS = examples
else
examples_SUBDIRS =
endif
if BUILD_GNOME_SUPPORT
support = support
endif
SUBDIRS = . po $(support) misc include sysdeps lib src \
$(examples_SUBDIRS) doc
libgtopinclude_HEADERS = glibtop.h libgtopinclude_HEADERS = glibtop.h
libgtopincludedir = $(includedir)/libgtop-2.0 libgtopincludedir = $(includedir)/libgtop-2.0
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
LIBGTOP-VERSION features.def \ LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \
libgtop-sysdeps.m4 README \ RELNOTES-1.0 RELNOTES-1.0.x libgtop-sysdeps.m4 README \
libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4 libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4
dist-hook: dist-hook:
cp libgtop.spec $(distdir) cp libgtop.spec $(distdir)
release:
$(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
## Put `exec' in the name because this should be installed by
## `install-exec', not `install-data'.
## confexecdir = $(libdir)
## confexec_DATA = $(top_builddir)/libgtopConf.sh \
## $(top_builddir)/libgtop-features.def
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtop-2.0.pc pkgconfig_DATA = libgtop-2.0.pc
CLEANFILES=libgtopConf.sh
## bin_SCRIPTS = $(top_builddir)/libgtop-config
## to automatically rebuild aclocal.m4 if any of the macros in
## `macros/' change
## @MAINT@ include macros/macros.dep
## @MAINT@macros/macros.dep: macros/Makefile.am
## @MAINT@ cd macros && $(MAKE) macros.dep
@MAINT@$(top_srcdir)/aclocal.m4: libgtop-sysdeps.m4 LIBGTOP-VERSION
## We create libgtopConf.sh here and not from configure because we want
## to get the paths expanded correctly. Macros like srcdir are given
## the value NONE in configure if the user doesn't specify them (this
## is an autoconf feature, not a bug).
libgtopConf.sh: libgtopConf.sh.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)/libgtop-2.0#g' \
-e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \
-e 's#\@LIBGTOP_EXTRA_LIBS\@#$(LIBGTOP_EXTRA_LIBS)#g' \
-e 's#\@LIBGTOP_LIBS\@#$(LIBGTOP_LIBS)#g' \
-e 's#\@LIBGTOP_INCS\@#$(LIBGTOP_INCS)#g' \
-e 's#\@LIBGTOP_NAMES_LIBS\@#$(LIBGTOP_NAMES_LIBS)#g' \
-e 's#\@LIBGTOP_NAMES_INCS\@#$(LIBGTOP_NAMES_INCS)#g' \
-e 's#\@LIBGTOP_GUILE_LIBS\@#$(LIBGTOP_GUILE_LIBS)#g' \
-e 's#\@LIBGTOP_GUILE_INCS\@#$(LIBGTOP_GUILE_INCS)#g' \
-e 's#\@LIBGTOP_GUILE_NAMES_LIBS\@#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
-e 's#\@LIBGTOP_GUILE_NAMES_INCS\@#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
-e 's#\@LIBGTOP_BINDIR\@#$(LIBGTOP_BINDIR)#g' \
-e 's#\@LIBGTOP_SERVER\@#$(LIBGTOP_SERVER)#g' \
-e 's#\@LIBGTOP_MAJOR_VERSION\@#$(LIBGTOP_MAJOR_VERSION)#g' \
-e 's#\@LIBGTOP_MINOR_VERSION\@#$(LIBGTOP_MINOR_VERSION)#g' \
-e 's#\@LIBGTOP_MICRO_VERSION\@#$(LIBGTOP_MICRO_VERSION)#g' \
-e 's#\@LIBGTOP_VERSION\@#$(LIBGTOP_VERSION)#g' \
-e 's#\@LIBGTOP_VERSION_CODE\@#$(LIBGTOP_VERSION_CODE)#g' \
-e 's#\@LIBGTOP_SERVER_VERSION\@#$(LIBGTOP_SERVER_VERSION)#g' \
-e 's#\@libgtop_sysdeps_dir\@#$(libgtop_sysdeps_dir)#g' \
-e 's#\@libgtop_need_server\@#$(libgtop_need_server)#g' \
-e 's#\@libgtop_use_machine_h\@#$(libgtop_use_machine_h)#g' \
-e 's#\@libgtop_guile_found\@#$(libgtop_guile_found)#g' \
-e 's#\@libgtop_want_examples\@#$(libgtop_want_examples)#g' \
< $(srcdir)/libgtopConf.sh.in > libgtopConf.tmp \
&& mv libgtopConf.tmp libgtopConf.sh
# libgtop-config: libgtop-config.in Makefile
# sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
# < $(srcdir)/libgtop-config.in > libgtop-config.tmp \
# && mv libgtop-config.tmp libgtop-config && \
# chmod 755 libgtop-config
libgtop-features.def: features.def libgtop-features.def: features.def
@LN_S@ $< $@ @LN_S@ $< $@

66
NEWS
View File

@@ -1,69 +1,3 @@
December 4, 2004: Overview of Changes from 2.8.1 to 2.8.2
=========================================================
o linux:
- fixed segfault when polling PPP devices with glibtop_get_proclist.
- fixed process state in glibtop_get_proclist.
o updated translations:
- da (Martin Willemoes Hansen)
October 11, 2004: Overview of Changes from 2.8.0 to 2.8.1
=========================================================
* Improved Solaris and AIX support.
August 13, 2004: Overview of Changes from 2.7.92 to 2.8.0
=========================================================
* No changes
August 30, 2004:
===============
* Applied some *BSD patches.
* Removed old files.
August 15, 2004:
===============
* Fixed compilation with C89-only compilers and old libc.
August 3, 2004:
==============
* Some cleanups.
* Fixed the behaviour of some linux proc_*() functions.
* Updated the documentation.
July 19, 2004: Overview of Changes from 2.6.1 to 2.7.4
======================================================
* Plenty of code cleanups. Uninlined a lot of functions. ~5-10KB object size
reduction.
* Glibify a bit more.
* API changes:
- glibtop_fsusage provides total read and writes since boot_time.
- glibtop_netload provides hardware address. IPv6 enable.
- Added glibtop_get_proc_argv.
Work in progress :
* Finish glibtop_fsusage implementation for Linux.
* Some fuctions don't conform to the documentation, e.g. proctime.
March 11, 2004:
===============
* Released LibGTop 2.5.99 "Gross Work", dedicated to people who do push-ups
in the loos.
- plenty of code cleanups
- removed the dependency on libgnome, only glib required now
- Linux 2.6 support, NetBSD support and better FreeBSD support
- Make the block size available for filesystem statistics
February 27, 2001: February 27, 2001:
================= =================

146
RELNOTES-0.25 Normal file
View File

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

163
RELNOTES-1.0 Normal file
View File

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

172
RELNOTES-1.0.x Normal file
View File

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

50
RELNOTES-1.1.x Normal file
View File

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

View File

@@ -126,7 +126,7 @@
#undef HAVE_GUILE #undef HAVE_GUILE
#undef ssize_t #undef ssize_t
#undef guint64 #undef u_int64_t
#undef int64_t #undef int64_t
#undef HAVE_GLIBTOP_MACHINE_H #undef HAVE_GLIBTOP_MACHINE_H

View File

@@ -43,6 +43,8 @@ dnl
AC_DEFUN([GNOME_LIBGTOP_TYPES], AC_DEFUN([GNOME_LIBGTOP_TYPES],
[ [
AC_CHECK_HEADERS(sys/bitypes.h) AC_CHECK_HEADERS(sys/bitypes.h)
AC_LIBGTOP_CHECK_TYPE(u_int64_t, unsigned long long int)
AC_LIBGTOP_CHECK_TYPE(int64_t, signed long long int)
]) ])
dnl See whether we need a declaration for a function. dnl See whether we need a declaration for a function.

View File

@@ -1,11 +1,3 @@
2003-10-20 Bastien Nocera <hadess@hadess.net>
* backend-common.c: (_open_common): s/u_int64_t/guint64/
2003-10-20 Bastien Nocera <hadess@hadess.net>
* backend-common.h: fixed compilation
2000-11-26 Martin Baulig <martin@home-of-linux.org> 2000-11-26 Martin Baulig <martin@home-of-linux.org>
* glibtop-backend-private.h: Removed. * glibtop-backend-private.h: Removed.

View File

@@ -26,7 +26,7 @@
#include <backend-common.h> #include <backend-common.h>
static int static int
_open_common (glibtop_server *, glibtop_backend *, guint64, const char **); _open_common (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int static int
_close_common (glibtop_server *, glibtop_backend *, void *closure); _close_common (glibtop_server *, glibtop_backend *, void *closure);
@@ -47,7 +47,7 @@ glibtop_backend_info LibGTopBackendInfo_Common = {
static int static int
_open_common (glibtop_server *server, glibtop_backend *backend, _open_common (glibtop_server *server, glibtop_backend *backend,
guint64 features, const char **backend_args) u_int64_t features, const char **backend_args)
{ {
return 0; return 0;
} }

View File

@@ -30,6 +30,7 @@
#include <glibtop/global.h> #include <glibtop/global.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/xmalloc.h>
#include <glibtop/glibtop-backend.h> #include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h> #include <glibtop/glibtop-backend-info.h>

View File

@@ -1,43 +1,3 @@
2004-08-22 Benoît Dejean <tazforever@dlfp.org>
* server.c: (handle_slave_connection): Replaced //comment by /*C89*/.
2004-03-09 Bastien Nocera <hadess@hadess.net>
* command.c: (glibtop_call_i):
* demarshal.pl:
* marshal.pl:
* read_data.c: (glibtop_read_data_i):
* server.c: (handle_slave_connection): fix g_malloc usage on non-Linux
platforms (patch by Benoît Dejean <bnet@ifrance.com>)
2003-10-20 Bastien Nocera <hadess@hadess.net>
* backend-server.c: (_open_server):
* backend-server.h:
* command.h.in: s/u_int64_t/guint64/
2003-10-20 Bastien Nocera <hadess@hadess.net>
* backend-server.h:
* command.h.in:
* demarshal.pl:
* server.h: fixed compilation
2003-10-20 Bastien Nocera <hadess@hadess.net>
* backend-server.c: (_open_server):
* command.c: (glibtop_call_i):
* demarshal.pl:
* marshal.pl:
* read_data.c: (glibtop_read_data_i):
* server.c: (main), (handle_slave_connection):
replace all the xmalloc crap by glib memory management functions
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
2000-11-27 Martin Baulig <martin@home-of-linux.org> 2000-11-27 Martin Baulig <martin@home-of-linux.org>
* backend-server.c (backend_server_quark): New global variable. * backend-server.c (backend_server_quark): New global variable.

View File

@@ -50,7 +50,8 @@ libgtop_server_SOURCES = \
libgtop_server_LDADD = \ libgtop_server_LDADD = \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid.la \ $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid.la \
$(top_builddir)/sysdeps/common/libgtop_suid_common.la $(top_builddir)/sysdeps/common/libgtop_suid_common.la \
@LIBSUPPORT@
if ENABLE_STATIC if ENABLE_STATIC
libgtop_server_LDFLAGS = -static libgtop_server_LDFLAGS = -static

View File

@@ -26,7 +26,7 @@
#include <backend-server.h> #include <backend-server.h>
static int static int
_open_server (glibtop_server *, glibtop_backend *, guint64, const char **); _open_server (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int static int
_close_server (glibtop_server *, glibtop_backend *, void *); _close_server (glibtop_server *, glibtop_backend *, void *);
@@ -47,11 +47,11 @@ glibtop_backend_info LibGTopBackendInfo_Server = {
static int static int
_open_server (glibtop_server *server, glibtop_backend *backend, _open_server (glibtop_server *server, glibtop_backend *backend,
guint64 features, const char **backend_args) u_int64_t features, const char **backend_args)
{ {
backend_server_private *priv; backend_server_private *priv;
priv = g_malloc (sizeof (backend_server_private)); priv = glibtop_calloc_r (server, 1, sizeof (backend_server_private));
glibtop_backend_set_closure_data (backend, priv); glibtop_backend_set_closure_data (backend, priv);

View File

@@ -30,6 +30,7 @@
#include <glibtop/global.h> #include <glibtop/global.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/xmalloc.h>
#include <glibtop/glibtop-backend.h> #include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h> #include <glibtop/glibtop-backend-info.h>
@@ -37,7 +38,7 @@ typedef struct _backend_server_private backend_server_private;
struct _backend_server_private struct _backend_server_private
{ {
guint64 flags; u_int64_t flags;
int input [2]; /* Pipe client <- server */ int input [2]; /* Pipe client <- server */
int output [2]; /* Pipe client -> server */ int output [2]; /* Pipe client -> server */
pid_t pid; /* PID of the server */ pid_t pid; /* PID of the server */

View File

@@ -34,8 +34,14 @@ glibtop_call_i (glibtop_server *server, backend_server_private *priv,
size_t recv_size, void *recv_ptr, size_t recv_size, void *recv_ptr,
int *retval_ptr) int *retval_ptr)
{ {
glibtop_command cmnd = {0}; glibtop_command cmnd;
glibtop_response resp = {0}; glibtop_response resp;
#if 0
int retval;
#endif
memset (&cmnd, 0, sizeof (glibtop_command));
memset (&resp, 0, sizeof (glibtop_response));
cmnd.command = command; cmnd.command = command;
@@ -83,7 +89,7 @@ glibtop_call_i (glibtop_server *server, backend_server_private *priv,
glibtop_read_i (priv, recv_size, recv_ptr); glibtop_read_i (priv, recv_size, recv_ptr);
if (resp.data_size) { if (resp.data_size) {
void *ptr = g_malloc (resp.data_size); void *ptr = glibtop_malloc_r (server, resp.data_size);
glibtop_read_i (priv, resp.data_size, ptr); glibtop_read_i (priv, resp.data_size, ptr);

View File

@@ -31,7 +31,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/union.h> #include <glibtop/union.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
@@GLIBTOP_COMMAND_CONSTANTS@@ @@GLIBTOP_COMMAND_CONSTANTS@@
@@ -42,8 +42,8 @@ typedef struct _glibtop_response glibtop_response;
struct _glibtop_command struct _glibtop_command
{ {
guint64 command; u_int64_t command;
guint64 param_size, send_size, data_size; u_int64_t param_size, send_size, data_size;
char parameter [_GLIBTOP_PARAM_SIZE]; char parameter [_GLIBTOP_PARAM_SIZE];
}; };
@@ -51,9 +51,9 @@ struct _glibtop_response
{ {
int retval; int retval;
int glibtop_errno; int glibtop_errno;
guint64 recv_size, data_size; u_int64_t recv_size, data_size;
}; };
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -26,6 +26,7 @@ print '';
print '#include <glibtop.h>'; print '#include <glibtop.h>';
print '#include <glibtop/open.h>'; print '#include <glibtop/open.h>';
print '#include <glibtop/xmalloc.h>';
print ''; print '';
print '#include <glibtop/sysdeps.h>'; print '#include <glibtop/sysdeps.h>';
print '#include <glibtop/union.h>'; print '#include <glibtop/union.h>';
@@ -246,7 +247,7 @@ sub output {
if ($line_fields[3] eq '') { if ($line_fields[3] eq '') {
$size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n"; $size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n";
} else { } else {
$size_code .= "\t_LIBGTOP_RECV_buf = g_malloc (_LIBGTOP_RECV_len);\n"; $size_code .= "\t_LIBGTOP_RECV_buf = glibtop_malloc_r (server, _LIBGTOP_RECV_len);\n";
} }
$size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n"; $size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n";
@@ -298,7 +299,7 @@ sub output {
$recv_buf_code .= "\n"; $recv_buf_code .= "\n";
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += sizeof (off_t) + 1;\n"; $recv_buf_code .= "\t_LIBGTOP_TEMP_len += sizeof (off_t) + 1;\n";
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += array.number * sizeof (off_t);\n"; $recv_buf_code .= "\t_LIBGTOP_TEMP_len += array.number * sizeof (off_t);\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_base = g_malloc (_LIBGTOP_TEMP_len);"; $recv_buf_code .= "\t_LIBGTOP_ARRAY_base = glibtop_malloc_r (server, _LIBGTOP_TEMP_len);";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = _LIBGTOP_ARRAY_base;\n"; $recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = _LIBGTOP_ARRAY_base;\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset = array.number * sizeof (off_t);\n"; $recv_buf_code .= "\t_LIBGTOP_ARRAY_offset = array.number * sizeof (off_t);\n";
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset += sizeof (off_t);\n"; $recv_buf_code .= "\t_LIBGTOP_ARRAY_offset += sizeof (off_t);\n";

View File

@@ -181,7 +181,7 @@ sub output {
$send_buf_code = "\t/* send buffer */\n"; $send_buf_code = "\t/* send buffer */\n";
$send_buf_code .= "\t_LIBGTOP_SEND_buf = "; $send_buf_code .= "\t_LIBGTOP_SEND_buf = ";
if ($need_temp_storage) { if ($need_temp_storage) {
$send_buf_code .= "g_malloc (_LIBGTOP_SEND_len+1)"; $send_buf_code .= "glibtop_malloc_r (server, _LIBGTOP_SEND_len+1)";
} else { } else {
$send_buf_code .= '(void *) &'.$first_param_name; $send_buf_code .= '(void *) &'.$first_param_name;
} }
@@ -190,7 +190,7 @@ sub output {
$send_buf_code .= "\t/* data buffer */\n"; $send_buf_code .= "\t/* data buffer */\n";
$send_buf_code .= "\t_LIBGTOP_DATA_buf = "; $send_buf_code .= "\t_LIBGTOP_DATA_buf = ";
if ($need_temp_storage) { if ($need_temp_storage) {
$send_buf_code .= "g_malloc (_LIBGTOP_DATA_len+1)"; $send_buf_code .= "glibtop_malloc_r (server, _LIBGTOP_DATA_len+1)";
} else { } else {
$send_buf_code .= 'NULL'; $send_buf_code .= 'NULL';
} }
@@ -216,8 +216,8 @@ sub output {
$call_code .= sprintf ("\t\t\t%s%s);\n", $call_prefix_space, $retval_param); $call_code .= sprintf ("\t\t\t%s%s);\n", $call_prefix_space, $retval_param);
if ($need_temp_storage) { if ($need_temp_storage) {
$send_buf_free_code = "\tg_free (_LIBGTOP_SEND_buf);\n"; $send_buf_free_code = "\tglibtop_free_r (server, _LIBGTOP_SEND_buf);\n";
$send_buf_free_code .= "\tg_free (_LIBGTOP_DATA_buf);\n"; $send_buf_free_code .= "\tglibtop_free_r (server, _LIBGTOP_DATA_buf);\n";
} else { } else {
$send_buf_free_code = ""; $send_buf_free_code = "";
} }
@@ -231,14 +231,14 @@ sub output {
$local_var_code .= "\tchar *_LIBGTOP_ARRAY_ptr, **ptrlist;\n"; $local_var_code .= "\tchar *_LIBGTOP_ARRAY_ptr, **ptrlist;\n";
$local_var_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n"; $local_var_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n";
$local_var_code .= "\tint i;\n"; $local_var_code .= "\tint i;\n";
$call_code .= "\tptrlist = g_malloc (array->number+1 * sizeof (char *));\n"; $call_code .= "\tptrlist = glibtop_calloc_r (server, array->number+1, sizeof (char *));\n";
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) retval;\n"; $call_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) retval;\n";
$call_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) retval;\n"; $call_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) retval;\n";
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr++;\n\n"; $call_code .= "\t_LIBGTOP_ARRAY_off_ptr++;\n\n";
$call_code .= "\tfor (i = 0; i < array->number; i++)\n"; $call_code .= "\tfor (i = 0; i < array->number; i++)\n";
$call_code .= "\t\tptrlist [i] = g_strdup (_LIBGTOP_ARRAY_ptr + *_LIBGTOP_ARRAY_off_ptr++);\n"; $call_code .= "\t\tptrlist [i] = glibtop_strdup_r (server, _LIBGTOP_ARRAY_ptr + *_LIBGTOP_ARRAY_off_ptr++);\n";
$call_code .= "\tptrlist [array->number] = NULL;\n\n"; $call_code .= "\tptrlist [array->number] = NULL;\n\n";
$call_code .= "\tg_free (retval);\n"; $call_code .= "\tglibtop_free_r (server, retval);\n";
$call_code .= "\tretval = ptrlist;\n"; $call_code .= "\tretval = ptrlist;\n";
} }

View File

@@ -47,7 +47,7 @@ glibtop_read_data_i (backend_server_private *priv)
if (!size) return NULL; if (!size) return NULL;
ptr = g_malloc (size); ptr = glibtop_malloc_r (priv->server, size);
ret = read (priv->input [0], ptr, size); ret = read (priv->input [0], ptr, size);

View File

@@ -88,7 +88,8 @@ main(int argc, char *argv[])
server = glibtop_global_server; server = glibtop_global_server;
if (!server->_priv) if (!server->_priv)
server->_priv = g_malloc (sizeof (glibtop_server_private)); server->_priv = glibtop_calloc_r
(server, 1, sizeof (glibtop_server_private));
glibtop_init_p (server, 0, 0); glibtop_init_p (server, 0, 0);
@@ -109,7 +110,7 @@ handle_slave_connection (int input, int output)
glibtop_command _cmnd, *cmnd = &_cmnd; glibtop_command _cmnd, *cmnd = &_cmnd;
glibtop *server = glibtop_global_server; glibtop *server = glibtop_global_server;
/* glibtop_send_version_i (glibtop_global_server, output); */ // glibtop_send_version_i (glibtop_global_server, output);
while (do_read (input, cmnd, sizeof (glibtop_command))) { while (do_read (input, cmnd, sizeof (glibtop_command))) {
size_t recv_size = 0, send_size = 0, recv_data_size = 0; size_t recv_size = 0, send_size = 0, recv_data_size = 0;
@@ -155,7 +156,7 @@ handle_slave_connection (int input, int output)
cmnd->data_size); cmnd->data_size);
#endif #endif
data_ptr = g_malloc (cmnd->data_size); data_ptr = glibtop_malloc_r (server, cmnd->data_size);
do_read (input, data_ptr, cmnd->data_size); do_read (input, data_ptr, cmnd->data_size);
} }

View File

@@ -31,6 +31,7 @@
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/union.h> #include <glibtop/union.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
#include <fcntl.h> #include <fcntl.h>
@@ -43,7 +44,7 @@
#include "command.h" #include "command.h"
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
/* Some don't have LOG_PERROR */ /* Some don't have LOG_PERROR */
#ifndef LOG_PERROR #ifndef LOG_PERROR
@@ -79,6 +80,6 @@ glibtop_send_version_i (glibtop *server, int fd);
extern int enable_debug; extern int enable_debug;
extern int verbose_output; extern int verbose_output;
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -1,11 +1,3 @@
2003-10-20 Bastien Nocera <hadess@hadess.net>
* backend-sysdeps.c: (_open_sysdeps): s/u_int64_t/guint64/
2003-10-20 Bastien Nocera <hadess@hadess.net>
* backend-sysdeps.h: fixed compilation
2000-11-26 Martin Baulig <martin@home-of-linux.org> 2000-11-26 Martin Baulig <martin@home-of-linux.org>
* glibtop-backend-private.h: Removed. * glibtop-backend-private.h: Removed.

View File

@@ -26,7 +26,7 @@
#include <backend-sysdeps.h> #include <backend-sysdeps.h>
static int static int
_open_sysdeps (glibtop_server *, glibtop_backend *, guint64, const char **); _open_sysdeps (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
static int static int
_close_sysdeps (glibtop_server *, glibtop_backend *, void *); _close_sysdeps (glibtop_server *, glibtop_backend *, void *);
@@ -47,7 +47,7 @@ glibtop_backend_info LibGTopBackendInfo_Sysdeps = {
static int static int
_open_sysdeps (glibtop_server *server, glibtop_backend *backend, _open_sysdeps (glibtop_server *server, glibtop_backend *backend,
guint64 features, const char **backend_args) u_int64_t features, const char **backend_args)
{ {
glibtop_init_func_t *init_fkt; glibtop_init_func_t *init_fkt;

View File

@@ -30,6 +30,7 @@
#include <glibtop/global.h> #include <glibtop/global.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/xmalloc.h>
#include <glibtop/glibtop-backend.h> #include <glibtop/glibtop-backend.h>
#include <glibtop/glibtop-backend-info.h> #include <glibtop/glibtop-backend-info.h>

View File

@@ -5,24 +5,22 @@ dnl
AC_INIT(copyright.txt) AC_INIT(copyright.txt)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM AC_CANONICAL_SYSTEM
# Making releases:
# LIBGTOP_MICRO_VERSION += 1;
# LIBGTOP_INTERFACE_AGE += 1;
# LIBGTOP_BINARY_AGE += 1;
# if any functions have been added, set LIBGTOP_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
#
LIBGTOP_MAJOR_VERSION=2 LIBGTOP_MAJOR_VERSION=2
LIBGTOP_MINOR_VERSION=8 LIBGTOP_MINOR_VERSION=0
LIBGTOP_MICRO_VERSION=2 LIBGTOP_MICRO_VERSION=8
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION) AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
LIBGTOP_INTERFACE_AGE=8
dnl increment if the interface has additions, changes, removals. LIBGTOP_BINARY_AGE=8
LIBGTOP_CURRENT=4
dnl increment any time the source changes; set to
dnl 0 if you increment CURRENT
LIBGTOP_REVISION=0
dnl increment if any interfaces have been added; set to 0
dnl if any interfaces have been removed. removal has
dnl precedence over adding, so set to 0 if both happened.
LIBGTOP_AGE=0
# you can set this to `-snap' for instance to create # you can set this to `-snap' for instance to create
# a `libgtop-1.x.y-snap.tar.gz' tarball. # a `libgtop-1.x.y-snap.tar.gz' tarball.
@@ -46,10 +44,10 @@ AC_SUBST(LIBGTOP_VERSION_SUFFIX)
# libtool versioning # libtool versioning
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
LT_CURRENT=$LIBGTOP_CURRENT LT_CURRENT=`expr $LIBGTOP_MICRO_VERSION - $LIBGTOP_INTERFACE_AGE`
LT_REVISION=$LIBGTOP_REVISION LT_REVISION=$LIBGTOP_INTERFACE_AGE
LT_AGE=$LIBGTOP_AGE LT_AGE=`expr $LIBGTOP_BINARY_AGE - $LIBGTOP_INTERFACE_AGE`
LT_VERSION_INFO="-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}" LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
AC_SUBST(LT_VERSION_INFO) AC_SUBST(LT_VERSION_INFO)
AC_SUBST(LT_RELEASE) AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT) AC_SUBST(LT_CURRENT)
@@ -91,11 +89,46 @@ export cross_compiling
AM_PROG_LIBTOOL AM_PROG_LIBTOOL
dnl Let the user enable compiler warnings
dnl GNOME_COMPILE_WARNINGS
dnl GNOME_INIT_HOOK(gnome_found=yes)
dnl if test "x$gnome_found" != xyes; then
dnl if test "x$want_gnome" != xno ; then
dnl AC_MSG_ERROR([
dnl *** GNOME was not found on this system. ***
dnl
dnl *** If you want to use LibGTop without GNOME, you need
dnl *** to give configure the --without-gnome parameter.
dnl ])
dnl else
dnl AC_DEFINE(WITHOUT_GNOME)
dnl fi
dnl GNOME_SUPPORT_CHECKS
dnl else
dnl if test "x$want_gnome" != xno ; then
dnl AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
dnl else
dnl GNOME_SUPPORT_CHECKS
dnl fi
dnl fi
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes) AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
GNOME_LIBGTOP_SYSDEPS GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES GNOME_LIBGTOP_TYPES
dnl AC_ARG_WITH(libgtop-guile,
dnl [ --with-libgtop-guile Build the libgtop guile interface (default=no)],
dnl [build_guile="$withval"], [build_guile=yes])
dnl if test x$build_guile != xno ; then
dnl GNOME_CHECK_GUILE
dnl fi
AC_ARG_WITH(libgtop-inodedb, AC_ARG_WITH(libgtop-inodedb,
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)], [ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
[build_inodedb="$withval"], [build_inodedb=no]) [build_inodedb="$withval"], [build_inodedb=no])
@@ -114,6 +147,20 @@ fi
AC_DEFINE(GLIBTOP_NAMES) AC_DEFINE(GLIBTOP_NAMES)
if test x$ac_cv_guile_found = xyes ; then
AC_DEFINE(GLIBTOP_GUILE)
AC_DEFINE(GLIBTOP_GUILE_NAMES)
libgtop_guile_found=yes
guile_examples='third'
guile_static_examples='third_static'
guile_subdirs='guile'
else
libgtop_guile_found=no
guile_examples=
guile_static_examples=
guile_subdirs=
fi
if test x$libgtop_smp = xyes ; then if test x$libgtop_smp = xyes ; then
smp_examples='smp' smp_examples='smp'
smp_static_examples='smp_static' smp_static_examples='smp_static'
@@ -123,7 +170,7 @@ else
fi fi
if test "x$enable_static" != xno; then if test "x$enable_static" != xno; then
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $smp_static_examples pprint_static procargs_static df_static" static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $guile_static_examples $smp_static_examples"
else else
static_targets="" static_targets=""
fi fi
@@ -133,25 +180,22 @@ AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
AC_SUBST(static_targets) AC_SUBST(static_targets)
AC_SUBST(smp_examples) AC_SUBST(smp_examples)
AC_SUBST(guile_examples)
AC_SUBST(guile_subdirs)
GLIB_REQUIRED=2.4.0 AM_PROG_LIBTOOL
GLIB_REQUIRED=2.0.0
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED) PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS) AC_SUBST(GLIB_LIBS)
AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no]) dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
AC_MSG_CHECKING(for popt.h)
if test x$POPT = xyes ; then
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR([libgtop requires the popt development libraries])
fi
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no]) dnl You need to uncomment the following line if you want to use
if test x$HAVE_IFADDRS_H = xyes ; then dnl libGTop without Gnome.
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h]) GNOME_SUPPORT_CHECKS
fi
dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST AC_C_CONST
@@ -185,14 +229,8 @@ AC_CHECK_FUNCS(dlerror,,)
LIBS="$oLIBS" LIBS="$oLIBS"
AC_SUBST(DL_LIB) AC_SUBST(DL_LIB)
dnl Linux
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
if test x$HAVE_ISDN_H = xyes ; then
AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
fi
dnl AIX dnl AIX
AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the 'vmgetinfo' function in libperfstat]) AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the `vmgetinfo' function in libperfstat])
AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO)) AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO))
dnl Solaris dnl Solaris
@@ -255,7 +293,7 @@ AC_TYPE_SIGNAL
AC_FUNC_STRFTIME AC_FUNC_STRFTIME
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname) AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id it ja ko lt lv mi mk ml mn ms nb nl nn no or pa pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_TW" ALL_LINGUAS="am ar az be bg bn ca cs cy da de el es et fa fi fr ga gl he hi hu id it ja ko lt lv mk ml mn ms nl nn no pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_TW"
GETTEXT_PACKAGE=libgtop-2.0 GETTEXT_PACKAGE=libgtop-2.0
AC_SUBST(GETTEXT_PACKAGE) AC_SUBST(GETTEXT_PACKAGE)
@@ -301,6 +339,24 @@ dnl Debugging
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),) AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),) AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
if test "x$gnome_found" = xyes ; then
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR"
else
LIBSUPPORT='$(top_builddir)/support/libgnomesupport-2.0.la'
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
fi
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS,
dnl we include it here.
case "$GNOME_LIBS" in
'*-lgnomesupport*' )
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR" ;;
esac
AC_SUBST(LIBSUPPORT)
AC_SUBST(SUPPORTINCS)
dnl These definitions are expanded in make. dnl These definitions are expanded in make.
LIBGTOP_LIBS='-L$(libdir)' LIBGTOP_LIBS='-L$(libdir)'
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0' LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
@@ -321,14 +377,25 @@ if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO" LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi fi
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS" LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS"
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS"
LIBGTOP_BINDIR='$(bindir)' LIBGTOP_BINDIR='$(bindir)'
LIBGTOP_SERVER='$(bindir)/libgtop_server2' LIBGTOP_SERVER='$(bindir)/libgtop_server2'
sysdeps_dir="$libgtop_sysdeps_dir" sysdeps_dir="$libgtop_sysdeps_dir"
AC_SUBST(sysdeps_dir) AC_SUBST(sysdeps_dir)
if test x$ac_cv_guile_found = xyes ; then
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile-2.0"
libgtop_guile_found=yes
else
libgtop_guile_found=no
fi
AC_SUBST(libgtop_guile_found)
if test -z "$LIBGTOP_EXTRA_LIBS" ; then if test -z "$LIBGTOP_EXTRA_LIBS" ; then
LIBGTOP_EXTRA_LIBS="$libs_xauth" LIBGTOP_EXTRA_LIBS="$libs_xauth"
else else
@@ -337,31 +404,35 @@ fi
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS" LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS" LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS" LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names-2.0 -lgtop_names-2.0"
LIBGTOP_LIBS="$LIBGTOP_LIBS" LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS" LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_NAMES_LIBS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
LIBGTOP_GUILE_INCS="$LIBGTOP_GUILE_INCS $GUILE_INCS -DGLIBTOP_GUILE"
LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES" LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES"
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_GUILE_NAMES"
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_NAMES"
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir" machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
AC_SUBST(machine_incs) AC_SUBST(machine_incs)
if test "$GCC" = "yes" ; then if test x$libgtop_guile_found = xyes ; then
CFLAGS="\ guile_def="-DGLIBTOP_GUILE -DGLIBTOP_GUILE_NAMES $GUILE_INCS "
-Winline \ else
-Wall \ guile_def=""
-std=gnu89 \
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wpointer-arith \
-Wcast-align -Wsign-compare \
-fno-strict-aliasing \
$CFLAGS"
fi fi
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 $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"'\"' INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
AC_SUBST(INCLUDES) AC_SUBST(INCLUDES)
@@ -371,6 +442,10 @@ AC_SUBST(LIBGTOP_LIBS)
AC_SUBST(LIBGTOP_INCS) AC_SUBST(LIBGTOP_INCS)
AC_SUBST(LIBGTOP_NAMES_LIBS) AC_SUBST(LIBGTOP_NAMES_LIBS)
AC_SUBST(LIBGTOP_NAMES_INCS) AC_SUBST(LIBGTOP_NAMES_INCS)
AC_SUBST(LIBGTOP_GUILE_LIBS)
AC_SUBST(LIBGTOP_GUILE_INCS)
AC_SUBST(LIBGTOP_GUILE_NAMES_LIBS)
AC_SUBST(LIBGTOP_GUILE_NAMES_INCS)
AC_SUBST(LIBGTOP_BINDIR) AC_SUBST(LIBGTOP_BINDIR)
AC_SUBST(LIBGTOP_SERVER) AC_SUBST(LIBGTOP_SERVER)
@@ -394,6 +469,8 @@ include/glibtop/Makefile
sysdeps/Makefile sysdeps/Makefile
sysdeps/common/Makefile sysdeps/common/Makefile
sysdeps/names/Makefile sysdeps/names/Makefile
sysdeps/guile/Makefile
sysdeps/guile/names/Makefile
sysdeps/stub/Makefile sysdeps/stub/Makefile
sysdeps/stub_suid/Makefile sysdeps/stub_suid/Makefile
sysdeps/sun4/Makefile sysdeps/sun4/Makefile
@@ -409,5 +486,7 @@ src/inodedb/Makefile
lib/Makefile lib/Makefile
examples/Makefile examples/Makefile
doc/Makefile doc/Makefile
support/Makefile
support/gnome-support-2.0.pc
libgtop-2.0.pc libgtop-2.0.pc
]) ])

View File

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

View File

@@ -1,25 +1,3 @@
2004-08-03 Benoît Dejean <tazforever@dlfp.org>
* reference.texi: Updated.
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* reference.texi: updated.
Added glibtop_get_proc_argv.
Added glibtop_fsusage.block_size.
2004-03-05 Bastien Nocera <hadess@hadess.net>
* reference.texi: update for new API
2003-10-20 Bastien Nocera <hadess@hadess.net>
* reference.texi: s/u_int64_t/guint64/
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
2002-03-12 James Henstridge <james@daa.com.au> 2002-03-12 James Henstridge <james@daa.com.au>
* Makefile.am (MAKEINFO): using += seems to screw up the build * Makefile.am (MAKEINFO): using += seems to screw up the build

View File

@@ -18,6 +18,10 @@ auto-macros.texi: auto-macros.texi.in Makefile
-e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \ -e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \
-e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \ -e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \
-e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \ -e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \
-e 's#\%LIBGTOP_GUILE_LIBS\%#$(LIBGTOP_GUILE_LIBS)#g' \
-e 's#\%LIBGTOP_GUILE_INCS\%#$(LIBGTOP_GUILE_INCS)#g' \
-e 's#\%LIBGTOP_GUILE_NAMES_LIBS\%#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
-e 's#\%LIBGTOP_GUILE_NAMES_INCS\%#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
-e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \ -e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \
-e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \ -e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \
-e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \ -e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \
@@ -29,6 +33,7 @@ auto-macros.texi: auto-macros.texi.in Makefile
-e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \ -e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \
-e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \ -e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \
-e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \ -e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \
-e 's#\%libgtop_guile_found\%#$(libgtop_guile_found)#g' \
-e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \ -e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \
< $(srcdir)/auto-macros.texi.in > auto-macros.tmp < $(srcdir)/auto-macros.texi.in > auto-macros.tmp
echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp

View File

@@ -50,7 +50,7 @@ typedef struct _glibtop_cpu glibtop_cpu;
struct _glibtop_cpu struct _glibtop_cpu
@{ @{
guint64 flags, u_int64_t flags,
total, total,
user, user,
nice, nice,
@@ -139,7 +139,7 @@ typedef struct _glibtop_mem glibtop_mem;
struct _glibtop_mem struct _glibtop_mem
@{ @{
guint64 flags, u_int64_t flags,
total, total,
used, used,
free, free,
@@ -207,7 +207,7 @@ typedef struct _glibtop_swap glibtop_swap;
struct _glibtop_swap struct _glibtop_swap
@{ @{
guint64 flags, u_int64_t flags,
total, total,
used, used,
free, free,
@@ -266,10 +266,10 @@ typedef struct _glibtop_uptime glibtop_uptime;
struct _glibtop_uptime struct _glibtop_uptime
@{ @{
guint64 flags; u_int64_t flags;
double uptime, double uptime,
idletime; idletime;
guint64 boot_time; u_int64_t boot_time;
@}; @};
@end cartouche @end cartouche
@end example @end example
@@ -318,9 +318,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
struct _glibtop_loadavg struct _glibtop_loadavg
@{ @{
guint64 flags; u_int64_t flags;
double loadavg [3]; double loadavg [3];
guint64 nr_running, u_int64_t nr_running,
nr_tasks, nr_tasks,
last_pid; last_pid;
@}; @};
@@ -359,11 +359,11 @@ Library function @code{glibtop_get_proclist}:
@cartouche @cartouche
unsigned * unsigned *
glibtop_get_proclist (glibtop_proclist *buf, glibtop_get_proclist (glibtop_proclist *buf,
gint64 which, gint64 arg); int64_t which, int64_t arg);
unsigned * unsigned *
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg); int64_t which, int64_t arg);
@end cartouche @end cartouche
@end example @end example
@@ -395,7 +395,7 @@ typedef struct _glibtop_proclist glibtop_proclist;
struct _glibtop_proclist struct _glibtop_proclist
@{ @{
guint64 flags, u_int64_t flags,
number, number,
total, total,
size; size;
@@ -464,8 +464,8 @@ Size of a single entry in the returned list
(this equals @code{sizeof (unsigned)}). (this equals @code{sizeof (unsigned)}).
@end table @end table
The returned list is allocated using @code{g_malloc} and must be freed The returned list is allocated using @code{glibtop_malloc} and must be freed
using @code{g_free} to avoid a memory leak. using @code{glibtop_free} to avoid a memory leak.
@page @page
@node glibtop_proc_state, glibtop_proc_uid, glibtop_proclist, System Dependent @node glibtop_proc_state, glibtop_proc_uid, glibtop_proclist, System Dependent
@@ -492,7 +492,7 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
struct _glibtop_proc_state struct _glibtop_proc_state
@{ @{
guint64 flags; u_int64_t flags;
char cmd[40]; char cmd[40];
@ifset LIBGTOP-1-1 @ifset LIBGTOP-1-1
unsigned state; unsigned state;
@@ -572,7 +572,6 @@ There are some constants for the @code{state} field:
#define GLIBTOP_PROCESS_ZOMBIE 8 #define GLIBTOP_PROCESS_ZOMBIE 8
#define GLIBTOP_PROCESS_STOPPED 16 #define GLIBTOP_PROCESS_STOPPED 16
#define GLIBTOP_PROCESS_SWAPPING 32 #define GLIBTOP_PROCESS_SWAPPING 32
#define GLIBTOP_PROCESS_DEAD 64
@end cartouche @end cartouche
@end example @end example
@end ifset @end ifset
@@ -619,7 +618,7 @@ typedef struct _glibtop_proc_uid glibtop_proc_uid;
struct _glibtop_proc_uid struct _glibtop_proc_uid
@{ @{
guint64 flags; u_int64_t flags;
int uid, int uid,
euid, euid,
gid, gid,
@@ -699,7 +698,7 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
struct _glibtop_proc_mem struct _glibtop_proc_mem
@{ @{
guint64 flags, u_int64_t flags,
size, size,
vsize, vsize,
resident, resident,
@@ -718,7 +717,7 @@ Number of pages of virtual memory.
@item resident @item resident
Number of residnet set (non-swapped) pages. Number of residnet set (non-swapped) pages.
@item share @item share
Number of pages of shared (mmap\'d) memory. Number of pages of shared (mmap'd) memory.
@item rss @item rss
Number of pages the process has in real memory, minus 3 for administrative Number of pages the process has in real memory, minus 3 for administrative
purposes. purposes.
@@ -814,7 +813,7 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
struct _glibtop_proc_time struct _glibtop_proc_time
@{ @{
guint64 flags, u_int64_t flags,
start_time, start_time,
rtime, rtime,
utime, utime,
@@ -831,7 +830,6 @@ struct _glibtop_proc_time
@end cartouche @end cartouche
@end example @end example
@table @code @table @code
@item start_time @item start_time
Start time of process in seconds since the epoch Start time of process in seconds since the epoch
@@ -858,18 +856,6 @@ SMP user-mode CPU time accumulated by process
SMP kernel-mode CPU time accumulated by process SMP kernel-mode CPU time accumulated by process
@end table @end table
Please note that under Linux, @code{start_time} value may be strange.
Linux kernel defines @code{INITIAL_JIFFIES} which implies a time
shift. Because @code{INITIAL_JIFFIES} is not user-space defined, we
cannot use it to compute accurate @code{start_time}. On Linux2.6,
@code{INITIAL_JIFFIES} is 300 so @code{start_time} is always 3s
different from real start time of the given process. You may also get
shift results if your system clock is not synchronised with your
hardware clock. See @samp{man hwclock}.
@page @page
@node glibtop_proc_signal, glibtop_proc_kernel, glibtop_proc_time, System Dependent @node glibtop_proc_signal, glibtop_proc_kernel, glibtop_proc_time, System Dependent
@subsection Process Signal information @subsection Process Signal information
@@ -895,7 +881,7 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
struct _glibtop_proc_signal struct _glibtop_proc_signal
@{ @{
guint64 flags, u_int64_t flags,
signal [2], signal [2],
blocked [2], blocked [2],
sigignore [2], sigignore [2],
@@ -916,7 +902,7 @@ Mask of caught signals
@end table @end table
All signal masks are interpreted as bit mask; it is an array of two All signal masks are interpreted as bit mask; it is an array of two
@code{guint64}'s so we can save 128 signals there. @code{u_int64_t}'s so we can save 128 signals there.
@page @page
@node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent @node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent
@@ -943,8 +929,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
struct _glibtop_proc_kernel struct _glibtop_proc_kernel
@{ @{
guint64 flags; u_int64_t flags;
guint64 k_flags, u_int64_t k_flags,
min_flt, min_flt,
maj_flt, maj_flt,
cmin_flt, cmin_flt,
@@ -1043,7 +1029,7 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
struct _glibtop_proc_segment struct _glibtop_proc_segment
@{ @{
guint64 flags, u_int64_t flags,
text_rss, text_rss,
shlib_rss, shlib_rss,
data_rss, data_rss,
@@ -1093,7 +1079,7 @@ Library function @code{glibtop_get_proc_args}:
@example @example
@cartouche @cartouche
char * char *
glibtop_get_proc_args(glibtop_proc_args *buf, pid_t pid, glibtop_get_proc_args_l (glibtop_proc_args *buf, pid_t pid,
unsigned max_len); unsigned max_len);
char * char *
@@ -1110,7 +1096,7 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
struct _glibtop_proc_args struct _glibtop_proc_args
@{ @{
guint64 flags, u_int64_t flags,
size; size;
@}; @};
@end cartouche @end cartouche
@@ -1122,31 +1108,7 @@ Returns a string with all command line arguments of process @code{pid}
The command line arguments in the returned string are separated by zero bytes; The command line arguments in the returned string are separated by zero bytes;
the lenght of this string is returned in the @code{size} field. the lenght of this string is returned in the @code{size} field.
Remember to @code{g_free} the returned string to avoid a memory leak. Remember to @code{glibtop_free} the returned string to avoid a memory leak.
@strong{New functions}
@example
@cartouche
char **
glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid,
unsigned max_len);
char **
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
@end cartouche
@end example
Returns a NULL-terminated array of strings with all arguments of
process @code{pid} (up to @code{max_len} characters, use zero to get
all arguments). @code{glibtop_get_proc_argv()} and
@code{glibtop_get_proc_argv_l()} are wrappers to
@code{glibtop_get_proc_args()} and @code{glibtop_get_proc_args_l()}
that return process' arguments like the C @code{argv}.
Remember to @code{g_strfreev} the returned array to avoid a memory
leak.
@page @page
@node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent @node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent
@@ -1173,7 +1135,7 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
struct _glibtop_proc_map struct _glibtop_proc_map
@{ @{
guint64 flags, u_int64_t flags,
number, number,
total, total,
size; size;
@@ -1182,7 +1144,7 @@ struct _glibtop_proc_map
@end example @end example
Returns a @code{glibtop_map_entry *} list (which needs to be freed with Returns a @code{glibtop_map_entry *} list (which needs to be freed with
@code{g_free}) of memory maps of process @code{pid}. @code{glibtop_free}) of memory maps of process @code{pid}.
@table @code @table @code
@item number @item number
@@ -1202,7 +1164,7 @@ typedef struct _glibtop_map_entry glibtop_map_entry;
struct _glibtop_map_entry struct _glibtop_map_entry
@{ @{
guint64 flags, start, end, offset, perm, inode, device; u_int64_t flags, start, end, offset, perm, inode, device;
char filename [GLIBTOP_MAP_FILENAME_LEN+1]; char filename [GLIBTOP_MAP_FILENAME_LEN+1];
@}; @};
@end cartouche @end cartouche
@@ -1213,13 +1175,13 @@ fields are valid:
@example @example
@cartouche @cartouche
#define GLIBTOP_MAP_ENTRY_START 0 #define GLIBTOP_MAP_ENTRY_START 1
#define GLIBTOP_MAP_ENTRY_END 1 #define GLIBTOP_MAP_ENTRY_END 2
#define GLIBTOP_MAP_ENTRY_OFFSET 2 #define GLIBTOP_MAP_ENTRY_OFFSET 3
#define GLIBTOP_MAP_ENTRY_PERM 3 #define GLIBTOP_MAP_ENTRY_PERM 4
#define GLIBTOP_MAP_ENTRY_INODE 4 #define GLIBTOP_MAP_ENTRY_INODE 5
#define GLIBTOP_MAP_ENTRY_DEVICE 5 #define GLIBTOP_MAP_ENTRY_DEVICE 6
#define GLIBTOP_MAP_ENTRY_FILENAME 6 #define GLIBTOP_MAP_ENTRY_FILENAME 7
@end cartouche @end cartouche
@end example @end example
@@ -1260,7 +1222,7 @@ typedef struct _glibtop_netload glibtop_netload;
struct _glibtop_netload struct _glibtop_netload
@{ @{
guint64 flags, u_int64_t flags,
if_flags, if_flags,
mtu, mtu,
subnet, subnet,
@@ -1367,7 +1329,7 @@ typedef struct _glibtop_ppp glibtop_ppp;
struct _glibtop_ppp struct _glibtop_ppp
@{ @{
guint64 flags, u_int64_t flags,
state, state,
bytes_in, bytes_in,
bytes_out; bytes_out;
@@ -1447,7 +1409,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
struct _glibtop_mountlist struct _glibtop_mountlist
@{ @{
guint64 flags, u_int64_t flags,
number, number,
total, total,
size; size;
@@ -1456,7 +1418,7 @@ struct _glibtop_mountlist
@end example @end example
Returns a @code{glibtop_mountentry *} list (which needs to be freed with Returns a @code{glibtop_mountentry *} list (which needs to be freed with
@code{g_free}) of mounted filesystems. @code{glibtop_free}) of mounted filesystems.
@table @code @table @code
@item number @item number
@@ -1476,7 +1438,7 @@ typedef struct _glibtop_mountentry glibtop_mountentry;
struct _glibtop_mountentry struct _glibtop_mountentry
@{ @{
guint64 dev; u_int64_t dev;
char devname [GLIBTOP_MOUNTENTRY_LEN+1]; char devname [GLIBTOP_MOUNTENTRY_LEN+1];
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1]; char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
char type [GLIBTOP_MOUNTENTRY_LEN+1]; char type [GLIBTOP_MOUNTENTRY_LEN+1];
@@ -1526,13 +1488,12 @@ typedef struct _glibtop_fsusage glibtop_fsusage;
struct _glibtop_fsusage struct _glibtop_fsusage
@{ @{
guint64 flags, u_int64_t flags,
blocks, blocks,
bfree, bfree,
bavail, bavail,
files, files,
ffree; ffree;
guint32 block_size;
@}; @};
@end cartouche @end cartouche
@end example @end example
@@ -1548,8 +1509,6 @@ Free blocks available to ordinary users.
Total file nodes. Total file nodes.
@item ffree @item ffree
Free file nodes. Free file nodes.
@item block_size
Block size in bytes.
@end table @end table
Blocks are usually 512 bytes. Blocks are usually 512 bytes.
@@ -1680,7 +1639,7 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
struct _glibtop_sysdeps struct _glibtop_sysdeps
@{ @{
guint64 flags, u_int64_t flags,
features, features,
pointer_size, pointer_size,
cpu, cpu,

View File

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

View File

@@ -1,94 +1,3 @@
2004-09-25 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (main): Re-added pprint_get_msg_limits()
i2004-09-25 Benoît Dejean <tazforever@dlfp.org>
* df.c: (main):
* pprint.c: (main):
* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
2004-09-24 Benoît Dejean <tazforever@dlfp.org>
* .cvsignore:
* Makefile.am:
* ../configure.in
* df.c: (print_fsusage), (main): Added new example, just like 'df'.
2004-09-22 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_swap), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: (show_args), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
(pprint_get_uptime), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_mountlist): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: (show_args), (main): Updated.
2004-09-20 Benoît Dejean <tazforever@dlfp.org>
* .cvsignore:
* Makefile.am:
* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
(pprint_get_msg_limits), (main): Added new example : pretty prints
the result of glibtop_*. Work in progress.
Now builds procargs.
* ../configure.in: Added to static list.
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: Added glibtop_get_proc_argv demo.
2003-12-27 Ole Laursen <olau@hardworking.dk>
* mountlist.c: Updated to display block size too.
2004-03-04 Bastien Nocera <hadess@hadess.net>
* smp.c: use libgtop-i18n.h
2003-10-21 Bastien Nocera <hadess@hadess.net>
* Makefile.am:
* smp.c:
* sysdeps.c: (main): install only one library, libgtop-2.0
Fix build-time warnings due to the redefinition of guint64
Fix building smp.c and sysdeps.c
2003-10-20 Bastien Nocera <hadess@hadess.net>
* first.c:
* mountlist.c:
* netload.c:
* procmap.c:
* second.c:
* smp.c:
* sysdeps.c:
* third.c:
* timings.c: fixed compilation
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
2001-01-14 Abel Cheung <maddog@linux.org.hk> 2001-01-14 Abel Cheung <maddog@linux.org.hk>
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE. * \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.

View File

@@ -6,65 +6,93 @@ INCLUDES = @INCLUDES@
DEFS = @DEFS@ DEFS = @DEFS@
noinst_PROGRAMS = first second pprint procargs df \ # We install it in `libexec' since this will make it more easy
# to put the examples into an extra RPM package.
libgtopdir = $(libexecdir)/libgtop
libgtop_PROGRAMS = first second\
mountlist procmap netload sysdeps timings \ mountlist procmap netload sysdeps timings \
@static_targets@ @smp_examples@ @static_targets@ @guile_examples@ @smp_examples@
EXTRA_PROGRAMS = first_static second_static \ EXTRA_PROGRAMS = first_static second_static \
mountlist_static procmap_static \ mountlist_static procmap_static \
third third_static smp smp_static \ third third_static smp smp_static \
netload_static sysdeps_static \ netload_static sysdeps_static \
timings_static pprint_static procargs_static \ timings_static
df_static
first_SOURCES = first.c first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la first_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
first_static_SOURCES = $(first_SOURCES) first_static_SOURCES = $(first_SOURCES)
first_static_LDADD = $(first_LDADD) first_static_LDADD = $(first_LDADD)
first_static_LDFLAGS = -static first_static_LDFLAGS = -static
second_SOURCES = second.c second_SOURCES = second.c
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm second_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
second_static_SOURCES = $(second_SOURCES) second_static_SOURCES = $(second_SOURCES)
second_static_LDADD = $(second_LDADD) second_static_LDADD = $(second_LDADD)
second_static_LDFLAGS = -static second_static_LDFLAGS = -static
procmap_SOURCES = procmap.c procmap_SOURCES = procmap.c
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
procmap_static_SOURCES = $(procmap_SOURCES) procmap_static_SOURCES = $(procmap_SOURCES)
procmap_static_LDADD = $(procmap_LDADD) procmap_static_LDADD = $(procmap_LDADD)
procmap_static_LDFLAGS = -static procmap_static_LDFLAGS = -static
netload_SOURCES = netload.c netload_SOURCES = netload.c
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
netload_static_SOURCES = $(netload_SOURCES) netload_static_SOURCES = $(netload_SOURCES)
netload_static_LDADD = $(netload_LDADD) netload_static_LDADD = $(netload_LDADD)
netload_static_LDFLAGS = -static netload_static_LDFLAGS = -static
sysdeps_SOURCES = sysdeps.c sysdeps_SOURCES = sysdeps.c
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
sysdeps_static_SOURCES = $(sysdeps_SOURCES) sysdeps_static_SOURCES = $(sysdeps_SOURCES)
sysdeps_static_LDADD = $(sysdeps_LDADD) sysdeps_static_LDADD = $(sysdeps_LDADD)
sysdeps_static_LDFLAGS = -static sysdeps_static_LDFLAGS = -static
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names-2.0.la
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la
third_SOURCES = third.c third_SOURCES = third.c
third_LDADD = $(third_names_LIBS) \ third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile-2.0.la \
$(third_guile_names_LIBS) $(third_names_LIBS) \
$(top_builddir)/lib/libgtop-2.0.la \ $(top_builddir)/lib/libgtop-2.0.la \
@INTLLIBS@ $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@GUILE_LIBS@ @LIBSUPPORT@ @INTLLIBS@
third_static_SOURCES = $(third_SOURCES) third_static_SOURCES = $(third_SOURCES)
third_static_LDADD = $(third_LDADD) third_static_LDADD = $(third_LDADD)
third_static_LDFLAGS = -static third_static_LDFLAGS = -static
mountlist_SOURCES = mountlist.c mountlist_SOURCES = mountlist.c
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
mountlist_static_SOURCES= $(mountlist_SOURCES) mountlist_static_SOURCES= $(mountlist_SOURCES)
mountlist_static_LDADD = $(mountlist_LDADD) mountlist_static_LDADD = $(mountlist_LDADD)
@@ -72,40 +100,22 @@ mountlist_static_LDFLAGS= -static
smp_SOURCES = smp.c smp_SOURCES = smp.c
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
smp_static_SOURCES = $(smp_SOURCES) smp_static_SOURCES = $(smp_SOURCES)
smp_static_LDADD = $(smp_LDADD) smp_static_LDADD = $(smp_LDADD)
smp_static_LDFLAGS = -static smp_static_LDFLAGS = -static
timings_SOURCES = timings.c timings_SOURCES = timings.c
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
timings_static_SOURCES = $(timings_SOURCES) timings_static_SOURCES = $(timings_SOURCES)
timings_static_LDADD = $(timings_LDADD) timings_static_LDADD = $(timings_LDADD)
timings_static_LDFLAGS = -static timings_static_LDFLAGS = -static
pprint_SOURCES = pprint.c
pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
pprint_static_SOURCES = $(pprint_SOURCES)
pprint_static_LDADD = $(pprint_LDADD)
pprint_static_LDFLAGS = -static
procargs_SOURCES = procargs.c
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
procargs_static_SOURCES = $(procargs_SOURCES)
procargs_static_LDADD = $(procargs_LDADD)
procargs_static_LDFLAGS = -static
df_SOURCES = df.c
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
df_static_SOURCES = $(df_SOURCES)
df_static_LDADD = $(df_LDADD)
df_static_LDFLAGS = -static

View File

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

View File

@@ -22,12 +22,11 @@
*/ */
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
@@ -233,7 +232,7 @@ main (int argc, char *argv [])
printf ("\n"); printf ("\n");
} }
g_free (ptr); glibtop_free (ptr);
pid = getpid (); pid = getpid ();
ppid = getppid (); ppid = getppid ();
@@ -347,7 +346,7 @@ main (int argc, char *argv [])
(unsigned long) data.proc_args.size, (unsigned long) data.proc_args.size,
args ? args : ""); args ? args : "");
g_free (args); glibtop_free (args);
printf ("\n"); printf ("\n");
@@ -457,7 +456,7 @@ main (int argc, char *argv [])
(unsigned long) data.proc_args.size, (unsigned long) data.proc_args.size,
args ? args : ""); args ? args : "");
g_free (args); glibtop_free (args);
printf ("\n"); printf ("\n");
@@ -568,7 +567,7 @@ main (int argc, char *argv [])
(unsigned long) data.proc_args.size, (unsigned long) data.proc_args.size,
args ? args : ""); args ? args : "");
g_free (args); glibtop_free (args);
glibtop_close (); glibtop_close ();

View File

@@ -22,12 +22,11 @@
*/ */
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
@@ -74,7 +73,7 @@ main (int argc, char *argv [])
for (c = 0; c < PROFILE_COUNT; c++) { for (c = 0; c < PROFILE_COUNT; c++) {
mount_entries = glibtop_get_mountlist (&mount_list, 1); mount_entries = glibtop_get_mountlist (&mount_list, 1);
g_free (mount_entries); glibtop_free (mount_entries);
} }
printf ("sbrk (0) = %p\n\n", sbrk (0)); printf ("sbrk (0) = %p\n\n", sbrk (0));
@@ -90,21 +89,21 @@ main (int argc, char *argv [])
mount_entries [index].type, mount_entries [index].type,
mount_entries [index].devname); mount_entries [index].devname);
printf ("\n\n%-16s %9s %9s %9s %9s %9s %9s\n", printf ("\n\n%-23s %9s %9s %9s %9s %9s\n\n",
"Mount", "Blocks", "Free", "Avail", "Files", "Free", "BlockSz"); "", "Blocks", "Free", "Avail", "Files", "Free");
for (index = 0; index < mount_list.number; index++) { for (index = 0; index < mount_list.number; index++) {
glibtop_get_fsusage (&fsusage, glibtop_get_fsusage (&fsusage,
mount_entries [index].mountdir); mount_entries [index].mountdir);
printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n", printf ("Usage: %-16s %9Lu %9Lu %9Lu %9Lu %9Lu\n",
mount_entries [index].mountdir, mount_entries [index].mountdir,
fsusage.blocks, fsusage.bfree, fsusage.blocks, fsusage.bfree,
fsusage.bavail, fsusage.files, fsusage.bavail, fsusage.files,
fsusage.ffree, fsusage.block_size); fsusage.ffree);
} }
g_free (mount_entries); glibtop_free (mount_entries);
printf ("\nsbrk (0) = %p\n\n", sbrk (0)); printf ("\nsbrk (0) = %p\n\n", sbrk (0));

View File

@@ -22,12 +22,11 @@
*/ */
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
@@ -83,8 +82,8 @@ main (int argc, char *argv [])
addr.s_addr = netload.address; addr.s_addr = netload.address;
subnet.s_addr = netload.subnet; subnet.s_addr = netload.subnet;
address_string = g_strdup (inet_ntoa (addr)); address_string = glibtop_strdup (inet_ntoa (addr));
subnet_string = g_strdup (inet_ntoa (subnet)); subnet_string = glibtop_strdup (inet_ntoa (subnet));
printf ("Network Load (0x%08lx):\n\n" printf ("Network Load (0x%08lx):\n\n"
"\tInterface Flags:\t0x%08lx\n" "\tInterface Flags:\t0x%08lx\n"
@@ -117,8 +116,8 @@ main (int argc, char *argv [])
(unsigned long) netload.errors_out, (unsigned long) netload.errors_out,
(unsigned long) netload.errors_total); (unsigned long) netload.errors_total);
g_free (address_string); glibtop_free (address_string);
g_free (subnet_string); glibtop_free (subnet_string);
glibtop_close (); glibtop_close ();

View File

@@ -1,246 +0,0 @@
#include <glibtop.h>
#include <glibtop/union.h>
#include <stdio.h>
#include <stddef.h>
#define buf_offsetof(MEMBER) ((ptrdiff_t)&(buf.MEMBER) - (ptrdiff_t)&buf)
#define HEADER_PPRINT(FUNC) printf(#FUNC "\tsizeof = %lu B\n", \
(unsigned long) sizeof buf)
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
size_t i; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
} while(0)
#define FOOTER_PPRINT() putchar('\n')
static void pprint_get_cpu()
{
glibtop_cpu buf;
glibtop_get_cpu(&buf);
HEADER_PPRINT(glibtop_get_cpu);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(user, "%llu");
PPRINT(nice, "%llu");
PPRINT(sys, "%llu");
PPRINT(idle, "%llu");
PPRINT(frequency, "%llu");
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
PPRINT(xcpu_flags, "%llx");
FOOTER_PPRINT();
}
static void pprint_get_fsusage(const char *mountpoint)
{
glibtop_fsusage buf;
glibtop_get_fsusage(&buf, mountpoint);
HEADER_PPRINT(glibtop_get_fsusage);
PPRINT(flags, "%#llx");
PPRINT(blocks, "%llu");
PPRINT(bfree, "%llu");
PPRINT(bavail, "%llu");
PPRINT(files, "%llu");
PPRINT(ffree, "%llu");
PPRINT(block_size, "%u");
PPRINT(read, "%llu");
PPRINT(write, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_loadavg()
{
glibtop_loadavg buf;
glibtop_get_loadavg(&buf);
HEADER_PPRINT(glibtop_get_loadavg);
PPRINT(flags, "%#llx");
PPRINT_ARRAY(loadavg, 3, "%f");
PPRINT(nr_running, "%llu");
PPRINT(nr_tasks, "%llu");
PPRINT(last_pid, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_mem()
{
glibtop_mem buf;
glibtop_get_mem(&buf);
HEADER_PPRINT(glibtop_get_mem);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(used, "%llu");
PPRINT(free, "%llu");
PPRINT(shared, "%llu");
PPRINT(buffer, "%llu");
PPRINT(cached, "%llu");
PPRINT(user, "%llu");
PPRINT(locked, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_mountlist(gboolean allfs)
{
glibtop_mountlist buf;
glibtop_mountentry *entries;
size_t i;
entries = glibtop_get_mountlist(&buf, allfs);
HEADER_PPRINT(glibtop_get_mountlist);
PPRINT(flags, "%#llx");
PPRINT(number, "%llu");
PPRINT(total, "%llu");
PPRINT(size, "%llu");
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
for(i = 0; i < buf.number; ++i)
{
printf("\t\t .%lu = { .dev = %#llx,"
" .devname = \"%s\","
" .mountir = \"%s\","
" .type = \"%s\" }\n",
(unsigned long) i, entries[i].dev,
entries[i].devname,
entries[i].mountdir,
entries[i].type);
}
printf("\t\t}\n");
FOOTER_PPRINT();
g_free(entries);
}
static void pprint_get_msg_limits()
{
glibtop_msg_limits buf;
glibtop_get_msg_limits(&buf);
HEADER_PPRINT(glibtop_get_msg_limits);
PPRINT(flags, "%#llx");
PPRINT(msgpool, "%llu");
PPRINT(msgmap, "%llu");
PPRINT(msgmax, "%llu");
PPRINT(msgmnb, "%llu");
PPRINT(msgmni, "%llu");
PPRINT(msgssz, "%llu");
PPRINT(msgtql, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_netload(const char *iface)
{
glibtop_netload buf;
glibtop_get_netload(&buf, iface);
HEADER_PPRINT(glibtop_get_netload);
FOOTER_PPRINT();
}
static void pprint_get_swap()
{
glibtop_swap buf;
glibtop_get_swap(&buf);
HEADER_PPRINT(glibtop_get_swap);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(used, "%llu");
PPRINT(free, "%llu");
PPRINT(pagein, "%llu");
PPRINT(pageout, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_uptime()
{
glibtop_uptime buf;
glibtop_get_uptime(&buf);
HEADER_PPRINT(glibtop_get_uptime);
PPRINT(flags, "%#llx");
PPRINT(uptime, "%f");
PPRINT(idletime, "%f");
PPRINT(boot_time, "%llu");
FOOTER_PPRINT();
}
int main()
{
glibtop_init();
pprint_get_cpu();
pprint_get_fsusage("/");
pprint_get_loadavg();
pprint_get_mem();
pprint_get_mountlist(TRUE);
pprint_get_mountlist(FALSE);
pprint_get_msg_limits();
/* pprint_get_netload("lo"); */
pprint_get_swap();
/* pprint_get_sysinfo(); */
pprint_get_uptime();
glibtop_close();
return 0;
}

View File

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

View File

@@ -22,12 +22,11 @@
*/ */
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
@@ -154,10 +153,10 @@ main (int argc, char *argv [])
} }
if (filename && (filename != maps [i].filename)) if (filename && (filename != maps [i].filename))
g_free ((void*)filename); glibtop_free (filename);
} }
g_free (maps); glibtop_free (maps);
glibtop_close (); glibtop_close ();

View File

@@ -23,12 +23,11 @@
#include <locale.h> #include <locale.h>
#include <math.h> #include <math.h>
#include <stdio.h>
#include <libintl.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/union.h> #include <glibtop/union.h>
#include <glibtop/sysdeps.h> #include <glibtop/sysdeps.h>
@@ -46,7 +45,7 @@ output (pid_t pid)
double b_total, b_utime, b_stime; double b_total, b_utime, b_stime;
double s_total, s_utime, s_stime; double s_total, s_utime, s_stime;
double my_utime, my_stime; double my_utime, my_stime;
unsigned int ncpu; int ncpu;
#endif #endif
printf ("\n"); printf ("\n");
@@ -152,7 +151,7 @@ output (pid_t pid)
(unsigned long) data.proc_args.size, (unsigned long) data.proc_args.size,
args ? args : ""); args ? args : "");
g_free (args); glibtop_free (args);
printf ("\n"); printf ("\n");
@@ -292,7 +291,7 @@ main (int argc, char *argv [])
output (pid); output (pid);
} }
g_free (ptr); glibtop_free (ptr);
exit (0); exit (0);
} }

View File

@@ -21,17 +21,12 @@
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#include <config.h>
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <math.h> #include <math.h>
#include <stdio.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/cpu.h> #include <glibtop/cpu.h>
#include <glibtop/xmalloc.h>
#include "libgtop-i18n.h"
int int
main (int argc, char *argv []) main (int argc, char *argv [])

View File

@@ -22,13 +22,11 @@
*/ */
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/sysdeps.h> #include <glibtop/xmalloc.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
@@ -71,7 +69,7 @@ main (int argc, char *argv [])
glibtop_get_sysdeps (&sysdeps); glibtop_get_sysdeps (&sysdeps);
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0) #define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0)
printf ("Sysdeps (0x%08lx):\n\n" printf ("Sysdeps (0x%08lx):\n\n"
"\tfeatures:\t\t0x%08lx\n\n" "\tfeatures:\t\t0x%08lx\n\n"

View File

@@ -22,13 +22,12 @@
*/ */
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/union.h> #include <glibtop/union.h>
#include <glibtop/sysdeps.h> #include <glibtop/sysdeps.h>

View File

@@ -22,12 +22,11 @@
*/ */
#include <locale.h> #include <locale.h>
#include <stdio.h>
#include <libintl.h>
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/close.h> #include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
@@ -188,7 +187,7 @@ main (int argc, char *argv [])
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) { for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
ptr = glibtop_get_proclist (&data.proclist, 0, 0); ptr = glibtop_get_proclist (&data.proclist, 0, 0);
g_free (ptr); glibtop_free (ptr);
} }
getrusage (RUSAGE_SELF, &rusage_end); getrusage (RUSAGE_SELF, &rusage_end);

View File

@@ -24,9 +24,6 @@
#ifndef __GLIBTOP_H__ #ifndef __GLIBTOP_H__
#define __GLIBTOP_H__ #define __GLIBTOP_H__
typedef struct _glibtop glibtop;
#include <glibtop/global.h> #include <glibtop/global.h>
#include <glibtop_server.h> #include <glibtop_server.h>
@@ -40,11 +37,10 @@ typedef struct _glibtop glibtop;
#define GLIBTOP_MOUNTENTRY_LEN 79 #define GLIBTOP_MOUNTENTRY_LEN 79
#endif #endif
typedef struct _glibtop glibtop;
#include <glibtop/sysdeps.h> #include <glibtop/sysdeps.h>
#include <glibtop/close.h>
struct _glibtop struct _glibtop
{ {
unsigned flags; unsigned flags;
@@ -88,4 +84,24 @@ glibtop_init_s (glibtop **server_ptr,
unsigned long features, unsigned long features,
unsigned flags); unsigned flags);
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
void glibtop_boot_guile (void);
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
void glibtop_boot_guile_names (void);
#ifndef GLIBTOP_NAMES
#define GLIBTOP_NAMES
#endif
#endif
#endif #endif

View File

@@ -1,4 +1,2 @@
SUBDIRS = glibtop SUBDIRS = glibtop
EXTRA_DIST = libgtop-i18n.h

View File

@@ -4,7 +4,7 @@ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
sem_limits.h uptime.h command.h mem.h proclist.h \ sem_limits.h uptime.h command.h mem.h proclist.h \
proctime.h shm_limits.h version.h cpu.h msg_limits.h \ proctime.h shm_limits.h version.h cpu.h msg_limits.h \
procmem.h procuid.h swap.h write.h error.h open.h \ procmem.h procuid.h swap.h write.h error.h open.h \
procsegment.h read.h sysdeps.h global.h \ procsegment.h read.h sysdeps.h xmalloc.h global.h \
procsignal.h read_data.h union.h types.h gnuserv.h \ procsignal.h read_data.h union.h types.h gnuserv.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \ parameter.h mountlist.h fsusage.h procmap.h signal.h \
inodedb.h sysinfo.h ppp.h procargs.h netload.h inodedb.h sysinfo.h ppp.h procargs.h netload.h

50
include/glibtop/array.h Normal file
View File

@@ -0,0 +1,50 @@
/* -*- 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_ARRAY_H__
#define __GLIBTOP_ARRAY_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
#define GLIBTOP_ARRAY_NUMBER 0
#define GLIBTOP_ARRAY_SIZE 1
#define GLIBTOP_ARRAY_TOTAL 2
#define GLIBTOP_MAX_ARRAY 3
typedef struct _glibtop_array glibtop_array;
struct _glibtop_array
{
u_int64_t flags,
number, /* GLIBTOP_ARRAY_NUMBER */
size, /* GLIBTOP_ARRAY_SIZE */
total; /* GLIBTOP_ARRAY_TOTAL */
};
#endif

View File

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

View File

@@ -28,7 +28,7 @@
#include <glibtop/sysdeps.h> #include <glibtop/sysdeps.h>
#include <glibtop/union.h> #include <glibtop/union.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_CMND_QUIT 0 #define GLIBTOP_CMND_QUIT 0
#define GLIBTOP_CMND_SYSDEPS 1 #define GLIBTOP_CMND_SYSDEPS 1
@@ -69,8 +69,8 @@ typedef union _glibtop_response_union glibtop_response_union;
struct _glibtop_command struct _glibtop_command
{ {
guint64 command; u_int64_t command;
guint64 size, data_size; u_int64_t size, data_size;
char parameter [_GLIBTOP_PARAM_SIZE]; char parameter [_GLIBTOP_PARAM_SIZE];
}; };
@@ -82,8 +82,8 @@ union _glibtop_response_union
struct _glibtop_response struct _glibtop_response
{ {
gint64 offset; int64_t offset;
guint64 size, data_size; u_int64_t size, data_size;
glibtop_response_union u; glibtop_response_union u;
}; };
@@ -97,6 +97,6 @@ void *
glibtop_call_s (glibtop *server, unsigned command, size_t send_size, glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
const void *send_buf, size_t recv_size, void *recv_buf); const void *send_buf, size_t recv_size, void *recv_buf);
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -0,0 +1,91 @@
/* -*- 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_COMPAT10_H__
#define __GLIBTOP_COMPAT10_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
/* glibtop_cpu */
#define GLIBTOP_XCPU_TOTAL GLIBTOP_CPU_XCPU_TOTAL
#define GLIBTOP_XCPU_USER GLIBTOP_CPU_XCPU_USER
#define GLIBTOP_XCPU_NICE GLIBTOP_CPU_XCPU_NICE
#define GLIBTOP_XCPU_SYS GLIBTOP_CPU_XCPU_SYS
#define GLIBTOP_XCPU_IDLE GLIBTOP_CPU_XCPU_IDLE
#define GLIBTOP_XCPU_FLAGS GLIBTOP_CPU_XCPU_FLAGS
/* glibtop_proclist */
#define GLIBTOP_PROCLIST_NUMBER GLIBTOP_ARRAY_NUMBER
#define GLIBTOP_PROCLIST_SIZE GLIBTOP_ARRAY_SIZE
#define GLIBTOP_PROCLIST_TOTAL GLIBTOP_ARRAY_TOTAL
#define GLIBTOP_MAX_PROCLIST GLIBTOP_MAX_ARRAY
typedef struct _glibtop_array glibtop_proclist;
/* glibtop_mountlist */
#define GLIBTOP_MOUNTLIST_NUMBER GLIBTOP_ARRAY_NUMBER
#define GLIBTOP_MOUNTLIST_SIZE GLIBTOP_ARRAY_SIZE
#define GLIBTOP_MOUNTLIST_TOTAL GLIBTOP_ARRAY_TOTAL
#define GLIBTOP_MAX_MOUNTLIST GLIBTOP_MAX_ARRAY
typedef struct _glibtop_array glibtop_mountlist;
/* glibtop_proc_args */
#define GLIBTOP_PROC_ARGS_SIZE 0
#define GLIBTOP_MAX_PROC_ARGS 1
typedef struct _glibtop_array glibtop_proc_args;
/* glibtop_proc_map */
#define GLIBTOP_PROC_MAP_NUMBER GLIBTOP_ARRAY_NUMBER
#define GLIBTOP_PROC_MAP_SIZE GLIBTOP_ARRAY_SIZE
#define GLIBTOP_PROC_MAP_TOTAL GLIBTOP_ARRAY_TOTAL
#define GLIBTOP_MAX_PROC_MAP GLIBTOP_MAX_ARRAY
typedef struct _glibtop_array glibtop_proc_map;
/* glibtop_interface_names */
#define GLIBTOP_INTERFACE_NAMES_NUMBER GLIBTOP_ARRAY_NUMBER
#define GLIBTOP_INTERFACE_NAMES_SIZE GLIBTOP_ARRAY_SIZE
#define GLIBTOP_INTERFACE_NAMES_TOTAL GLIBTOP_ARRAY_TOTAL
#define GLIBTOP_MAX_INTERFACE_NAMES GLIBTOP_MAX_ARRAY
typedef struct _glibtop_array glibtop_interface_names;
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_CPU_TOTAL 0 #define GLIBTOP_CPU_TOTAL 0
#define GLIBTOP_CPU_USER 1 #define GLIBTOP_CPU_USER 1
@@ -41,9 +41,8 @@ G_BEGIN_DECLS
#define GLIBTOP_XCPU_NICE 8 #define GLIBTOP_XCPU_NICE 8
#define GLIBTOP_XCPU_SYS 9 #define GLIBTOP_XCPU_SYS 9
#define GLIBTOP_XCPU_IDLE 10 #define GLIBTOP_XCPU_IDLE 10
#define GLIBTOP_XCPU_FLAGS 11
#define GLIBTOP_MAX_CPU 12 #define GLIBTOP_MAX_CPU 11
/* Nobody should really be using more than 4 processors. */ /* Nobody should really be using more than 4 processors. */
#define GLIBTOP_NCPU 4 #define GLIBTOP_NCPU 4
@@ -52,7 +51,7 @@ typedef struct _glibtop_cpu glibtop_cpu;
struct _glibtop_cpu struct _glibtop_cpu
{ {
guint64 flags, u_int64_t flags,
total, /* GLIBTOP_CPU_TOTAL */ total, /* GLIBTOP_CPU_TOTAL */
user, /* GLIBTOP_CPU_USER */ user, /* GLIBTOP_CPU_USER */
nice, /* GLIBTOP_CPU_NICE */ nice, /* GLIBTOP_CPU_NICE */
@@ -63,8 +62,7 @@ struct _glibtop_cpu
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */ xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */ xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */ xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
xcpu_idle [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IDLE */ xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
xcpu_flags; /* GLIBTOP_XCPU_IDLE */
}; };
#define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu) #define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu)
@@ -96,6 +94,6 @@ extern const char *glibtop_descriptions_cpu [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -26,7 +26,16 @@
#include <glibtop.h> #include <glibtop.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_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, 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_warn_vr (glibtop *server, char *format, va_list args);
@@ -34,11 +43,45 @@ void glibtop_warn_vr (glibtop *server, char *format, va_list args);
void glibtop_error_io_vr (glibtop *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_warn_io_vr (glibtop *server, char *format, int, va_list args);
void G_GNUC_UNUSED glibtop_error_r (glibtop *server, char *format, ...); static void G_GNUC_UNUSED
void G_GNUC_UNUSED glibtop_warn_r (glibtop *server, char *format, ...); glibtop_error_r (glibtop *server, char *format, ...)
void G_GNUC_UNUSED glibtop_error_io_r (glibtop *server, char *format, ...); {
void G_GNUC_UNUSED glibtop_warn_io_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__ #ifdef __GNUC__
@@ -48,23 +91,46 @@ void G_GNUC_UNUSED glibtop_warn_io_r (glibtop *server, char *format, ...);
#define glibtop_error_io(p1, args...) glibtop_error_io_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) #define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args)
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #else /* no __GNUC__ */
#define glibtop_error(p1, ...) glibtop_error_r(glibtop_global_server , p1 , __VA_ARGS__) static void
#define glibtop_warn(p1, ...) glibtop_warn_r(glibtop_global_server , p1 , __VA_ARGS__) glibtop_error (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (glibtop_global_server, format, args);
va_end (args);
}
#define glibtop_error_io(p1, ...) glibtop_error_io_r(glibtop_global_server , p1 , __VA_ARGS__) static void
#define glibtop_warn_io(p1, ...) glibtop_warn_io_r(glibtop_global_server , p1 , __VA_ARGS__) glibtop_warn (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (glibtop_global_server, format, args);
va_end (args);
}
#else /* no __GNUC__, no C99*/ 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);
}
void glibtop_error (char *format, ...); static void
void glibtop_warn (char *format, ...); glibtop_warn_io (char *format, ...)
void glibtop_error_io (char *format, ...); {
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__ */ #endif /* no __GNUC__ */
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -1,6 +1,7 @@
/* $Id$ */ /* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig /* 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. Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
@@ -26,31 +27,26 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_FSUSAGE_BLOCKS 0 #define GLIBTOP_FSUSAGE_BLOCKS 0
#define GLIBTOP_FSUSAGE_BFREE 1 #define GLIBTOP_FSUSAGE_BFREE 1
#define GLIBTOP_FSUSAGE_BAVAIL 2 #define GLIBTOP_FSUSAGE_BAVAIL 2
#define GLIBTOP_FSUSAGE_FILES 3 #define GLIBTOP_FSUSAGE_FILES 3
#define GLIBTOP_FSUSAGE_FFREE 4 #define GLIBTOP_FSUSAGE_FFREE 4
#define GLIBTOP_FSUSAGE_BLOCK_SIZE 5
#define GLIBTOP_FSUSAGE_READ 6
#define GLIBTOP_FSUSAGE_WRITE 7
#define GLIBTOP_MAX_FSUSAGE 8
#define GLIBTOP_MAX_FSUSAGE 5
typedef struct _glibtop_fsusage glibtop_fsusage; typedef struct _glibtop_fsusage glibtop_fsusage;
struct _glibtop_fsusage struct _glibtop_fsusage
{ {
guint64 flags, u_int64_t flags,
blocks, /* Total number of blocks. */ blocks, /* Total blocks. */
bfree, /* Free blocks available to superuser. */ bfree, /* Free blocks available to superuser. */
bavail, /* Free blocks available to non-superuser. */ bavail, /* Free blocks available to non-superuser. */
files, /* Total file nodes. */ files, /* Total file nodes. */
ffree; /* Free file nodes. */ ffree; /* Free file nodes. */
guint32 block_size; /* Size of a block in bytes. */
guint64 read, write; /* Total blocks read and written */
}; };
#define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk) #define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk)
@@ -71,6 +67,6 @@ extern const char *glibtop_descriptions_fsusage [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -0,0 +1,50 @@
/* -*- 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_GLIB_ARRAYS_H__
#define __GLIBTOP_GLIB_ARRAYS_H__
#include <glibtop.h>
#include <glibtop/array.h>
#include <glibtop/global.h>
#include <glib.h>
G_BEGIN_DECLS
GPtrArray *
glibtop_get_proc_args_as_array_l (glibtop_client *client, pid_t pid);
GArray *
glibtop_get_proclist_as_array_l (glibtop_client *client, int64_t which, int64_t arg);
GPtrArray *
glibtop_get_proc_map_as_array_l (glibtop_client *client, pid_t pid);
GPtrArray *
glibtop_get_mountlist_as_array_l (glibtop_client *client, int all_fs);
G_END_DECLS
#endif

View File

@@ -40,7 +40,7 @@ typedef struct _glibtop_backend_module glibtop_backend_module;
typedef struct _glibtop_call_vector glibtop_call_vector; typedef struct _glibtop_call_vector glibtop_call_vector;
typedef int (*glibtop_backend_open_func_t) (glibtop_server *, glibtop_backend *, typedef int (*glibtop_backend_open_func_t) (glibtop_server *, glibtop_backend *,
guint64, const char **); u_int64_t, const char **);
typedef int (*glibtop_backend_close_func_t) (glibtop_server *, glibtop_backend *, typedef int (*glibtop_backend_close_func_t) (glibtop_server *, glibtop_backend *,
glibtop_closure *); glibtop_closure *);

View File

@@ -65,7 +65,7 @@ GType
glibtop_backend_get_type (void); glibtop_backend_get_type (void);
glibtop_backend * glibtop_backend *
glibtop_backend_get (const char *backend_name, guint64 features, glibtop_backend_get (const char *backend_name, u_int64_t features,
const char **backend_args, GError **error); const char **backend_args, GError **error);
void void

View File

@@ -82,7 +82,7 @@ glibtop_client_propagate_warning (glibtop_client *client, GError *error);
void void
glibtop_client_open_backend (glibtop_client *client, const char *backend_name, glibtop_client_open_backend (glibtop_client *client, const char *backend_name,
guint64 features, const char **backend_args); u_int64_t features, const char **backend_args);
void void
glibtop_client_add_backend (glibtop_client *client, glibtop_client_add_backend (glibtop_client *client,

View File

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

View File

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

View File

@@ -0,0 +1,203 @@
/* -*- 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_INTERFACES_H__
#define __GLIBTOP_INTERFACES_H__
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/compat_10.h>
#include <glibtop/array.h>
G_BEGIN_DECLS
#define GLIBTOP_INTERFACE_IF_FLAGS 0
#define GLIBTOP_INTERFACE_TRANSPORT 1
#define GLIBTOP_INTERFACE_TYPE 2
#define GLIBTOP_INTERFACE_NUMBER 3
#define GLIBTOP_INTERFACE_INSTANCE 4
#define GLIBTOP_INTERFACE_NUM_LOGICAL 5
#define GLIBTOP_INTERFACE_NAME 6
#define GLIBTOP_MAX_INTERFACE 7
#define GLIBTOP_IFADDR_TRANSPORT 0
#define GLIBTOP_IFADDR_ADDR_LEN 1
#define GLIBTOP_IFADDR_ADDRESS 2
#define GLIBTOP_IFADDR_SUBNET 3
#define GLIBTOP_IFADDR_SCOPE 4
#define GLIBTOP_MAX_IFADDR 5
typedef struct _glibtop_interface glibtop_interface;
typedef struct _glibtop_ifaddr glibtop_ifaddr;
typedef enum _glibtop_interface_type glibtop_interface_type;
typedef enum _glibtop_transport glibtop_transport;
typedef enum _glibtop_protocol glibtop_protocol;
typedef enum _glibtop_ipv6_scope glibtop_ipv6_scope;
typedef enum _glibtop_strategy glibtop_strategy;
typedef enum _glibtop_interface_flags glibtop_interface_flags;
enum _glibtop_protocol {
GLIBTOP_PROTOCOL_OTHERS = 0,
GLIBTOP_PROTOCOL_ICMP = 1 << 0,
GLIBTOP_PROTOCOL_TCP = 1 << 1,
GLIBTOP_PROTOCOL_UDP = 1 << 2,
GLIBTOP_PROTOCOL_IGMP = 1 << 3,
GLIBTOP_PROTOCOL_RAW = 1 << 4,
GLIBTOP_PROTOCOL_ICMP6 = 1 << 5,
GLIBTOP_PROTOCOL_TCP6 = 1 << 6,
GLIBTOP_PROTOCOL_UDP6 = 1 << 7,
GLIBTOP_PROTOCOL_IGMP6 = 1 << 8,
GLIBTOP_PROTOCOL_RAW6 = 1 << 9
};
enum _glibtop_transport {
GLIBTOP_TRANSPORT_DEFAULT = 0,
GLIBTOP_TRANSPORT_IPV4 = 1 << 0,
GLIBTOP_TRANSPORT_IPV6 = 1 << 1,
GLIBTOP_TRANSPORT_IPX = 1 << 2,
GLIBTOP_TRANSPORT_X25 = 1 << 3,
GLIBTOP_TRANSPORT_DECNET = 1 << 4,
GLIBTOP_TRANSPORT_APPLETALK = 1 << 5,
GLIBTOP_TRANSPORT_NETBEUI = 1 << 6
};
#define GLIBTOP_TRANSPORT_ALL GLIBTOP_UNLIMITED
#define GLIBTOP_PROTOCOL_ALL GLIBTOP_UNLIMITED
enum _glibtop_interface_type {
GLIBTOP_INTERFACE_ALL = 0,
GLIBTOP_INTERFACE_OTHER,
/* Network interfaces */
GLIBTOP_INTERFACE_ETHERNET = 101,
GLIBTOP_INTERFACE_FDDI,
GLIBTOP_INTERFACE_FRAME_RELAY,
GLIBTOP_INTERFACE_TOKEN_RING,
GLIBTOP_INTERFACE_ARCNET,
GLIBTOP_INTERFACE_ATM,
/* Dummy interfaces */
GLIBTOP_INTERFACE_LOOPBACK = 501,
GLIBTOP_INTERFACE_DUMMY,
/* Dialup interfaces */
GLIBTOP_INTERFACE_PARA = 801,
GLIBTOP_INTERFACE_SLIP,
GLIBTOP_INTERFACE_PPP,
GLIBTOP_INTERFACE_ISDN
};
enum _glibtop_ipv6_scope {
GLIBTOP_IPV6_SCOPE_GLOBAL = 0,
GLIBTOP_IPV6_SCOPE_LOOPBACK = 1 << 1,
GLIBTOP_IPV6_SCOPE_LINKLOCAL = 1 << 2,
GLIBTOP_IPV6_SCOPE_SITELOCAL = 1 << 3,
GLIBTOP_IPV6_SCOPE_COMPATv4 = 1 << 4,
GLIBTOP_IPV6_SCOPE_UNKNOWN = 1 << 5
};
enum _glibtop_strategy {
GLIBTOP_INTERFACES_ALL = 0,
GLIBTOP_INTERFACES_BEST_MATCHING,
GLIBTOP_INTERFACES_ONLY_THIS_ONE,
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,
GLIBTOP_IF_FLAGS_DEBUG,
GLIBTOP_IF_FLAGS_LOOPBACK,
GLIBTOP_IF_FLAGS_POINTOPOINT,
GLIBTOP_IF_FLAGS_RUNNING,
GLIBTOP_IF_FLAGS_NOARP,
GLIBTOP_IF_FLAGS_PROMISC,
GLIBTOP_IF_FLAGS_ALLMULTI,
GLIBTOP_IF_FLAGS_OACTIVE,
GLIBTOP_IF_FLAGS_SIMPLEX,
GLIBTOP_IF_FLAGS_LINK0,
GLIBTOP_IF_FLAGS_LINK1,
GLIBTOP_IF_FLAGS_LINK2,
GLIBTOP_IF_FLAGS_ALTPHYS,
GLIBTOP_IF_FLAGS_MULTICAST
};
struct _glibtop_ifaddr
{
u_int64_t flags,
transport; /* GLIBTOP_IFADDR_TRANSPORT */
u_int8_t addr_len, /* GLIBTOP_IFADDR_ADDR_LEN */
address [GLIBTOP_IFADDR_LEN]; /* GLIBTOP_IFADDR_ADDRESS */
u_int64_t subnet, /* GLIBTOP_IFADDR_SUBNET */
scope; /* GLIBTOP_IFADDR_SCOPE */
};
struct _glibtop_interface
{
u_int64_t flags,
if_flags, /* GLIBTOP_INTERFACE_IF_FLAGS */
transport, /* GLIBTOP_INTERFACE_TRANSPORT */
type, /* GLIBTOP_INTERFACE_TYPE */
number, /* GLIBTOP_INTERFACE_NUMBER */
instance, /* GLIBTOP_INTERFACE_INSTANCE */
num_logical; /* GLIBTOP_INTERFACE_NUM_LOGICAL */
char name [GLIBTOP_INTERFACE_LEN];
};
#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_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 *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 *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
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_interface_names [];
extern const unsigned glibtop_types_interface_names [];
extern const char *glibtop_labels_interface_names [];
extern const char *glibtop_descriptions_interface_names [];
#endif
G_END_DECLS
#endif

View File

@@ -45,8 +45,8 @@ G_BEGIN_DECLS
/* Length of a network interface address in bytes. */ /* Length of a network interface address in bytes. */
#define GLIBTOP_IFADDR_LEN 16 #define GLIBTOP_IFADDR_LEN 16
/* This is ((guint64)-1) */ /* This is ((u_int64_t)-1) */
#define GLIBTOP_UNLIMITED (~(guint64)0) #define GLIBTOP_UNLIMITED (~(u_int64_t)0)
/* Maximum length of a backend name. */ /* Maximum length of a backend name. */
#define GLIBTOP_BACKEND_NAME_LEN 40 #define GLIBTOP_BACKEND_NAME_LEN 40

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_LOADAVG_LOADAVG 0 #define GLIBTOP_LOADAVG_LOADAVG 0
#define GLIBTOP_LOADAVG_NR_RUNNING 1 #define GLIBTOP_LOADAVG_NR_RUNNING 1
@@ -40,9 +40,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
struct _glibtop_loadavg struct _glibtop_loadavg
{ {
guint64 flags; u_int64_t flags;
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */ double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
guint64 nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */ u_int64_t nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */ nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */ last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
}; };
@@ -76,6 +76,6 @@ extern const char *glibtop_descriptions_loadavg [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_MEM_TOTAL 0 #define GLIBTOP_MEM_TOTAL 0
#define GLIBTOP_MEM_USED 1 #define GLIBTOP_MEM_USED 1
@@ -44,7 +44,7 @@ typedef struct _glibtop_mem glibtop_mem;
struct _glibtop_mem struct _glibtop_mem
{ {
guint64 flags, u_int64_t flags,
total, /* GLIBTOP_MEM_TOTAL */ total, /* GLIBTOP_MEM_TOTAL */
used, /* GLIBTOP_MEM_USED */ used, /* GLIBTOP_MEM_USED */
free, /* GLIBTOP_MEM_FREE */ free, /* GLIBTOP_MEM_FREE */
@@ -84,6 +84,6 @@ extern const char *glibtop_descriptions_mem [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_MOUNTLIST_NUMBER 0 #define GLIBTOP_MOUNTLIST_NUMBER 0
#define GLIBTOP_MOUNTLIST_TOTAL 1 #define GLIBTOP_MOUNTLIST_TOTAL 1
@@ -41,7 +41,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
struct _glibtop_mountentry struct _glibtop_mountentry
{ {
guint64 dev; u_int64_t dev;
char devname [GLIBTOP_MOUNTENTRY_LEN+1]; char devname [GLIBTOP_MOUNTENTRY_LEN+1];
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1]; char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
char type [GLIBTOP_MOUNTENTRY_LEN+1]; char type [GLIBTOP_MOUNTENTRY_LEN+1];
@@ -49,7 +49,7 @@ struct _glibtop_mountentry
struct _glibtop_mountlist struct _glibtop_mountlist
{ {
guint64 flags, u_int64_t flags,
number, /* GLIBTOP_MOUNTLIST_NUMBER */ number, /* GLIBTOP_MOUNTLIST_NUMBER */
total, /* GLIBTOP_MOUNTLIST_TOTAL */ total, /* GLIBTOP_MOUNTLIST_TOTAL */
size; /* GLIBTOP_MOUNTLIST_SIZE */ size; /* GLIBTOP_MOUNTLIST_SIZE */
@@ -76,6 +76,6 @@ extern const char *glibtop_descriptions_mountlist [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_IPC_MSGPOOL 0 #define GLIBTOP_IPC_MSGPOOL 0
#define GLIBTOP_IPC_MSGMAP 1 #define GLIBTOP_IPC_MSGMAP 1
@@ -43,7 +43,7 @@ typedef struct _glibtop_msg_limits glibtop_msg_limits;
struct _glibtop_msg_limits struct _glibtop_msg_limits
{ {
guint64 flags, u_int64_t flags,
msgpool, /* GLIBTOP_IPC_MSGPOOL */ msgpool, /* GLIBTOP_IPC_MSGPOOL */
msgmap, /* GLIBTOP_IPC_MSGMAP */ msgmap, /* GLIBTOP_IPC_MSGMAP */
msgmax, /* GLIBTOP_IPC_MSGMAX */ msgmax, /* GLIBTOP_IPC_MSGMAX */
@@ -82,7 +82,7 @@ extern const char *glibtop_descriptions_msg_limits [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

83
include/glibtop/netinfo.h Normal file
View File

@@ -0,0 +1,83 @@
/* -*- 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_NETINFO_H__
#define __GLIBTOP_NETINFO_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
#define GLIBTOP_NETINFO_IF_FLAGS 0
#define GLIBTOP_NETINFO_TRANSPORT 1
#define GLIBTOP_NETINFO_MTU 2
#define GLIBTOP_NETINFO_SUBNET 3
#define GLIBTOP_NETINFO_ADDRESS 4
#define GLIBTOP_MAX_NETINFO 5
typedef struct _glibtop_netinfo glibtop_netinfo;
#include <glibtop/interfaces.h>
struct _glibtop_netinfo
{
u_int64_t flags,
if_flags, /* GLIBTOP_NETINFO_IF_FLAGS */
transport, /* GLIBTOP_NETINFO_TRANSPORT */
mtu; /* GLIBTOP_NETINFO_MTU */
};
#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_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 *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 *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
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_netinfo [];
extern const unsigned glibtop_types_netinfo [];
extern const char *glibtop_labels_netinfo [];
extern const char *glibtop_descriptions_netinfo [];
#endif
G_END_DECLS
#endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_NETLOAD_IF_FLAGS 0 #define GLIBTOP_NETLOAD_IF_FLAGS 0
#define GLIBTOP_NETLOAD_MTU 1 #define GLIBTOP_NETLOAD_MTU 1
@@ -43,12 +43,8 @@ G_BEGIN_DECLS
#define GLIBTOP_NETLOAD_ERRORS_OUT 11 #define GLIBTOP_NETLOAD_ERRORS_OUT 11
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12 #define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
#define GLIBTOP_NETLOAD_COLLISIONS 13 #define GLIBTOP_NETLOAD_COLLISIONS 13
#define GLIBTOP_NETLOAD_ADDRESS6 14
#define GLIBTOP_NETLOAD_PREFIX6 15
#define GLIBTOP_NETLOAD_SCOPE6 16
#define GLIBTOP_NETLOAD_HWADDRESS 17
#define GLIBTOP_MAX_NETLOAD 18 #define GLIBTOP_MAX_NETLOAD 14
typedef struct _glibtop_netload glibtop_netload; typedef struct _glibtop_netload glibtop_netload;
@@ -71,25 +67,14 @@ enum {
GLIBTOP_IF_FLAGS_MULTICAST GLIBTOP_IF_FLAGS_MULTICAST
}; };
enum GLIBTOP_IF_IN6_SCOPE
{
GLIBTOP_IF_IN6_SCOPE_UNKNOWN = 0,
GLIBTOP_IF_IN6_SCOPE_LINK = 1,
GLIBTOP_IF_IN6_SCOPE_SITE = 2,
GLIBTOP_IF_IN6_SCOPE_GLOBAL = 4,
GLIBTOP_IF_IN6_SCOPE_HOST = 8
};
struct _glibtop_netload struct _glibtop_netload
{ {
guint64 flags, u_int64_t flags,
if_flags; /* GLIBTOP_NETLOAD_IF_FLAGS */ if_flags, /* GLIBTOP_NETLOAD_IF_FLAGS */
mtu, /* GLIBTOP_NETLOAD_MTU */
guint32 mtu, /* GLIBTOP_NETLOAD_MTU */
subnet, /* GLIBTOP_NETLOAD_SUBNET */ subnet, /* GLIBTOP_NETLOAD_SUBNET */
address; /* GLIBTOP_NETLOAD_ADDRESS */ address, /* GLIBTOP_NETLOAD_ADDRESS */
packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
guint64 packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */ packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/ packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */ bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */
@@ -99,12 +84,6 @@ struct _glibtop_netload
errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */ errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */
errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */ errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */ collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
guint8 address6[16]; /* GLIBTOP_NETLOAD_ADDRESS6 */
guint8 prefix6[16]; /* GLIBTOP_NETLOAD_PREXIF6 */
guint8 scope6; /* GLIBTOP_NETLOAD_SCOPE6 */
guint8 hwaddress[8]; /* GLIBTOP_NETLOAD_HWADDRESS */
}; };
#define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface) #define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface)
@@ -136,6 +115,6 @@ extern const char *glibtop_descriptions_netload [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

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

View File

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

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PPP_STATE 0 #define GLIBTOP_PPP_STATE 0
#define GLIBTOP_PPP_BYTES_IN 1 #define GLIBTOP_PPP_BYTES_IN 1
@@ -45,7 +45,7 @@ enum {
struct _glibtop_ppp struct _glibtop_ppp
{ {
guint64 flags, u_int64_t flags,
state, /* GLIBTOP_PPP_STATE */ state, /* GLIBTOP_PPP_STATE */
bytes_in, /* GLIBTOP_PPP_BYTES_IN */ bytes_in, /* GLIBTOP_PPP_BYTES_IN */
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */ bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
@@ -80,6 +80,6 @@ extern const char *glibtop_descriptions_ppp [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_ARGS_SIZE 0 #define GLIBTOP_PROC_ARGS_SIZE 0
@@ -37,75 +37,35 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
struct _glibtop_proc_args struct _glibtop_proc_args
{ {
guint64 flags, u_int64_t flags,
size; /* GLIBTOP_PROC_ARGS_SIZE */ size; /* GLIBTOP_PROC_ARGS_SIZE */
}; };
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
#if GLIBTOP_SUID_PROC_ARGS
#define glibtop_get_proc_args_r glibtop_get_proc_args_p
#else
#define glibtop_get_proc_args_r glibtop_get_proc_args_s
#endif
char * char *
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf, glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len); pid_t pid, unsigned max_len);
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
#if GLIBTOP_SUID_PROC_ARGS #if GLIBTOP_SUID_PROC_ARGS
void glibtop_init_proc_args_p (glibtop *server);
# define glibtop_get_proc_args_r glibtop_get_proc_args_p char *
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
void glibtop_init_proc_args_p (glibtop *server);
char *
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len); pid_t pid, unsigned max_len);
#else
void glibtop_init_proc_args_s (glibtop *server);
char *
#else /* !GLIBTOP_SUID_PROC_ARGS */ glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
# define glibtop_get_proc_args_r glibtop_get_proc_args_s
void glibtop_init_proc_args_s (glibtop *server);
char *
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len); pid_t pid, unsigned max_len);
#endif /* GLIBTOP_SUID_PROC_ARGS */ #endif
/*
* NEW functions
*/
char **
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
#define glibtop_get_proc_argv(proc_args,pid,max_len) glibtop_get_proc_argv_l(glibtop_global_server, proc_args, pid, max_len)
#if GLIBTOP_SUID_PROC_ARGS
# define glibtop_get_proc_argv_r glibtop_get_proc_args_p
# define glibtop_init_proc_argv_p glibtop_init_proc_args_p
char **
glibtop_get_proc_argv_p (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
#else /* !GLIBTOP_SUID_PROC_ARGS */
# define glibtop_get_proc_argv_r glibtop_get_proc_args_s
# define glibtop_init_proc_argv_s glibtop_init_proc_args_s
char **
glibtop_get_proc_argv_s (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
#endif /* GLIBTOP_SUID_PROC_ARGS */
#ifdef GLIBTOP_NAMES #ifdef GLIBTOP_NAMES
@@ -118,6 +78,6 @@ extern const char *glibtop_descriptions_proc_args [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #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

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0 #define GLIBTOP_PROC_KERNEL_K_FLAGS 0
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1 #define GLIBTOP_PROC_KERNEL_MIN_FLT 1
@@ -47,8 +47,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
struct _glibtop_proc_kernel struct _glibtop_proc_kernel
{ {
guint64 flags; u_int64_t flags;
guint64 k_flags, /* kernel flags for the process */ u_int64_t k_flags, /* kernel flags for the process */
min_flt, /* number of minor page faults since min_flt, /* number of minor page faults since
* process start */ * process start */
maj_flt, /* number of major page faults since maj_flt, /* number of major page faults since
@@ -93,6 +93,6 @@ extern const char *glibtop_descriptions_proc_kernel [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROCLIST_NUMBER 0 #define GLIBTOP_PROCLIST_NUMBER 0
#define GLIBTOP_PROCLIST_TOTAL 1 #define GLIBTOP_PROCLIST_TOTAL 1
@@ -56,7 +56,7 @@ typedef struct _glibtop_proclist glibtop_proclist;
struct _glibtop_proclist struct _glibtop_proclist
{ {
guint64 flags, u_int64_t flags,
number, /* GLIBTOP_PROCLIST_NUMBER */ number, /* GLIBTOP_PROCLIST_NUMBER */
total, /* GLIBTOP_PROCLIST_TOTAL */ total, /* GLIBTOP_PROCLIST_TOTAL */
size; /* GLIBTOP_PROCLIST_SIZE */ size; /* GLIBTOP_PROCLIST_SIZE */
@@ -72,20 +72,20 @@ struct _glibtop_proclist
unsigned * unsigned *
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg); int64_t which, int64_t arg);
#if GLIBTOP_SUID_PROCLIST #if GLIBTOP_SUID_PROCLIST
void glibtop_init_proclist_p (glibtop *server); void glibtop_init_proclist_p (glibtop *server);
unsigned * unsigned *
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg); int64_t which, int64_t arg);
#else #else
void glibtop_init_proclist_s (glibtop *server); void glibtop_init_proclist_s (glibtop *server);
unsigned * unsigned *
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg); int64_t which, int64_t arg);
#endif #endif
#ifdef GLIBTOP_NAMES #ifdef GLIBTOP_NAMES
@@ -99,6 +99,6 @@ extern const char *glibtop_descriptions_proclist [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_MAP_NUMBER 0 #define GLIBTOP_PROC_MAP_NUMBER 0
#define GLIBTOP_PROC_MAP_TOTAL 1 #define GLIBTOP_PROC_MAP_TOTAL 1
@@ -35,15 +35,15 @@ G_BEGIN_DECLS
#define GLIBTOP_MAX_PROC_MAP 3 #define GLIBTOP_MAX_PROC_MAP 3
#define GLIBTOP_MAP_ENTRY_START 0 #define GLIBTOP_MAP_ENTRY_START 1
#define GLIBTOP_MAP_ENTRY_END 1 #define GLIBTOP_MAP_ENTRY_END 2
#define GLIBTOP_MAP_ENTRY_OFFSET 2 #define GLIBTOP_MAP_ENTRY_OFFSET 3
#define GLIBTOP_MAP_ENTRY_PERM 3 #define GLIBTOP_MAP_ENTRY_PERM 4
#define GLIBTOP_MAP_ENTRY_INODE 4 #define GLIBTOP_MAP_ENTRY_INODE 5
#define GLIBTOP_MAP_ENTRY_DEVICE 5 #define GLIBTOP_MAP_ENTRY_DEVICE 6
#define GLIBTOP_MAP_ENTRY_FILENAME 6 #define GLIBTOP_MAP_ENTRY_FILENAME 7
#define GLIBTOP_MAX_MAP_ENTRY 7 #define GLIBTOP_MAX_MAP_ENTRY 8
#define GLIBTOP_MAP_FILENAME_LEN 215 #define GLIBTOP_MAP_FILENAME_LEN 215
@@ -59,13 +59,13 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
struct _glibtop_map_entry struct _glibtop_map_entry
{ {
guint64 flags, start, end, offset, perm, inode, device; u_int64_t flags, start, end, offset, perm, inode, device;
char filename [GLIBTOP_MAP_FILENAME_LEN+1]; char filename [GLIBTOP_MAP_FILENAME_LEN+1];
}; };
struct _glibtop_proc_map struct _glibtop_proc_map
{ {
guint64 flags, u_int64_t flags,
number, /* GLIBTOP_PROC_MAP_NUMBER */ number, /* GLIBTOP_PROC_MAP_NUMBER */
total, /* GLIBTOP_PROC_MAP_TOTAL */ total, /* GLIBTOP_PROC_MAP_TOTAL */
size; /* GLIBTOP_PROC_MAP_SIZE */ size; /* GLIBTOP_PROC_MAP_SIZE */
@@ -105,6 +105,6 @@ extern const char *glibtop_descriptions_proc_map [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_MEM_SIZE 0 #define GLIBTOP_PROC_MEM_SIZE 0
#define GLIBTOP_PROC_MEM_VSIZE 1 #define GLIBTOP_PROC_MEM_VSIZE 1
@@ -44,7 +44,7 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
struct _glibtop_proc_mem struct _glibtop_proc_mem
{ {
guint64 flags, u_int64_t flags,
size, /* total # of pages of memory */ size, /* total # of pages of memory */
vsize, /* number of pages of virtual memory ... */ vsize, /* number of pages of virtual memory ... */
resident, /* number of resident set resident, /* number of resident set
@@ -84,6 +84,6 @@ extern const char *glibtop_descriptions_proc_mem [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0 #define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1 #define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
@@ -46,7 +46,7 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
struct _glibtop_proc_segment struct _glibtop_proc_segment
{ {
guint64 flags, u_int64_t flags,
text_rss, /* text resident set size */ text_rss, /* text resident set size */
shlib_rss, /* shared-lib resident set size */ shlib_rss, /* shared-lib resident set size */
data_rss, /* data resident set size */ data_rss, /* data resident set size */
@@ -87,6 +87,6 @@ extern const char *glibtop_descriptions_proc_segment [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0 #define GLIBTOP_PROC_SIGNAL_SIGNAL 0
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1 #define GLIBTOP_PROC_SIGNAL_BLOCKED 1
@@ -42,7 +42,7 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
struct _glibtop_proc_signal struct _glibtop_proc_signal
{ {
guint64 flags, u_int64_t flags,
signal [2], /* mask of pending signals */ signal [2], /* mask of pending signals */
blocked [2], /* mask of blocked signals */ blocked [2], /* mask of blocked signals */
sigignore [2], /* mask of ignored signals */ sigignore [2], /* mask of ignored signals */
@@ -78,6 +78,6 @@ extern const char *glibtop_descriptions_proc_signal [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,27 +27,14 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_STATE_CMD 0 #define GLIBTOP_PROC_STATE_CMD 0
#define GLIBTOP_PROC_STATE_STATE 1 #define GLIBTOP_PROC_STATE_STATE 1
#define GLIBTOP_PROC_STATE_UID 2 #define GLIBTOP_PROC_STATE_UID 2
#define GLIBTOP_PROC_STATE_GID 3 #define GLIBTOP_PROC_STATE_GID 3
#define GLIBTOP_PROC_STATE_RUID 4
#define GLIBTOP_PROC_STATE_RGID 5
#define GLIBTOP_PROC_STATE_HAS_CPU 6
#define GLIBTOP_PROC_STATE_PROCESSOR 7
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
#define GLIBTOP_MAX_PROC_STATE 9 #define GLIBTOP_MAX_PROC_STATE 4
#define GLIBTOP_PROCESS_RUNNING 1
#define GLIBTOP_PROCESS_INTERRUPTIBLE 2
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE 4
#define GLIBTOP_PROCESS_ZOMBIE 8
#define GLIBTOP_PROCESS_STOPPED 16
#define GLIBTOP_PROCESS_SWAPPING 32
#define GLIBTOP_PROCESS_DEAD 64
typedef struct _glibtop_proc_state glibtop_proc_state; typedef struct _glibtop_proc_state glibtop_proc_state;
@@ -55,10 +42,10 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
struct _glibtop_proc_state struct _glibtop_proc_state
{ {
guint64 flags; u_int64_t flags;
char cmd[40]; /* basename of executable file in char cmd[40], /* basename of executable file in
* call to exec(2) */ * call to exec(2) */
unsigned state; /* single-char code for process state state; /* single-char code for process state
* (S=sleeping) */ * (S=sleeping) */
/* NOTE: when porting the library, TRY HARD to implement the /* NOTE: when porting the library, TRY HARD to implement the
* following two fields. */ * following two fields. */
@@ -66,12 +53,7 @@ struct _glibtop_proc_state
* only to set the flags value for those two * only to set the flags value for those two
* fields if their values are corrent ! */ * fields if their values are corrent ! */
int uid, /* UID of process */ int uid, /* UID of process */
gid, /* GID of process */ gid; /* GID of process */
ruid,
rgid;
int has_cpu,
processor,
last_processor;
}; };
#define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state_l(glibtop_global_server, p1, p2) #define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state_l(glibtop_global_server, p1, p2)
@@ -103,6 +85,6 @@ extern const char *glibtop_descriptions_proc_state [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -28,7 +28,7 @@
#include <glibtop/cpu.h> #include <glibtop/cpu.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_TIME_START_TIME 0 #define GLIBTOP_PROC_TIME_START_TIME 0
#define GLIBTOP_PROC_TIME_RTIME 1 #define GLIBTOP_PROC_TIME_RTIME 1
@@ -50,7 +50,7 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
struct _glibtop_proc_time struct _glibtop_proc_time
{ {
guint64 flags, u_int64_t flags,
start_time, /* start time of process -- start_time, /* start time of process --
* seconds since 1-1-70 */ * seconds since 1-1-70 */
rtime, /* real time accumulated by process */ rtime, /* real time accumulated by process */
@@ -99,6 +99,6 @@ extern const char *glibtop_descriptions_proc_time [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,46 +27,34 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_UID_UID 0 #define GLIBTOP_PROC_UID_UID 0
#define GLIBTOP_PROC_UID_EUID 1 #define GLIBTOP_PROC_UID_EUID 1
#define GLIBTOP_PROC_UID_GID 2 #define GLIBTOP_PROC_UID_GID 2
#define GLIBTOP_PROC_UID_EGID 3 #define GLIBTOP_PROC_UID_EGID 3
#define GLIBTOP_PROC_UID_SUID 4 #define GLIBTOP_PROC_UID_PID 4
#define GLIBTOP_PROC_UID_SGID 5 #define GLIBTOP_PROC_UID_PPID 5
#define GLIBTOP_PROC_UID_FSUID 6 #define GLIBTOP_PROC_UID_PGRP 6
#define GLIBTOP_PROC_UID_FSGID 7 #define GLIBTOP_PROC_UID_SESSION 7
#define GLIBTOP_PROC_UID_PID 8 #define GLIBTOP_PROC_UID_TTY 8
#define GLIBTOP_PROC_UID_PPID 9 #define GLIBTOP_PROC_UID_TPGID 9
#define GLIBTOP_PROC_UID_PGRP 10 #define GLIBTOP_PROC_UID_PRIORITY 10
#define GLIBTOP_PROC_UID_SESSION 11 #define GLIBTOP_PROC_UID_NICE 11
#define GLIBTOP_PROC_UID_TTY 12
#define GLIBTOP_PROC_UID_TPGID 13
#define GLIBTOP_PROC_UID_PRIORITY 14
#define GLIBTOP_PROC_UID_NICE 15
#define GLIBTOP_PROC_UID_NGROUPS 16
#define GLIBTOP_PROC_UID_GROUPS 17
#define GLIBTOP_MAX_PROC_UID 18 #define GLIBTOP_MAX_PROC_UID 12
typedef struct _glibtop_proc_uid glibtop_proc_uid; typedef struct _glibtop_proc_uid glibtop_proc_uid;
#define GLIBTOP_MAX_GROUPS 64
/* User, Group, Terminal and session */ /* User, Group, Terminal and session */
struct _glibtop_proc_uid struct _glibtop_proc_uid
{ {
guint64 flags; u_int64_t flags;
gint32 uid, /* user id */ int uid, /* user id */
euid, /* effective user id */ euid, /* effective user id */
gid, /* group id */ gid, /* group id */
egid, /* effective group id */ egid, /* effective group id */
suid, /* set user id */
sgid, /* set group id */
fsuid, /* ??? user id */
fsgid, /* ??? group id */
pid, /* process id */ pid, /* process id */
ppid, /* pid of parent process */ ppid, /* pid of parent process */
pgrp, /* process group id */ pgrp, /* process group id */
@@ -74,10 +62,7 @@ struct _glibtop_proc_uid
tty, /* full device number of controlling terminal */ tty, /* full device number of controlling terminal */
tpgid, /* terminal process group id */ tpgid, /* terminal process group id */
priority, /* kernel scheduling priority */ priority, /* kernel scheduling priority */
nice, /* standard unix nice level of process */ nice; /* standard unix nice level of process */
ngroups,
groups [GLIBTOP_MAX_GROUPS];
}; };
#define glibtop_get_proc_uid(p1, p2) glibtop_get_proc_uid_l(glibtop_global_server, p1, p2) #define glibtop_get_proc_uid(p1, p2) glibtop_get_proc_uid_l(glibtop_global_server, p1, p2)
@@ -109,6 +94,6 @@ extern const char *glibtop_descriptions_proc_uid [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

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

View File

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

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_IPC_SEMMAP 0 #define GLIBTOP_IPC_SEMMAP 0
#define GLIBTOP_IPC_SEMMNI 1 #define GLIBTOP_IPC_SEMMNI 1
@@ -46,7 +46,7 @@ typedef struct _glibtop_sem_limits glibtop_sem_limits;
struct _glibtop_sem_limits struct _glibtop_sem_limits
{ {
guint64 flags, u_int64_t flags,
semmap, /* GLIBTOP_IPC_SEMMAP */ semmap, /* GLIBTOP_IPC_SEMMAP */
semmni, /* GLIBTOP_IPC_SEMMNI */ semmni, /* GLIBTOP_IPC_SEMMNI */
semmns, /* GLIBTOP_IPC_SEMMNS */ semmns, /* GLIBTOP_IPC_SEMMNS */
@@ -88,6 +88,6 @@ extern const char *glibtop_descriptions_sem_limits [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_IPC_SHMMAX 0 #define GLIBTOP_IPC_SHMMAX 0
#define GLIBTOP_IPC_SHMMIN 1 #define GLIBTOP_IPC_SHMMIN 1
@@ -41,7 +41,7 @@ typedef struct _glibtop_shm_limits glibtop_shm_limits;
struct _glibtop_shm_limits struct _glibtop_shm_limits
{ {
guint64 flags, u_int64_t flags,
shmmax, /* GLIBTOP_IPC_SHMMAX */ shmmax, /* GLIBTOP_IPC_SHMMAX */
shmmin, /* GLIBTOP_IPC_SHMMIN */ shmmin, /* GLIBTOP_IPC_SHMMIN */
shmmni, /* GLIBTOP_IPC_SHMMNI */ shmmni, /* GLIBTOP_IPC_SHMMNI */
@@ -78,6 +78,6 @@ extern const char *glibtop_descriptions_shm_limits [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

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

View File

@@ -27,7 +27,7 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_SWAP_TOTAL 0 #define GLIBTOP_SWAP_TOTAL 0
#define GLIBTOP_SWAP_USED 1 #define GLIBTOP_SWAP_USED 1
@@ -41,7 +41,7 @@ typedef struct _glibtop_swap glibtop_swap;
struct _glibtop_swap struct _glibtop_swap
{ {
guint64 flags, u_int64_t flags,
total, /* GLIBTOP_SWAP_TOTAL */ total, /* GLIBTOP_SWAP_TOTAL */
used, /* GLIBTOP_SWAP_USED */ used, /* GLIBTOP_SWAP_USED */
free, /* GLIBTOP_SWAP_FREE */ free, /* GLIBTOP_SWAP_FREE */
@@ -78,6 +78,6 @@ extern const char *glibtop_descriptions_swap [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -26,7 +26,7 @@
#include <glibtop.h> #include <glibtop.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_SYSDEPS_FEATURES 0 #define GLIBTOP_SYSDEPS_FEATURES 0
#define GLIBTOP_SYSDEPS_CPU 1 #define GLIBTOP_SYSDEPS_CPU 1
@@ -64,7 +64,7 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
struct _glibtop_sysdeps struct _glibtop_sysdeps
{ {
guint64 flags, u_int64_t flags,
features, /* server features */ features, /* server features */
cpu, /* glibtop_cpu */ cpu, /* glibtop_cpu */
mem, /* glibtop_mem */ mem, /* glibtop_mem */
@@ -105,6 +105,6 @@ extern const char *glibtop_descriptions_sysdeps [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

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

View File

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

View File

@@ -50,7 +50,7 @@
#include <glibtop/netload.h> #include <glibtop/netload.h>
#include <glibtop/ppp.h> #include <glibtop/ppp.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
typedef union _glibtop_union glibtop_union; typedef union _glibtop_union glibtop_union;
@@ -80,6 +80,6 @@ union _glibtop_union
glibtop_ppp ppp; glibtop_ppp ppp;
}; };
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -27,22 +27,20 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/global.h> #include <glibtop/global.h>
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#define GLIBTOP_UPTIME_UPTIME 0 #define GLIBTOP_UPTIME_UPTIME 0
#define GLIBTOP_UPTIME_IDLETIME 1 #define GLIBTOP_UPTIME_IDLETIME 1
#define GLIBTOP_UPTIME_BOOT_TIME 2
#define GLIBTOP_MAX_UPTIME 3 #define GLIBTOP_MAX_UPTIME 2
typedef struct _glibtop_uptime glibtop_uptime; typedef struct _glibtop_uptime glibtop_uptime;
struct _glibtop_uptime struct _glibtop_uptime
{ {
guint64 flags; u_int64_t flags;
double uptime, /* GLIBTOP_UPTIME_UPTIME */ double uptime, /* GLIBTOP_UPTIME_UPTIME */
idletime; /* GLIBTOP_UPTIME_IDLETIME */ idletime; /* GLIBTOP_UPTIME_IDLETIME */
guint64 boot_time;
}; };
#define glibtop_get_uptime(uptime) glibtop_get_uptime_l(glibtop_global_server, uptime) #define glibtop_get_uptime(uptime) glibtop_get_uptime_l(glibtop_global_server, uptime)
@@ -74,6 +72,6 @@ extern const char *glibtop_descriptions_uptime [];
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

@@ -29,7 +29,7 @@
#define LIBGTOP_VERSION_STRING "Libgtop %s server version %s (%u,%u,%u,%u)." #define LIBGTOP_VERSION_STRING "Libgtop %s server version %s (%u,%u,%u,%u)."
G_BEGIN_DECLS BEGIN_LIBGTOP_DECLS
#if _IN_LIBGTOP #if _IN_LIBGTOP
@@ -37,6 +37,6 @@ void glibtop_send_version (glibtop *server, int fd);
#endif #endif
G_END_DECLS END_LIBGTOP_DECLS
#endif #endif

View File

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

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