Compare commits

...

1031 Commits

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

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

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

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

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

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

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

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

	Now builds procargs.

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

	Added comment to locate Linux code.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* examples/Makefile.am: Fixed LDFLAGS.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


	* glibtop_server.h: LINUX_VERSION -> LINUX_VERSION_CODE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

po/

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

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

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

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

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

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

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

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

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

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

	* Makefile.am: Install this as a backend.

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

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

	* configure.in: Removed all sysdeps checks.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* glibtop-backend-private.h: Removed.

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

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

	* glibtop-backend-private.h: Removed.

	* backend-common.h: New files.

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

	* glibtop-backend-private.h: Removed.

	* backend-sysdeps.h: New files.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Started with the big rewrite for GNOME 2.0:

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

	This stuff currently does not compile.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fix some True64 issues which were reported from Aron Griffis.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Released LibGTop 1.1.5 "Sidney".
2000-02-16 16:56:51 +00:00
Martin Baulig
7700a6525e *** empty log message *** 2000-02-16 00:16:27 +00:00
Martin Baulig
28150c48f7 This is very old and obsolete so we won't include it in the tarballs any
2000-02-16  Martin Baulig  <martin@home-of-linux.org>

	* sysdeps/sun4: This is very old and obsolete so we won't
	include it in the tarballs any longer.
2000-02-15 23:50:50 +00:00
Martin Baulig
1f6916b5d0 Install libraries in $(backenddir).
2000-02-16  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Install libraries in $(backenddir).
2000-02-15 23:46:58 +00:00
Martin Baulig
36c36b9afb Check for `xmlDocGetRootElement' to make sure we have a recent enough
2000-02-16  Martin Baulig  <martin@home-of-linux.org>

	* xml.m4: Check for `xmlDocGetRootElement' to make sure we
	have a recent enough libxml.
2000-02-15 23:45:00 +00:00
Martin Baulig
6402efe196 This now compiles on a Solaris 7 system :) 2000-02-15 22:33:32 +00:00
Martin Baulig
00a32c887c Make sure we close all open files. 2000-02-14 14:25:34 +00:00
Martin Baulig
c92bf0f9a9 1.1.5 :) 2000-02-13 23:01:00 +00:00
Martin Baulig
44027f6bd2 Reflect latest interface changes.
2000-02-13  Martin Baulig  <martin@home-of-linux.org>

	* netinfo.c: Reflect latest interface changes.
2000-02-13 15:44:43 +00:00
Martin Baulig
3fec7a0946 kvm_nlist () returns -1 on error, but a positive return value does not
2000-02-13  Martin Baulig  <martin@home-of-linux.org>

	* *.c: kvm_nlist () returns -1 on error, but a positive return value
	does not necessarily mean failure. Fixes #3302 which was reported by
	Matthias Scheler some time ago.
2000-02-13 15:28:24 +00:00
Martin Baulig
47d4322965 Removed siglist.c. 2000-02-13 15:27:36 +00:00
Martin Baulig
7ae71b3d8f Added.
2000-02-13  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (AC_LIBTOOL_DLOPEN): Added.
2000-02-13 15:23:19 +00:00
Martin Baulig
a73800ae2d Added labels. Provide actual implementation.
2000-02-13  Martin Baulig  <martin@home-of-linux.org>

	* lib/sysdeps-init-linux.c (glibtop_sys_siglist): Added labels.
	* lib/sysdeps-init-freebsd.c (glibtop_sys_siglist): Provide
	actual implementation.
2000-02-13 15:21:41 +00:00
Martin Baulig
b124998639 Removed the non-suid `libgtop-sysdeps.la'. Removed.
2000-02-06  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Removed the non-suid `libgtop-sysdeps.la'.
	* nosuid.c: Removed.
2000-02-06 18:24:39 +00:00
Martin Baulig
238d03677a *** empty log message *** 2000-02-06 18:21:10 +00:00
Martin Baulig
0f3babc8e9 Moved here from the sysdeps directories.
2000-02-06  Martin Baulig  <martin@home-of-linux.org>

	* lib/sysdeps-init-*.c (glibtop_sys_siglist): Moved here from
	the sysdeps directories.

	* sysdeps/*/siglist.c: Removed.
2000-02-06 18:20:20 +00:00
Martin Baulig
55ff827b50 Removed method', server_command', server_host', server_user' and
2000-02-06  Martin Baulig  <martin@home-of-linux.org>

	* glibtop.h (glibtop): Removed `method', `server_command',
	`server_host', `server_user' and `server_rsh'.
	Added `glibtop_parameter _param' field and moved `error_method'
	there.

	* include/glibtop/parameter.h (glibtop_parameter): New structure.
	(GLIBTOP_PARAM_METHOD, GLIBTOP_PARAM_COMMAND): Removed.
	(GLIBTOP_PARAM_HOST, GLIBTOP_PARAM_PORT): Removed.
	(GLIBTOP_PARAM_REMOTE_USER, GLIBTOP_PARAM_PATH_RSH): Removed.
	(GLIBTOP_PARAM_NCPU, GLIBTOP_PARAM_OS_VERSION_CODE): Added.
2000-02-06 14:43:55 +00:00
Martin Baulig
0daf65ef73 Make this work with multiple ISDN devices.
2000-02-06  Martin Baulig  <martin@home-of-linux.org>

	* ppp.c: Make this work with multiple ISDN devices.
2000-02-06 13:36:45 +00:00
Martin Baulig
2eab7cfc48 Removed the `lockfile' argument; we now use a configure check to determine
2000-02-06  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/ppp.h (glibtop_get_ppp): Removed the `lockfile'
	argument; we now use a configure check to determine the modem
	lockfile.

	* include/glibtop/error.h (GLIBTOP_ERROR_NEED_MODEM_LOCKFILE):
	Removed this now obsolete error constant again.

	* configure.in (--with-modem-lockfile): New configure parameter
	to manually specify the modem lockfile.
	(LIBGTOP_MODEM_LOCKFILE): Define this to be a printf-format string
	for the modem lockfile; takes the interface number as argument.
2000-02-06 13:21:14 +00:00
Martin Baulig
a691993a86 *** empty log message *** 2000-02-04 23:13:46 +00:00
Martin Baulig
d3e83afb0a Started to update documentation.
2000-02-05  Martin Baulig  <martin@home-of-linux.org>

	* reference.texi: Started to update documentation.
2000-02-04 23:13:18 +00:00
Martin Baulig
129e4bc0ac New enum for the IPv6 address scope.
2000-02-05  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/interfaces.h (glibtop_ipv6_scope): New
	enum for the IPv6 address scope.
2000-02-04 23:10:58 +00:00
Martin Baulig
faec393b8d New enum for the IPv6 address scope.
2000-02-05  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/interfaces.h (glibtop_ipv6_scope): New
	enum for the IPv6 address scope.
2000-02-04 23:06:33 +00:00
Yuan-Chung Cheng
a7d39be2b5 Added po file from TurboLinux Chinese Develop Team. 2000-01-30 12:16:46 +00:00
Martin Baulig
8892637796 Correctly return multiple IPv6 addresses. 2000-01-28 22:25:59 +00:00
Martin Baulig
00a9f98ee0 *** empty log message *** 2000-01-28 22:25:45 +00:00
Martin Baulig
4b8a9ece16 *** empty log message *** 2000-01-28 19:54:01 +00:00
Martin Baulig
fc8645245a *** empty log message *** 2000-01-28 19:49:30 +00:00
Martin Baulig
2d4553adf2 Added.
2000-01-29  Martin Baulig  <martin@home-of-linux.org>

	* structures.def (glibtop_ifaddr): Added.
2000-01-28 19:15:57 +00:00
Martin Baulig
5f02295a63 address' and subnet' are now arrays of GLIBTOP_IFADDR_LEN u_int8_t
2000-01-24  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/netinfo.h (glibtop_netinfo): `address' and
	`subnet' are now arrays of GLIBTOP_IFADDR_LEN u_int8_t values.
	(glibtop_get_netinfo): `transport' is now `u_int64_t' and not
	`unsigned' to make it work with `GLIBTOP_TRANSPORT_ALL'.

	* include/glibtop/limits.h (GLIBTOP_IFADDR_LEN): New constant.
	This is the length of a network interface address in bytes.
2000-01-24 23:27:50 +00:00
Martin Baulig
8b1dd440ee *** empty log message *** 2000-01-24 01:49:54 +00:00
Martin Baulig
77a1a6a43d address' and subnet' are now arrays of GLIBTOP_IFADDR_LEN u_int8_t
2000-01-24  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/netinfo.h (glibtop_netinfo): `address' and
	`subnet' are now arrays of GLIBTOP_IFADDR_LEN u_int8_t values.
	(glibtop_get_netinfo): `transport' is now `u_int64_t' and not
	`unsigned' to make it work with `GLIBTOP_TRANSPORT_ALL'.

	* include/glibtop/limits.h (GLIBTOP_IFADDR_LEN): New constant.
	This is the length of a network interface address in bytes.
2000-01-24 01:42:32 +00:00
Martin Baulig
e9c8125828 Removed.
2000-01-24  Martin Baulig  <martin@home-of-linux.org>

	* interfaces.c, netinfo.c: Removed.
2000-01-24 01:38:23 +00:00
Martin Baulig
3212af2fb4 We need to add u_int8_t' and int8_t' _here_, but only here and no
longer in all client code.
2000-01-24 01:36:30 +00:00
Martin Baulig
52dbe1469d New macro. This is the same than `GNOME_LIBGTOP_TYPES' but also checks for
2000-01-24  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.m4 (GNOME_LIBGTOP_TYPES_PRIVATE): New macro.
	This is the same than `GNOME_LIBGTOP_TYPES' but also checks for
	`u_int8_t' and `int8_t' and it doesn't force people to put this
	in their acconfig.h.

	* configure.in: Use GNOME_LIBGTOP_TYPES_PRIVATE instead of
	GNOME_LIBGTOP_TYPES.
2000-01-24 01:35:11 +00:00
Martin Baulig
837ee6bcc6 *** empty log message *** 2000-01-23 00:08:56 +00:00
Martin Baulig
8a85be8f00 Load the "glibtop-backend-kernel" before "glibtop-backend-command" and
2000-01-23  Martin Baulig  <martin@home-of-linux.org>

	* lib/sysdeps-init-kernel.c: Load the "glibtop-backend-kernel" before
	"glibtop-backend-command" and "glibtop-backend-sysdeps".

	* libgtop-sysdeps.m4: "kernel" is now a backend and no longer a
	sysdeps port; we compile the normal "linux" sysdeps dir when we
	have it.

	* backends/Makefile.am: Only compile `server' and `sysdeps'
	directories if appropriate.
2000-01-22 23:58:55 +00:00
Martin Baulig
3455d025a2 This is now a LibGTop backend which can be loaded additionally to the
2000-01-23  Martin Baulig  <martin@home-of-linux.org>

	This is now a LibGTop backend which can be loaded additionally
	to the normal Linux sysdeps code.

	* open.c, close.c: Removed.
	* shm_limits.c, msg_limits.c, sem_limits.c, ppp.c: Removed.
	* siglist.c, sysinfo.c: Removed.

	* backend-kernel.c: New file.
	* glibtop-backend-private.h: New file.
	* libgtop-kernel.backend: New file.

	* backend-kernel.pl: New file. Automatically creates
	`backend-kernel.h'.

	* marshal.pl: New file. Automatically creates `marshal.c'.

	* glibtop_server.h: Replaced all `GLIBTOP_SUID_<feature>' constants
	with `GLIBTOP_IMPL_<feature>' ones; they're used in marshal.c to
	find out which features this backend implements.

	* *.c: Renamed all `glibtop_get_<feature>_s' functions to
	`glibtop_get_<feature>_k' and all `glibtop_init_<feature>_s' ones
	to `glibtop_init_<feature>_k'.
2000-01-22 23:32:49 +00:00
Martin Baulig
d2f4502e74 Added "ExtraLibs" section to load `-lgtop_sysdeps'.
2000-01-22  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.backend: Added "ExtraLibs" section to
	load `-lgtop_sysdeps'.
2000-01-22 22:17:26 +00:00
Martin Baulig
2144fab671 Added `extra_libs'.
2000-01-22  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/backend.h (_glibtop_backend_module): Added
	`extra_libs'.
2000-01-22 22:15:48 +00:00
Martin Baulig
e8c90833e8 Removed `-lgtop_sysdeps'. This is gmodule loaded from the backend open
2000-01-22  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (LIBGTOP_LIBS): Removed `-lgtop_sysdeps'. This
	is gmodule loaded from the backend open function.

	* lib/init.c (glibtop_init_s): Don't call glibtop_open_s () here.

	* init-backend.c: Added support for a "ExtraLibs" section in the
	backend description file.
2000-01-22 22:14:59 +00:00
Martin Baulig
d567c86818 Install the library in $(backenddir).
2000-01-22  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Install the library in $(backenddir).
2000-01-22 22:14:36 +00:00
Martin Baulig
931ba0fa8d Added use_isdn' and lockfile' arguments. When `use_isdn' is TRUE, we
2000-01-22  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/ppp.h (glibtop_get_ppp): Added `use_isdn' and
	`lockfile' arguments. When `use_isdn' is TRUE, we return ISDN
	statistics, otherwise `lockfile' is expected to be the modem
	lockfile and we return PPP statistics for that Modem.

	Note that for Modem statistics, you need to set both `device' and
	`lockfile' for some sysdeps ports; so if you have more than one PPP
	connection active and want to get statistics on the second one you
	need to set `device' to 1 and `lockfile' to the correct modem lockfile.

	* include/glibtop/error.h (GLIBTOP_ERROR_NEED_MODEM_LOCKFILE): New
	error constant; this is returned when you call glibtop_get_ppp ()
	without a modem lockfile and the current sysdeps port requires it.
2000-01-22 17:33:51 +00:00
Martin Baulig
8da7cfd032 Use `u_int64_t' arguments and return value to avoid long int overflows on
2000-01-20  Martin Baulig  <martin@home-of-linux.org>

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

	* fsusage.h (struct fs_usage): Use `u_int64_t' here as well.
2000-01-20 21:42:24 +00:00
Martin Baulig
3fa1063b74 New file. Added sysdeps initialization code from DEC OSF/1.
2000-01-18  Martin Baulig  <martin@home-of-linux.org>

	* lib/sysdeps-init-osf1.c: New file. Added sysdeps initialization
	code from DEC OSF/1.
2000-01-18 16:55:11 +00:00
Martin Baulig
e2d5319441 Only emit code for functions which are really suid/sgid.
2000-01-18  Martin Baulig  <martin@home-of-linux.org>

	* demarshal.pl: Only emit code for functions which are
	really suid/sgid.
2000-01-18 16:50:37 +00:00
Martin Baulig
85a7719f39 Don't attempt to #include the obsolete and already removed <glibtop/gnuserv.h>. 2000-01-18 16:36:45 +00:00
Martin Baulig
490a05d01c Reflect latest interface changes. 2000-01-18 15:55:11 +00:00
Martin Baulig
b54197c2e1 perl -pni -e 's,server->machine,server->_priv->machine,g' *.c *.h 2000-01-18 11:29:44 +00:00
Martin Baulig
86dbeab484 Reflect latest interface changes. 2000-01-18 11:29:44 +00:00
Martin Baulig
15da337d8a perl -pni -e 's,server->machine,server->_priv->machine,g' *.c *.h 2000-01-18 11:29:44 +00:00
Martin Baulig
992e064952 We now use `@LIBGTOP_PACKAGE@' as the translation domain so installed
2000-01-16  Martin Baulig  <martin@home-of-linux.org>

	We now use `@LIBGTOP_PACKAGE@' as the translation domain so
	installed `libgtop-1.1.mo' files won't conflict with the ones
	from LibGTop 1.0 and you can keep both versions installed.

	* po/Makefile.in.in.in: New file. This is a modified version of
	the usual `Makefile.in.in' which is created by gettextize; we
	copy this over `Makefile.in.in' in autogen.sh after gettextize'ing.

	* autogen.sh: Copy `po/Makefile.in.in.in' over `po/Makefile.in.in'
	after running `macros/autogen.sh'.

	* configure.in (LIBGTOP_PACKAGE): AC_SUBST and AC_DEFINE this.

	* include/glibtop/global.h (_): Use `LIBGTOP_PACKAGE' as our
	translation domain.

2000-01-16  Martin Baulig  <martin@home-of-linux.org>

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

	* Makefile.am: Make `aclocal.m4' also depend on `LIBGTOP-VERSION'
	when in maintainer-mode.
2000-01-16 00:48:08 +00:00
Martin Baulig
26ff5dbd79 Set version number to 1.1.5, binary age 0, interface age 0 and increase
2000-01-15  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.1.5, binary age 0,
	interface age 0 and increase LIBGTOP_SERVER_VERSION to 53.
2000-01-15 19:51:53 +00:00
Martin Baulig
473ecd6b3a *** empty log message *** 2000-01-15 19:04:12 +00:00
Martin Baulig
e5b75b86fc Released LibGTop 1.1.4 "Earthquake".
2000-01-14  Martin Baulig  <martin@home-of-linux.org>

	Released LibGTop 1.1.4 "Earthquake".
2000-01-14 19:26:59 +00:00
Martin Baulig
d826c3e48c *** empty log message *** 2000-01-14 19:25:27 +00:00
Martin Baulig
f10223b8eb Should work now. 2000-01-14 19:25:10 +00:00
Martin Baulig
7e28d2d5dc *** empty log message *** 2000-01-14 18:58:07 +00:00
Martin Baulig
d8aa36d637 First version of a debian/ directory. 2000-01-14 14:47:53 +00:00
Martin Baulig
9deecf345e 1.1.4. 2000-01-14 14:09:27 +00:00
Martin Baulig
dd17bc8f92 Comment out all debugging code. 2000-01-14 11:49:10 +00:00
Martin Baulig
f11195b104 Copy the @sysdeps_init_file@ to `sysdeps-init.c', don't link it symbolically. 2000-01-13 21:26:52 +00:00
Yuri Syrota
74f688c5d1 Updated Ukrainian translation 2000-01-13 16:18:58 +00:00
Martin Baulig
65b08749cf Add compatibility #defines for GLIBTOP_XCPU_TOTAL', GLIBTOP_XCPU_USER',
2000-01-13  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/compat_10.h: Add compatibility #defines for
	`GLIBTOP_XCPU_TOTAL', `GLIBTOP_XCPU_USER', `GLIBTOP_XCPU_NICE',
	`GLIBTOP_XCPU_SYS', `GLIBTOP_XCPU_IDLE' and `GLIBTOP_XCPU_FLAGS'
2000-01-13 15:20:49 +00:00
Martin Baulig
f7b69ebfae *** empty log message *** 2000-01-13 01:25:55 +00:00
Martin Baulig
371371b633 make update-po for 1.1.4. 2000-01-13 00:53:48 +00:00
Martin Baulig
d423559605 *** empty log message *** 2000-01-13 00:35:31 +00:00
Martin Baulig
f3d309441a The buffer which we write is now a `const'.
2000-01-13  Martin Baulig  <martin@home-of-linux.org>

	* write.c (glibtop_write_i): The buffer which we write is
	now a `const'.
2000-01-13 00:16:40 +00:00
Martin Baulig
fabb12370f Set version number to 1.1.4, binary age 0, interface age 0 and increased
2000-01-13  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.1.4, binary age 0,
	interface age 0 and increased LIBGTOP_SERVER_VERSION to 52.
2000-01-13 00:08:24 +00:00
Martin Baulig
5af2aab0bf *** empty log message *** 2000-01-13 00:05:35 +00:00
Martin Baulig
dd8c31ebda Call glibtop_init_backend () and _glibtop_open_sysdeps () here.
2000-01-13  Martin Baulig  <martin@home-of-linux.org>

	* lib/open.c (glibtop_open_l): Call glibtop_init_backend () and
	_glibtop_open_sysdeps () here.
2000-01-13 00:00:04 +00:00
Martin Baulig
4d402ecc14 Provide implementation. 2000-01-12 23:57:19 +00:00
Martin Baulig
b660c7a0f7 New file. New file. New file. New file. New file. New file.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* lib/sysdeps-init-freebsd.c: New file.
	* lib/sysdeps-init-kernel.c: New file.
	* lib/sysdeps-init-linux.c: New file.
	* lib/sysdeps-init-solaris.c: New file.
	* lib/sysdeps-init-stub-suid.c: New file.
	* lib/sysdeps-init-stub.c: New file.
2000-01-12 23:33:51 +00:00
Martin Baulig
20c306fc6d Call `_glibtop_open_sysdeps'.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* lib/init.c (glibtop_init_s): Call `_glibtop_open_sysdeps'.

	* include/glibtop/open.h (_glibtop_open_sysdeps): Declare this
	when we are _IN_LIBGTOP.

	* configure.in (sysdeps_name): Define and AC_SUBST this.
	(sysdeps_init_file): Define and AC_SUBST this to
	`sysdeps-init-${sysdeps_name}.c'.

	* libgtop-sysdeps.m4 (GNOME_LIBGTOP_SYSDEPS): Define and AC_SUBST
	`libgtop_sysdeps_name'.
2000-01-12 22:46:29 +00:00
Martin Baulig
2a86a5de49 *** empty log message *** 2000-01-12 22:25:06 +00:00
Martin Baulig
7ba17b2bee New error constant.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/errors.h (GLIBTOP_ERROR_NO_BACKEND_OPENED):
	New error constant.

	* lib/lib.pl (glibtop_get_<feature>_l): Don't dump core when there
	is no backend opened, but return GLIBTOP_ERROR_NO_BACKEND_OPENED.
2000-01-12 21:38:55 +00:00
Martin Baulig
31067e703d Added `_priv_module' pointer (type glibtop_backend_module). Made the
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/backend.h (glibtop_backend): Added `_priv_module'
	pointer (type glibtop_backend_module). Made the `info' field const
	since this now points to gmodule loaded memory
	(glibtop_backend_entry): Made the `info' field const since it points
	to gmodule loaded memory.

	* lib/close.c (glibtop_close_r): Close all currently opened backends.
2000-01-12 21:30:13 +00:00
Martin Baulig
12e32ffc24 Install everything in $(LIBGTOP_BACKEND_DIR).
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR).

	* libgtop-common.backend: New file.

	* backend-common.c (glibtop_backend_common): Renamed to
	`LibGTopBackendInfo'.
2000-01-12 20:45:34 +00:00
Martin Baulig
b4122165eb Install everything except the server binary in $(LIBGTOP_BACKEND_DIR).
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Install everything except the server binary
	in $(LIBGTOP_BACKEND_DIR).

	* libgtop-server.backend: New file.

	* backend-server.c (glibtop_backend_server): Renamed to
	`LibGTopBackendInfo'.
2000-01-12 20:45:19 +00:00
Martin Baulig
c17f8f2421 Install everything in $(LIBGTOP_BACKEND_DIR).
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR).

	* libgtop-sysdeps.backend: New file.

	* backend-sysdeps.c (glibtop_backend_sysdeps): Renamed to
	`LibGTopBackendInfo'.
2000-01-12 20:44:51 +00:00
Martin Baulig
e2e5c3a1cc New type. (glibtop_backend_module): New private type.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/backend.h (glibtop_backend_entry): New type.
	(glibtop_backend_module): New private type.

	* lib/backend.c (glibtop_register_backend): This now takes a
	`glibtop_backend_entry' argument, not a `glibtop_backend_info' one.
	(glibtop_backend_by_id): Return a `glibtop_backend_entry' type,
	not a `glibtop_backend_info' one.
	(glibtop_backend_by_name): Likewise.

	* lib/init-backends.c: If we have libxml, read all `.backend' files
	in $(LIBGTOP_BACKEND_DIR), XML parse them and register them via
	`glibtop_backend_register'. This builds a list of all currently
	supported backends without actually loading them into memory.

	* lib/open-backend.c (glibtop_open_backend_l): GModule load the
	backend if it's not already in memory.
2000-01-12 20:37:21 +00:00
Martin Baulig
8d532c6298 Reflect latest interface changes. 2000-01-12 20:08:31 +00:00
Martin Baulig
50f0929ae8 Comment out `_glibtop_init_hook_s'.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* lib/init.c (glibtop_init_s): Comment out `_glibtop_init_hook_s'.
2000-01-12 17:39:58 +00:00
Martin Baulig
62c59f6087 We now require libxml. (LIBGTOP_LIBS): Remove all backend libraries.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* configure.in: We now require libxml.
	(LIBGTOP_LIBS): Remove all backend libraries.
	(LIBGTOP_EXTRA_LIBS): Add $(LIBGTOP_XML_LIB) here.

	* configure.in: Don't check for -lXau any longer.
2000-01-12 17:38:45 +00:00
Martin Baulig
f0aab5a724 Define this to be `$(datadir)/libgtop/backends' and AC_SUBST it.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (LIBGTOP_BACKEND_DIR): Define this to be
	`$(datadir)/libgtop/backends' and AC_SUBST it.

	* libgtopConf.sh.in (LIBGTOP_BACKEND_DIR): Added.
2000-01-12 16:26:30 +00:00
Martin Baulig
27bf526b85 Define this if we have libxml.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* acconfig.h (HAVE_LIBXML): Define this if we have libxml.
2000-01-12 16:18:42 +00:00
Martin Baulig
bb15be7198 New file to check for libxml.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* xml.m4: New file to check for libxml.

	* configure.in: Call `LIBGTOP_XML_HOOK' from `xml.m4' and
	add libxml libraries to `LIBGTOP_EXTRA_LIBS' when found.
2000-01-12 16:13:56 +00:00
Martin Baulig
fe86288e76 This has been moved into the sysdeps backend.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* lib/sysdeps.c (_glibtop_init_hook_s): This has been moved
	into the sysdeps backend.
2000-01-12 13:11:19 +00:00
Martin Baulig
fc4f288ce1 Create the `_glibtop_init_hook_s' as well.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* marshal.pl: Create the `_glibtop_init_hook_s' as well.
2000-01-12 13:10:35 +00:00
Martin Baulig
7e20f2f5f2 Forgot to actually remove this file from CVS. 2000-01-12 13:04:34 +00:00
Martin Baulig
720cb52cf3 Don't create code for things which are now in the new
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* marshal.pl: Don't create code for things which are now
	in the new `glibtop-backend-common' backend.
2000-01-12 13:04:09 +00:00
Martin Baulig
d74c329404 Added -lgtop_backend_common'. Initialize glibtop_backend_common'
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (LIBGTOP_LIBS): Added `-lgtop_backend_common'.
	* lib/init-backends.c (glibtop_init_backends): Initialize
	`glibtop_backend_common' backend.
2000-01-12 12:57:04 +00:00
Martin Baulig
b8fec13607 New directory.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	* backends/common/: New directory.
2000-01-12 12:55:13 +00:00
Martin Baulig
8b8e1de19a Initial version of the "glibtop-backend-common" backend.
2000-01-12  Martin Baulig  <martin@home-of-linux.org>

	Initial version of the "glibtop-backend-common" backend.

	* backend-common.c: New file.
	* glibtop-backend-private.h: New file.
	* marshal.pl: New file. Automatically creates `marshal.c'.
2000-01-12 12:53:26 +00:00
Martin Baulig
38d6f5ad0c Smalll $(srcdir) != $(builddir) fix. 2000-01-12 12:28:26 +00:00
Martin Baulig
4e42a2aa17 Better use BUFSIZ' instead of PAGE_SIZE' since this is large enough
and not all flavors of BSD define `PAGE_SIZE' in user-level header
files.
2000-01-12 12:24:20 +00:00
Martin Baulig
8491b51264 Added netinfo and interface_names. 2000-01-09 22:21:20 +00:00
Martin Baulig
c164df664d Correctly pass string data from client to server. 2000-01-09 22:12:49 +00:00
Martin Baulig
fa592c3a94 *** empty log message *** 2000-01-09 21:58:47 +00:00
Martin Baulig
cb96ce0ad2 Removed everything in this directory. This has been obsoleted by the new
2000-01-10  Martin Baulig  <martin@home-of-linux.org>

	* src/daemon/: Removed everything in this directory. This has
	been obsoleted by the new server code in backends/server.
2000-01-09 21:58:34 +00:00
Martin Baulig
938a444edf Make marshal/demarshal of stringlists (like in proc_args) work. 2000-01-09 21:56:06 +00:00
Martin Baulig
995b506920 Returning arrays and such from server to client now works. 2000-01-09 20:13:51 +00:00
Martin Baulig
ba466fe572 Don't dump core. 2000-01-09 15:03:01 +00:00
Martin Baulig
c2e40852b6 Removed debugging code. 2000-01-09 15:02:51 +00:00
Martin Baulig
a1c574c502 Disable i18n here. 2000-01-09 14:24:16 +00:00
Martin Baulig
9b8fd192d0 Unconditionally #include <sys/types.h>.
2000-01-09  Martin Baulig  <martin@bergen.home-of-linux.org>

	* include/glibtop/global.h: Unconditionally #include <sys/types.h>.
2000-01-09 14:18:55 +00:00
Martin Baulig
c37460ad3d Removed turkish translations. 2000-01-09 10:17:10 +00:00
Martin Baulig
d1e708b2cb Reflect latest interface changes. 2000-01-09 10:15:02 +00:00
Martin Baulig
8745316574 *** empty log message *** 2000-01-08 21:51:33 +00:00
Martin Baulig
ec5b8790ec New structure.
2000-01-08  Martin Baulig  <martin@home-of-linux.org>

	* command.h.in (glibtop_response): New structure.
2000-01-08 21:26:18 +00:00
Martin Baulig
d9105dfe8a perl -pni -e 's,server->machine,server->_priv->machine,g' *.c
perl -pni -e 's,server->machine,server->_priv->machine,g' *.h
2000-01-08 19:50:33 +00:00
Martin Baulig
386f66d7e2 *** empty log message *** 2000-01-02 17:15:15 +00:00
Martin Baulig
fa5d2af7ea *** empty log message *** 2000-01-02 16:20:15 +00:00
Martin Baulig
e0d9f28674 New file. Creates command.h' from command.h.in'. New file. Template file
2000-01-02  Martin Baulig  <martin@home-of-linux.org>

	* command.pl: New file. Creates `command.h' from `command.h.in'.
	* command.h.in: New file. Template file for `command.h'.

	* io.c, version.c: New files. Copied here from `src/daemon'.
2000-01-02 16:13:08 +00:00
Martin Baulig
6fe80f02ce Removed.
2000-01-02  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/version.h: Removed.
2000-01-02 16:11:08 +00:00
Martin Baulig
cdfee65492 New variable.
2000-01-02  Martin Baulig  <martin@home-of-linux.org>

	* c_types.pl ($demarshal_funcs): New variable.
2000-01-02 14:51:54 +00:00
Martin Baulig
44016ac371 New file. Automatically creates `demarshal.c'. This automatically created
2000-01-02  Martin Baulig  <martin@home-of-linux.org>

	* demarshal.pl: New file. Automatically creates `demarshal.c'.
	* demarshal.c: This automatically created file handles the
	demarshalling in the libgtop_server.

	* Makefile.am: Build the `libgtop_server' here.
	* server.c, server.h: New files. Copied here from `src/daemon'.
2000-01-02 14:50:49 +00:00
Martin Baulig
58fa4a5955 New error constant.
2000-01-02  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/errors.h
	(GLIBTOP_ERROR_DEMARSHAL_ERROR): New error constant.
2000-01-02 14:48:49 +00:00
Martin Baulig
cd9c5b7967 Disable compilation of the `daemon' directory.
2000-01-02  Martin Baulig  <martin@home-of-linux.org>

	* src/Makefile.am: Disable compilation of the `daemon' directory.

	* include/glibtop/command.h: Removed.
2000-01-02 14:48:15 +00:00
Martin Baulig
141c863f54 *** empty log message *** 2000-01-02 13:04:41 +00:00
Martin Baulig
24743243a8 *** empty log message *** 2000-01-02 13:03:26 +00:00
Martin Baulig
c2848e73af Hello translators,
I'm currently doing larger interface changes in the HEAD of LibGTop
which means that things will change very often here while the whole
module is unstable and unusable for the end-user.

So please don't waste your time doing any translations in the HEAD
at the moment. If you want to do translations, please use the
`LIBGTOP_1_1_2_PATCHES' branch.

January 2, 2000
Martin Baulig
2000-01-02 12:58:14 +00:00
Martin Baulig
57d102425f All functions in the `glibtop_call_vector' now take an additional
2000-01-02  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/call-vector.pl: All functions in the
	`glibtop_call_vector' now take an additional `glibtop_backend *'
	argument.
2000-01-02 12:53:53 +00:00
Martin Baulig
68a40b5cba Removed. Removed. Removed.
2000-01-01  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/read.h: Removed.
	* include/glibtop/read_data.h: Removed.
	* include/glibtop/write.h: Removed.
2000-01-01 21:00:08 +00:00
Martin Baulig
75ed7287d1 New directory. New directory. New directory.
2000-01-01  Martin Baulig  <martin@home-of-linux.org>

	* backends/: New directory.
	* backends/server/: New directory.
	* backends/sysdeps/: New directory.

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

	* include/glibtop/call-vector.h.in: New file. Template file
	for `call-vector.h'.
	* include/glibtop/call-vector.pl: New file. Creates 'call-vector.h'
	from `call-vector.h.in'.

	* include/glibtop/errors.h
	(GLIBTOP_ERROR_NO_SUCH_BACKEND): New error constant.
        (GLIBTOP_ERROR_NOT_IMPLEMENTED): New error constant.

	* include/glibtop/limits.h
	(GLIBTOP_BACKEND_NAME_LEN): New constant.

	* glibtop-server-private.h (glibtop_server_private):
	Added `GSList *backend_list' and removed `input', `output',
	`socket' and `pid'.

	* lib/command.c: Removed. Moved to `backends/server/'.
	* lib/read.c: Removed. Moved to `backends/server/'.
	* lib/read_data.c: Removed. Moved to `backends/server/'.
	* lib/write.c: Removed. Moved to `backends/server/'.
2000-01-01 20:56:53 +00:00
Martin Baulig
8797d18587 Initial version of the "glibtop-backend-sysdeps" backend.
2000-01-01  Martin Baulig  <martin@home-of-linux.org>

	Initial version of the "glibtop-backend-sysdeps" backend.

	* backend-sysdeps.c: New file.
	* glibtop-backend-private.h: New file.
2000-01-01 20:55:05 +00:00
Martin Baulig
a567f1a8d1 Initial version of the "glibtop-backend-server" backend.
2000-01-01  Martin Baulig  <martin@home-of-linux.org>

	Initial version of the "glibtop-backend-server" backend.

	* command.c, read.c, read_data.c, write.c: New files. Moved here
	from the `lib' directory.

	* backend-server.c: New file.
	* glibtop-backend-private.h: New file.

	* marshal.pl: New file. Automatically creates `marshal.c'.
2000-01-01 20:54:10 +00:00
Martin Baulig
945ec9b0b1 Added empty tr.po file so it compiles again. 2000-01-01 15:11:50 +00:00
Fatih Demir
adc575dcdf Added the Turkish translation .
Added the Turkish translation .
1999-12-31 23:25:48 +00:00
Martin Baulig
e593861d7f *** empty log message *** 1999-12-26 14:18:43 +00:00
Martin Baulig
36c0941dda New file.
1999-12-26  Martin Baulig  <martin@home-of-linux.org>

	* netinfo.c: New file.
1999-12-26 14:08:50 +00:00
Martin Baulig
f1a6e1ead8 The indentation in LibGTop was done with the following command:
find . -name \*.[ch] | xargs -i emacs -batch {} \
		-l /gnome/compile/libgtop/misc/format.el -f save-buffer

December 26, 1999
Martin
1999-12-26 14:05:32 +00:00
Martin Baulig
d7f088bef0 Reflect latest interface changes. 1999-12-26 13:43:04 +00:00
Martin Baulig
f489ea871d perl -pni -e 's,server->machine,server->_priv->machine,g' *.c *.h 1999-12-26 13:38:22 +00:00
Martin Baulig
7ae08dcf4f New macro; moved check for the sysdeps directory here.
1999-12-26  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.m4 (LIBGTOP_CHECK_SYSDEPS_DIR): New macro;
	moved check for the sysdeps directory here.
	(--with-sysdeps-dir): New hacker mode command line option to
	manually override the sysdeps dir. Use of this option is highly
	deprecated; I only added it to be able to do `stub_suid' hackings
	on my GNU/Linux machine.
1999-12-26 13:36:55 +00:00
Martin Baulig
de90df6a63 *** empty log message *** 1999-12-25 20:44:04 +00:00
Martin Baulig
addb3101f2 *** empty log message *** 1999-12-25 20:18:21 +00:00
Martin Baulig
e162a06a1a Removed. This is now included in <glibtop-private.h>.
1999-12-25  Martin Baulig  <martin@home-of-linux.org>

	* safeio.h: Removed. This is now included in <glibtop-private.h>.
1999-12-25 19:58:36 +00:00
Martin Baulig
b9abc7c3ef New file.
1999-12-25  Martin Baulig  <martin@home-of-linux.org>

	* netinfo.c: New file.
1999-12-25 19:57:33 +00:00
Martin Baulig
c76bf0bfab Reflect latest interface changes. 1999-12-25 19:50:36 +00:00
Martin Baulig
e7b42a66b1 Indent to 4 spaces. 1999-12-25 19:04:22 +00:00
Martin Baulig
bbb539ef56 Indent everything to 4 spaces to make it consistant with the other LibGTop
code.
1999-12-25 19:01:13 +00:00
Martin Baulig
dbb5f9b636 Reflect latest interface changes; especially all functions now return
appropriate error return values on error.
1999-12-25 18:54:52 +00:00
Martin Baulig
1979cb8104 Added function prototypes for everything from safeio.c.
1999-12-25  Martin Baulig  <martin@home-of-linux.org>

	* glibtop_private.h: Added function prototypes for everything
	from safeio.c.
1999-12-25 18:46:06 +00:00
Martin Baulig
91e94f9c0d Warning fix. 1999-12-25 18:37:21 +00:00
Martin Baulig
42cbc7cf0c perl -pni -e 's,server->machine,server->_priv->machine,g' *.c
perl -pni -e 's,server->machine,server->_priv->machine,g' *.h
1999-12-25 18:30:26 +00:00
Martin Baulig
595553ae0b Removed all remote communication support from LibGTop.
1999-12-23  Martin Baulig  <martin@home-of-linux.org>

	Removed all remote communication support from LibGTop.

	* include/glibtop/gnuserv.h: Removed.

	* sysdeps/common/gnuslib.c: Removed.

	* src/daemon/Makefile.am: Don't build the `libgtop_daemon'
	binary any longer.

	* src/daemon/server_config.pl: Removed.
	* src/daemon/server_config.h.in: Removed.
	* src/daemon/server_config.h: Removed.
1999-12-23 13:08:51 +00:00
Martin Baulig
e03b665dd1 s/server->machine/server->_priv->machine/g; 1999-12-23 13:01:57 +00:00
Martin Baulig
d0441219cb New global function to return `server->glibtop_errno'.
1999-12-22  Martin Baulig  <martin@home-of-linux.org>

	* lib/errors.c (glibtop_get_errno_l): New global function
	to return `server->glibtop_errno'.
	(glibtop_clear_errno_l): New global function to return
	`server->glibtop_errno' and set it back to 0.
1999-12-22 13:09:42 +00:00
Martin Baulig
ac0cce9d6f Distinguish between GLIBTOP_ERROR_NO_KERNEL_SUPPORT and
1999-12-22  Martin Baulig  <martin@home-of-linux.org>

	* procdata.c: Distinguish between GLIBTOP_ERROR_NO_KERNEL_SUPPORT
	and GLIBTOP_ERROR_NO_SUCH_PROCESS.
1999-12-22 12:59:36 +00:00
Martin Baulig
1ad3a69d8f New error constant. (GLIBTOP_ERROR_INCOMPATIBLE_KERNEL): New error
1999-12-22  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/errors.h
	(GLIBTOP_ERROR_NO_KERNEL_SUPPORT): New error constant.
	(GLIBTOP_ERROR_INCOMPATIBLE_KERNEL): New error constant.
1999-12-22 12:51:59 +00:00
Martin Baulig
d86a386ad8 New global function.
1999-12-22  Martin Baulig  <martin@home-of-linux.org>

	* lib/errors.c (glibtop_get_errno_l): New global function.

	* lib/lib.pl: For functions with a `retval' return type, set
	`server->glibtop_errno' to the error code on error or to zero
	on success.
1999-12-22 11:50:47 +00:00
Martin Baulig
d66768ac55 Return -GLIBTOP_ERROR_NO_SUCH_PROCESS if the process doesn't exist.
1999-12-22  Martin Baulig  <martin@home-of-linux.org>

	* procdata.c (glibtop_get_proc_data_proc_state_s): Return
	-GLIBTOP_ERROR_NO_SUCH_PROCESS if the process doesn't exist.
	(glibtop_get_proc_data_proc_mem_s): Likewise.
	(glibtop_get_proc_data_proc_signal_s): Likewise.
	(glibtop_get_proc_data_proc_kernel_s): Likewise.
	(glibtop_get_proc_data_proc_args_s): Likewise.
	(glibtop_get_proc_data_proc_maps_s): Likewise.
1999-12-22 11:32:18 +00:00
Martin Baulig
567ceac52f Use of `errno' as struct field yields some trouble; better use
`glibtop_errno' instead.
1999-12-22 11:22:29 +00:00
Martin Baulig
47a0ef64d8 Added `errno' field.
1999-12-22  Martin Baulig  <martin@home-of-linux.org>

	* glibtop.h (glibtop): Added `errno' field.

	* include/glibtop/errors.h
	(GLIBTOP_ERROR_SERVER_COMM_FAILURE): New error constant.
	(GLIBTOP_ERROR_NO_SUCH_PROCESS): New error constant.
1999-12-22 11:19:16 +00:00
Martin Baulig
5f649a7613 New file.
1999-12-19  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/glib-arrays.h: New file.

	* lib/glib-arrays.c: New file.
	(glibtop_get_proclist_as_array_l): New function.
	(glibtop_get_proc_args_as_array_l): New function.
	(glibtop_get_proc_map_as_array_l): New function.
	(glibtop_get_mountlist_as_array_l): New function.
1999-12-19 15:49:47 +00:00
Martin Baulig
d4b712db86 New file. This is a private header file which defines `struct
1999-12-19  Martin Baulig  <martin@home-of-linux.org>

	* glibtop-server-private.h: New file. This is a private header
	file which defines `struct _glibtop_server_private'.

	* glibtop.h (glibtop): Added `glibtop_server_private *_priv' field
	and moved some private fields there.
1999-12-19 15:07:13 +00:00
Martin Baulig
339e1f4557 Removed. (glibtop_get_proc_args_*): This now takes a `glibtop_array'
1999-12-12  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/procargs.h (glibtop_proc_args): Removed.
	(glibtop_get_proc_args_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_proc_args one and returns a `char **'.
1999-12-19 14:37:49 +00:00
Martin Baulig
da42214e86 Removed. (glibtop_get_proc_args_*): This now takes a `glibtop_array'
1999-12-12  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/procargs.h (glibtop_proc_args): Removed.
	(glibtop_get_proc_args_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_proc_args one and returns a `char **'.
1999-12-19 14:10:23 +00:00
Martin Baulig
c5ebf9c12e *** empty log message *** 1999-12-19 13:04:51 +00:00
Martin Baulig
6b201a78e0 Put -lgtop' after -lgtop_common'.
1999-12-13  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (LIBGTOP_LIBS): Put `-lgtop' after `-lgtop_common'.
1999-12-19 00:50:12 +00:00
Martin Baulig
d2d8d38db4 New file. We define `GLIBTOP_ERROR_*' error constants here.
1999-12-19  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/errors.h: New file. We define `GLIBTOP_ERROR_*'
	error constants here.

	* lib/errors.c: New file.
	(glibtop_error_strings): Array of error messages.
	(glibtop_get_error_string_l): Get error message.

	* include/glibtop/parameter.h: Added `GLIBTOP_PARAM_REMOTE_USER' and
	`GLIBTOP_PARAM_PATH_RSH'.

	* lib/parameter.c (glibtop_get_parameter_l): Changed return value
	from `size_t' to `ssize_t' and let it return an error constant.
	(glibtop_get_parameter_size_l): New function.
	(glibtop_set_parameter_l): Changed return value from `void' to `int'
	and let it return an error constant on error.

	* structures.def (glibtop_sysdeps): Added.
1999-12-19 00:30:18 +00:00
Martin Baulig
0dee417e1d Added `lib/errors.c'.
1999-12-19  Martin Baulig  <martin@home-of-linux.org>

	* POTFILES.in: Added `lib/errors.c'.
1999-12-19 00:25:19 +00:00
Martin Baulig
a0056665ae Reflect latest interface changes. 1999-12-18 18:11:27 +00:00
Martin Baulig
9b245d8113 *** empty log message *** 1999-12-18 18:11:00 +00:00
Martin Baulig
d098b19d4d Make it work with kernel 2.2.12. 1999-12-18 17:52:02 +00:00
Martin Baulig
3aaa326bab "It compiles". 1999-12-12 16:09:33 +00:00
Martin Baulig
1a25c3ade9 New file.
1999-12-12  Martin Baulig  <martin@home-of-linux.org>

	* netinfo.c: New file.

	* interfaces.c: Reflect latest interface changes.
	* netload.c: Likewise.
1999-12-12 16:09:03 +00:00
Martin Baulig
881c2a2086 All functions which return an array now take a `glibtop_array *array'
1999-12-12  Martin Baulig  <martin@home-of-linux.org>

	All functions which return an array now take a `glibtop_array *array'
	parameter instead of a `glibtop_<feature> *buf' one.

	For compatibility, we typedef the corresponding `glibtop_<feature>'s
	to `glibtop_array' in <glibtop/compat_10.h>.

	This has the advantage that scripting languages like Guile with an
	array implementation which stores the length of an array in the
	array don't need the `glibtop_array' parameter at all any longer.

	We'll also add convenient functions which return GPtrArray's here.

	* include/glibtop/proclist.h (glibtop_proclist): Removed.
	(glibtop_get_proclist_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_proclist' one.

	* include/glibtop/procmap.h (glibtop_proc_map): Removed.
	(glibtop_get_proc_map_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_proc_map' one.

	* include/glibtop/mountlist.h (glibtop_mountlist): Removed.
	(glibtop_get_mountlist_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_mountlist' one.

	* include/glibtop/interfaces.h (glibtop_interface_names): Removed.
	(glibtop_get_interface_names_*): This now takes a `glibtop_array'
	parameter instead of a `glibtop_interface_name' one.

	* include/glibtop/compat_10.h: New file. Contains some typedefs and
	#defines to keep compatibility until the big restructurement is
	completely done.
1999-12-12 14:20:17 +00:00
Martin Baulig
a33f4df47e New file.
1999-12-12  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/array.h: New file.
1999-12-12 12:48:30 +00:00
Martin Baulig
4748c6c4d7 Only set smp flags when we're really on a SMP machine.
1999-12-11  Martin Baulig  <martin@home-of-linux.org>

	* cpu.c: Only set smp flags when we're really on a SMP machine.
1999-12-11 15:38:04 +00:00
Martin Baulig
18af9297ea This is a larger source-incompatible commit, but it'll make it easier to
1999-12-11  Martin Baulig  <martin@home-of-linux.org>

	This is a larger source-incompatible commit, but it'll make it
	easier to write automatically generated code (for instance for
	scripting languages).

	Renamed all constants for the flags field to match the field names
	from the features.def and structures.def where this was not already
	the case.

	* include/glibtop/cpu.h: s/GLIBTOP_XCPU_/GLIBTOP_CPU_XCPU_/g.
	* include/glibtop/shm_limits.h: s/GLIBTOP_IPC_/GLIBTOP_SHM_LIMITS_/g.
	* include/glibtop/sem_limits.h: s/GLIBTOP_IPC_/GLIBTOP_SEM_LIMITS_/g.
	* include/glibtop/msg_limits.h: s/GLIBTOP_IPC_/GLIBTOP_MSG_LIMITS_/g.
1999-12-11 14:33:18 +00:00
Martin Baulig
c138d87c30 Use string' instead of str' as type name.
1999-12-11  Martin Baulig  <martin@home-of-linux.org>

	* features.def: Use `string' instead of `str' as type name.
1999-12-11 14:29:00 +00:00
Martin Baulig
709c5378f8 Removed `guile_types.pl'. 1999-12-05 22:20:38 +00:00
Martin Baulig
8e9a0fbe99 Moved all Guile code to the libgtop-bindings module.
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	Moved all Guile code to the libgtop-bindings module.

	* sysdeps/guile/*: Removed.
	* sysdeps/guile/names/*: Removed.

	* libgtopConf.sh.in: Removed all guile variables.

	* configure.in: Don't check for guile any longer.
1999-12-05 22:16:31 +00:00
Martin Baulig
117af5f59b New script to create `structures.h' which will be used in language
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	* lib/structures.pl: New script to create `structures.h' which will
	be used in language bindings code.
1999-12-05 16:14:09 +00:00
Martin Baulig
4dccb636e2 *** empty log message *** 1999-12-05 15:02:34 +00:00
Martin Baulig
c40788c5b2 Return vector for functions returning arrays. 1999-12-05 14:55:18 +00:00
Martin Baulig
ca27a66593 Use `pointer(<type>)' as return value for functions returning an array of
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	* features.def: Use `pointer(<type>)' as return value for functions
	returning an array of scalar values (such as `unsigned' etc.).
1999-12-05 14:54:54 +00:00
Martin Baulig
713a076df3 *** empty log message *** 1999-12-05 14:17:08 +00:00
Martin Baulig
abaa37c51f Return SCM_BOOL_F on error. 1999-12-05 14:15:49 +00:00
Martin Baulig
4a2fb0a871 Use `array(<type>)' as return value for functions returning an array of
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	* features.def: Use `array(<type>)' as return value for functions
	returning an array of structures.
1999-12-05 14:07:20 +00:00
Martin Baulig
5ddf25c66a Enable `guile' subdir again. 1999-12-05 13:58:31 +00:00
Martin Baulig
ff9f90c7e6 This is now the low-level guile interface to LibGTop. For each of the
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	This is now the low-level guile interface to LibGTop. For
	each of the LibGTop structures we create a new smob here and
	let the `glibtop-get-<feature>' functions return such a smob.

	* main.c: New file.
	(glibtop_boot_guile_main): Initialize "glibtop-global-server" here.

	* guile.h: New file.
1999-12-05 13:58:03 +00:00
Martin Baulig
d48d48cafb Reflect latest interface changes. 1999-12-05 13:54:58 +00:00
Martin Baulig
2bb9bc624d Return array of `glibtop_interface' structures. (glibtop_interface): New
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	* includes/glibtop/interfaces.h (glibtop_get_interface_names):
	Return array of `glibtop_interface' structures.
	(glibtop_interface): New structure.
1999-12-05 13:54:37 +00:00
Martin Baulig
069eb707f0 New #define. (GLIBTOP_UNLIMITED): #define this to be `(~(u_int64_t)0)'.
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/limits.h (GLIBTOP_INTERFACE_LEN): New #define.
	(GLIBTOP_UNLIMITED): #define this to be `(~(u_int64_t)0)'.
1999-12-05 13:52:32 +00:00
Martin Baulig
c1cae4e9ba Added `refcount' field. New functions to deal with refcounts.
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	* glibtop.h (glibtop): Added `refcount' field.
	* lib/init.c (glibtop_server_ref, glibtop_server_unref): New
	functions to deal with refcounts.
1999-12-05 13:50:35 +00:00
Martin Baulig
f5efccc8d6 New file. This is used by the language bindings code to get the
1999-12-05  Martin Baulig  <martin@home-of-linux.org>

	* structures.def: New file. This is used by the language bindings
	code to get the definitions of some of LibGTop's structures.
1999-12-05 13:49:36 +00:00
Birger Langkjer/danish translations
f6e4fefd66 Modified Files: balsa/po/da.po gedit/po/da.po libgtop/po/da.po
Modified Files:
 	balsa/po/da.po gedit/po/da.po libgtop/po/da.po
1999-12-03 18:57:14 +00:00
Martin Baulig
66bab0ec49 Partitially got it working again. 1999-12-02 20:56:42 +00:00
Martin Baulig
2b501953ce New file.
1999-12-02  Martin Baulig  <martin@home-of-linux.org>

	* guile_types.pl: New file.
1999-12-02 20:54:55 +00:00
Yuri Syrota
150d9c9961 Added Ukrainian Translation 1999-12-02 09:15:23 +00:00
Kjartan Maraas
e5b62ecc0b Updated Norwegian translation.
1999-12-01  Kjartan Maraas  <kmaraas@online.no>

	* no.po: Updated Norwegian translation.
1999-12-01 08:49:10 +00:00
Yuri Syrota
b621d3cf1c Added Ukrainian Translation 1999-11-30 13:21:33 +00:00
Ricardo Soares Guimares
9abff2143d Updated pt_BR translations
1999-11-29 Ricardo Soares Guimares <ricardo@conectiva.com.br>
	*	Updated pt_BR translations
1999-11-29 18:49:10 +00:00
Drazen Kacar
5d224583a1 @#$!%@# gcc!!! 1999-11-29 16:19:28 +00:00
Nam SungHyun
fdc5890b09 updated to 1.1.3 1999-11-29 04:22:15 +00:00
Martin Baulig
f850409d45 Added transport' and protocol' argument to specify transport method and
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/netload.h (glibtop_get_netload): Added
	`transport' and `protocol' argument to specify transport method
	and protocol.

	* include/glibtop/netinfo.h (glibtop_get_netinfo): Added
	`transport' argument to specify the transport method.
1999-11-28 19:03:05 +00:00
Martin Baulig
d58748ac66 Added `transport' field for the transport method.
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/netinfo.h (glibtop_netinfo): Added `transport'
	field for the transport method.
1999-11-28 18:41:45 +00:00
Martin Baulig
4a01752467 Split netload into netload and netinfo.
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	Split netload into netload and netinfo.

	* include/glibtop/netinfo.h: New file.

	* include/glibtop/netload.h (glibtop_netload): Moved `if_flags',
	`mtu', `subnet' and `address' into the new `glibtop_netinfo'.

	* include/glibtop/sysdeps.h (GLIBTOP_SYSDEPS_NETINFO): Added.
	(glibtop_sysdeps): Added `netinfo.
	* include/glibtop/union.h (glibtop_union): Added `netinfo.
	* include/glibtop/command.h (GLIBTOP_CMND_NETINFO): Added.
1999-11-28 18:17:21 +00:00
Martin Baulig
53f9d03e30 Added `instance' argument.
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/interfaces.h (glibtop_get_interface_names):
	Added `instance' argument.
1999-11-28 17:53:34 +00:00
Martin Baulig
776b6965fb **** Merged from Hardangervidda ****
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* gnuserv.c (setup_table): Don't dump core when the table of
	permitted host names contains a NULL pointer.
1999-11-28 16:43:30 +00:00
Martin Baulig
aeeef43f45 We now have a new, more extensible client/server communication model.
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* lib/lib.pl: We now have a new, more extensible client/server
	communication model. Include `$(top_srcdir)/scripts/c_types.pl' here.
1999-11-28 16:21:51 +00:00
Martin Baulig
b60b7fd201 New file. This is included in `$(top_srcdir)/lib/lib.pl'.
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* c_types.pl: New file.
	This is included in `$(top_srcdir)/lib/lib.pl'.
1999-11-28 16:20:16 +00:00
Martin Baulig
f918792bb6 Temporarily comment out guile subdir. 1999-11-28 16:19:20 +00:00
Martin Baulig
abb3ba2c6a **** Merged from Hardangervidda ****
1999-11-28  Martin Baulig  <martin@home-of-linux.org>

	* procstate.c (glibtop_get_procstate_s): Stat "/proc/<pid>" instead
	of "/proc/<pid>/state" to get `uid' and `gid'. Thanks to Jason Becker
	for pointing out that GTop reported wrong uid's.
1999-11-28 11:58:14 +00:00
Martin Baulig
566e05bb33 *** empty log message *** 1999-11-21 19:05:11 +00:00
Martin Baulig
6380440c00 Reflect latest interface changes. 1999-11-21 19:03:12 +00:00
Martin Baulig
f8e6fb5674 Implement GLIBTOP_CMND_INTERFACE_NAMES. 1999-11-21 18:46:36 +00:00
Martin Baulig
ac83dcc3b3 Added GLIBTOP_INTERFACE_ISDN. 1999-11-21 18:38:48 +00:00
Martin Baulig
b746f488b0 Added new feature to get a list of network interface names.
1999-11-21  Martin Baulig  <martin@home-of-linux.org>

	Added new feature to get a list of network interface names.

	* features.def: Added `interface_names' feature.

	* include/glibtop/interfaces.h: New file.

	* include/glibtop/sysdeps.h (GLIBTOP_SYSDEPS_INTERFACE_NAMES): Added.
	(glibtop_sysdeps): Added `interface_names'.
	* include/glibtop/union.h (glibtop_union): Added `interface_names'.
	* include/glibtop/command.h (GLIBTOP_CMND_INTERFACE_NAMES): Added.
1999-11-21 18:35:40 +00:00
Martin Baulig
e5a7a5b0e5 New file. (glibtop_init_interface_names_s): New function.
1999-11-21  Martin Baulig  <martin@home-of-linux.org>

	* interfaces.c: New file.
	(glibtop_init_interface_names_s): New function.
	(glibtop_get_interface_names_s): New function.
1999-11-21 18:35:10 +00:00
Martin Baulig
f8aae8f544 Support GLIBTOP_KERN_PROC_PPID.
1999-11-21  Martin Baulig  <martin@home-of-linux.org>

	* proclist.c: (glibtop_get_proclist_s): Support GLIBTOP_KERN_PROC_PPID.
1999-11-21 18:08:10 +00:00
Martin Baulig
3f8ad111b2 Use int' as return type, not void'.
1999-11-21  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/sysdeps.h (glibtop_init_func_t): Use `int'
	as return type, not `void'.

	* include/glibtop/proclist.h (GLIBTOP_KERN_PROC_PPID): On a
	suggestion from Sebastian Fischmeister added a way to return
	all children of a given process.
1999-11-21 17:07:42 +00:00
Martin Baulig
81176f8181 Reflect latest interface changes; return 0 on success and -1 on error. 1999-11-21 16:54:36 +00:00
Ricardo Soares Guimares
cdc8e43a79 Updated pt_BR translations
1999-11-10 Ricardo Soares Guimares <ricardo@conectiva.com.br>

	* Updated pt_BR translations
1999-11-10 13:21:44 +00:00
Jesus Bravo Alvarez
ae69444b3b Added Galician translation 1999-11-02 22:06:26 +00:00
Birger Langkjer/danish translations
28257e906b Modified Files: balsa/po/ChangeLog balsa/po/da.po gedit/po/da.po
Modified Files:
 	balsa/po/ChangeLog balsa/po/da.po gedit/po/da.po
 	gnome-core/desktop-links/Balsa.desktop
 	gnome-core/desktop-links/Development.directory
 	gnome-core/desktop-links/Emacs.desktop
 	gnome-core/desktop-links/GIMP.desktop
 	gnome-core/desktop-links/Games.directory
 	gnome-core/desktop-links/Gmc.desktop
 	gnome-core/desktop-links/Graphics.directory
 	gnome-core/desktop-links/Imlib_config.desktop
 	gnome-core/desktop-links/Internet.directory
 	gnome-core/desktop-links/Kterm.desktop
 	gnome-core/desktop-links/Root.directory
 	gnome-core/desktop-links/Settings.directory
 	gnome-core/desktop-links/System.directory
 	gnome-core/desktop-links/Tkrat.desktop
 	gnome-core/desktop-links/UNIX-regular.desktop
 	gnome-core/desktop-links/Vim.desktop
 	gnome-core/desktop-links/Vnterm.desktop
 	gnome-core/gmenu/gmenu.desktop
 	gnome-core/gnome-hint/gnome-hint-properties.desktop
 	gnome-core/gnome-terminal/gnome-terminal.desktop
 	gnome-core/panel/gnome-panel-properties.desktop
 	gnome-core/po/da.po gnome-libs/po/da.po gnome-pim/po/da.po
 	libgtop/po/da.po libunicode/ltconfig libunicode/ltmain.sh
1999-10-25 00:32:07 +00:00
Martin Baulig
7a9bb6e43d Return 0 on success and -1 on error. 1999-10-24 20:17:42 +00:00
Martin Baulig
507f171b63 Use `retval' for the default retval.
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* features.def: Use `retval' for the default retval.

	* include/glibtop/command.h (glibtop_command_h): Added
	`int *retval_ptr' parameter to return the retval from the
	sysdeps functions.
1999-10-24 20:04:37 +00:00
Martin Baulig
1dadfb6d15 Added additional `int' parameter for the retval from the sysdeps
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* io.c (do_output): Added additional `int' parameter for the
	retval from the sysdeps functions.
1999-10-24 20:03:35 +00:00
Martin Baulig
2dc529b19f New static variable. (glibtop_get_fsusage_s): Return -1 on error;
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* fsusage.c (_glibtop_sysdeps_fsusage): New static variable.
	(glibtop_get_fsusage_s): Return -1 on error; otherwise set the
	features and return 0.
1999-10-24 19:16:52 +00:00
Martin Baulig
a5dd7e9063 This is a very big an possibly breaking commit.
It changes the return values of all sysdeps functions which were
previosly returning void to int.

This is the first step to implement better error handling in LibGTop.

Martin

1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/*.h (glibtop_get_*, glibtop_init*): Changed
	the return value of all `glibtop_get_<feature>_* ()' and all
 	`glibtop_init_<feature>_* ()' functions from void to int.

	* features.def: Reflect changes of the return values.
	* sysdeps/*/*.c: Reflect changes of the return values.
1999-10-24 19:09:32 +00:00
Martin Baulig
eae892c9b1 Use glib's malloc functions when compiled with LIBGTOP_USE_GLIB_MALLOC.
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* xmalloc.c: Use glib's malloc functions when compiled
	with LIBGTOP_USE_GLIB_MALLOC.
1999-10-24 18:47:50 +00:00
Martin Baulig
71e81ccad3 Added. New configure parameter to use glib's malloc functions.
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* acconfig.h (LIBGTOP_USE_GLIB_MALLOC): Added.
	* configure.in (--enable-glib-malloc): New configure parameter
	to use glib's malloc functions.
1999-10-24 18:46:59 +00:00
Martin Baulig
eeaa766456 Use glib's malloc functions when compiled with LIBGTOP_ENABLE_DEBUG.
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* xmalloc.c: Use glib's malloc functions when compiled
	with LIBGTOP_ENABLE_DEBUG.

	* xmalloc_suid.c: New file.
1999-10-24 16:19:48 +00:00
Martin Baulig
17627bab9f New file.
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* sysdeps/common/ChangeLog: New file.
1999-10-24 16:19:28 +00:00
Martin Baulig
7327906fde Removed examples from the spec file. 1999-10-24 15:55:46 +00:00
Martin Baulig
3c3dfcd77d The LibGTop examples have been moved into their own top-level module
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	The LibGTop examples have been moved into their own top-level
	module libgtop-examples.

	* examples/*: Removed.
	* configure.in: Removed all checks for the examples.
	* libgtop-sysdeps.m4: Removed --with-libgtop-examples parameter.
	* Makefile.am: Removed examples from the subdir list.
1999-10-24 15:51:28 +00:00
Martin Baulig
0adc3bd9ab Move that warning from configure.in to autogen.sh so it won't show up
each time during the build process.
1999-10-24 14:44:03 +00:00
Martin Baulig
0c3e5cd755 Check for <osreldate.h> on *BSD* systems.
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.m4: Check for <osreldate.h> on *BSD* systems.
1999-10-24 14:33:44 +00:00
Martin Baulig
34714be205 Make inclusion of <osreldate.h> conditional to `HAVE_OSRELDATE_H', not to
1999-10-24  Martin Baulig  <martin@home-of-linux.org>

	* glibtop_machine.h: Make inclusion of <osreldate.h> conditional
 	to `HAVE_OSRELDATE_H', not to `__FreeBSD__'.
	* procsignal.c, proctime.c, proctime.c: Likewise.
1999-10-24 14:33:18 +00:00
Martin Baulig
77cf90cfb0 Add a prominent warning that this is a development version of LibGTop. 1999-10-24 14:13:02 +00:00
Martin Baulig
359f5511d7 Fix bug #2909; I made some little mistake when applying a patch here. 1999-10-20 14:35:54 +00:00
Martin Baulig
9043e29b18 Don't cast uptime and idletime to float as suggested by John Kodis.
1999-10-19  Martin Baulig  <martin@home-of-linux.org>

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

	* LIBGTOP-VERSION: Set version number to 1.1.3, binary age 0,
	interface age 0 and increased LIBGTOP_SERVER_VERSION to 51.
1999-10-19 00:08:09 +00:00
Martin Baulig
ebbeb1a058 *** empty log message *** 1999-10-18 22:14:01 +00:00
Martin Baulig
afeb4d50a5 Released LibGTop 1.1.2 "Hardangervidda".
1999-10-19  Martin Baulig  <martin@home-of-linux.org>

	Released LibGTop 1.1.2 "Hardangervidda".
1999-10-18 21:59:46 +00:00
Martin Baulig
7fb4f43469 New file. We also track all changes since 1.0.x here.
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* RELNOTES-1.1.x: New file. We also track all changes since
	1.0.x here.
1999-10-18 21:59:03 +00:00
Martin Baulig
ca0cdbae5a This is the *development* branch of LibGTop. It is indended
for people who want to help with the development of LibGTop and
not for end-users.

Please use the LIBGTOP_STABLE_1_0 branch (which is LibGTop 1.0.x)
unless you're really a developer.

If you're using LibGTop from CVS simply do a

	cvs update -r LIBGTOP_STABLE_1_0

to get the latest version from the stable branch.

However, I'll periodically make snapshot releases from the development
branch for Solaris users of LibGTop.

They can be found at

	ftp://ftp.home-of-linux.org/pub/libgtop/1.1/

in near future.

Using released tarballs from the development branch is a lot better than
compiling directly from CVS since things in CVS may not always work as
expected.

Note that releases from the developer branch are neither binary
nor fully source compatible; you'll normally have to recompile
everything that use them.

October 1999
Martin Baulig
1999-10-18 21:42:16 +00:00
Martin Baulig
879b173ae4 We start maintaining a NEWS file now :)
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* NEWS: We start maintaining a NEWS file now :)
1999-10-18 21:27:29 +00:00
Martin Baulig
58b341ceec *** empty log message *** 1999-10-18 20:33:08 +00:00
Martin Baulig
98981183d8 Removed obsolete file.
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* NEWS.old: Removed obsolete file.

	* TODO: Nuked it. We may need this file later ...
1999-10-18 19:58:36 +00:00
Martin Baulig
2747d6bd2a LIBGTOP_STABLE_1_0 is now an ordinary branch here. 1999-10-18 18:58:58 +00:00
Martin Baulig
e76df47af0 Reverted this commit.
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* internals.texi: For LibGTop 1.0.x, we put a short notice here
	that this section was added in the development versions.
1999-10-18 18:52:38 +00:00
Martin Baulig
04fbf58c18 For LibGTop 1.0.x, we put a short notice here that this section was added
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* internals.texi: For LibGTop 1.0.x, we put a short notice here
	that this section was added in the development versions.
1999-10-18 18:33:48 +00:00
Martin Baulig
10dcb079f7 Added a note about LibGTop and GNOME.
1999-10-18  Martin Baulig  <martin@home-of-linux.org>

	* about.texi: Added a note about LibGTop and GNOME.

	* reference.texi (glibtop_proc_state): Fix description of the `state'
 	field for LibGTop 1.0.x.
1999-10-18 18:15:30 +00:00
Martin Baulig
8da7856780 Added `@DL_LIB@'.
1999-10-17  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am (libgtop_sysdeps_la_LIBADD): Added `@DL_LIB@'.
1999-10-17 21:42:15 +00:00
Martin Baulig
78a6bcd553 Small warning fix. 1999-10-17 21:38:38 +00:00
Martin Baulig
66dd76be8f Check for dlopen() and AC_SUBST this.
1999-10-17  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (DL_LIB): Check for dlopen() and AC_SUBST this.
1999-10-17 21:36:00 +00:00
Martin Baulig
2174194bbd Fixed typedef syntax for glibtop-config.h. Thanks to Drazen Kacar for
1999-10-17  Martin Baulig  <martin@home-of-linux.org>

	* configure.in: Fixed typedef syntax for glibtop-config.h.
	Thanks to Drazen Kacar for pointing this out.
1999-10-17 12:59:51 +00:00
Martin Baulig
d58d11fa29 The next release (October GNOME for Solaris people) near ...
1999-10-16  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.1.2, binary age 2,
	interface age 2.
1999-10-16 18:48:11 +00:00
Martin Baulig
20bc40ac18 Applied all patches from the FreeBSD 3.3 ports collection.
1999-10-16  Martin Baulig  <martin@home-of-linux.org>

	Applied all patches from the FreeBSD 3.3 ports collection.

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

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

	* procsignal.c: Some fixes for FreeBSD-current.
1999-10-16 18:30:52 +00:00
Martin Baulig
7881e4212f Don't use the `GLIBTOP_PROCESS_*' constants for process states for LibGTop
1999-10-16  Martin Baulig  <martin@home-of-linux.org>

	* procstate.c (glibtop_get_proc_state_p): Don't use the
	`GLIBTOP_PROCESS_*' constants for process states for
	LibGTop 1.0.x.
1999-10-16 18:00:54 +00:00
Birger Langkjer/danish translations
aaca4e7cd6 Modified Files: glade/po/da.po libgtop/po/da.po
Modified Files:
 	glade/po/da.po libgtop/po/da.po
1999-10-09 00:04:21 +00:00
Nam SungHyun
3250583253 updated 1999-10-04 14:21:45 +00:00
Martin Baulig
be4c952542 Reverted my commit which reverted Radek Doulik's change.
Sorry for being stupid, but I run the diff in the wrong direction; his
patch was absolutely correct.

Martin
1999-09-29 10:23:04 +00:00
Gert Dewit
5656ad7f6c Updated nl translation for LIBGTOP_STABLE_1_0 1999-09-29 09:52:06 +00:00
Martin Baulig
ed3ab3d31d updated po-files for 1.1.1. 1999-09-29 00:45:15 +00:00
Kenneth llphaane Christiansen
7c0f91b7f5 Updated.
1999-09-29  Kenneth llphaane Christiansen  <kenneth@ripen.dk>

	* da.po: Updated.
1999-09-29 00:39:06 +00:00
Martin Baulig
8619b3a79b Reverted Timur's commit. (MAKEINFO): Add `-I @libgtop_top_builddir@/doc'
1999-09-29  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Reverted Timur's commit.
	(MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here. This still
	creates libgtop.info in srcdir, but that's an automake problem.
1999-09-28 23:37:29 +00:00
Martin Baulig
f71e60619d AC_SUBST this.
1999-09-29  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (libgtop_top_builddir): AC_SUBST this.
1999-09-28 23:28:59 +00:00
Martin Baulig
3274a72cda Reverted incorrect commit from Radek Doulik.
Please make sure your changes at least compile without warnings;
it should be clear that comparing an `unsigned' structure field with
a character constant is wrong.
1999-09-28 22:33:25 +00:00
Radek Doulik
c285171500 fixed idle processes filtering
1999-09-28  Radek Doulik  <rodo@praha.eridan.cz>

	* proclist.c (glibtop_get_proclist_s): fixed idle processes filtering
1999-09-28 17:05:28 +00:00
Drazen Kacar
16156b8e27 Bugfix. It wasn't excluding system, non-tty or idle processes if that was
* proclist.c (glibtop_get_proclist_s): Bugfix. It wasn't
        excluding system, non-tty or idle processes if that was
        requested.
1999-09-28 03:53:08 +00:00
Jorge Godoy
56f34dd385 added pt_BR translations and support 1999-09-27 21:35:08 +00:00
Tomasz Kłoczko
4d910a33fc - added @directory entry for libgtop in "Librarires:" @dircategory. 1999-09-25 19:01:18 +00:00
Tomasz Kłoczko
e0ec7f5c67 - deleted some blank lines. 1999-09-25 18:58:22 +00:00
Elliot Lee
886896137c Make 'dist-hook' targets, which copy the .spec file into $(distdir),
Make 'dist-hook' targets, which copy the .spec file into $(distdir), depend upon the
.spec file, so that the .spec file will be regenerated when a previously-compiled tree
is 'dist'd with a new version number.
1999-09-24 16:18:03 +00:00
Kjartan Maraas
e0a91cb479 Actually add this 1999-09-21 22:52:05 +00:00
Kjartan Maraas
bc51f8c734 Added Danish translation from Kenneth Christiansen <kenneth@ripen.dk>.
1999-09-22  Kjartan Maraas  <kmaraas@online.no>

	* da.po: Added Danish translation from Kenneth
	Christiansen <kenneth@ripen.dk>.

1999-08-13  Vincent Renardias <vincent@ldsol.com>
1999-09-21 22:50:39 +00:00
Gert Dewit
a396e42fa8 updated nl translation 1999-09-19 08:58:55 +00:00
Martin Baulig
009c491b9b Added MODULE_VERSION on Miguel's request (set it to
1999-09-19  Martin Baulig  <martin@home-of-linux.org>

	* libgtopConf.sh.in: Added MODULE_VERSION on Miguel's
	request (set it to "libgtop-@LIBGTOP_VERSION@").
1999-09-18 23:06:48 +00:00
Pablo Saratxaga
9667d88e60 added polish language file 1999-09-18 17:14:31 +00:00
Pablo Saratxaga
de68843eda updated es files 1999-09-18 16:37:22 +00:00
Gert Dewit
cb52909ded updated nl translation 1999-09-18 12:17:59 +00:00
Gert Dewit
52c9bb06c7 first translation (partial) 1999-09-18 10:14:52 +00:00
Martin Baulig
2957ec5b57 Make it work if we have GNOME and the user gave use --without-gnome (fixes
1999-09-17  Martin Baulig  <martin@home-of-linux.org>

	* configure.in: Make it work if we have GNOME and the user
	gave use --without-gnome (fixes bug #1735).
1999-09-17 00:37:14 +00:00
Elliot Lee
f384aae3a4 add libgtopConf.sh to CLEANFILES.
add libgtopConf.sh to CLEANFILES.
1999-08-23 18:20:26 +00:00
Elliot Lee
3a3899fda1 Make it build with gcc 2.95.1
Make it build with gcc 2.95.1
1999-08-19 20:12:23 +00:00
Elliot Lee
9cba48fbc9 Add braces to fix ambiguity.
Add braces to fix ambiguity.
1999-08-16 17:09:09 +00:00
Vincent Renardias
86fbcede24 completed translation.
* completed translation.
1999-08-13 10:44:16 +00:00
Pablo Saratxaga
6e7ba4a9ca updated es file 1999-08-08 11:57:28 +00:00
Elliot Lee
8f02d15fb9 po line number updates.
po line number updates.
1999-08-02 15:42:01 +00:00
Elliot Lee
cecae08c13 Fix spec file to include all header files.
Fix spec file to include all header files.

po/*.po: NoClueHereEither.
1999-08-01 21:40:13 +00:00
Martin Baulig
9152479981 Fixed all warnings. 1999-07-30 21:03:22 +00:00
Matthias Warkus
2814206ffa Update. 1999-07-30 11:00:05 +00:00
Martin Baulig
a5c839da3a Use G_GNUC_UNUSED.
1999-07-29  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/error.h: Use G_GNUC_UNUSED.
1999-07-29 21:20:35 +00:00
Elliot Lee
e3c3db72e2 Allow defining a CUSTOM_RELEASE at RPM build time 1999-07-29 20:09:30 +00:00
Martin Baulig
1318d89456 Link the libgtop_daemon' and the libgtop_server' statically if possible.
1999-07-29  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Link the `libgtop_daemon' and the `libgtop_server'
	statically if possible.
1999-07-29 19:01:52 +00:00
Martin Baulig
68f97794bd New automake conditionals.
1999-07-29  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (ENABLE_STATIC, ENABLE_SHARED): New automake
	conditionals.
1999-07-29 19:00:16 +00:00
Martin Baulig
9bd351abae Fix bug reported by Takis Psarogiannakopoulos: `start_time' are seconds
1999-07-29  Martin Baulig  <martin@home-of-linux.org>

	* proctime.c (glibtop_get_proc_time_p): Fix bug reported by
	Takis Psarogiannakopoulos: `start_time' are seconds since the
 	epoch as it is stated in the manual.
1999-07-29 18:56:26 +00:00
Martin Baulig
60a6d0876e Don't provide rtime' any longer since we must not use rtime = utime +
1999-07-29  Martin Baulig  <martin@home-of-linux.org>

	* proctime.c (glibtop_get_proctime_s): Don't provide `rtime'
	any longer since we must not use `rtime = utime + stime'.
1999-07-29 18:52:58 +00:00
Martin Baulig
6b11b4b581 Add `-release ${LT_RELEASE}'. This way you can have both 1.0.x and 1.1.x
1999-07-27  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (LT_VERSION_INFO): Add `-release ${LT_RELEASE}'.
	This way you can have both 1.0.x and 1.1.x libraries under the
	same ${prefix}.
1999-07-27 18:31:53 +00:00
Martin Baulig
58cfb44e52 Yes, I'm an idiot - why the hell did I release LibGTop 1.1.0 more than
one month ago and did not increment the version number in CVS ... ????

1999-07-27  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.1.1 binary age 1,
	interface age 1.
1999-07-27 18:11:27 +00:00
Vincent Renardias
df3fb1c6fa updated with Fabrice's patch
* updated with Fabrice's patch
1999-07-27 16:31:31 +00:00
Drazen Kacar
71bda8b99d Bug fix. All Solaris versions have RUID and RGID in struct stat for
* proclist.c: Bug fix. All Solaris versions have RUID and
        RGID in struct stat for files/directories in /proc.
1999-07-16 04:46:27 +00:00
Martin Baulig
331e128116 Applied patch from Damon Chaplin to avoid a compiler problem. 1999-07-11 18:28:18 +00:00
Kjartan Maraas
69de36e70f Updated Norwegian translation.
1999-07-11  Kjartan Maraas  <kmaraas@online.no>

		* no.po: Updated Norwegian translation.
1999-07-11 01:58:52 +00:00
Tomas Ogren
b9cbea40e7 New file
1999-07-11  Tomas Ogren  <stric@ing.umu.se>

* sv.po: New file
1999-07-11 01:32:03 +00:00
Tomas Ogren
7654d547d7 Added sv to ALL_LINGUAS
1999-07-11  Tomas Ogren  <stric@ing.umu.se>

* configure.in: Added sv to ALL_LINGUAS
1999-07-11 01:30:59 +00:00
Tomas Ogren
995e9ffd47 Fixed a tyop
1999-07-11  Tomas Ogren  <stric@ing.umu.se>

* sysdeps/names/procmem.c: Fixed a tyop
1999-07-11 00:19:40 +00:00
Vincent Renardias
11e6109a4a Updated (still uncomplete)
* Updated (still uncomplete)
1999-06-25 12:22:21 +00:00
Martin Baulig
9e79025aef Some versions of Solaris require -lelf for -lkvm; added appropriate check
1999-06-22  Martin Baulig  <martin@home-of-linux.org>

	* configure.in: Some versions of Solaris require -lelf for -lkvm;
	added appropriate check for this situation.
1999-06-22 09:45:40 +00:00
Drazen Kacar
c1ea6cd689 Martin Baulig wrote:
> Added/updated sysdeps AUTHORS files [...] If you feel discriminated,
> please feel free to add yourself :-)

Added Martin. :-) I wonder if there should be THANKS-TO file...
1999-06-15 22:45:55 +00:00
Martin Baulig
4322ef4b37 Added/updated sysdeps AUTHORS files (each sysdeps port should have
its own AUTHORS file) and updated the top-level AUTHORS and MAINTAINERS
files (for people who have done good work all over LibGTop).

If you feel discriminated, please feel free to add yourself :-)

Martin
1999-06-15 20:09:43 +00:00
Elliot Lee
e56d9e3fb0 Add maintainers list 1999-06-15 17:20:46 +00:00
Pablo Saratxaga
833170d18c updatedspanish language file 1999-06-15 16:22:16 +00:00
Timur Bakeyev
9ef8c5739b A fix to a ommitted case, when nor NetBSD, nor LibGTop >= 1.1.0. This
Tue Jun 15 16:04:10 1999 Timur Bakeyev <mc@bat.ru>

	* procuid.c: A fix to a ommitted case, when nor NetBSD, nor
	LibGTop >= 1.1.0. This should be investigated closely to cover
	more cases....
1999-06-15 14:22:19 +00:00
Timur Bakeyev
b8cdd9e090 Force `auto-macros.texi' to be created in $(srcdir), as, otherwise,
Tue Jun 15 15:59:50 1999 Timur Bakeyev <mc@bat.ru>

	* Makefile.am: Force `auto-macros.texi' to be created in $(srcdir),
	as, otherwise, makeinfo is unable to find it, if srcdir != builddir.
	That's a buggy solution, as spoils srcdir, but, as libgtop.info also
	created in srcdir - this is acceptable. Both SHOULD be fixed!
1999-06-15 14:03:38 +00:00
Kjartan Maraas
cad4a8da0d Updated translation.
1999-06-08  Kjartan Maraas  <kmaraas@online.no>

		* no.po: Updated translation.
1999-06-07 22:23:57 +00:00
Drazen Kacar
432adade05 Solaris 2.5 & 2.5.1 portability fixes, based on patches from Steve Murphy
* glibtop_machine.h, open.c, procargs.c, proclist.c, procmap.c:
          Solaris 2.5 & 2.5.1 portability fixes, based on patches
          from Steve Murphy <murf@e-tools.com>.
1999-06-07 04:13:05 +00:00
Martin Baulig
e9baa3543e Added the missing glibtop_suid.h to the `noinst_HEADERS'. 1999-06-01 20:57:14 +00:00
Martin Baulig
d5c8af57f3 1.1.0. 1999-05-31 14:04:43 +00:00
Drazen Kacar
deeadb6648 Fixed bug in calculation of process argument list.
* procargs.c: Fixed bug in calculation of process argument list.
1999-05-30 20:39:07 +00:00
Martin Baulig
f8f0ee6882 Added "Servers and Daemons" section. Documented the glibtop_init ()
* white-papers.texi: Added "Servers and Daemons" section.
* reference.texi: Documented the glibtop_init () function.
1999-05-28 22:43:58 +00:00
Martin Baulig
76be244662 New file documenting LibGTop internals. Started to document all library
1999-05-28  Martin Baulig  <baulig@Stud.Informatik.Uni-Trier.DE>

	* internals.texi: New file documenting LibGTop internals.
	* reference.texi: Started to document all library functions and
	finished the sysdeps and common references.
1999-05-28 17:14:02 +00:00
Martin Baulig
d97a151695 Remove the GLIBTOP_SYSDEPS_FEATURES' and GLIBTOP_SYSDEPS_POINTER_SIZE'
1999-05-28  Martin Baulig  <baulig@Stud.Informatik.Uni-Trier.DE>

	* include/glibtop/sysdeps.h: Remove the `GLIBTOP_SYSDEPS_FEATURES'
	and `GLIBTOP_SYSDEPS_POINTER_SIZE' constants and let numbering
	start at zero for `GLIBTOP_SYSDEPS_CPU'.
1999-05-28 16:38:20 +00:00
Martin Baulig
c9dfc76155 *** empty log message *** 1999-05-28 13:31:53 +00:00
Martin Baulig
506023c898 Finished the LibGTop Reference Manual. 1999-05-28 12:46:25 +00:00
Martin Baulig
0e9245ba28 Move this here.
1999-05-28  Martin Baulig  <martin@home-of-linux.org>

	* glibtop.h (GLIBTOP_MOUNTENTRY_LEN): Move this
	* include/glibtop/limits.h: here.
1999-05-28 12:01:56 +00:00
Martin Baulig
091811a4d6 Added note about NetBSD 1.4 which is now supported. 1999-05-28 11:43:59 +00:00
Martin Baulig
18f4bccb37 *** empty log message *** 1999-05-28 00:09:32 +00:00
Martin Baulig
37af4964cc Add main.texi to libgtop_TEXINFOS. 1999-05-27 23:58:45 +00:00
Martin Baulig
f248d99d7a Minor Alpha fixes (merged from stable). 1999-05-27 23:15:56 +00:00
Martin Baulig
ca80d88a74 *** empty log message *** 1999-05-27 22:26:41 +00:00
Martin Baulig
56765d966f Use LibGTop version conditionals so we can more easily merge the code into
1999-05-28  Martin Baulig  <martin@home-of-linux.org>

	* first.c, second.c: Use LibGTop version conditionals so we can
	more easily merge the code into LIBGTOP_STABLE_1_0.
1999-05-27 22:25:43 +00:00
Martin Baulig
d169afcafa glibtop_get_proc_data_proc_args_s () returns -1 on failure. 1999-05-27 22:19:55 +00:00
Drazen Kacar
1f4b738639 Get the file name from inode number.
* glibtop_machine.h, open.c, procmap.c: Get the file name
        from inode number.
1999-05-27 02:57:34 +00:00
Martin Baulig
981668a56b *** empty log message *** 1999-05-26 15:33:57 +00:00
Martin Baulig
b55257d0d3 Make this work with NetBSD 1.4. 1999-05-26 15:32:59 +00:00
Martin Baulig
ae6f746cf2 Small fix to print correct warnings/errors. 1999-05-26 15:30:36 +00:00
Martin Baulig
68e7b7a1d4 Removed debugging statement. 1999-05-26 15:28:58 +00:00
Martin Baulig
7b7071cf6d Only #include <sys/param.h> inside LibGTop. 1999-05-26 15:28:27 +00:00
Martin Baulig
b1e908e6b6 More NetBSD 1.4 fixes.
1999-05-26  Martin Baulig  <martin@home-of-linux.org>

	More NetBSD 1.4 fixes.

	* mem.c, procmap.c, procmem.c: Make this work with the new UVM code.

	[FIXME: This following most likely works on all BSD systems, but
	this needs to be tested; I made it conditional to NetBSD 1.4 at
	the moment. Please extend the conditionals to any other systems
	where this works ...]

	* procstate.c: Added `ruid' and `rgid' for LibGTop >= 1.1.0.
	* procuid.c: Added `ngroups' and `groups' for LibGTop >= 1.1.0.
1999-05-26 13:21:19 +00:00
Martin Baulig
f91050a7c7 Define `LIBGTOP_VERSION_CODE' here so we can use version conditionals in
1999-05-26  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (INCLUDES): Define `LIBGTOP_VERSION_CODE' here so we
	can use version conditionals in the sysdeps code.
1999-05-26 13:16:38 +00:00
Martin Baulig
e3f9aa526b *** empty log message *** 1999-05-25 18:11:14 +00:00
Martin Baulig
7db0c756d6 First attempt at making this work on NetBSD 1.4. 1999-05-25 18:09:27 +00:00
Martin Baulig
c1bd844673 Make I4B work on NetBSD. 1999-05-25 17:25:29 +00:00
Drazen Kacar
914354adb2 automake.die.die.die 1999-05-21 21:25:35 +00:00
Martin Baulig
2ac4fb92c2 Added netload. 1999-05-21 18:36:17 +00:00
Martin Baulig
0c1dd954eb Added proc_map. 1999-05-21 18:27:14 +00:00
Martin Baulig
116767b8b8 Added proc_args. 1999-05-21 18:14:30 +00:00
Martin Baulig
3eb5394474 Re-arranged the reference manual a bit: put everything into subsections, not
sections and sort them by "System Dependent Function", "Common Functions" etc.
1999-05-21 18:03:33 +00:00
Martin Baulig
953f59195f Some more work on the LibGTop white paper. 1999-05-21 17:38:30 +00:00
Martin Baulig
309f3998d7 Added some things from the old reference manual. 1999-05-21 15:24:12 +00:00
Martin Baulig
887c4013a0 Made that "dc" think a bit more clean. 1999-05-21 08:19:28 +00:00
Drazen Kacar
f232ddcdcb Implemented what Solaris has to offer cheaply. It sucks, but digging in
* procargs.c: Implemented what Solaris has to offer cheaply.
        It sucks, but digging in process address space would be
        too slow.
1999-05-17 16:37:38 +00:00
Martin Baulig
bd0424ee7d *** empty log message *** 1999-05-16 17:32:08 +00:00
Martin Baulig
62824e1537 Use conditionals for glibtop_cpu. 1999-05-16 17:25:58 +00:00
Martin Baulig
36e7d3133b TeX doesn't like conditionals with underscores in it - so we need to
use `LIBGTOP-1-1' here.
1999-05-16 17:25:24 +00:00
Martin Baulig
20c69951ab *** empty log message *** 1999-05-16 14:49:43 +00:00
Martin Baulig
d9d8cdf043 This is now the main file which will @include all chapter files so we can
1999-05-16  Martin Baulig  <martin@home-of-linux.org>

	* main.texi: This is now the main file which will @include all
	chapter files so we can use `texinfo-multiple-files-update'.

	* reference.texi: Added all missing sections with a "not yet written"
	notice.
1999-05-16 14:48:58 +00:00
Martin Baulig
29fba02b4a This directory is shared between the HEAD and the LIBGTOP_STABLE_1_0
branch (`LIBGTOP_STABLE_1_0' is just an ordinary tag and no branch tag
here).

Whenever we make a new release of LibGTop 1.0.x, we'll move that tag to
point to a "stable" version of the documentation.

May 16, 1999
Martin Baulig
1999-05-16 14:48:38 +00:00
Martin Baulig
1954718e3f This is now the main file which will @include all chapter files so we can
1999-05-16  Martin Baulig  <martin@home-of-linux.org>

	* main.texi: This is now the main file which will @include all
	chapter files so we can use `texinfo-multiple-files-update'.

	* reference.texi: Added all missing sections with a "not yet written"
	notice.
1999-05-16 13:44:11 +00:00
Martin Baulig
6712cae260 Added title page, table of contents etc. 1999-05-16 13:34:05 +00:00
Martin Baulig
6ddf213d5d Initial version of the LibGTop White Paper.
1999-05-16  Martin Baulig  <martin@home-of-linux.org>

	* white-paper.texi: Initial version of the LibGTop White Paper.
1999-05-16 13:33:40 +00:00
Martin Baulig
b700a17efa texi2dvi doesn't like @clear for some reason. 1999-05-16 12:50:31 +00:00
Martin Baulig
bedec591a2 We can't call that file `version.texi' since that's some king of "magic"
name for automake, so I renamed it to `auto-macros.texi'.

1999-05-16  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Create `auto-macros.texi' from `auto-macros.texi.in'
 	which will contain some `@set' commands for the LibGTop version etc.

	* auto-macros.texi.in: New file. This is a template for
	`auto-macros.texi' which will be automatically generated.
1999-05-16 12:31:58 +00:00
Martin Baulig
2c4568119c Create version.texi' from version.texi.in' which will contain some
1999-05-16  Martin Baulig  <martin@home-of-linux.org>

	* Makefile.am: Create `version.texi' from `version.texi.in' which
	will contain some `@set' commands for the LibGTop version etc.

	* version.texi.in: New file. This is a template for `version.texi'
	which will be generated from Makefile.am.
1999-05-16 12:18:00 +00:00
Martin Baulig
efd8e2f343 *** empty log message *** 1999-05-16 11:42:33 +00:00
Martin Baulig
f29793c868 *** empty log message *** 1999-05-16 10:30:34 +00:00
Martin Baulig
e8bbb15f7e Remove the `--enable-hacker-mode' requirement for the BSDI, Solaris and
1999-05-15  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.m4: Remove the `--enable-hacker-mode' requirement
	for the BSDI, Solaris and Digital Unix ports.
1999-05-15 19:44:36 +00:00
Martin Baulig
fdb2e5eb7b *** empty log message *** 1999-05-13 13:39:27 +00:00
Martin Baulig
da58e7edb4 Define this on Solaris; we use version codes like 270 for SunOS 5.7 and
1999-05-13  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.m4 (GLIBTOP_SOLARIS_RELEASE): Define this on Solaris;
	we use version codes like 270 for SunOS 5.7 and 251 for SunOS 2.5.1.
1999-05-13 13:00:35 +00:00
Martin Baulig
e81b8ba479 *** empty log message *** 1999-05-12 14:43:01 +00:00
Martin Baulig
cfbe553724 This is a new generated file which will be included from <glibtop.h>. We
1999-05-12  Martin Baulig  <martin@home-of-linux.org>

	* glibtop-config.h: This is a new generated file which will be
	included from <glibtop.h>. We define things like `u_int64_t' and
	LIBGTOP_*_VERSION here so we can compile LibGTop applications with
	`libgtop-config --cflags`.

	* configure.in: Create glibtop-config.h.
	(GLIBTOP_*_INCS): Added `-I $(pkglibdir)/include'.

	* libgtop-config.h.in: Added `--cflags', `--libs' and `--extra-libs'
	parameter so you can now use LibGTop even in no-autoconf apps.

	* Makefile.am: Install `glibtop-config.h' in `$(pkglibdir)/include'.
1999-05-12 10:25:33 +00:00
Martin Baulig
17634e05d4 *** empty log message *** 1999-05-12 08:29:33 +00:00
Martin Baulig
7d216d364e Added proc_mem. 1999-05-11 13:15:50 +00:00
Martin Baulig
9e16f6e88c Fixed implementation of the state' field; added ruid' and `rgid' fields.
1999-05-11  Martin Baulig  <martin@home-of-linux.org>

	* procstate.c: Fixed implementation of the `state' field; added
	`ruid' and `rgid' fields.
1999-05-11 12:56:50 +00:00
Drazen Kacar
f23e8b3d1c Return 0 usage times for scheaduler (PID 0).
* proctime.c: Return 0 usage times for scheaduler (PID 0).
1999-05-11 06:25:04 +00:00
Drazen Kacar
04d988357f Another try to match Linux process states. Why am I doing it? 1999-05-11 06:11:46 +00:00
Martin Baulig
14ed950dad *** empty log message *** 1999-05-10 11:05:33 +00:00
Martin Baulig
f107c34f82 Added proc_uid. 1999-05-10 11:02:59 +00:00
Martin Baulig
9b5bfd33ef *** empty log message *** 1999-05-10 09:30:52 +00:00
Martin Baulig
8fc6c79b6d Added proc_state. 1999-05-10 09:30:27 +00:00
Drazen Kacar
2d838b9f09 Forgot to commit. 1999-05-10 06:01:52 +00:00
Drazen Kacar
c1649507e9 Added process selection mechanism. It's not included in Solaris 2.5 build,
* proclist.c: Added process selection mechanism. It's not
        included in Solaris 2.5 build, since we first have to decide
        what will be dispatched to daemon.
1999-05-10 05:44:52 +00:00
Drazen Kacar
a246a6390f There be some useful documentation now. Syncing...
* mem.c: Output values in bytes, as the documentation requires.
        It was a bit odd when gtop reported 256K of total memory.
1999-05-09 22:38:16 +00:00
Drazen Kacar
6a9317238a Typoo fix. 1999-05-09 21:56:52 +00:00
Drazen Kacar
0a45542477 Added checks for <procfs.h> and <sys/procfs.h>
* configure.in, acconfig.h: Added checks for <procfs.h>
        and <sys/procfs.h>
1999-05-09 20:29:56 +00:00
Drazen Kacar
03be66c857 Initial Solaris 2.5 port. It's far from being complete and hasn't been
* glibtop_machine.h, procdata.c, proclist.c, procmap.c, procmem.c,
        procsignal.c, procstate.c, procuid.c, open.c, mem.c: Initial
        Solaris 2.5 port. It's far from being complete and hasn't been
        tested properly. We'll need setuid root daemon, which is
        currently not implemented. #ifdef symbols to check are
        HAVE_PROCFS_H and KSTAT_DATA_UINT32. These will be defined on
        Solaris 2.6 and later, but not on earlier releases.
1999-05-09 20:27:43 +00:00
Martin Baulig
777c371be9 Added proclist. 1999-05-09 15:53:42 +00:00
Martin Baulig
d8bb202fbd Added information about the library function. 1999-05-09 15:33:02 +00:00
Martin Baulig
f0f9167682 Start a new page for each section. 1999-05-09 15:22:03 +00:00
Martin Baulig
6fbde2ea22 *** empty log message *** 1999-05-09 15:20:52 +00:00
Martin Baulig
2378f459de Added uptime and loadavg. 1999-05-09 15:19:55 +00:00
Martin Baulig
1b4ae67f51 Added memory and swap usage. 1999-05-09 15:08:52 +00:00
Martin Baulig
ec67c56cc7 *** empty log message *** 1999-05-09 13:55:43 +00:00
Martin Baulig
393c1dba75 Split the `libgtop.texi' into one file pro chapter, this is the "About
1999-05-09  Martin Baulig  <martin@home-of-linux.org>

	* about.texi: Split the `libgtop.texi' into one file pro chapter,
	this is the "About LibGTop".

	* reference.texi: The "LibGTop Reference Manual".
1999-05-09 13:54:03 +00:00
Martin Baulig
5b76314ef4 *** empty log message *** 1999-05-09 13:18:08 +00:00
Martin Baulig
0ca2053a27 One should ship the documentation of a package together with the tarball,
1999-05-09  Martin Baulig  <martin@home-of-linux.org>

	* doc: One should ship the documentation of a package together with
	the tarball, so I added this back.
1999-05-09 13:16:44 +00:00
Martin Baulig
c2c209d19a Initial version of the new LibGTop Manual.
1999-05-09  Martin Baulig  <martin@home-of-linux.org>

	* libgtop.texi: Initial version of the new LibGTop Manual.
1999-05-09 13:09:58 +00:00
Martin Baulig
de5137ff28 Define this here. Moved to limits.h.
1999-05-08  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/limits.h (GLIBTOP_MAX_GROUPS): Define this here.
	* include/glibtop/procuid.h (GLIBTOP_MAX_GROUPS): Moved to limits.h.

	* features.def: We can use constants from <glibtop/limits.h> here.
1999-05-08 19:53:31 +00:00
Drazen Kacar
ffb4b0fade Added s_open(), s_close() etc. with EINTR wrappers.
* safeio.c, safeio.h: Added s_open(), s_close() etc. with EINTR
        wrappers.

        * procdata.c, procmap.c, proclist.c: Use them.
1999-05-08 19:20:02 +00:00
Drazen Kacar
bfd03680cc Use bytes as units for memory consumption.
* procmem.c: Use bytes as units for memory consumption.
1999-05-08 17:39:54 +00:00
Drazen Kacar
82280b673e Deleted crap. 1999-05-08 04:49:04 +00:00
Drazen Kacar
27dbd28c5c Changed pfintf formats to "%lld" when printing u_int64_t. This is still
* mountlist.c: Changed pfintf formats to "%lld" when printing
        u_int64_t. This is still utterly unportable, but will
        hopefully work on all supported architectures. For now.
1999-05-08 04:40:44 +00:00
Drazen Kacar
4d55985151 Fixed pagesize.
* open.c: Fixed pagesize.
1999-05-08 02:10:00 +00:00
Drazen Kacar
2635e545bf Fixed nice value.
* procuid.c: Fixed nice value.
1999-05-08 01:53:41 +00:00
Martin Baulig
e8a3a40691 Moved them into the setgid server since they need to access kvm data.
1999-05-08  Martin Baulig  <martin@home-of-linux.org>

	* shm_limits.c, msg_limits.c, sem_limits.c: Moved them into the
	setgid server since they need to access kvm data.

	* open_suid.c, close_suid.c: New file. We do the initialization and cleanup
	for the setgid server here.

	* glibtop_suid.h: New file. We include this in the setgid files.

	* open.c: Moved kvm opening code into open_suid.c.
1999-05-07 23:24:08 +00:00
Drazen Kacar
3a7d7778a0 *** empty log message *** 1999-05-07 23:15:24 +00:00
Drazen Kacar
437c7585cc machine.pagesize is now number of bits we need for shifting, ie.
* glibtop_machine.h, open.c, mem.c, procmem.c: machine.pagesize
        is now number of bits we need for shifting, ie. 2^pagesize
        will give pagesize in Kb.
1999-05-07 23:13:46 +00:00
Martin Baulig
507766bff6 Use the setgid sys server for Solaris.
1999-05-08  Martin Baulig  <martin@home-of-linux.org>

	* libgtop-sysdeps.m4: Use the setgid sys server for Solaris.
1999-05-07 23:09:11 +00:00
Martin Baulig
74d11991ab There's some problem with uname () - some systems like Solaris or Digital
1999-05-07  Martin Baulig  <martin@home-of-linux.org>

	* server.c (main): There's some problem with uname () - some systems
	like Solaris or Digital Unix return a nonnegative value on success,
	some others like Linux return 0. Since all known systems seem to return
	a negative value on failure, we simply check whether the return value is
	not negative here.
1999-05-07 22:58:21 +00:00
Drazen Kacar
217a1e92c6 Implemented size, vsize, resident and rss.
* procmem.c: Implemented size, vsize, resident and rss.
1999-05-07 20:38:13 +00:00
Martin Baulig
83bc7b831d Renamed this to `libgtop_timersub' and define it on all systems.
1999-05-07  Martin Baulig  <martin@home-of-linux.org>

	* timings.c (timersub): Renamed this to `libgtop_timersub' and define
	it on all systems.
1999-05-07 11:06:39 +00:00
Yukihiro Nakai
1071b2ee69 ja.po: Updated.
ja.po: Updated.
1999-05-07 11:01:39 +00:00
Martin Baulig
3753ac5ee6 Applied a patch from David Kaelbling:
some compilers (like the SGI IRIX 6.x native one) enfore the
  "casts are not lvalues" maxim.
1999-05-06 22:10:04 +00:00
Martin Baulig
6120c5e4a8 Use (1L << feature)' instead of (1 << feature)' to avoid problems
with integer overflows when we add more fields.
1999-05-06 21:35:36 +00:00
Drazen Kacar
b252a80b7e Fixed, valid for Solaris 2.6 & 7.
* siglist.c: Fixed, valid for Solaris 2.6 & 7.
1999-05-06 20:44:01 +00:00
Martin Baulig
d67182f411 Added pointer_size' which is the number of bits of a void *'.
1999-05-06  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/sysdeps.h (glibtop_sysdeps): Added `pointer_size'
	which is the number of bits of a `void *'.
1999-05-06 19:49:31 +00:00
Martin Baulig
fec8f23ad4 Merge alpha fix from the stable branch. 1999-05-06 13:22:34 +00:00
Drazen Kacar
ab7f1cc3be List of supplementary groups was not correct. Fixed.
* glibtop_private.h, procuid.c, procdata.c: List of supplementary
        groups was not correct. Fixed.
1999-05-06 01:15:44 +00:00
Drazen Kacar
3f65468299 Changed boot time to unsigned long long.
* glibtop_machine.h: Changed boot time to unsigned long long.

        * open.c: Added proper type checking for boot value. There's
        no point in saving a few nanoseconds in init function. And
        one day it will become 64-bit value.

        In glibtop_get_kstats(): Don't reread vminfo_snaptime when
        reinitializing kstats.
1999-05-03 23:02:58 +00:00
Martin Baulig
333d0c5709 *** empty log message *** 1999-05-03 18:44:52 +00:00
Martin Baulig
8c47939ad2 Set version number to 1.1.0. Also made a `LIBGTOP_STABLE_1_0' branch in
1999-05-03  Martin Baulig  <martin@home-of-linux.org>

	Set version number to 1.1.0. Also made a `LIBGTOP_STABLE_1_0'
	branch in CVS while development will go on here in the HEAD.
1999-05-03 18:43:37 +00:00
Martin Baulig
664d24f258 #include <glibtop_private.h>. 1999-05-03 12:20:21 +00:00
Martin Baulig
f8adb23062 We need to return NULL on error here. 1999-05-03 12:18:41 +00:00
Martin Baulig
a2a4b1d170 Fixed a broken sizeof (). 1999-05-03 12:17:56 +00:00
Drazen Kacar
aa6f26f9fb Fixed typoo.
* glibtop_private.h: Fixed typoo.

        * procmap.c (glibtop_get_proc_map_s): Implemented start, end,
        offset and perm for mapped segments. File name and inode
        should be accessible from bunyip kstat data. The only
        obstacle is that the data format is undocumented and
        possibly not the same accross releases.
1999-05-03 03:40:24 +00:00
Drazen Kacar
fd2ddf8b50 Forgot to commit the file. There's probably more of them arround. 1999-05-03 00:05:38 +00:00
Drazen Kacar
0408c86065 Read pstatus info from /proc
* glibtop_private.h, procdata.c (glibtop_get_proc_signal_s):
        Read pstatus info from /proc

        * procsignal.c (glibtop_get_proc_signal_s): Implemented
        set of pending and blocked signals. The rest should probably
        be read from /proc/<pid>/sigact, but I'm not sure it's
        worth implementing before thread API comes into place.

        * siglist.c: Added Solaris 7 signals. Someone will gettextize
        it eventually. Besides, signal list should become a pointer
        instead of being fixed field. We need some run time initializations.
        The code is written, but commented out.
1999-05-03 00:03:52 +00:00
Drazen Kacar
e1555fc335 Ups, forgot to put prototypes in.
* glibtop_private.h: Ups, forgot to put prototypes in.
1999-05-02 22:11:42 +00:00
Drazen Kacar
75141bdb65 Yet another kstat_chain_update check. Added machine.cpu_stat_kstat[x] =
* open.c (glibtop_get_kstats): Yet another kstat_chain_update
        check. Added machine.cpu_stat_kstat[x] = NULL when processor
        x is not configured.

        * procdata.c (glibtop_get_proc_credentials_s): Read prcred
        structure from /proc.

        * procstate.c (glibtop_get_proc_state_s): Added ruid, rgid,
        has_cpu, processor and last_processor.

        * procuid.c (glibtop_get_proc_uid_s): Added priority, nice,
        suid, sgid, ngroups and groups. The last four will be
        filled only if our process has the authority to read prcred
        structure of another process.

	It's a bit untested for now. :-)
1999-05-02 19:26:24 +00:00
Drazen Kacar
3951c8863f procdata.c: Use pread() instead of read(). 1999-05-02 05:45:21 +00:00
Drazen Kacar
bdc1579a9c added fields for page size, clock ticks and boot time. These are
* glibtop_machine.h: added fields for page size, clock ticks and
        boot time. These are constants. Also added three new kstats.

        * open.c (glibtop_get_kstats): Initialize kstats in *server.
        We need to call this at init time (obviously) and each time
        kstat_chain_update() says that kstat chain has changed. In this
        case all kstat pointers and data are invalid, so we need to
        reinitialize everything.

        (glibtop_open_s): Made it call glibtop_get_kstats(). Added
        initialization for run time constants in struct machine.

        * cpu.c (glibtop_get_cpu_s): Call kstat_chain_update().
        See if processor is on-line and set bits in xcpu_flags.
        Added frequency (bad name, should have been ticks).

        * swap.c (glibtop_get_swap_s): Call kstat_chain_update().
        I probably broke vminfo_snaptime consistency. Fix later.

        * uptime.c (glibtop_get_uptime_s): Implemented uptime and boot_time.
        Still looking for a sane way to get idletime.

        * mem.c (glibtop_get_mem_s): Implemented. Will use bunyip
        module if it's loaded. Or when it gets loaded. kstat_chain_update()
        is our friend. And with a friends like that...

        * loadavg.c (glibtop_get_loadavg_s): Solaris 2.6 code brought
        into sync with everything else.

        * msg_limits.c (glibtop_init_msg_limits_s): Implemented.

        * sem_limits.c (glibtop_get_sem_limits_s): Implemented.

        Solaris takes kernel modularity too seriously. We can't get
        IPC configuration data if the kernel module is not loaded and
        it won't be loaded until some process actually asks for a
        particular IPC resource. There's no way to tell our applications
        about this. Possible API additions?

        All three IPC functions should go into daemon, but I'm keeping
        them in the normal library because I can't build daemon yet. All
        praise 64 bits!
1999-05-02 03:18:32 +00:00
Drazen Kacar
8e1c6601af implemented.
* msg-limits.c: implemented.
1999-04-29 23:54:23 +00:00
Drazen Kacar
1c634bd736 implemented
* sem_limits.c: implemented
1999-04-29 22:57:36 +00:00
Drazen Kacar
2868191440 add field for kvm descriptor.
* glibtop_machine.h: add field for kvm descriptor.

        * open.c: add code for opening kernel name space.

        * shm_limits.c: implemented.

The real implementation will have this code in the daemon, since process
needs to be setgid sys to be able to read kernel symbols.
1999-04-29 20:42:17 +00:00
lukka
a567adcce5 small fi.po addition 1999-04-18 16:20:13 +00:00
lukka
5db1ee8fc4 Add fi.po 1999-04-18 15:58:19 +00:00
lukka
a6729d9454 Another typo fix 1999-04-18 14:39:41 +00:00
lukka
57f7039795 Typo fix 1999-04-18 14:31:43 +00:00
Martin Baulig
5c3775c6ee Set GLIBTOP_NCPU to 64, not 256. 1999-04-18 11:50:28 +00:00
Martin Baulig
1cec9b70a2 Thanks to Drazen Kacar for pointing out that not all processors must be
1999-04-18  Martin Baulig  <martin@home-of-linux.org>

	Thanks to Drazen Kacar for pointing out that not all processors must
	be running all the time under Solaris, so we need to have some flag
	to find out which processors are running.

	* (glibtop_cpu): Added `xcpu_flags' bitmask of running processors.
	* (glibtop_proc_time): Added `xcpu_flags'.
1999-04-18 11:47:58 +00:00
Martin Baulig
eca34c37d9 New file. (GLIBTOP_MAX_CPU): Define this here and increase it to 256.
1999-04-18  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/limits.h: New file.
	(GLIBTOP_MAX_CPU): Define this here and increase it to 256.
1999-04-18 11:36:42 +00:00
Kjartan Maraas
58acfc4042 Updated translation.
1999-04-13  Kjartan Maraas  <kmaraas@online.no>

		* no.po: Updated translation.
1999-04-13 12:23:46 +00:00
Martin Baulig
feab865203 Moved Timur's ChangeLog entry where it belongs. 1999-04-09 14:38:31 +00:00
Martin Baulig
754f09cdad Copied from the Linux sysdeps directory.
1999-04-09  Martin Baulig  <martin@home-of-linux.org>

	* sysinfo.c: Copied from the Linux sysdeps directory.
1999-04-09 14:36:04 +00:00
Timur Bakeyev
fac354623b Added initial port for BSD/OS (aka BSDI) 2.x and 3.x. 4.x should also(?)
Thu Apr  8 23:47:29 1999  Timur Bakeyev  <timur@gnu.org>

 	* cpu.c, mem.c, netload.c, procargs.c, procstate.c, proctime.c,
 	sem_limits.c, shm_limits.c, swap.c: Added initial port for BSD/OS
	(aka BSDI) 2.x and 3.x. 4.x should also(?) work.

	Still, this port require more close look and extended check.
1999-04-08 20:21:38 +00:00
Martin Baulig
5967e6c3e4 Copied from Linux sysdeps directory. 1999-04-05 12:55:56 +00:00
Martin Baulig
174f316a62 Added implementation for netload.c (glibtop_netload). 1999-04-05 12:53:00 +00:00
Martin Baulig
c9651a012e Changed function numbering so there's enough room for future additions;
set version number to 2.
1999-04-05 12:51:59 +00:00
Martin Baulig
3130d7db33 Added LIBGTOP_NETLOAD: Network statistics. 1999-04-05 12:49:04 +00:00
Martin Baulig
30af079f99 Added implementation for procmap.c (glibtop_proc_maps). 1999-04-03 22:55:42 +00:00
Martin Baulig
3ccae8efee Added LIBGTOP_PROC_MAPS: process memory maps. 1999-04-03 22:54:00 +00:00
Martin Baulig
5b946cb261 Added support for command line arguments (glibtop_proc_args). 1999-04-03 17:07:09 +00:00
Martin Baulig
885045ca55 Added LIBGTOP_PROC_ARGS for command line arguments. 1999-04-03 17:06:22 +00:00
Martin Baulig
01d728ac6b Reflect latest `proc_state.state' changes. 1999-04-01 10:33:13 +00:00
Martin Baulig
f9e670f464 Fixed typo. 1999-04-01 10:32:44 +00:00
Martin Baulig
868e1677e3 Added implementation for the newly added features. 1999-03-31 17:40:36 +00:00
Martin Baulig
84407de2aa *** empty log message *** 1999-03-31 17:38:53 +00:00
Martin Baulig
7011b04cb2 Let the constants for the `state' field start at 1. 1999-03-31 17:34:39 +00:00
Martin Baulig
ede4594dd9 Added some new features.
1999-03-30  Martin Baulig  <martin@home-of-linux.org>

	Added some new features.

	* (glibtop_uptime): Added `boot_time', boot time in seconds
	since the epoch.

	* (glibtop_proc_state): Changed `state' from char to unsigned.
	`uid' and `gid' are effective uid and gid; added comment.
	Added `ruid' and `rgid' for guaranteed-to-be-correct real uid/gid.
	For SMP systems: added `has_cpu', `processor' and `last_processor'.

	* (glibtop_proc_uid): Added suid, sgid, fsuid, fsgid, ngroups, groups.

	* (glibtop_proc_segment): Added start_data, end_data, start_brk,
	end_brk, start_mmap, arg_start, arg_end, env_start, env_end.

	* include/glibtop/procstate.h: Define some constants for the `state'
	field of glibtop_proc_state.

	* include/glibtop/prockernel.h: Define some constands for the
	`k_flags' field of glibtop_proc_kernel.
1999-03-31 16:53:05 +00:00
Drazen Kacar
3a7f02352a make it work with Solaris 2.6 and older. A part of it should be moved to
1999-03-31  Drazen Kacar  <dave@srce.hr>

        * loadavg.c: make it work with Solaris 2.6 and older. A part
        of it should be moved to open.c.
1999-03-31 07:48:37 +00:00
Martin Baulig
e2cb4ed031 Changed indentation (-bad -br -ce -i4):
tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4
1999-03-30 14:29:38 +00:00
Martin Baulig
24a1fe55bb Changed indentation:
tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4
1999-03-30 14:23:42 +00:00
Martin Baulig
66dddd9799 *** empty log message *** 1999-03-30 11:55:53 +00:00
Nam SungHyun
b3b2411cb7 updated 1999-03-30 10:42:06 +00:00
Martin Baulig
eb71d82ecc Added first timings for my new sysctl () based kernel interface. 1999-03-27 13:00:00 +00:00
Pablo Saratxaga
298fc043ff updated spanish language file 1999-03-27 02:43:08 +00:00
Kjartan Maraas
63f678210a updated
1999-03-27  Kjartan Maraas  <kmaraas@online.no>

		* no.po: updated
1999-03-26 23:56:47 +00:00
Martin Baulig
7a38246284 Don't include the private <glibtop_private.h>. 1999-03-26 17:50:30 +00:00
Martin Baulig
5390903a22 *** empty log message *** 1999-03-24 23:12:12 +00:00
Martin Baulig
4b9e977fdc *** empty log message *** 1999-03-24 21:38:15 +00:00
Martin Baulig
6a9a681559 *** empty log message *** 1999-03-24 20:42:49 +00:00
Martin Baulig
a6e919767c This statistics were made on a PPRO 200 running Linux 2.2.1
reading everything from /proc while the system was idle.
1999-03-24 16:31:43 +00:00
Martin Baulig
290e9ac767 Use getrusage () to get the timings and divide the timings by the
number of calls.
1999-03-24 15:44:28 +00:00
Martin Baulig
cd8ac36e9b Check for getloadavg () and swapctl () for Solaris.
1999-03-24  Martin Baulig  <martin@home-of-linux.org>

	* configure.in: Check for getloadavg () and swapctl () for
	Solaris.
1999-03-24 13:41:04 +00:00
Martin Baulig
3068969b51 *** empty log message *** 1999-03-24 00:58:25 +00:00
Martin Baulig
e947e72169 New example.
1999-03-24  Martin Baulig  <martin@home-of-linux.org>

	* timings.c: New example.
1999-03-24 00:58:00 +00:00
Martin Baulig
86a53dbfc9 Fixed a typo. 1999-03-24 00:56:33 +00:00
Martin Baulig
aa5c5c4553 Some more work here. 1999-03-23 18:42:32 +00:00
Martin Baulig
1f93237ee3 *** empty log message *** 1999-03-23 18:32:47 +00:00
Martin Baulig
3d248e9ad2 Added `wanted'. Applications can set the features they are interested in
1999-03-23  Martin Baulig  <martin@home-of-linux.org>

	* glibtop.h (glibtop): Added `wanted'. Applications can set the
	features they are interested in here. This way we don't waste CPU
	getting expensive data that aren't really needed.

	* LIBGTOP-VERSION: This breaks backward compatibility and also
	added new functions; set binary	age and interface age to 0.
1999-03-23 18:31:20 +00:00
Martin Baulig
ec9aedea0b *** empty log message *** 1999-03-22 14:34:34 +00:00
Martin Baulig
33021311b2 Some more work here. 1999-03-22 14:33:01 +00:00
Martin Baulig
2a3d9e080a Some more work here. 1999-03-21 23:22:59 +00:00
Martin Baulig
b528d0b1db *** empty log message *** 1999-03-21 19:09:31 +00:00
Martin Baulig
a429e9c3f9 Added implementation. 1999-03-21 19:08:59 +00:00
Martin Baulig
b90d2c1c90 Added back `sysdeps/kernel'. 1999-03-21 18:29:53 +00:00
Martin Baulig
27dc7ef79a Importing the `stub' sysdeps code. 1999-03-21 18:26:05 +00:00
Martin Baulig
76441b1d5f Importing `stub' sysdeps code here. 1999-03-21 18:23:02 +00:00
Martin Baulig
d2e3577784 Added a new sysctl () interface to the Linux Kernel.
1999-03-21  Martin Baulig  <martin@home-of-linux.org>

	Added a new sysctl () interface to the Linux Kernel.

	* kernel/sysctl: Imported.

	* libgtop-sysdeps.m4: If `--enable-hacker-mode' is given, check
	for my new sysctl () interface.
1999-03-21 18:20:56 +00:00
Martin Baulig
4a0344182f Removed a few debugging statements. 1999-03-21 18:11:18 +00:00
Martin Baulig
ddc496cdaa This is a kernel patch against 2.2.1 which you need to apply to
use the code here.
1999-03-21 18:05:22 +00:00
Martin Baulig
746981611b Initial import of my sysctl () module. 1999-03-21 17:57:51 +00:00
Martin Baulig
c1beefce3a Initial revision 1999-03-21 17:57:51 +00:00
Martin Baulig
1667cc8a8d Removed sysdeps/kernel/Makefile. 1999-03-20 17:05:18 +00:00
Martin Baulig
0aea46a643 Removed `kernel' from DIST_SUBDIRS. 1999-03-20 17:01:57 +00:00
Martin Baulig
820ab2210e Removed all traces of my old table () Linux kernel hack.
1999-03-20  Martin Baulig  <martin@home-of-linux.org>

	Removed all traces of my old table () Linux kernel hack.

	* kernel: Removed.
	* sysdeps/kernel: Removed.
	* libgtop-sysdeps.m4: Don't check for table (); it does not
	exist any longer.
1999-03-20 16:58:49 +00:00
Martin Baulig
f40e8a57b4 This is *untested* - please read "sysdeps/freebsd/ChangeLog" !
1999-03-19  Martin Baulig  <martin@home-of-linux.org>

	This is *untested* - please read "sysdeps/freebsd/ChangeLog" !

	* libgtop-sysdeps.m4: Use the `freebsd' sysdeps directory for
	BSDI as well if the `--enable-hacker-mode' parameter was given.
1999-03-19 10:51:56 +00:00
Martin Baulig
005357e821 Added basic support for BSDI. It compiles without problems on BSDI 2.1 and
1999-03-19  Martin Baulig  <martin@home-of-linux.org>

	Added basic support for BSDI. It compiles without problems on
	BSDI 2.1 and 3.1, but it is *untested* - I'm neither root on
	the machine nor have I access to /dev/kmem, so I don't know
	whether it will work.

	You need to give configure the `--enable-hacker-mode' parameter
	to use the code.

	If someone can verify whether it actually works, please let me
	know.
1999-03-19 10:47:44 +00:00
Martin Baulig
5fcfc95280 Added first kstat based implementation for Solaris 7.
1999-03-19  Martin Baulig  <martin@home-of-linux.org>

	Added first kstat based implementation for Solaris 7.

	* open.c (glibtop_open_s): Walk kstat list and save interesting
	kstats in the `server->machine'.

	* cpu.c: This can already provide `idle', `user' and `sys' with
	full SMP support.

	* swap.c: This can already provide `total', `used' and `free'.
1999-03-19 10:37:40 +00:00
Martin Baulig
dfc9e912b5 Added ChangeLog for the initial import. 1999-03-19 10:34:10 +00:00
Martin Baulig
a6385288aa *** empty log message *** 1999-03-19 10:20:33 +00:00
Martin Baulig
2f6457b3f7 Make the _glibtop_missing_feature () code actually working. 1999-03-18 13:15:13 +00:00
Martin Baulig
ba2f0f753b Set version number to 1.0.2 binary age 1, intergace age 1.
1999-03-18  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION: Set version number to 1.0.2 binary age 1,
	intergace age 1.
1999-03-18 13:13:10 +00:00
Martin Baulig
38554dbcbe Don't use `sppp.pp_phase' if we don't HAVE_I4B_ACCT. This is an ugly hack
1999-03-18  Martin Baulig  <martin@home-of-linux.org>

	* ppp.c: Don't use `sppp.pp_phase' if we don't HAVE_I4B_ACCT.
	This is an ugly hack until someone tells me which versions have
	this field and which not.
1999-03-18 09:27:44 +00:00
Martin Baulig
fe98fde338 Avoid isspace('\0'). 1999-03-18 09:25:58 +00:00
Martin Baulig
c3ea69f26a Imported first version of my Solaris port.
1999-03-17  Martin Baulig  <martin@home-of-linux.org>

	Imported first version of my Solaris port.

	* configure.in: Check for `kstat_open' in `-lkstat'.

	* libgtop-sysdeps.m4: Recognize the `solaris' sysdeps directory
	when the `--enable-hacker-mode' parameter was given.
1999-03-17 18:39:13 +00:00
Martin Baulig
367e1f047c *** empty log message *** 1999-03-17 18:35:26 +00:00
Martin Baulig
7db1ed695c Fixed a bug that caused a core dump when the sysdeps code does not return
1999-03-17  Martin Baulig  <martin@home-of-linux.org>

	* first.c, second.c: Fixed a bug that caused a core dump when
	the sysdeps code does not return all data.
1999-03-17 18:33:25 +00:00
Martin Baulig
26b4615262 Importing initial version of my Solaris port. 1999-03-17 18:29:40 +00:00
Martin Baulig
c4ccf53aad Initial revision 1999-03-17 18:29:40 +00:00
Martin Baulig
8fe9163e6b Released the one and only final LibGTop 1.0.1. 1999-03-01 22:12:11 +00:00
565 changed files with 111642 additions and 17395 deletions

View File

@@ -13,7 +13,6 @@ gtopConf.sh
i386-bsdi
i686-pc-linux-gnu
intl
libgtop-0.01.tar.gz
libgtop-mirror.sh.swp
libgtopConf.sh
libtool
@@ -21,6 +20,7 @@ ltconfig
ltmain.sh
macros
stamp-h
stamp-h.in
sun4
sun4sol2
support
@@ -30,5 +30,13 @@ i686-pc-linux-gnu-linux
libgtop-config
ABOUT-NLS
libgtop.spec
libgtop-0.99.*.tar.gz
libgtop-0.99.*
libgtop*.tar.gz
*-debstamp
libgtop*.pc
autom4te.cache
COPYING
INSTALL
install-sh
missing
mkinstalldirs
libgtopconfig.h

View File

@@ -1,2 +1,3 @@
Martin Baulig (martin@home-of-linux.org)
Josh Sled <jsled@scam.XCF.Berkeley.EDU>
Drazen Kacar (dave@srce.hr)
Benoît Dejean (tazforever@dlfp.org)

1383
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -1,25 +0,0 @@
# Making releases:
# LIBGTOP_MICRO_VERSION += 1;
# LIBGTOP_INTERFACE_AGE += 1;
# LIBGTOP_BINARY_AGE += 1;
# if any functions have been added, set LIBGTOP_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
#
LIBGTOP_MAJOR_VERSION=1
LIBGTOP_MINOR_VERSION=0
LIBGTOP_MICRO_VERSION=1
LIBGTOP_INTERFACE_AGE=0
LIBGTOP_BINARY_AGE=0
# Increase each time you change the client/server protocol.
LIBGTOP_SERVER_VERSION=5
# Don't change this
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
LIBGTOP_VERSION_CODE=`echo "$LIBGTOP_MAJOR_VERSION 1000000 * $LIBGTOP_MINOR_VERSION 1000 * + $LIBGTOP_MICRO_VERSION + p q" | dc`
# For automake.
VERSION=$LIBGTOP_VERSION
PACKAGE=libgtop

3
MAINTAINERS Normal file
View File

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

View File

@@ -1,85 +1,19 @@
## Process this file with automake to produce Makefile.in.
if EXAMPLES
examples_SUBDIRS = examples
else
examples_SUBDIRS =
endif
SUBDIRS = po misc include sysdeps lib src examples doc
if BUILD_GNOME_SUPPORT
support = support
endif
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
libgtopincludedir = $(includedir)/libgtop-2.0
SUBDIRS = po intl $(support) macros misc include sysdeps lib src \
$(examples_SUBDIRS)
include_HEADERS = glibtop.h
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \
RELNOTES-1.0 libgtop-sysdeps.m4 README NEWS.old libgtop-mirror.sh
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
features.def libgtopconfig.h.in \
libgtop-sysdeps.m4 README \
libgtop-2.0.pc.in acinclude.m4
dist-hook:
cp libgtop.spec $(distdir)
release:
$(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
## Put `exec' in the name because this should be installed by
## `install-exec', not `install-data'.
confexecdir = $(libdir)
confexec_DATA = $(top_builddir)/libgtopConf.sh \
$(top_builddir)/libgtop-features.def
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
## We create libgtopConf.sh here and not from configure because we want
## to get the paths expanded correctly. Macros like srcdir are given
## the value NONE in configure if the user doesn't specify them (this
## is an autoconf feature, not a bug).
libgtopConf.sh: libgtopConf.sh.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)#g' \
-e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \
-e 's#\@LIBGTOP_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
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtop-2.0.pc
libgtop-features.def: features.def
@LN_S@ $< $@

132
NEWS
View File

@@ -0,0 +1,132 @@
December 30, 2004: Overview of Changes from 2.8.1 to 2.9.0
=========================================================
* glibtop_get_netload : Fixed segfault on linux with ppp devices.
* NEW glibtop_get_netlist : retrieves the list of all available interfaces.
* NEW LIBGTOP_CHECK_VERSION(major, minor, micro)
* Removed dead kernel patch and implementation.
* Cleanups on Linux and Solaris.
October 11, 2004: Overview of Changes from 2.8.0 to 2.8.1
=========================================================
* Improved Solaris and AIX support.
August 13, 2004: Overview of Changes from 2.7.92 to 2.8.0
=========================================================
* No changes
August 30, 2004:
===============
* Applied some *BSD patches.
* Removed old files.
August 15, 2004:
===============
* Fixed compilation with C89-only compilers and old libc.
August 3, 2004:
==============
* Some cleanups.
* Fixed the behaviour of some linux proc_*() functions.
* Updated the documentation.
July 19, 2004: Overview of Changes from 2.6.1 to 2.7.4
======================================================
* Plenty of code cleanups. Uninlined a lot of functions. ~5-10KB object size
reduction.
* Glibify a bit more.
* API changes:
- glibtop_fsusage provides total read and writes since boot_time.
- glibtop_netload provides hardware address. IPv6 enable.
- Added glibtop_get_proc_argv.
Work in progress :
* Finish glibtop_fsusage implementation for Linux.
* Some fuctions don't conform to the documentation, e.g. proctime.
March 11, 2004:
===============
* Released LibGTop 2.5.99 "Gross Work", dedicated to people who do push-ups
in the loos.
- plenty of code cleanups
- removed the dependency on libgnome, only glib required now
- Linux 2.6 support, NetBSD support and better FreeBSD support
- Make the block size available for filesystem statistics
February 27, 2001:
=================
* Released LibGTop 1.0.12 "Gerolzhofen".
- fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).
- fix for FreeBSD 4.2 from Rolf Grossmann (FreeBSD now uses
`_KERNEL' instead of `KERNEL'). Bug #51334.
- for BSDI, comment out `subnet' field in netload; this should make
it compile, but there may be other problems. Bug #13345.
This release is for GNOME 1.4 Beta2.
February 14, 2001:
=================
* Released LibGTop 1.0.11 "Jasmin":
[The release which was supposed to be called "Gerolzhofen".]
- merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.
- minor OpenBSD fixes.
- again a bunch of updated translations.
Please test the Solaris stuff and report and bugs and
problems as soon as possible; I'll make a new release
for the 2nd beta of GNOME 1.4 if necessary.
November 20, 2000:
=================
* Released LibGTop 1.0.10 "November Rain":
- this release contains a bunch of updated translations.
May 25, 2000:
============
* Released LibGTop 1.0.9 "Stuttgart".
(LibGTop 1.0.8 "Frankfurt" was not publically released.)
February 15, 2000:
=================
* Released LibGTop 1.0.7 "Copenhagen":
- this is a bug fix release for the GUADEC CD-ROM;
it contains fixes in both the Linux and *BSD sysdeps
directory.
October 18, 1999:
================
* Released LibGTop 1.0.6 "October LibGTop":
- compilation fixes for FreeBSD.
- updated reference manual.
September 29, 1999:
==================
* Released LibGTop 1.0.5.

244
NEWS.old
View File

@@ -1,244 +0,0 @@
$Id$
Jun/01/1998
===========
* We have some new ``suffix rules'':
'__l' is a function defined in the client part;
'__s' is a function defined in the sysdeps part and
'__p' is a function that needs special priviledges.
'__r' is mapped either on '__p' or on '__s'.
the function without suffix is mapped on '__l'.
* We now decide at runtime whether or not using the server
is required for a particular function. All user programs
now call the '__l' function defined in '-lgtop' (in the lib
subdir). These functions either use 'glibtop_call__l' to
call the server or call the '__r' function.
* A function in the sysdeps directory now has the '__s' suffix
if it do not need any priviledges (and thus can be called directly
from client code) and the '__p' suffix otherwise (when it has to
be called from the server).
* If you call one of these functions:
-> use the '__p' suffix to be sure to get the SUID-safe one
(used in the server).
-> use the '__s' suffix to be sure to get a function that
doesn't need any priviledges.
-> use the '__r' suffix otherwise (it is mapped either on the
'__p' or on the '__s' one).
Only use the '__p' and '__s' functions in a 'GLIBTOP_SUID_<feature>'
conditional, otherwise you'll get undefined symbols !
* The server is now started from 'glibtop_init__r', but only when
it's really needed; for instance on DEC OSF/1 you only need it
for the proc* features - if you program only fetches the CPU usage,
now server will be started.
* Sorry, at the moment everything is a little bit unstable, I'm doing
heavy changes. I've just some great ideas which still need some work:
-> I want to have a SUID server that only implements those features
that need to be SUID; everything else uses the sysdeps code directly.
-> If a program only uses stuff that do not need the server, the
server will not be started at all.
-> I'm working on some kind of proxy server that can be used on a remote
host; in feature one can then use the MDI stuff from ghex in gtop to
have notebook pages displaying processes from different hosts.
* Well it is as much unstable that it only works under Linux at the moment.
1998-06-01 Martin Baulig <martin@home-of-linux.org>
* sysdeps/common/sysdeps.c: now using '__r' functions,
they are #defined either as the '__p' or the '__s' ones.
* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
it now takes two additional arguments.
* examples/{first.c, second.c}: now using 'glibtop_init'
instead of 'glibtop_init__r'.
* include/glibtop/sysdeps.h: added 'dummy' member so
'GLIBTOP_SYSDEPS_<feature>' now start with 1.
* include/glibtop/*.h: we now #define 'glibtop_get_<feature>'
as 'glibtop_get_<feature>__l' and 'glibtop_get_<feature>__r'
either as the '__p' or the '__s' function.
* lib/*.c: removed #if's - we now decide at runtime
whether to use the server or to call the appropriate
function for the sysdeps directory.
1998-05-28 Martin Baulig <baulig@merkur.uni-trier.de>
* src/server/main.c: we now use the '__p' functions,
but only if the appropriate 'GLIBTOP_SUID_<feature>'
has a non-zero value.
* configure.in (@machine_incs@): always use
`-I$(top_srcdir)/sysdeps/@sysdeps_dir@'; it's no
longer conditional.
* examples/Makefile.am: removed the '_linux' examples.
* sysdeps/linux/*.c: renamed all functions implementing
features to '__s'.
* lib/*.c: renamed all functions implementing features
to '__l'; we only emit code for those functions if the
corresponding 'GLIBTOP_SUID_<feature>' has a positive value.
* include/glibtop/*.h: added some new function suffixes:
'__l' is a function defined in the client part;
'__s' is a function defined in the sysdeps part and
'__p' is a function that needs special priviledges.
'__r' is mapped either on '__l' or on '__s'.
* sysdeps/linux/glibtop_server.h: New file -
defines system dependent constants 'GLIBTOP_SUID_<feature>'
being either 'GLIBTOP_SYSDEPS_<feature>'+1 depending upon
whether or not this feature requires using the server.
* lib/sysdeps.c: removed that file; it is no longer
needed.
May/21/1998
===========
* doc/gnome-hackers.sgml: This is a short intro on how to use libgtop
in the GNOME project. It covers especially the use of its 'configure'
script and the automatically generated 'gtopConf.sh'.
May/20/1998
===========
* 'gtopConf.sh' now defines 'GTOP_LIBS' and 'GTOP_INCS' in a manner
that they contain everything that is needed to link some program with
libgtop. It will use '-lgtop' only if the server is really needed and
'-lgtop_sysdeps' otherwise;
* 'gtopConf.sh' additionally defines 'GTOP_GUILE_LIBS' and 'GTOP_GUILE_INCS'
containing everything that is needed to link some program both with
libgtop and its guile interface. They are identically to 'GTOP_LIBS'
and 'GTOP_INCS' if building the guile interface is disabled or guile
cannot be found on the system.
* 'configure' takes additional arguments '--enable-libgtop-server' and
'--disable-libgtop-server' to use the server even when it's not needed
or to disable it's use where it's needed.
* 'configure' takes an argument '--without-libgtop-guile' to disable
guile support.
* 'configure takes an argument '--without-libgtop-names' to remove
'-lgtop_names' (and '-lgtop_guile_names' when we have guile) from
'GTOP_LIBS'; in this case these libraries are not even built.
May/19/1998
===========
* Libgtop is now in the GNOME CVS Repository.
May/17/1998
===========
* we have now 'const char *glibtop_types_* []' consisting
of the C types of the corresponding files of '_glibtop_*'.
* added guile function '(glibtop-types-*)' and '(glibtop-descriptions-*)'.
May/10/1998
===========
* Port to DEC OSF1 3.0 has been made:
cpu (total, user, nice, sys, idle)
mem (total, used, free)
loadavg (loadavg)
uptime (uptime)
msg_limits (map, max, mnb, mni, tql)
sem_limits (mni, msl, opm, vmx, aem)
shm_limits (max, min, mni, seg)
The following need the server to be SUID root:
proclist (total, number, size)
procdata (cmd, state, uid, pid, ppid, pgrp, tty, k_flags,
session, tpgid, sigignore, sigcatch, signal, nice,
priority, resident, rss, vsize, utime, stime,
cutime, cstime, trs, drs)
May/07/1998
===========
* 'flags' member of sysdeps/linux/procdata.c is now
'unsigned long flags [2]'.
* When we give glibtop_get_procdata () a pid of zero, only
the flags are returned.
* We now use static constants instead of #defines for sysdeps flags.
May/03/1998
===========
* VPATH-Build now working; sometimes it's necessary to copy
$(top_srcdir)/po/cat-id-tbl.c to $(top_builddir)/po.
* The library has been tested on the following systems:
- i686-pc-linux-gnu
- sparc-sun-sunos4.1.1
- alpha-dec-osf1 (that's DEC OSF1 3.0 and 3.2)
* Compilation has been tested on the following systems (I have no root
access there and cannot test the library because of this):
- sparc-sun-solaris2
- i386-bsdi
* Does no longer require Gnome.
* Guile-Parts are compiled only if guile can be found.
* Some of the executables are statically linked to copy them more easily
between machines.
May/02/1998
===========
* Global changes to the interfaces, all functions except glibtop_open()
and glibtop_close() that took a server argument have now a '__r' suffix;
the original name is now a macro that uses glibtop_global_server.
Apr/10/1998
===========
Added new directory sysdeps/guile/names. It is the guile interface
to the gtop_names library found in sysdeps/names. Changed
GLIBTOP_DESCRIPTIONS to GLIBTOP_NAMES and added GLIBTOP_GUILE_NAMES
to the header files.
Apr/09/1998
===========
Added new directories guile and names to sysdeps. In names are
some string constants about the data stored in the structures.
guile is a guile interface for the library. It is used in
examples/third (which has been completely rewritten).
The header files define things from names when GLIBTOP_DESCRIPTIONS
if defined and/or from guile when HAVE_GUILE is defined.
Apr/08/1998
===========
Added guile wrapper for the library (see examples/third).

View File

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

View File

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

46
TODO
View File

@@ -1,46 +0,0 @@
This is LibGTop 0.99.2,
a feature-freezed version of LibGTop for GNOME 1.0.
You need to use the latest version of LibGTop from CVS for Gnome, it will
no longer work with older releases.
Martin
--------------------------------------------------------------------------
NOTE: LibGTop is already feature-freezed for GNOME 1.0, so only bug fixes
are ok, no API changes !
Sysdeps directory 'linux':
==========================
* Add implementation for `ppp' with modems.
Sysdeps directory 'freebsd':
============================
* FreeBSD 3.0: It works fine on this system, so please make sure not
to break it here.
* FreeBSD 2.2: Make sure it still works here.
* NetBSD/OpenBSD: Support was added on Dec 6, but we need to check
whether all data are valid.
Sysdeps directories 'kernel', 'osf1' and 'sun4':
================================================
* You need to use the `--enable-hacker-mode' parameter to configure
to build this directories.
--------------------------------------------------------------------------
Everything except sysdeps directories:
======================================
* Ready for Gnome 1.0. [ALREADY FEATURE FREEZED]
January 5, 1999
Martin

View File

@@ -18,6 +18,7 @@
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef GETTEXT_PACKAGE
#undef HAVE_GETTEXT
#undef HAVE_LC_MESSAGES
#undef HAVE_STPCPY
@@ -125,7 +126,7 @@
#undef HAVE_GUILE
#undef ssize_t
#undef u_int64_t
#undef guint64
#undef int64_t
#undef HAVE_GLIBTOP_MACHINE_H
@@ -138,7 +139,6 @@
#undef NEED_LIBGTOP
#undef HAVE_LINUX_TABLE
#undef HAVE_LIBGTOP_SMP
#undef HAVE_XAUTH
@@ -156,6 +156,14 @@
*/
#undef GLIBTOP_LINUX_VERSION_CODE
/* Solaris release code (eg. 251 for Solaris 2.5.1). */
#undef GLIBTOP_SOLARIS_RELEASE
/* Define if you want to use LibGTop without GNOME. */
#undef WITHOUT_GNOME
/* Define if you have the <procfs.h> header file */
#undef HAVE_PROCFS_H
/* Define if you have the <sys/procfs.h> header file */
#undef HAVE_SYS_PROCFS_H

824
acinclude.m4 Normal file
View File

@@ -0,0 +1,824 @@
dnl This is just copied m4s from need-declaration.m4 gnome-fileutils.m4
dnl gnome-supprt-checks.m4 and a little from gnome-libgtop-check.m4
dnl and finally libgtop-sysdeps.m4
dnl
dnl LIBGTOP_CHECK_TYPE
dnl
dnl Improved version of AC_CHECK_TYPE which takes into account
dnl that we need to #include some other header files on some
dnl systems to get some types.
dnl AC_LIBGTOP_CHECK_TYPE(TYPE, DEFAULT)
AC_DEFUN([AC_LIBGTOP_CHECK_TYPE],
[AC_REQUIRE([AC_HEADER_STDC])dnl
AC_MSG_CHECKING(for $1)
AC_CACHE_VAL(ac_cv_type_$1,
[AC_EGREP_CPP(dnl
changequote(<<,>>)dnl
<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
changequote([,]), [#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif
/* For Tru64 */
#ifdef HAVE_SYS_BITYPES_H
#include <sys/bitypes.h>
#endif
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
AC_MSG_RESULT($ac_cv_type_$1)
if test $ac_cv_type_$1 = no; then
AC_DEFINE($1, $2)
fi
])
dnl
dnl GNOME_LIBGTOP_TYPES
dnl
dnl some typechecks for libgtop.
dnl
AC_DEFUN([GNOME_LIBGTOP_TYPES],
[
AC_CHECK_HEADERS(sys/bitypes.h)
])
dnl See whether we need a declaration for a function.
dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES])
AC_DEFUN([GCC_NEED_DECLARATION],
[AC_MSG_CHECKING([whether $1 must be declared])
AC_CACHE_VAL(gcc_cv_decl_needed_$1,
[AC_TRY_COMPILE([
#include <stdio.h>
#ifdef HAVE_STRING_H
#include <string.h>
#else
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
$2],
[char *(*pfn) = (char *(*)) $1],
eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")])
if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then
AC_MSG_RESULT(yes)
gcc_need_declarations="$gcc_need_declarations $1"
gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
AC_DEFINE_UNQUOTED($gcc_tr_decl)
else
AC_MSG_RESULT(no)
fi
])dnl
dnl Check multiple functions to see whether each needs a declaration.
dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES])
AC_DEFUN([GCC_NEED_DECLARATIONS],
[for ac_func in $1
do
GCC_NEED_DECLARATION($ac_func, $2)
done
]
)
dnl
dnl GNOME_FILEUTILS_CHECKS
dnl
dnl checks that are needed for the diskusage applet.
dnl
AC_DEFUN([GNOME_FILEUTILS_CHECKS],
[
AC_CHECK_HEADERS(fcntl.h sys/param.h sys/statfs.h sys/fstyp.h \
mnttab.h mntent.h sys/statvfs.h sys/vfs.h sys/mount.h \
sys/filsys.h sys/fs_types.h sys/fs/s5param.h)
AC_CHECK_FUNCS(bcopy endgrent endpwent fchdir ftime ftruncate \
getcwd getmntinfo gettimeofday isascii lchown \
listmntent memcpy mkfifo strchr strerror strrchr vprintf)
dnl Set some defaults when cross-compiling
if test x$cross_compiling = xyes ; then
case "$host_os" in
linux*)
fu_cv_sys_mounted_getmntent1=yes
fu_cv_sys_stat_statfs2_bsize=yes
;;
sunos*)
fu_cv_sys_stat_statfs4=yes
;;
freebsd*)
fu_cv_sys_stat_statfs2_bsize=yes
;;
osf*)
fu_cv_sys_stat_statfs3_osf1=yes
;;
esac
fi
# Determine how to get the list of mounted filesystems.
list_mounted_fs=
# If the getmntent function is available but not in the standard library,
# make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
AC_FUNC_GETMNTENT
# This test must precede the ones for getmntent because Unicos-9 is
# reported to have the getmntent function, but its support is incompatible
# with other getmntent implementations.
# NOTE: Normally, I wouldn't use a check for system type as I've done for
# `CRAY' below since that goes against the whole autoconf philosophy. But
# I think there is too great a chance that some non-Cray system has a
# function named listmntent to risk the false positive.
if test -z "$list_mounted_fs"; then
# Cray UNICOS 9
AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
[fu_cv_sys_mounted_cray_listmntent=no
AC_EGREP_CPP(yes,
[#ifdef _CRAY
yes
#endif
], [test $ac_cv_func_listmntent = yes \
&& fu_cv_sys_mounted_cray_listmntent=yes]
)
]
)
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_LISTMNTENT)
fi
fi
if test $ac_cv_func_getmntent = yes; then
# This system has the getmntent function.
# Determine whether it's the one-argument variant or the two-argument one.
if test -z "$list_mounted_fs"; then
# 4.3BSD, SunOS, HP-UX, Dynix, Irix
AC_MSG_CHECKING([for one-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
[test $ac_cv_header_mntent_h = yes \
&& fu_cv_sys_mounted_getmntent1=yes \
|| fu_cv_sys_mounted_getmntent1=no])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
if test $fu_cv_sys_mounted_getmntent1 = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT1)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR4
AC_MSG_CHECKING([for two-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
[AC_EGREP_HEADER(getmntent, sys/mnttab.h,
fu_cv_sys_mounted_getmntent2=yes,
fu_cv_sys_mounted_getmntent2=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
if test $fu_cv_sys_mounted_getmntent2 = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT2)
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
fi
fi
if test -z "$list_mounted_fs"; then
# DEC Alpha running OSF/1.
AC_MSG_CHECKING([for getfsstat function])
AC_CACHE_VAL(fu_cv_sys_mounted_getsstat,
[AC_TRY_LINK([
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/fs_types.h>],
[struct statfs *stats;
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
fu_cv_sys_mounted_getsstat=yes,
fu_cv_sys_mounted_getsstat=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
if test $fu_cv_sys_mounted_getsstat = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETFSSTAT)
fi
fi
if test -z "$list_mounted_fs"; then
# AIX.
AC_MSG_CHECKING([for mntctl function and struct vmount])
AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
[AC_TRY_CPP([#include <fshelp.h>],
fu_cv_sys_mounted_vmount=yes,
fu_cv_sys_mounted_vmount=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
if test $fu_cv_sys_mounted_vmount = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_VMOUNT)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR3
AC_MSG_CHECKING([for FIXME existence of three headers])
AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
[AC_TRY_CPP([
#include <sys/statfs.h>
#include <sys/fstyp.h>
#include <mnttab.h>],
fu_cv_sys_mounted_fread_fstyp=yes,
fu_cv_sys_mounted_fread_fstyp=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD_FSTYP)
fi
fi
if test -z "$list_mounted_fs"; then
# 4.4BSD and DEC OSF/1.
AC_MSG_CHECKING([for getmntinfo function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
[
ok=
if test $ac_cv_func_getmntinfo = yes; then
AC_EGREP_HEADER(f_type;, sys/mount.h,
ok=yes)
fi
test -n "$ok" \
&& fu_cv_sys_mounted_getmntinfo=yes \
|| fu_cv_sys_mounted_getmntinfo=no
])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
if test $fu_cv_sys_mounted_getmntinfo = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTINFO)
fi
fi
# FIXME: add a test for netbsd-1.1 here
if test -z "$list_mounted_fs"; then
# Ultrix
AC_MSG_CHECKING([for getmnt function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
[AC_TRY_CPP([
#include <sys/fs_types.h>
#include <sys/mount.h>],
fu_cv_sys_mounted_getmnt=yes,
fu_cv_sys_mounted_getmnt=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
if test $fu_cv_sys_mounted_getmnt = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNT)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR2
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
AC_CACHE_VAL(fu_cv_sys_mounted_fread,
[AC_TRY_CPP([#include <mnttab.h>],
fu_cv_sys_mounted_fread=yes,
fu_cv_sys_mounted_fread=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
if test $fu_cv_sys_mounted_fread = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD)
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
# FIXME -- no need to abort building the whole package
# Cannot build mountlist.c or anything that needs its functions
fi
AC_CHECKING(how to get filesystem space usage)
space=no
# Perform only the link test since it seems there are no variants of the
# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
# because that got a false positive on SCO OSR5. Adding the declaration
# of a `struct statvfs' causes this test to fail (as it should) on such
# systems. That system is reported to work fine with STAT_STATFS4 which
# is what it gets when this test fails.
if test $space = no; then
# SVR4
AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
[AC_TRY_LINK([#include <sys/types.h>
#include <sys/statvfs.h>],
[struct statvfs fsd; statvfs (0, &fsd);],
fu_cv_sys_stat_statvfs=yes,
fu_cv_sys_stat_statvfs=no)])
if test $fu_cv_sys_stat_statvfs = yes; then
space=yes
AC_DEFINE(STAT_STATVFS)
fi
fi
if test $space = no; then
# DEC Alpha running OSF/1
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
[AC_TRY_RUN([
#include <sys/param.h>
#include <sys/types.h>
#include <sys/mount.h>
int main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
return (statfs (".", &fsd, sizeof (struct statfs)));
}],
fu_cv_sys_stat_statfs3_osf1=yes,
fu_cv_sys_stat_statfs3_osf1=no,
fu_cv_sys_stat_statfs3_osf1=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
space=yes
AC_DEFINE(STAT_STATFS3_OSF1)
fi
fi
if test $space = no; then
# AIX
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
member (AIX, 4.3BSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
[AC_TRY_RUN([
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
int main ()
{
struct statfs fsd;
fsd.f_bsize = 0;
return (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_bsize=yes,
fu_cv_sys_stat_statfs2_bsize=no,
fu_cv_sys_stat_statfs2_bsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_BSIZE)
fi
fi
if test $space = no; then
# SVR3
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
[AC_TRY_RUN([#include <sys/types.h>
#include <sys/statfs.h>
int main ()
{
struct statfs fsd;
return (statfs (".", &fsd, sizeof fsd, 0));
}],
fu_cv_sys_stat_statfs4=yes,
fu_cv_sys_stat_statfs4=no,
fu_cv_sys_stat_statfs4=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
if test $fu_cv_sys_stat_statfs4 = yes; then
space=yes
AC_DEFINE(STAT_STATFS4)
fi
fi
if test $space = no; then
# 4.4BSD and NetBSD
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
member (4.4BSD and NetBSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
[AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
int main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
return (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_fsize=yes,
fu_cv_sys_stat_statfs2_fsize=no,
fu_cv_sys_stat_statfs2_fsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_FSIZE)
fi
fi
if test $space = no; then
# Ultrix
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
[AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_FS_TYPES_H
#include <sys/fs_types.h>
#endif
int main ()
{
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
return (statfs (".", &fsd) != 1);
}],
fu_cv_sys_stat_fs_data=yes,
fu_cv_sys_stat_fs_data=no,
fu_cv_sys_stat_fs_data=no)])
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
if test $fu_cv_sys_stat_fs_data = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_FS_DATA)
fi
fi
if test $space = no; then
# SVR2
AC_TRY_CPP([#include <sys/filsys.h>],
AC_DEFINE(STAT_READ_FILSYS) space=yes)
fi
if test -n "$list_mounted_fs" && test $space != no; then
DF_PROG="df"
# AC_LIBOBJ(fsusage)
# AC_LIBOBJ(mountlist)
fi
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
# enable the work-around code in fsusage.c.
AC_MSG_CHECKING([for statfs that truncates block counts])
AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
[AC_TRY_COMPILE([
#if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem
#endif
#include <sys/types.h>
#include <sys/vfs.h>],
[struct statfs t; long c = *(t.f_spare);],
fu_cv_sys_truncating_statfs=yes,
fu_cv_sys_truncating_statfs=no,
)])
if test $fu_cv_sys_truncating_statfs = yes; then
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS)
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
AC_CHECKING(for AFS)
test -d /afs && AC_DEFINE(AFS)
])
dnl GNOME_SUPPORT_CHECKS
dnl Check for various support functions needed by the standard
dnl Gnome libraries. Sets LIBOBJS, might define some macros.
dnl This should only be used when building the Gnome libs;
dnl Gnome clients should not need this macro.
AC_DEFUN([GNOME_SUPPORT_CHECKS],[
# we need an `awk' to build `gnomesupport.h'
AC_REQUIRE([AC_PROG_AWK])
# this should go away soon
need_gnome_support=yes
AC_CHECK_FUNCS(getopt_long,,
[AC_LIBOBJ(getopt)
AC_LIBOBJ(getopt1)])
# for `scandir'
AC_HEADER_DIRENT
# copied from `configure.in' of `libiberty'
vars="program_invocation_short_name program_invocation_name sys_errlist"
for v in $vars; do
AC_MSG_CHECKING([for $v])
AC_CACHE_VAL(gnome_cv_var_$v,
[AC_TRY_LINK([int *p;], [extern int $v; p = &$v;],
[eval "gnome_cv_var_$v=yes"],
[eval "gnome_cv_var_$v=no"])])
if eval "test \"`echo '$gnome_cv_var_'$v`\" = yes"; then
AC_MSG_RESULT(yes)
n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
AC_DEFINE_UNQUOTED($n)
else
AC_MSG_RESULT(no)
fi
done
AC_REPLACE_FUNCS(memmove mkstemp scandir strcasecmp strerror strndup strnlen)
AC_REPLACE_FUNCS(strtok_r strtod strtol strtoul vasprintf vsnprintf)
AC_CHECK_FUNCS(realpath,,AC_LIBOBJ(canonicalize))
# to include `error.c' error.c has some HAVE_* checks
AC_CHECK_FUNCS(vprintf doprnt strerror_r)
# stolen from am_func_error_at_line
AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
[AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
am_cv_lib_error_at_line=yes,
am_cv_lib_error_at_line=no)])
if test $am_cv_lib_error_at_line = no; then
AC_LIBOBJ(error)
fi
# This is required if we declare setreuid () and setregid ().
AC_TYPE_UID_T
# see if we need to declare some functions. Solaris is notorious for
# putting functions into the `libc' but not listing them in the headers
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h dirent.h)
GCC_NEED_DECLARATIONS(gethostname setreuid setregid getpagesize)
GCC_NEED_DECLARATION(scandir,[
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
])
AC_SUBST(need_gnome_support)
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, test "$need_gnome_support" = yes)
])
dnl This file is intended for use both internally in libgtop and in every program
dnl that wants to use it.
dnl
dnl It defines the following variables:
dnl
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
dnl their own header file. In this case we need to
dnl define 'HAVE_GLIBTOP_MACHINE_H'.
dnl * 'libgtop_need_server' - is the server really needed? Defines 'NEED_LIBGTOP'
dnl if true; defines conditional 'NEED_LIBGTOP'.
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_SUBST(libgtop_sysdeps_dir)
AC_SUBST(libgtop_use_machine_h)
AC_SUBST(libgtop_need_server)
AC_ARG_WITH(libgtop-examples,
[ --with-libgtop-examples Build the libgtop examples (default=no)],[
build_examples="$withval"], [build_examples=no])
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
AC_ARG_ENABLE(hacker-mode,
[ --enable-hacker-mode Enable building of unstable sysdeps],
[hacker_mode="$enableval"], [hacker_mode=no])
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
if test x$hacker_mode = xyes ; then
LIBGTOP_HACKER_TESTS
fi
AC_ARG_WITH(libgtop-smp,
[ --with-libgtop-smp Enable SMP support (default-auto)],[
libgtop_smp="$withval"],[libgtop_smp=auto])
if test $libgtop_smp = auto ; then
AC_MSG_CHECKING(whether to enable SMP support)
case "$host_os" in
linux*)
libgtop_smp=yes
;;
aix*)
libgtop_smp=yes
;;
*)
libgtop_smp=no
;;
esac
AC_MSG_RESULT($libgtop_smp)
fi
if test $libgtop_smp = yes ; then
AC_DEFINE(HAVE_LIBGTOP_SMP)
fi
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
AC_MSG_CHECKING(for libgtop sysdeps directory)
case "$host_os" in
linux*)
libgtop_sysdeps_dir=linux
libgtop_use_machine_h=no
libgtop_have_sysinfo=yes
libgtop_need_server=no
;;
freebsd*|netbsd*|openbsd*|bsdi*)
libgtop_sysdeps_dir=freebsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
;;
solaris*)
libgtop_sysdeps_dir=solaris
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
;;
aix*)
libgtop_sysdeps_dir=aix
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_have_sysinfo=yes
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
;;
*)
if test x$hacker_mode = xyes ; then
case "$host_os" in
sunos4*)
#Please note that this port is obsolete and not working at
#all. It is only useful for people who want to fix it ... :-)
libgtop_sysdeps_dir=sun4
libgtop_use_machine_h=yes
libgtop_need_server=yes
;;
osf*)
libgtop_sysdeps_dir=osf1
libgtop_use_machine_h=yes
libgtop_need_server=yes
;;
*)
libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no
;;
esac
else
libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no
fi
;;
esac
test -z "$libgtop_postinstall" && libgtop_postinstall=:
AC_MSG_RESULT($libgtop_sysdeps_dir)
AC_SUBST(libgtop_sysdeps_dir)
AC_SUBST(libgtop_postinstall)
AC_SUBST(libgtop_have_sysinfo)
case "$host_os" in
*bsd*)
AC_CHECK_HEADERS(net/if_var.h)
AC_MSG_CHECKING([for I4B])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
#include <net/if_types.h>
#ifdef HAVE_NET_IF_VAR_H
#include <net/if_var.h>
#endif
#include <net/netisr.h>
#include <net/route.h>
#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <net/if_sppp.h>
#else
#include <i4b/sppp/if_sppp.h>
#endif
],[
size_t size = sizeof (struct sppp);
], have_i4b=yes, have_i4b=no)
AC_MSG_RESULT($have_i4b)
if test x$have_i4b = xyes; then
AC_DEFINE(HAVE_I4B)
AC_MSG_CHECKING([for I4B accounting])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
#include <net/if_types.h>
#ifdef HAVE_NET_IF_VAR_H
#include <net/if_var.h>
#endif
#include <net/netisr.h>
#include <net/route.h>
#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <net/if_sppp.h>
#else
#include <i4b/sppp/if_sppp.h>
#endif
#include <machine/i4b_acct.h>
],[
size_t size = sizeof (struct i4bisppp_softc);
], have_i4b_acct=yes, have_i4b_acct=no)
AC_MSG_RESULT($have_i4b_acct)
if test x$have_i4b_acct = xyes ; then
AC_DEFINE(HAVE_I4B_ACCT)
else
AC_WARN([
*** I4B accounting disabled - you won't get any PPP statistics.
*** Read "misc/i4b_acct.txt" in the LibGTop source directory
*** to see how to enable it.])
fi
fi
;;
linux*)
os_major_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
os_minor_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
os_micro_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
os_version_expr="$os_major_version 65536 * $os_minor_version 256 * + $os_micro_version + p q"
AC_CHECK_HEADERS(linux/version.h, have_linux_version_h=yes,
have_linux_version_h=no)
if test x$have_linux_version_h = xyes ; then
version_code=`cat /usr/include/linux/version.h | \
grep \#define | grep LINUX_VERSION_CODE`
os_version_code=`echo $version_code | \
sed 's/^.*LINUX_VERSION_CODE[[ \t]]*\([[0-9]]*\).*$/\1/'`
else
os_version_code=`echo "$os_version_expr" | dc`
fi
AC_MSG_CHECKING(for Linux kernel version code)
AC_DEFINE_UNQUOTED(GLIBTOP_LINUX_VERSION_CODE, $os_version_code)
AC_MSG_RESULT($os_version_code)
;;
solaris*)
os_major_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\1/'`
os_minor_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\2/'`
os_micro_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\3/'`
test -z "$os_micro_version" && os_micro_version=0
os_version_expr="$os_major_version 100 * $os_minor_version 10 * + $os_micro_version + p q"
os_version_code=`echo "$os_version_expr" | dc`
AC_MSG_CHECKING(for Solaris release code)
AC_DEFINE_UNQUOTED(GLIBTOP_SOLARIS_RELEASE, $os_version_code)
AC_MSG_RESULT($os_version_code)
;;
esac
AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
AC_MSG_RESULT($libgtop_use_machine_h)
AC_MSG_CHECKING(whether we need libgtop)
AC_MSG_RESULT($libgtop_need_server)
if test x$libgtop_need_server = xyes ; then
AC_DEFINE(NEED_LIBGTOP)
fi
if test x$libgtop_use_machine_h = xyes ; then
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H)
fi
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
])

View File

@@ -14,4 +14,8 @@ PKG_NAME="Gnome Top Library"
exit 1
}
. $srcdir/macros/autogen.sh
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
USE_GNOME2_MACROS=1 . gnome-autogen.sh

5
backends/.cvsignore Normal file
View File

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

15
backends/Makefile.am Normal file
View File

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

View File

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

50
backends/common/ChangeLog Normal file
View File

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

View File

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

View File

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

View File

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

View File

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

175
backends/common/marshal.pl Normal file
View File

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

View File

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

125
backends/server/ChangeLog Normal file
View File

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

View File

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

View File

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

View File

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

94
backends/server/command.c Normal file
View File

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

View File

@@ -0,0 +1,59 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
@@AUTOGEN_COMMENT@@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_COMMAND_H__
#define __GLIBTOP_COMMAND_H__
#include <glibtop.h>
#include <glibtop/union.h>
G_BEGIN_DECLS
@@GLIBTOP_COMMAND_CONSTANTS@@
#define _GLIBTOP_PARAM_SIZE 16
typedef struct _glibtop_command glibtop_command;
typedef struct _glibtop_response glibtop_response;
struct _glibtop_command
{
guint64 command;
guint64 param_size, send_size, data_size;
char parameter [_GLIBTOP_PARAM_SIZE];
};
struct _glibtop_response
{
int retval;
int glibtop_errno;
guint64 recv_size, data_size;
};
G_END_DECLS
#endif

View File

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

View File

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

114
backends/server/io.c Normal file
View File

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

View File

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

305
backends/server/marshal.pl Normal file
View File

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

46
backends/server/read.c Normal file
View File

@@ -0,0 +1,46 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <backend-server.h>
void
glibtop_read_i (backend_server_private *priv, size_t size, void *buf)
{
int ret = 0;
#ifdef DEBUG
fprintf (stderr, "LIBRARY: really reading %d bytes from %d.\n",
size, priv->input [0]);
#endif
ret = read (priv->input [0], buf, size);
#ifdef DEBUG
fprintf (stderr, "LIBRARY: read %d bytes.\n", ret);
#endif
if (ret < 0)
glibtop_error_io_r (priv->server, "read %d bytes", size);
}

View File

@@ -0,0 +1,58 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <backend-server.h>
void *
glibtop_read_data_i (backend_server_private *priv)
{
size_t size;
void *ptr;
int ret;
#ifdef DEBUG
fprintf (stderr, "LIBRARY: reading %d data bytes.\n", sizeof (size_t));
#endif
ret = read (priv->input [0], (void *)&size, sizeof (size_t));
if (ret < 0)
glibtop_error_io_r (priv->server, "read data size");
#ifdef DEBUG
fprintf (stderr, "LIBRARY: really reading %d data bytes (ret = %d).\n", size, ret);
#endif
if (!size) return NULL;
ptr = g_malloc (size);
ret = read (priv->input [0], ptr, size);
if (ret < 0)
glibtop_error_io_r (priv->server, "read data %d bytes");
return ptr;
}

189
backends/server/server.c Normal file
View File

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

84
backends/server/server.h Normal file
View File

@@ -0,0 +1,84 @@
/* -*- 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_DAEMON_H__
#define __GLIBTOP_DAEMON_H__
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/open.h>
#include <glibtop/union.h>
#include <glibtop/parameter.h>
#include <fcntl.h>
#include <sys/wait.h>
#include <sys/socket.h>
#include <syslog.h>
#include <glibtop/backend.h>
#include <glibtop-backend-private.h>
#include "command.h"
G_BEGIN_DECLS
/* Some don't have LOG_PERROR */
#ifndef LOG_PERROR
#define LOG_PERROR 0
#endif
#define LIBGTOP_VERSION_STRING "Libgtop %s server version %s (%u,%u,%u,%u)."
#if defined(HAVE_GETDTABLESIZE)
#define GET_MAX_FDS() getdtablesize()
#else
/* Fallthrough case - please add other #elif cases above
for different OS's as necessary */
#define GET_MAX_FDS() 256
#endif
void
do_output (int s, glibtop_response *resp, const void *recv_ptr,
const void *data_ptr);
int
do_read (int s, void *ptr, size_t total_size);
void
handle_slave_connection (int input, int output);
int
glibtop_demarshal_func_i (glibtop *server, glibtop_backend *backend, unsigned command, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr);
void
glibtop_send_version_i (glibtop *server, int fd);
extern int enable_debug;
extern int verbose_output;
G_END_DECLS
#endif

62
backends/server/version.c Normal file
View File

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

43
backends/server/write.c Normal file
View File

@@ -0,0 +1,43 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <backend-server.h>
void
glibtop_write_i (backend_server_private *priv, size_t size, const void *buf)
{
int ret;
if (size == 0) return;
#ifdef DEBUG
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", size);
#endif
ret = write (priv->output [1], buf, size);
if (ret < 0)
glibtop_error_io_r (priv->server, "write %d bytes", size);
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

195
backends/sysdeps/marshal.pl Normal file
View File

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

View File

@@ -6,18 +6,33 @@ AC_INIT(copyright.txt)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
dnl This is required at several places
AC_CHECK_PROG(ac_dc_found, dc, yes, no)
if test x$ac_dc_found != xyes ; then
AC_MSG_ERROR([
*** The "dc" utility was not found on your system.
***
*** When using RedHat Linux, you need to install the "bc" package.
***])
fi
LIBGTOP_MAJOR_VERSION=2
LIBGTOP_MINOR_VERSION=9
LIBGTOP_MICRO_VERSION=0
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
. $srcdir/LIBGTOP-VERSION
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
dnl increment if the interface has additions, changes, removals.
LIBGTOP_CURRENT=5
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
# a `libgtop-1.x.y-snap.tar.gz' tarball.
LIBGTOP_VERSION_SUFFIX=
# Increase each time you change the client/server protocol.
LIBGTOP_SERVER_VERSION=5
# Version code calculation
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_VERSION`
AC_SUBST(LIBGTOP_MAJOR_VERSION)
AC_SUBST(LIBGTOP_MINOR_VERSION)
@@ -27,25 +42,30 @@ AC_SUBST(LIBGTOP_BINARY_AGE)
AC_SUBST(LIBGTOP_SERVER_VERSION)
AC_SUBST(LIBGTOP_VERSION)
AC_SUBST(LIBGTOP_VERSION_CODE)
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
# libtool versioning
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
LT_CURRENT=`expr $LIBGTOP_MICRO_VERSION - $LIBGTOP_INTERFACE_AGE`
LT_REVISION=$LIBGTOP_INTERFACE_AGE
LT_AGE=`expr $LIBGTOP_BINARY_AGE - $LIBGTOP_INTERFACE_AGE`
LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
LT_CURRENT=$LIBGTOP_CURRENT
LT_REVISION=$LIBGTOP_REVISION
LT_AGE=$LIBGTOP_AGE
LT_VERSION_INFO="-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}"
AC_SUBST(LT_VERSION_INFO)
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
AM_ACLOCAL_INCLUDE(. macros)
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
AC_ISC_POSIX
AC_PROG_CC
AC_STDC_HEADERS
AC_ARG_PROGRAM
dnl AC_ARG_PROGRAM
dnl We need this at some places.
libgtop_top_builddir=`pwd`
AC_SUBST(libgtop_top_builddir)
dnl We don't use `AC_PROG_AWK' since it checks for mawk first which
dnl does not work for libgtop.
@@ -60,10 +80,8 @@ AC_CHECK_TOOL(CC,gcc)
AC_CHECK_TOOL(RANLIB,ranlib)
AC_CHECK_TOOL(AS,as)
AC_CHECK_TOOL(AR,ar)
AC_CHECK_TOOL(NM,nm)
NM=`which $NM`
export CC CXX RANLIB LD AS AR NM
export CC CXX RANLIB LD AS AR
AC_PROG_INSTALL
AC_PROG_LN_S
@@ -73,39 +91,11 @@ export cross_compiling
AM_PROG_LIBTOOL
dnl Let the user enable compiler warnings
GNOME_COMPILE_WARNINGS
GNOME_INIT_HOOK(gnome_found=yes)
if test "x$gnome_found" != xyes; then
if test "x$want_gnome" != xno ; then
AC_MSG_ERROR([
*** GNOME was not found on this system. ***
*** If you want to use LibGTop without GNOME, you need
*** to give configure the --without-gnome parameter.
])
else
AC_DEFINE(WITHOUT_GNOME)
fi
GNOME_SUPPORT_CHECKS
else
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
fi
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES
AC_ARG_WITH(libgtop-guile,
[ --with-libgtop-guile Build the libgtop guile interface (default=no)],
[build_guile="$withval"], [build_guile=yes])
if test x$build_guile != xno ; then
GNOME_CHECK_GUILE
fi
AC_ARG_WITH(libgtop-inodedb,
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
[build_inodedb="$withval"], [build_inodedb=no])
@@ -124,20 +114,6 @@ fi
AC_DEFINE(GLIBTOP_NAMES)
if test x$ac_cv_guile_found = xyes ; then
AC_DEFINE(GLIBTOP_GUILE)
AC_DEFINE(GLIBTOP_GUILE_NAMES)
libgtop_guile_found=yes
guile_examples='third'
guile_static_examples='third_static'
guile_subdirs='guile'
else
libgtop_guile_found=no
guile_examples=
guile_static_examples=
guile_subdirs=
fi
if test x$libgtop_smp = xyes ; then
smp_examples='smp'
smp_static_examples='smp_static'
@@ -147,23 +123,35 @@ else
fi
if test "x$enable_static" != xno; then
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static $guile_static_examples $smp_static_examples"
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 netlist netlist_static"
else
static_targets=""
fi
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
AC_SUBST(static_targets)
AC_SUBST(smp_examples)
AC_SUBST(guile_examples)
AC_SUBST(guile_subdirs)
AM_PROG_LIBTOOL
GLIB_REQUIRED=2.4.0
AM_PATH_GLIB(1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
dnl You need to uncomment the following line if you want to use
dnl libGTop without Gnome.
dnl GNOME_SUPPORT_CHECKS
AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no])
AC_MSG_CHECKING(for popt.h)
if test x$POPT = xyes ; then
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR([libgtop requires the popt development libraries])
fi
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
if test x$HAVE_IFADDRS_H = xyes ; then
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
fi
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@@ -181,23 +169,71 @@ AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_HEADERS(memory.h)
AC_CHECK_HEADERS(string.h strings.h, break)
AC_REPLACE_FUNCS(strerror)
AC_CHECK_LIB(kvm, kvm_open)
dnl dlopen() and dlsym()
DL_LIB=
AC_CHECK_FUNCS(dlopen,,[
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
])
])
])
oLIBS="$LIBS"
LIBS="$LIBS $DL_LIB"
AC_CHECK_FUNCS(dlerror,,)
LIBS="$oLIBS"
AC_SUBST(DL_LIB)
dnl Linux
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
if test x$HAVE_ISDN_H = xyes ; then
AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
fi
dnl AIX
AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the 'vmgetinfo' function in libperfstat])
AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO))
dnl Solaris
AC_CHECK_LIB(kstat, kstat_open)
AC_CHECK_FUNCS(getloadavg swapctl)
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
dnl Some versions of Solaris require -lelf for -lkvm
AC_CHECK_LIB(kvm, kvm_open,[
LIBS="-lkvm $LIBS"
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
[ac_save_LIBS="$LIBS"
LIBS="-lkvm -lelf $LIBS"
AC_TRY_LINK([char kvm_open();], [kvm_open()],
ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
LIBS="$ac_save_LIBS"
])
if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
AC_MSG_RESULT(yes)
LIBS="-lkvm -lelf $LIBS"
else
AC_MSG_RESULT(no)
fi
])
dnl For DEC OSF1
AC_CHECK_LIB(mach, vm_statistics)
dnl For some broken libc5 systems (Debian 1.3)
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -D_GNU_SOURCE"
dnl For some broken libc5 systems (Debian 1.3)
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -D_GNU_SOURCE"
GCC_NEED_DECLARATION(program_invocation_name, [
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
])
CFLAGS=$saved_CFLAGS
dnl Check for Internet sockets.
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
])
CFLAGS=$saved_CFLAGS
AC_CHECK_FUNC(socket,
[AC_CHECK_HEADER(netinet/in.h,
[AC_CHECK_HEADER(arpa/inet.h, [
@@ -219,9 +255,13 @@ AC_TYPE_SIGNAL
AC_FUNC_STRFTIME
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
dnl ## all 'es_??' are only needed for format numbers different of 'es'
ALL_LINGUAS="de es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fr ko no ja"
AM_GNOME_GETTEXT
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"
GETTEXT_PACKAGE=libgtop-2.0
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
AM_GLIB_GNU_GETTEXT
AC_PATH_XTRA
@@ -261,27 +301,9 @@ dnl Debugging
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
if test "x$gnome_found" = xyes ; then
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR"
else
LIBSUPPORT='$(top_builddir)/support/libgnomesupport.la'
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
fi
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS,
dnl we include it here.
case "$GNOME_LIBS" in
'*-lgnomesupport*' )
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR" ;;
esac
AC_SUBST(LIBSUPPORT)
AC_SUBST(SUPPORTINCS)
dnl These definitions are expanded in make.
LIBGTOP_LIBS='-L$(libdir)'
LIBGTOP_INCS='-I$(includedir)'
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
if test x$libgtop_use_machine_h = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
@@ -299,25 +321,14 @@ if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS"
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS"
LIBGTOP_BINDIR='$(bindir)'
LIBGTOP_SERVER='$(bindir)/libgtop_server'
LIBGTOP_SERVER='$(bindir)/libgtop_server2'
sysdeps_dir="$libgtop_sysdeps_dir"
AC_SUBST(sysdeps_dir)
if test x$ac_cv_guile_found = xyes ; then
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile"
libgtop_guile_found=yes
else
libgtop_guile_found=no
fi
AC_SUBST(libgtop_guile_found)
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
LIBGTOP_EXTRA_LIBS="$libs_xauth"
else
@@ -326,54 +337,46 @@ fi
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop -lgtop_sysdeps -lgtop_common"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop -lgtop_sysdeps -lgtop_common"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names -lgtop_names"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_NAMES_LIBS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
LIBGTOP_GUILE_INCS="$LIBGTOP_GUILE_INCS $GUILE_INCS -DGLIBTOP_GUILE"
LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES"
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_GUILE_NAMES"
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_NAMES"
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
AC_SUBST(machine_incs)
if test x$libgtop_guile_found = xyes ; then
guile_def="-DGLIBTOP_GUILE -DGLIBTOP_GUILE_NAMES $GUILE_INCS "
else
guile_def=""
if test "$GCC" = "yes" ; then
CFLAGS="\
-Winline \
-Wall \
-std=gnu89 \
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wpointer-arith \
-Wcast-align -Wsign-compare \
-fno-strict-aliasing \
$CFLAGS"
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 -I\$(top_srcdir)/intl $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -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 $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"'\"'
AC_SUBST(INCLUDES)
AC_SUBST(LIBGTOP_EXTRA_LIBS)
AC_SUBST(GLIB_LIBS)
AC_SUBST(LIBGTOP_LIBS)
AC_SUBST(LIBGTOP_INCS)
AC_SUBST(LIBGTOP_NAMES_LIBS)
AC_SUBST(LIBGTOP_NAMES_INCS)
AC_SUBST(LIBGTOP_GUILE_LIBS)
AC_SUBST(LIBGTOP_GUILE_INCS)
AC_SUBST(LIBGTOP_GUILE_NAMES_LIBS)
AC_SUBST(LIBGTOP_GUILE_NAMES_INCS)
AC_SUBST(LIBGTOP_BINDIR)
AC_SUBST(LIBGTOP_SERVER)
if test x$libgtop_need_server = xyes ; then
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid.la"
server_programs='libgtop_server'
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
server_programs='libgtop_server2'
else
sysdeps_suid_lib=
server_programs=
@@ -385,26 +388,26 @@ AC_OUTPUT([
Makefile
libgtop.spec
po/Makefile.in
intl/Makefile
misc/Makefile
include/Makefile
include/glibtop/Makefile
sysdeps/Makefile
sysdeps/common/Makefile
sysdeps/names/Makefile
sysdeps/guile/Makefile
sysdeps/guile/names/Makefile
sysdeps/stub/Makefile
sysdeps/stub_suid/Makefile
sysdeps/sun4/Makefile
sysdeps/osf1/Makefile
sysdeps/linux/Makefile
sysdeps/kernel/Makefile
sysdeps/freebsd/Makefile
sysdeps/solaris/Makefile
sysdeps/aix/Makefile
src/Makefile
src/daemon/Makefile
src/inodedb/Makefile
lib/Makefile
examples/Makefile
support/Makefile
macros/Makefile])
doc/Makefile
libgtop-2.0.pc
libgtopconfig.h
])

View File

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

9
debian/.cvsignore vendored Normal file
View File

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

9
debian/README.Debian vendored Normal file
View File

@@ -0,0 +1,9 @@
LibGTop CVS snapshots for Debian
--------------------------------
This is a debian package made from a stable release of LibGTop, but it
should be considered "unofficial" since I'm not a Debian Maintainer.
Martin Baulig <martin@home-of-linux.org>, Wed, 16 Feb 2000 16:40:50 +0100

121
debian/changelog vendored Normal file
View File

@@ -0,0 +1,121 @@
libgtop (1.0.7-1) unstable; urgency=low
* New upstream source (1.0.7 "Copenhagen" release)
* Non-maintainer upload; since I'm not a Debian maintainer, this is some
kind of "unofficial" debian package for LibGTop 1.0.7 - but I think it
can be considered stable and working.
-- Martin Baulig <martin@home-of-linux.org> Wed, 16 Feb 2000 16:40:50 +0100
libgtop (1.0.6-1) unstable; urgency=low
* New upstream source
-- Ian Lynagh (wibble) <igloo@debian.org> Wed, 20 Oct 1999 16:16:27 +0100
libgtop (1.0.4.5pre1-1) frozen unstable; urgency=low
* New upstream source (1.0.5 pre release)
* Maintainer e-mail address changed to igloo@debian.org
-- Ian Lynagh (wibble) <igloo@debian.org> Thu, 30 Sep 1999 22:37:33 +0100
libgtop (1.0.4-1) frozen unstable; urgency=low
* New upstream source
* Removed nasty sed stuff from the rules in favour of make install prefix=...
* Added .la files to libgtop-dev
* Added info to the copyright file
* Wrote simple man page for libgtop-config.
* Recompiled with later debhelper so docs go to /usr/share/doc as per FHS
* changed infodir to /usr/share/info
-- Ian Lynagh (wibble) <igloo@debian.org> Mon, 20 Sep 1999 00:06:16 +0100
libgtop (1.0.1-2) frozen unstable; urgency=low
* Didn't actually use wildcards in libgtop-dev.files because tar complained
* Set section names properly
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
libgtop (1.0.1-1) frozen unstable; urgency=low
* SONAME changed back to 1. Fun fun fun.
* Added RELNOTES-1.0 to debian/libgtop1.docs and debian/rules
* Changed libgtop1.README.Debian to at least make sense
* Used wildcards in libgtop-dev.files
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
libgtop (1.0.1-0.1) unstable; urgency=low
* Non-maintainer upload for GNOME 1.0
-- Jules Bean <jules@debian.org> Thu, 4 Mar 1999 22:34:12 +0000
libgtop (0.99.2-0.2) unstable; urgency=low
* Oops, forgot some files.
-- Jim Pick <jim@jimpick.com> Sun, 24 Jan 1999 02:12:24 -0800
libgtop (0.99.2-0.1) unstable; urgency=low
* Non-maintainer upload.
* New upstream source.
* SONAME is now 0 again. Hmmm.
-- Jim Pick <jim@jimpick.com> Sat, 23 Jan 1999 20:21:38 -0800
libgtop (0.26.2-4) frozen unstable; urgency=low
* Upstream changelog installed as changelog
* debian/shlibs.local removed in favour of the LD_LIBRARY_PATH line
-- Ian Lynagh <ian@lynagh.demon.co.uk> Thu, 26 Nov 1998 17:20:24 +0000
libgtop (0.26.2-3.1) frozen unstable; urgency=low
* Non-maintainer upload.
* Upload to frozen, corrects Bug #29110, Bug #29111, which were
already fixed.
* Noticed that guile option is no longer being used, so I removed
the dependency.
* Added changelog (to fix lintian error).
* Changed control file to use macro substitutions. This is a much
less error-prone way of building dependencies than doing them by
hand.
* Added -V option to dh_makeshlibs to put version number on shlibs
file.
* Added shlibs.local file with null entry for "libgtop 1" (and
others) so libgtop1 doesn't declare a relationship on itself.
-- Jim Pick <jim@jimpick.com> Wed, 25 Nov 1998 12:03:12 -0800
libgtop (0.26.2-3) frozen unstable; urgency=low
* libgtop0 changed to libgtop1
* Added an #ifndef strstr around the prototype of strstr in
sysdeps/common/mountlist.c as this is a macro under glibc 2.1.
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 8 Nov 1998 12:06:09 +0000
libgtop (0.26.2-2) frozen unstable; urgency=low
* Fixes minor bugs in debian/rules
-- Ian Lynagh <ian@lynagh.demon.co.uk> Fri, 16 Oct 1998 05:30:16 +0200
libgtop (0.26.2-1) unstable; urgency=low
* New upstream version
* Non-maintainer release
-- Martin Schulze <joey@finlandia.infodrom.north.de> Fri, 16 Oct 1998 05:30:16 +0200
libgtop (0.26.0-1) unstable; urgency=low
* Initial Release.
-- Jim Pick <jim@jimpick.com> Thu, 24 Sep 1998 18:42:48 -0700
Local variables:
mode: debian-changelog
End:

33
debian/control.in vendored Normal file
View File

@@ -0,0 +1,33 @@
Source: libgtop@SUFFIX@
Maintainer: Martin Baulig <martin@home-of-linux.org>
Section: libs
Priority: optional
Standards-Version: 3.0.0
Package: libgtop1@SUFFIX@
Architecture: any
Section: libs
Depends: ${shlibs:Depends}
Description: Portable system access library (part of Gnome)
Gnome is the "GNU Network Object Model Environment"
.
It is a project to build a complete, user-friendly desktop based
entirely on free software.
.
This package contains the gtop libraries which read information about
processes and the running systems.
Package: libgtop-dev@SUFFIX@
Architecture: any
Section: devel
Depends: libgtop1@SUFFIX@ (= ${Source-Version})
Description: Dev libraries for the portable system access library (part of Gnome)
Gnome is the "GNU Network Object Model Environment"
.
It is a project to build a complete, user-friendly desktop based
entirely on free software.
.
This package contains the include files and static library for the
gtop libraries which read information about processes and the running
systems.

109
debian/debconfigure vendored Executable file
View File

@@ -0,0 +1,109 @@
#! /bin/sh
#
# debconfigure
#
# A script to generate a debian/rules file, with options.
#
# By Jim Pick <jim@jimpick.com>, GPL'd of course.
# Adjusted for LibGTop by Martin Baulig <martin@home-of-linux.org>
#
if [ ! -r rules.in ]; then
echo "Please run the debconfigure script in the debian directory" 1>&2
exit 1
fi
debtype='official'
prefix='/usr'
gnomeprefix='/usr'
localstatedir='/var/lib'
pkgsuffix=''
for dc_option
do
case "$dc_option" in
-*=*) dc_optarg=`echo "$dc_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) dc_optarg= ;;
esac
case "$dc_option" in
--clean)
rm -f control rules *~ core *files *menu *substvars *.postinst *.debhelper
exit ;;
--prefix=*)
prefix="$dc_optarg" ;;
--localstatedir=*)
prefix="$dc_optarg" ;;
--pkgsuffix=*)
pkgsuffix="$dc_optarg" ;;
--gnome-prefix=*)
gnomeprefix="$dc_optarg" ;;
--debtype=*)
debtype="$dc_optarg" ;;
*)
cat <<EOF 1>&2
Usage: debconfigure [options]
Options: [defaults in brackets after descriptions]
--help print this message
--clean remove generated files
--prefix=PREFIX install files under under PREFIX dir [/usr]
--gnome-prefix=PREFIX look for GNOME under PREFIX dir [/usr]
--localstatedir=DIR directory for things like game scores [/var/lib]
--pkgsuffix=SUFFIX append SUFFIX onto package names []
--debtype=DEBTYPE enable macros with the name of DEBTYPE [official]
EOF
exit ;;
esac
done
# Strip leading slash
prefix=`expr $prefix : '/\(.*\)'`
gnomeprefix=`expr $gnomeprefix : '/\(.*\)'`
localstatedir=`expr $localstatedir : '/\(.*\)'`
for infile in `ls control.in rules.in`
do
tofile=`expr $infile : '\(.*\)\.in'`
cat $infile | \
sed "s,@SUFFIX@,$pkgsuffix,g" | \
sed "s,@PREFIX@,$prefix,g" | \
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
done
chmod +x rules
for filesfile in `ls *.files.in`
do
tofile=`expr $filesfile : '\(.*\)\.files\.in'`
tofile=`echo $tofile$pkgsuffix.files`
cat $filesfile | \
sed "s,@SUFFIX@,$pkgsuffix,g" | \
sed "s,@PREFIX@,$prefix,g" | \
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
done
for postinst in libgtop1$pkgsuffix
do
cat > $postinst.postinst <<EOF
#! /bin/sh
set -e
ldconfig
#DEBHELPER#
EOF
done

34
debian/libgtop-config.1 vendored Normal file
View File

@@ -0,0 +1,34 @@
.TH GTOP l "15 September 1999"
.SH NAME
\fBlibgtop-config\fP \- libgtop libraries and component information retrieval.
.SH SYNTAX
.B libgtop-config
.RI [ --version ]
.RI [ --config ]
.RI [ --features-def-file ]
.SH DESCRIPTION
.B libgtop-config
is used to retrieve information from installed libraries in the system.
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
.LP
.SH OPTIONS
.TP
.B \-\-version
.PD
Prints the version of libgtop that you're using.
.TP
.B \-\-config
.PD
Prints the location of libgtopConf.sh.
.TP
.B \-\-version
.PD
Prints the location of libgtop-features.def.
.SH BUGS
None known
.SH AUTHORS
Martin Baulig (martin@home-of-linux.org)
.TP
Josh Sled (jsled@scam.XCF.Berkeley.EDU)

24
debian/libgtop-dev.files.in vendored Normal file
View File

@@ -0,0 +1,24 @@
@PREFIX@/lib/libgtop.a
@PREFIX@/lib/libgtop_common.a
@PREFIX@/lib/libgtop_names.a
@PREFIX@/lib/libgtop_suid_common.a
@PREFIX@/lib/libgtop_sysdeps.a
@PREFIX@/lib/libgtop.la
@PREFIX@/lib/libgtop_common.la
@PREFIX@/lib/libgtop_names.la
@PREFIX@/lib/libgtop_suid_common.la
@PREFIX@/lib/libgtop_sysdeps.la
@PREFIX@/lib/libgtopConf.sh
@PREFIX@/lib/libgtop.so
@PREFIX@/lib/libgtop_common.so
@PREFIX@/lib/libgtop_names.so
@PREFIX@/lib/libgtop_suid_common.so
@PREFIX@/lib/libgtop_sysdeps.so
@PREFIX@/lib/libgtop-features.def
@PREFIX@/lib/libgtop/include/*.h
@PREFIX@/include/glibtop/*.h
@PREFIX@/include/glibtop.h
@PREFIX@/include/glibtop_server.h
@PREFIX@/include/glibtop_machine.h
@PREFIX@/info/libgtop.info
@PREFIX@/bin/libgtop-config

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

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

12
debian/libgtop1.copyright vendored Normal file
View File

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

5
debian/libgtop1.docs vendored Normal file
View File

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

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

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

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

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

12
debian/libgtop2.copyright vendored Normal file
View File

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

7
debian/libgtop2.docs vendored Normal file
View File

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

2
debian/libgtop2.files.in vendored Normal file
View File

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

115
debian/rules.in vendored Executable file
View File

@@ -0,0 +1,115 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# This version is for a hypothetical package that builds an
# architecture-dependant package, as well as an architecture-independent
# package.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
i=$(shell pwd)/debian/tmp
b=$(shell pwd)/debian/build
configure: configure.in
@echo "--- Making configure script and configuring"
chmod +x autogen.sh
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
--localstatedir=/@LOCALSTATEDIR@
Makefile: configure
@echo "--- Configuring"
./configure --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
--localstatedir=/@LOCALSTATEDIR@
build: configure Makefile build-debstamp
build-debstamp:
@echo "--- Compiling"
dh_testdir
$(MAKE) all
touch build-debstamp
clean: Makefile
@echo "--- Cleaning"
dh_testdir
dh_clean
-rm -rf static shared
-rm -f build-debstamp install-debstamp
-make -k distclean
-rm -f `find . -name "*~"`
-rm -f `find . -name "*\.la"`
-rm -rf `find . -name "\.deps"`
-rm -rf `find . -name "\.libs"`
-rm -rf `find . -name "*\.rej"`
-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
-rm -f debian/*substvars
install: build install-debstamp
install-debstamp:
@echo "--- Installing"
dh_testdir
dh_testroot
rm -rf $(b)
$(MAKE) install prefix=$(i)/@PREFIX@ exec_prefix=$(i)/@PREFIX@ \
localstatedir=$(i)/@LOCALSTATEDIR@
touch install-debstamp
install-save: install
rm -rf $(i).saved
cp -a $(i) $(i).saved
install-saved:
rm -rf $(i)
cp -a $(i).saved $(i)
rm -rf $(b)
touch install-debstamp
binary-indep: build install
binary-arch: build install \
libgtop1@SUFFIX@ \
libgtop-dev@SUFFIX@
#
# libgtop1@SUFFIX@
#
libgtop1@SUFFIX@: install
@echo "--- Building: $@"
dh_installdocs -p$@ -P$(b)/$@ README NEWS AUTHORS
dh_installchangelogs -p$@ -P$(b)/$@ ChangeLog
dh_movefiles -p$@ -P$(b)/$@
dh_strip -p$@ -P$(b)/$@
dh_compress -p$@ -P$(b)/$@
dh_fixperms -p$@ -P$(b)/$@
dh_installdeb -p$@ -P$(b)/$@
dh_shlibdeps -p$@ -P$(b)/$@
dh_gencontrol -p$@ -P$(b)/$@
dh_makeshlibs -p$@ -P$(b)/$@ -V
dh_md5sums -p$@ -P$(b)/$@
dh_builddeb -p$@ -P$(b)/$@
#
# libgtop-dev
#
libgtop-dev@SUFFIX@: install
@echo "--- Building: $@"
mkdir -p $(b)/$@/usr/doc
cd $(b)/$@/usr/doc; ln -s libgtop1@SUFFIX@ $@
dh_movefiles -p$@ -P$(b)/$@
dh_strip -p$@ -P$(b)/$@
dh_compress -p$@ -P$(b)/$@
dh_fixperms -p$@ -P$(b)/$@
dh_installdeb -p$@ -P$(b)/$@
dh_shlibdeps -p$@ -P$(b)/$@
dh_gencontrol -p$@ -P$(b)/$@
dh_makeshlibs -p$@ -P$(b)/$@ -V
dh_undocumented -p$@ -P$(b)/$@ \
libgtop-config.1
dh_md5sums -p$@ -P$(b)/$@
dh_builddeb -p$@ -P$(b)/$@
binary: binary-indep binary-arch
.PHONY: binary clean binary-indep binary-arch build install install-save install-saved

11
doc/.cvsignore Normal file
View File

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

71
doc/ChangeLog Normal file
View File

@@ -0,0 +1,71 @@
2004-08-03 Benoît Dejean <tazforever@dlfp.org>
* reference.texi: Updated.
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* reference.texi: updated.
Added glibtop_get_proc_argv.
Added glibtop_fsusage.block_size.
2004-03-05 Bastien Nocera <hadess@hadess.net>
* reference.texi: update for new API
2003-10-20 Bastien Nocera <hadess@hadess.net>
* reference.texi: s/u_int64_t/guint64/
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
2002-03-12 James Henstridge <james@daa.com.au>
* Makefile.am (MAKEINFO): using += seems to screw up the build
with newer automakes. Set it explicitly (using @MAKEINFO@) seems
to be compatible with both.
2001-11-26 Abel Cheung <maddog@linux.org.hk>
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
* about.texi: Very minor update.
1999-10-18 Martin Baulig <martin@home-of-linux.org>
* about.texi: Added a note about LibGTop and GNOME.
* reference.texi (glibtop_proc_state): Fix description of the `state'
field for LibGTop 1.0.x.
1999-09-29 Martin Baulig <martin@home-of-linux.org>
* Makefile.am (MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here.
1999-05-16 Martin Baulig <martin@home-of-linux.org>
* main.texi: This is now the main file which will @include all
chapter files so we can use `texinfo-multiple-files-update'.
* reference.texi: Added all missing sections with a "not yet written"
notice.
1999-05-16 Martin Baulig <martin@home-of-linux.org>
* white-paper.texi: Initial version of the LibGTop White Paper.
* Makefile.am: Create `auto-macros.texi' from `auto-macros.texi.in'
which will contain some `@set' commands for the LibGTop version etc.
* auto-macros.texi.in: New file. This is a template for
`auto-macros.texi' which will be automatically generated.
1999-05-09 Martin Baulig <martin@home-of-linux.org>
* about.texi: Split the `libgtop.texi' into one file pro chapter,
this is the "About LibGTop".
* reference.texi: The "LibGTop Reference Manual".
* libgtop.texi: Initial version of the new LibGTop Manual.

40
doc/Makefile.am Normal file
View File

@@ -0,0 +1,40 @@
info_TEXINFOS = libgtop2.texi
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
auto-macros.texi version.texi main.texi \
white-paper.texi
MAKEINFO = @MAKEINFO@ -I @libgtop_top_builddir@/doc
EXTRA_DIST = auto-macros.texi.in
auto-macros.texi: auto-macros.texi.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's#\%LIBGTOP_LIBDIR\%#$(libdir)#g' \
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)/libgtop-2.0#g' \
-e 's#\%LIBGTOP_DATADIR\%#$(datadir)#g' \
-e 's#\%LIBGTOP_EXTRA_LIBS\%#$(LIBGTOP_EXTRA_LIBS)#g' \
-e 's#\%LIBGTOP_LIBS\%#$(LIBGTOP_LIBS)#g' \
-e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \
-e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \
-e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \
-e 's#\%LIBGTOP_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_want_examples\%#$(libgtop_want_examples)#g' \
< $(srcdir)/auto-macros.texi.in > auto-macros.tmp
echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp
if [ $(LIBGTOP_VERSION_CODE) -ge 1001000 ] ; then \
echo '@set LIBGTOP-1-1' >> auto-macros.tmp ; \
else \
echo '@clear LIBGTOP-1-1' >> auto-macros.tmp ; \
fi
mv auto-macros.tmp auto-macros.texi

123
doc/about.texi Normal file
View File

@@ -0,0 +1,123 @@
@node About, White Paper, Top, Top
@chapter About LibGTop
LibGTop is a library to get system specific data such as CPU and Memory Usage
and information about running Processes.
On Systems like Solaris or Digital Unix where you need special privileges to
get those data, it uses a setuid/setgid server to do so.
Even if LibGTop is a part of the GNOME desktop environment
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
independent from any particular desktop environment, so you can also use it
as a standalone library in any piece of GPLed software.
@menu
* Availability:: Where to get LibGTop
* Supported Platforms:: Supported Platforms
* Mailing List:: Helping with LibGTop development
* Thanks:: People who contributed to LibGTop
@end menu
@node Availability, Supported Platforms, About, About
@section Availability
The master source of LibGTop is the GNOME CVS tree
(see @uref{http://www.gnome.org} for details), but you can also get the
latest release tarballs from
@display
@uref{ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/}
@end display
@noindent
or any of its mirror sites.
The latest stable version of LibGTop is 1.0.12 which is also the one that comes
together with GNOME 1.0. It belongs to @code{LIBGTOP_STABLE_1_0} branch in CVS.
Actual development occurs in the @code{libgtop-GNOME-2-0-port} which is
currently versioned 1.90.0.
@node Supported Platforms, Mailing List, Availability, About
@section Supported Platforms
The stable branch currently supports the following platforms:
@itemize @bullet
@item All versions of Linux
LibGTop was tested under Linux 2.0.x and 2.2.x on the ix86 and the alpha, but
it should also work without problems on SparcLinux or Linux 2.4.x.
Note: I'm speaking of the Linux kernel here, not the GNU/Linux operating system.
@item FreeBSD, NetBSD and OpenBSD
LibGTop was tested under FreeBSD 2.2.6 and 3.0, NetBSD 1.3.2 and OpenBSD 2.4.
Support for NetBSD 1.4 was added in LibGTop 1.0.2.
@end itemize
The platforms listed above are known to be stable and working. However, if
you're using the latest development version, you can use it on the following
platforms as well:
@itemize @bullet
@item BSD/OS
There is a port for BSD/OS (aka BSDI) 2.x and 3.x from Timur Bakeyev which
should also work with 4.x. This isn't tested very well, but it should be
working.
@item Digital Unix
There is some basic support for Digital Unix (formerly DEC OSF/1) V3.2C, but
this may still be a bit unstable. I'm currently working on this port as time
permits so it should be fully supported soon.
@item Solaris
The Solaris port currently works on Solaris 7 and maybe also on other releases.
Thanks a lot to Drazen Kacar and everyone who helped working on this port. They
have really done excellent work here and I'm pretty sure that this port will be
fully functional on most Solaris versions in near future.
@end itemize
@node Mailing List, Thanks, Supported Platforms, About
@section Mailing List
There is a @email{libgtop-devel-list@@egroups.com} mailing list for people who
want to help with the development of LibGTop.
It is meant as a low-traffic, but high content-list where we can discuss
technical details such as adding new sysdeps ports etc.
Especially, I'd like to see people with a deeper knowledge of operating systems
internals joining my list so we can discuss technical details of the sysdeps
code.
It is *not* for users that want to know how to compile LibGTop etc.
You can subscribe to this mailing list and view the mailing list archives
on the LibGTop Page at @uref{http://www.home-of-linux.org/gnome/libgtop}.
@node Thanks, , Mailing List, About
@section Thanks
At the place I'd like to thank the following people who contributed to
LibGTop (listed in chronological order):
@itemize @bullet
@item Sebastian Wilhelmi who had the initial idea of LibGTop and helped
me a lot in the early beginning.
@item Josh Sled for the initial FreeBSD port.
@item Jeremy Lea for his BSD patches.
@item Timur Bakeyev for the BSDI port.
@item Drazen Kacar and the other people on the LibGTop development mailing
list for the Solaris port.
@item Kevin Vandersloot for the effort to port to GNOME 2.0.
@item All people sending me patches, having good ideas, ...
@item Everyone I have forgotten in this list ...
@end itemize

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

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

107
doc/internals.texi Normal file
View File

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

89
doc/libgtop2.texi Normal file
View File

@@ -0,0 +1,89 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename libgtop2.info
@settitle LibGTop Reference Manual
@setchapternewpage odd
@c %**end of header
@include auto-macros.texi
@include version.texi
@ifinfo
This is the LibGTop Reference Manual version @value{VERSION}
(last modified @value{UPDATED}).
Copyright 1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
this permission notice are preserved on all copies.
@ignore
Permission is granted to process this file through TeX
and print the results, provided the printed document
carries a copying permission notice identical to this
one except for the removal of this paragraph (this
paragraph not being relevant to the printed manual).
@end ignore
Permission is granted to copy and distribute modified
versions of this manual under the conditions for
verbatim copying, provided also that the sections
entitled ``Copying'' and ``GNU General Public License''
are included exactly as in the original, and provided
that the entire resulting derived work is distributed
under the terms of a permission notice identical to this
one.
Permission is granted to copy and distribute
translations of this manual into another language,
under the above conditions for modified versions,
except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
@format
@dircategory Libraries:
@direntry
* LibGTop2: (libgtop2). Library to get system specific data
such as cpu and memory usage, active
processes
@end direntry
@end format
@end ifinfo
@titlepage
@title LibGTop Reference Manual
@subtitle Version @value{VERSION} - @value{UPDATED}
@author Martin Baulig
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified
versions of this manual under the conditions for
verbatim copying, provided also that the sections
entitled ``Copying'' and ``GNU General Public License''
are included exactly as in the original, and provided
that the entire resulting derived work is distributed
under the terms of a permission notice identical to this
one.
Permission is granted to copy and distribute
translations of this manual into another language,
under the above conditions for modified versions,
except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
@end titlepage
@contents
@include main.texi
@bye

68
doc/main.texi Normal file
View File

@@ -0,0 +1,68 @@
@node Top, About, (dir), (dir)
@menu
* About:: About LibGTop
* White Paper:: LibGTop White Paper
* Reference Manual:: LibGTop Reference Manual
--- The Detailed Node Listing ---
About LibGTop
* Availability:: Where to get LibGTop
* Supported Platforms:: Supported Platforms
* Mailing List:: Helping with LibGTop development
* Thanks:: People who contributed to LibGTop
LibGTop White Paper
* Introduction:: Introduction
* Overview:: Overview
Overview
* Interface Design:: Things that need to be considered
* Server Implementation:: The LibGTop "server"
LibGTop Reference Manual
* System Dependent:: System Dependent Functions.
* Common Functions:: Common Functions.
* Library Functions:: Library Functions.
System Dependent Functions
* glibtop_cpu:: CPU Usage.
* glibtop_mem:: Memory Usage.
* glibtop_swap:: Swap Usage.
* glibtop_uptime:: System Uptime.
* glibtop_loadavg:: Load Average.
* glibtop_proclist:: Process List.
* glibtop_proc_state:: Process State.
* glibtop_proc_uid:: Process UID and TTY Information.
* glibtop_proc_mem:: Process Memory Information.
* glibtop_proc_time:: Process Time Information.
* glibtop_proc_signal:: Process Signal Information.
* glibtop_proc_kernel:: Process Kernel Data Information.
* glibtop_proc_segment:: Process Segment Information.
* glibtop_proc_args:: Process Arguments.
* glibtop_proc_map:: Process Memory Maps.
* glibtop_netload:: Network Load.
* glibtop_ppp:: PPP Usage.
Common Functions
* glibtop_mountlist:: Mount List.
* glibtop_fsusage:: File System Usage.
Library Functions
* glibtop_init:: Server Initialization.
* glibtop_sysdeps:: Server Sysdeps.
* Library Parameters:: Library Parameters.
@end menu
@include about.texi
@include white-paper.texi
@include reference.texi

1848
doc/reference.texi Normal file

File diff suppressed because it is too large Load Diff

90
doc/white-paper.texi Normal file
View File

@@ -0,0 +1,90 @@
@node White Paper, Reference Manual, About, Top
@chapter LibGTop White Paper
@menu
* Introduction:: Introduction
* Overview:: Overview
@end menu
@node Introduction, Overview, White Paper, White Paper
@section Introduction
Many modern UNIX systems like Solaris, BSD or Digitial Unix only allow
priviledged processes to read information like CPU and Memory Usage or
information about running processes.
@itemize @bullet
@item
BSD, for instance, doesn't have any other way to get those data than reading
directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
be able to read this.
@item
Other systems, like Digital Unix, allow all users to get things like CPU and
Memory statistics, but only root may read information about any process other
than the current one (you may not even get information about your own processes
if you're not root).
@item
Linux has a very nice @file{/proc} filesystem, but reading and parsing
@file{/proc} is very slow and inefficient.
@item
Solaris is a bit better, but you still need to be in the @code{sys} group or
even root to get some data.
@end itemize
Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
often are setgid kmem or setuid root. Usually, they're also very specific to
the system they're written for and not easily portable to other systems without
a lot of work.
This, of cause, becomes a problem for graphical tools like @code{gtop} - making
a GTK+ program setgid or even setuid would be a security hole as big as you can
drive the entire X11 source code through. For the GNOME project, we also needed
some kind of library which provides all the required information in a portable
since there's more than just one single program that wants to use them - for
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
@code{netload} panel applets.
@node Overview, , Introduction, White Paper
@section Overview
This section should give you a short overview on how LibGTop was developed, which
things needed to be considered and how it works.
@menu
* Interface Design:: Things that need to be considered
* Server Implementation:: The LibGTop "server"
@end menu
@node Interface Design, Server Implementation, Overview, Overview
@subsection Interface Design
At the very beginning, it was necessary to collect all the data the library part
should provide and put them into some C structures. This was not that easiy as it
might sound since LibGTop should be portable to any modern UNIX system with a common
library part on all those systems, but the data that should be returned vary from
system to system. For instance some systems support shared memory, but some others
may not.
The header files where we define these C structures (which are system-independent) are
shared between client and server. This way we can call the system dependent code
directly where we do not need any special privileges to do so.
All of those structures contain a @code{flags} member which is interpreted as a bit
mask and tells the caller of the library functions which of the fields in the returned
structure are valid and which are not.
@node Server Implementation, , Interface Design, Overview
@subsection Server Implementation
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
dependent code which needs special privileges. It is only build if it's required
on the current system (for instance, the Linux kernel provides all the required
data via its @file{/proc} filesystem so we do not need the server at all) and it
only contains the @dfn{features} which need privileges.
Whenever we do not need any privileges to get all the data for some of the requested
structures (here called @dfn{features}) the library calls the sysdeps code directly
rather than using the server.

2
dtd/.cvsignore Normal file
View File

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

9
dtd/Makefile.am Normal file
View File

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

View File

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

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

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

View File

@@ -11,4 +11,15 @@ third_linux
third_static
second_static
second_linux
smp_static sysdeps_static netload_static procmap_static mountlist_static
smp sysdeps netload procmap mountlist
timings timings_static
pprint
pprint_static
procargs
procargs_static
df
df_static
netlist
netlist_static

View File

@@ -1,3 +1,135 @@
2004-11-15 Benoît Dejean <tazforever@dlfp.org>
* netload.c: (hwaddress_format_for_display), (main): Updated.
2004-11-13 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_fsusage), (pprint_get_mountlist),
(pprint_get_netload), (pprint_get_netlist), (main): Updated.
2004-09-25 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (main): Re-added pprint_get_msg_limits()
i2004-09-25 Benoît Dejean <tazforever@dlfp.org>
* df.c: (main):
* pprint.c: (main):
* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
2004-09-24 Benoît Dejean <tazforever@dlfp.org>
* .cvsignore:
* Makefile.am:
* ../configure.in
* df.c: (print_fsusage), (main): Added new example, just like 'df'.
2004-09-22 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_swap), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: (show_args), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
(pprint_get_uptime), (main): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* pprint.c: (pprint_get_mountlist): Updated.
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: (show_args), (main): Updated.
2004-09-20 Benoît Dejean <tazforever@dlfp.org>
* .cvsignore:
* Makefile.am:
* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
(pprint_get_msg_limits), (main): Added new example : pretty prints
the result of glibtop_*. Work in progress.
Now builds procargs.
* ../configure.in: Added to static list.
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
* procargs.c: Added glibtop_get_proc_argv demo.
2003-12-27 Ole Laursen <olau@hardworking.dk>
* mountlist.c: Updated to display block size too.
2004-03-04 Bastien Nocera <hadess@hadess.net>
* smp.c: use libgtop-i18n.h
2003-10-21 Bastien Nocera <hadess@hadess.net>
* Makefile.am:
* smp.c:
* sysdeps.c: (main): install only one library, libgtop-2.0
Fix build-time warnings due to the redefinition of guint64
Fix building smp.c and sysdeps.c
2003-10-20 Bastien Nocera <hadess@hadess.net>
* first.c:
* mountlist.c:
* netload.c:
* procmap.c:
* second.c:
* smp.c:
* sysdeps.c:
* third.c:
* timings.c: fixed compilation
2003-10-20 Bastien Nocera <hadess@hadess.net>
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
2001-01-14 Abel Cheung <maddog@linux.org.hk>
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
* Makefile.am, first.c, second.c, sysdeps.c: Make them at least
compile for now, by disabling chunks which should belong to
HEAD branch.
1999-05-28 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c, sysdeps.c: Use LibGTop version conditionals
so we can more easily merge the code into LIBGTOP_STABLE_1_0.
1999-05-07 Martin Baulig <martin@home-of-linux.org>
* timings.c (timersub): Renamed this to `libgtop_timersub' and define
it on all systems.
Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
* timings.c: Added timersub defenition, to make code compilable on
BSDI.
1999-03-24 Martin Baulig <martin@home-of-linux.org>
* timings.c: New example.
1999-03-17 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c: Fixed a bug that caused a core dump when
the sysdeps code does not return all data.
1998-11-22 Martin Baulig <baulig@taurus.uni-trier.de>
* netload.c: Call inet_ntoa () to get address and subnet
@@ -52,11 +184,11 @@
1998-06-12 Martin Baulig <martin@home-of-linux.org>
* test.scm: New file.
1998-06-07 Martin Baulig <martin@home-of-linux.org>
* Makefile.am (CFLAGS): Disable optimize.
* first.c (PROFILE_COUNT): Number of times each function
should be called. Defaults to 1; to profile the code, you
can increase this when compiling.

View File

@@ -6,92 +6,65 @@ INCLUDES = @INCLUDES@
DEFS = @DEFS@
# 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\
@static_targets@ @guile_examples@ @smp_examples@
noinst_PROGRAMS = first second pprint procargs df netlist \
mountlist procmap netload sysdeps timings \
@static_targets@ @smp_examples@
EXTRA_PROGRAMS = first_static second_static \
mountlist_static procmap_static \
third third_static smp smp_static \
netload_static sysdeps_static
netload_static sysdeps_static \
timings_static pprint_static procargs_static \
df_static netlist_static
first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@LIBSUPPORT@ @INTLLIBS@
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
first_static_SOURCES = $(first_SOURCES)
first_static_LDADD = $(first_LDADD)
first_static_LDFLAGS = -static
second_SOURCES = second.c
second_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@LIBSUPPORT@ @INTLLIBS@
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
second_static_SOURCES = $(second_SOURCES)
second_static_LDADD = $(second_LDADD)
second_static_LDFLAGS = -static
procmap_SOURCES = procmap.c
procmap_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@LIBSUPPORT@ @INTLLIBS@
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la
procmap_static_SOURCES = $(procmap_SOURCES)
procmap_static_LDADD = $(procmap_LDADD)
procmap_static_LDFLAGS = -static
netload_SOURCES = netload.c
netload_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@LIBSUPPORT@ @INTLLIBS@
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la
netload_static_SOURCES = $(netload_SOURCES)
netload_static_LDADD = $(netload_LDADD)
netload_static_LDFLAGS = -static
sysdeps_SOURCES = sysdeps.c
sysdeps_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@LIBSUPPORT@ @INTLLIBS@
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la
sysdeps_static_SOURCES = $(sysdeps_SOURCES)
sysdeps_static_LDADD = $(sysdeps_LDADD)
sysdeps_static_LDFLAGS = -static
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names.la
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names.la
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la
third_SOURCES = third.c
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile.la \
$(third_guile_names_LIBS) $(third_names_LIBS) \
$(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@GUILE_LIBS@ @LIBSUPPORT@ @INTLLIBS@
third_LDADD = $(third_names_LIBS) \
$(top_builddir)/lib/libgtop-2.0.la \
@INTLLIBS@
third_static_SOURCES = $(third_SOURCES)
third_static_LDADD = $(third_LDADD)
third_static_LDFLAGS = -static
mountlist_SOURCES = mountlist.c
mountlist_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@LIBSUPPORT@ @INTLLIBS@
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
mountlist_static_SOURCES= $(mountlist_SOURCES)
mountlist_static_LDADD = $(mountlist_LDADD)
@@ -99,12 +72,49 @@ mountlist_static_LDFLAGS= -static
smp_SOURCES = smp.c
smp_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@LIBSUPPORT@ @INTLLIBS@
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
smp_static_SOURCES = $(smp_SOURCES)
smp_static_LDADD = $(smp_LDADD)
smp_static_LDFLAGS = -static
timings_SOURCES = timings.c
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
timings_static_SOURCES = $(timings_SOURCES)
timings_static_LDADD = $(timings_LDADD)
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
netlist_SOURCES = netlist.c
netlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
netlist_static_SOURCES = $(netlist_SOURCES)
netlist_static_LDADD = $(netlist_LDADD)
netlist_static_LDFLAGS = -static

48
examples/df.c Normal file
View File

@@ -0,0 +1,48 @@
#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,11 +22,12 @@
*/
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h>
@@ -52,9 +53,9 @@ main (int argc, char *argv [])
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
@@ -134,7 +135,7 @@ main (int argc, char *argv [])
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_shm_limits (&data.shm_limits);
printf ("Shm Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.shm_limits.flags,
(unsigned long) data.shm_limits.shmmax,
@@ -158,7 +159,7 @@ main (int argc, char *argv [])
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_sem_limits (&data.sem_limits);
printf ("Sem Limits (0x%08lx): "
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) data.sem_limits.flags,
@@ -216,7 +217,7 @@ main (int argc, char *argv [])
(unsigned long) sysdeps.ppp);
printf ("\n");
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
@@ -232,7 +233,7 @@ main (int argc, char *argv [])
printf ("\n");
}
glibtop_free (ptr);
g_free (ptr);
pid = getpid ();
ppid = getppid ();
@@ -307,7 +308,7 @@ main (int argc, char *argv [])
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_signal (&data.proc_signal, pid);
printf ("Proc_Signal PID %5d (0x%08lx): "
"%lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_signal.flags,
@@ -320,7 +321,7 @@ main (int argc, char *argv [])
glibtop_get_proc_kernel (&data.proc_kernel, pid);
printf ("Proc_Kernel PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", (int) pid,
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -344,9 +345,9 @@ main (int argc, char *argv [])
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args);
args ? args : "");
glibtop_free (args);
g_free (args);
printf ("\n");
@@ -430,7 +431,7 @@ main (int argc, char *argv [])
glibtop_get_proc_kernel (&data.proc_kernel, ppid);
printf ("Proc_Kernel PPID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", (int) ppid,
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) ppid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -454,9 +455,9 @@ main (int argc, char *argv [])
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) ppid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args);
args ? args : "");
glibtop_free (args);
g_free (args);
printf ("\n");
@@ -541,7 +542,7 @@ main (int argc, char *argv [])
glibtop_get_proc_kernel (&data.proc_kernel, 1);
printf ("Proc_Kernel INIT %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", 1,
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", 1,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -565,9 +566,9 @@ main (int argc, char *argv [])
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", 1,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args);
args ? args : "");
glibtop_free (args);
g_free (args);
glibtop_close ();

View File

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

46
examples/netlist.c Normal file
View File

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

View File

@@ -22,11 +22,12 @@
*/
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h>
@@ -39,21 +40,41 @@
#define PROFILE_COUNT 1
#endif
static char* hwaddress_format_for_display(glibtop_netload *buf)
{
unsigned i;
GString *repr = g_string_new("");
char *str;
for(i = 0; i < sizeof buf->hwaddress; ++i)
g_string_append_printf(repr, "%02X:",
(unsigned) ((char*)buf->hwaddress)[i]);
repr->str [ repr->len - 1] = ' ';
str = g_string_free(repr, FALSE);
g_strstrip(str);
return str;
}
int
main (int argc, char *argv [])
{
glibtop_netload netload;
unsigned method, count, port, i;
unsigned method, count, port;
struct in_addr addr, subnet;
char *address_string, *subnet_string;
char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
char *hwaddress_string;
char buffer [BUFSIZ];
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
@@ -76,48 +97,62 @@ main (int argc, char *argv [])
if (argc != 2)
glibtop_error ("Usage: %s interface", argv [0]);
glibtop_get_netload (&netload, argv [1]);
addr.s_addr = netload.address;
subnet.s_addr = netload.subnet;
address_string = glibtop_strdup (inet_ntoa (addr));
subnet_string = glibtop_strdup (inet_ntoa (subnet));
address_string = g_strdup (inet_ntoa (addr));
subnet_string = g_strdup (inet_ntoa (subnet));
printf ("Network Load (0x%08lx):\n\n"
"\tInterface Flags:\t0x%08lx\n"
"\tAddress:\t\t0x%08lx - %s\n"
"\tSubnet:\t\t\t0x%08lx - %s\n\n"
"\tMTU:\t\t\t%ld\n"
"\tCollisions:\t\t%ld\n\n"
"\tPackets In:\t\t%ld\n"
"\tPackets Out:\t\t%ld\n"
"\tPackets Total:\t\t%ld\n\n"
"\tBytes In:\t\t%ld\n"
"\tBytes Out:\t\t%ld\n"
"\tBytes Total:\t\t%ld\n\n"
"\tErrors In:\t\t%ld\n"
"\tErrors Out:\t\t%ld\n"
"\tErrors Total:\t\t%ld\n\n",
(unsigned long) netload.flags,
(unsigned long) netload.if_flags,
(unsigned long) netload.address, address_string,
(unsigned long) netload.subnet, subnet_string,
(unsigned long) netload.mtu,
(unsigned long) netload.collisions,
(unsigned long) netload.packets_in,
(unsigned long) netload.packets_out,
(unsigned long) netload.packets_total,
(unsigned long) netload.bytes_in,
(unsigned long) netload.bytes_out,
(unsigned long) netload.bytes_total,
(unsigned long) netload.errors_in,
(unsigned long) netload.errors_out,
(unsigned long) netload.errors_total);
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
glibtop_free (address_string);
glibtop_free (subnet_string);
hwaddress_string = hwaddress_format_for_display(&netload);
printf ("Network Load (0x%016llx):\n\n"
"\tInterface Flags:\t0x%016llx\n"
"\tAddress:\t\t0x%08x - %s\n"
"\tSubnet:\t\t\t0x%08x - %s\n\n"
"\tMTU:\t\t\t%d\n"
"\tCollisions:\t\t%llu\n\n"
"\tPackets In:\t\t%llu\n"
"\tPackets Out:\t\t%llu\n"
"\tPackets Total:\t\t%llu\n\n"
"\tBytes In:\t\t%llu\n"
"\tBytes Out:\t\t%llu\n"
"\tBytes Total:\t\t%llu\n\n"
"\tErrors In:\t\t%llu\n"
"\tErrors Out:\t\t%llu\n"
"\tErrors Total:\t\t%llu\n\n"
"\tAddress6:\t\t%s\n"
"\tPrefix6:\t\t%s\n"
"\tScope6:\t\t\t%#03x\n\n"
"\tHarware Address:\t%s\n\n",
netload.flags,
netload.if_flags,
(guint32) netload.address, address_string,
(guint32) netload.subnet, subnet_string,
netload.mtu,
netload.collisions,
netload.packets_in,
netload.packets_out,
netload.packets_total,
netload.bytes_in,
netload.bytes_out,
netload.bytes_total,
netload.errors_in,
netload.errors_out,
netload.errors_total,
address6_string,
prefix6_string,
(int) netload.scope6,
hwaddress_string);
g_free (address_string);
g_free (subnet_string);
glibtop_close ();

275
examples/pprint.c Normal file
View File

@@ -0,0 +1,275 @@
#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 " ###\nsizeof *buf = %lu B\n", \
(unsigned long) sizeof buf)
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
size_t i; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
} while(0)
#define FOOTER_PPRINT() putchar('\n');
static void pprint_get_cpu()
{
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);
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
PPRINT(flags, "%#llx");
PPRINT(blocks, "%llu");
PPRINT(bfree, "%llu");
PPRINT(bavail, "%llu");
PPRINT(files, "%llu");
PPRINT(ffree, "%llu");
PPRINT(block_size, "%u");
PPRINT(read, "%llu");
PPRINT(write, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_loadavg()
{
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);
printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
PPRINT(flags, "%#llx");
PPRINT(number, "%llu");
PPRINT(total, "%llu");
PPRINT(size, "%llu");
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
for(i = 0; i < buf.number; ++i)
{
printf("\t\t .%lu = { .dev = %#llx,"
" .devname = \"%s\","
" .mountir = \"%s\","
" .type = \"%s\" }\n",
(unsigned long) i, entries[i].dev,
entries[i].devname,
entries[i].mountdir,
entries[i].type);
}
printf("\t\t}\n");
FOOTER_PPRINT();
g_free(entries);
}
static void pprint_get_msg_limits()
{
glibtop_msg_limits buf;
glibtop_get_msg_limits(&buf);
HEADER_PPRINT(glibtop_get_msg_limits);
PPRINT(flags, "%#llx");
PPRINT(msgpool, "%llu");
PPRINT(msgmap, "%llu");
PPRINT(msgmax, "%llu");
PPRINT(msgmnb, "%llu");
PPRINT(msgmni, "%llu");
PPRINT(msgssz, "%llu");
PPRINT(msgtql, "%llu");
FOOTER_PPRINT();
}
static void pprint_get_netload(const char *iface)
{
glibtop_netload buf;
glibtop_get_netload(&buf, iface);
HEADER_PPRINT(glibtop_get_netload);
printf("glibtop_get_netload (iface = \"%s\")\n", iface);
PPRINT(flags, "%#llx");
FOOTER_PPRINT();
}
static void pprint_get_netlist()
{
glibtop_netlist buf;
char **devices;
guint32 i;
devices = glibtop_get_netlist(&buf);
HEADER_PPRINT(glibtop_get_netlist);
for(i = 0; i < buf.number; ++i)
{
printf("\t%s\n", devices[i]);
}
FOOTER_PPRINT();
g_strfreev(devices);
}
static void pprint_get_swap()
{
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_swap();
pprint_get_netlist();
pprint_get_netload("eth0");
pprint_get_netload("ppp0");
pprint_get_netload("<unknown>");
/* pprint_get_sysinfo(); */
pprint_get_uptime();
glibtop_close();
return 0;
}

47
examples/procargs.c Normal file
View File

@@ -0,0 +1,47 @@
#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,11 +22,12 @@
*/
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h>
@@ -58,9 +59,9 @@ main (int argc, char *argv [])
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
@@ -96,8 +97,8 @@ main (int argc, char *argv [])
const char *filename = NULL;
unsigned device, device_major, device_minor;
char perm [5];
if (maps [i].flags & (1 << GLIBTOP_MAP_ENTRY_FILENAME))
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
filename = maps [i].filename;
#ifdef GLIBTOP_INODEDB
@@ -116,30 +117,47 @@ main (int argc, char *argv [])
device_minor = (device & 255);
device_major = ((device >> 8) & 255);
if (filename)
fprintf (stderr, "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s - %s\n",
if (filename) {
char *format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s - %s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s - %s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm, filename);
else
fprintf (stderr, "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s\n",
} else {
char * format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm);
}
if (filename && (filename != maps [i].filename))
glibtop_free (filename);
g_free ((void*)filename);
}
glibtop_free (maps);
g_free (maps);
glibtop_close ();

View File

@@ -22,17 +22,17 @@
*/
#include <locale.h>
#include <math.h>
#include <stdio.h>
#include <libintl.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
#include <math.h>
static void
output (pid_t pid)
{
@@ -46,22 +46,22 @@ output (pid_t pid)
double b_total, b_utime, b_stime;
double s_total, s_utime, s_stime;
double my_utime, my_stime;
int ncpu;
unsigned int ncpu;
#endif
printf ("\n");
glibtop_get_proc_state (&data.proc_state, pid);
printf ("Proc_State PID %5d (0x%08lx): "
"'%s', %c, %lu, %lu\n", (int) pid,
(unsigned long) data.proc_state.flags,
data.proc_state.cmd, data.proc_state.state,
(unsigned long) data.proc_state.uid,
(unsigned long) data.proc_state.gid);
glibtop_get_proc_uid (&data.proc_uid, pid);
printf ("Proc_Uid PID %5d (0x%08lx): "
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
(unsigned long) data.proc_uid.flags,
@@ -71,9 +71,9 @@ output (pid_t pid)
data.proc_uid.pgrp, data.proc_uid.session,
data.proc_uid.tty, data.proc_uid.tpgid,
data.proc_uid.priority, data.proc_uid.nice);
glibtop_get_proc_mem (&data.proc_mem, pid);
printf ("Proc_Mem PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_mem.flags,
@@ -83,7 +83,7 @@ output (pid_t pid)
(unsigned long) data.proc_mem.share,
(unsigned long) data.proc_mem.rss,
(unsigned long) data.proc_mem.rss_rlim);
glibtop_get_proc_segment (&data.proc_segment, pid);
printf ("Proc_Segment PID %5d (0x%08lx): "
@@ -99,7 +99,7 @@ output (pid_t pid)
(unsigned long) data.proc_segment.start_stack);
glibtop_get_proc_time (&data.proc_time, pid);
printf ("Proc_Time PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_time.flags,
@@ -114,7 +114,7 @@ output (pid_t pid)
(unsigned long) data.proc_time.frequency);
glibtop_get_proc_signal (&data.proc_signal, pid);
printf ("Proc_Signal PID %5d (0x%08lx): "
"%lu %lu %lu %lu\n", (int) pid,
(unsigned long) data.proc_signal.flags,
@@ -126,7 +126,7 @@ output (pid_t pid)
glibtop_get_proc_kernel (&data.proc_kernel, pid);
printf ("Proc_Kernel PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", (int) pid,
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -150,9 +150,9 @@ output (pid_t pid)
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args);
args ? args : "");
glibtop_free (args);
g_free (args);
printf ("\n");
@@ -160,7 +160,7 @@ output (pid_t pid)
ncpu = glibtop_global_server->ncpu;
glibtop_get_proc_time (&data.proc_time, pid);
total = (unsigned long) data.proc_time.utime +
(unsigned long) data.proc_time.stime;
@@ -240,9 +240,9 @@ main (int argc, char *argv [])
unsigned *ptr, pid, i;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init ();
glibtop_get_sysdeps (&sysdeps);
@@ -288,11 +288,11 @@ main (int argc, char *argv [])
for (i = 0; i < proclist.number; i++) {
pid = ptr [i];
output (pid);
}
glibtop_free (ptr);
g_free (ptr);
exit (0);
}

View File

@@ -21,13 +21,17 @@
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <locale.h>
#include <libintl.h>
#include <math.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/cpu.h>
#include <glibtop/xmalloc.h>
#include <math.h>
#include "libgtop-i18n.h"
int
main (int argc, char *argv [])
@@ -41,9 +45,11 @@ main (int argc, char *argv [])
int ncpu, i;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init();
glibtop_get_cpu (&cpu);
ncpu = glibtop_global_server->ncpu ? glibtop_global_server->ncpu : 1;
@@ -67,7 +73,7 @@ main (int argc, char *argv [])
memset (separator, '-', 91);
separator [92] = '\0';
sprintf (buffer, _("Ticks (%d per second):"), frequency);
sprintf (buffer, _("Ticks (%ld per second):"), frequency);
printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
_("Total"), _("User"), _("Nice"), _("Sys"), _("Idle"), separator);
@@ -96,7 +102,7 @@ main (int argc, char *argv [])
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", _("Percent:"),
_("Total (%)"), _("User (%)"), _("Nice (%)"), _("Sys (%)"),
_("Idle (%)"), separator);
printf (_("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n"),
(unsigned long) cpu.flags, (double) total * 100.0 / total,
(double) user * 100.0 / total,

View File

@@ -22,11 +22,13 @@
*/
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/sysdeps.h>
#include <glibtop/parameter.h>
@@ -38,15 +40,15 @@ int
main (int argc, char *argv [])
{
glibtop_sysdeps sysdeps;
unsigned method, count, port, i;
unsigned method, count, port;
char buffer [BUFSIZ];
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
@@ -69,7 +71,7 @@ main (int argc, char *argv [])
glibtop_get_sysdeps (&sysdeps);
#define FEATURE_CHECK(f) ((sysdeps.features & (1 << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0)
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
printf ("Sysdeps (0x%08lx):\n\n"
"\tfeatures:\t\t0x%08lx\n\n"

View File

@@ -22,24 +22,25 @@
*/
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
void main_prog(int argc, char *argv[]);
int
int
main (int argc, char *argv[])
{
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
gh_enter (argc, argv, main_prog);
exit (0);

358
examples/timings.c Normal file
View File

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

View File

@@ -20,3 +20,5 @@ glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
char **|netlist|unsigned(number)

View File

@@ -24,6 +24,30 @@
#ifndef __GLIBTOP_H__
#define __GLIBTOP_H__
typedef struct _glibtop glibtop;
/**
* LIBGTOP_CHECK_VERSION
* @major: Major version number
* @minor: Minor version number
* @micro: Micro version number
*
* Checks if the version given is compatable with this version of the
* library. For example, LIBGTOP_CHECK_VERSION(1.2.3) would return TRUE
* if the version is 1.2.5, and FALSE if 1.1.0. This can be used in
* build tests.
*
**/
#include <libgtopconfig.h>
#define LIBGTOP_CHECK_VERSION(major, minor, micro) \
(LIBGTOP_MAJOR_VERSION > (major) || \
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION > (minor)) || \
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION == (minor) && \
LIBGTOP_MICRO_VERSION >= (micro)))
#include <glibtop/global.h>
#include <glibtop_server.h>
@@ -37,10 +61,11 @@
#define GLIBTOP_MOUNTENTRY_LEN 79
#endif
typedef struct _glibtop glibtop;
#include <glibtop/sysdeps.h>
#include <glibtop/close.h>
struct _glibtop
{
unsigned flags;
@@ -84,24 +109,4 @@ glibtop_init_s (glibtop **server_ptr,
unsigned long features,
unsigned flags);
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
void glibtop_boot_guile (void);
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
void glibtop_boot_guile_names (void);
#ifndef GLIBTOP_NAMES
#define GLIBTOP_NAMES
#endif
#endif
#endif

View File

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

View File

@@ -1,10 +1,10 @@
glibtopdir = $(includedir)/glibtop
glibtopdir = $(includedir)/libgtop-2.0/glibtop
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
sem_limits.h uptime.h command.h mem.h proclist.h \
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
procmem.h procuid.h swap.h write.h error.h open.h \
procsegment.h read.h sysdeps.h xmalloc.h global.h \
procsegment.h read.h sysdeps.h global.h \
procsignal.h read_data.h union.h types.h gnuserv.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \
inodedb.h sysinfo.h ppp.h procargs.h netload.h
inodedb.h sysinfo.h ppp.h procargs.h netload.h netlist.h

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