Commit Graph

88 Commits

Author SHA1 Message Date
Martin Baulig
d48d48cafb Reflect latest interface changes. 1999-12-05 13:54:58 +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
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
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
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
81176f8181 Reflect latest interface changes; return 0 on success and -1 on error. 1999-11-21 16:54:36 +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
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
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
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
Martin Baulig
9152479981 Fixed all warnings. 1999-07-30 21:03:22 +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
331e128116 Applied patch from Damon Chaplin to avoid a compiler problem. 1999-07-11 18:28:18 +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
Martin Baulig
fec8f23ad4 Merge alpha fix from the stable branch. 1999-05-06 13:22:34 +00:00
Martin Baulig
01d728ac6b Reflect latest `proc_state.state' changes. 1999-04-01 10:33:13 +00:00
Martin Baulig
fe98fde338 Avoid isspace('\0'). 1999-03-18 09:25:58 +00:00
Martin Baulig
cf611f9157 Set the copyright of LibGTop to the GNU General Public License.
1999-02-22  Martin Baulig  <martin@home-of-linux.org>

	Set the copyright of LibGTop to the GNU General Public License.

	* copyright.txt: Set the year to 1998-99 and pretty-format it a
	little bit. Same in all C source and header files.
1999-02-23 11:47:35 +00:00
Martin Baulig
ce4f660965 Include a copy of the GNU Library General Public License here.
1999-02-22  Martin Baulig  <martin@home-of-linux.org>

	* COPYING.LIB: Include a copy of the GNU Library General
	Public License here.

	* copyright.txt: Set the year to 1998-99 and pretty-format it a
	little bit. Same in all C source and header files.
1999-02-22 16:19:36 +00:00
Martin Baulig
9142e721bb Don't include <linux/ip_fw.h> for libc5 systems since it is no longer
1999-02-20  Martin Baulig  <martin@home-of-linux.org>

	* netload.c: Don't include <linux/ip_fw.h> for libc5 systems
	since it is no longer required and makes trouble on Slakware.
1999-02-20 16:20:30 +00:00
Martin Baulig
1272d38f72 Replace all __BEGIN_DELCS with LIBGTOP_BEGIN_DECLS and all __END_DECLS
1999-02-19  Martin Baulig  <martin@home-of-linux.org>

	* Replace all __BEGIN_DELCS with LIBGTOP_BEGIN_DECLS and all
	__END_DECLS with LIBGTOP_END_DECLS; remove all __P macros and
	use real function prototypes.
1999-02-19 09:54:18 +00:00
Martin Baulig
1ea58b48ff Initialize INCLUDES to `@INCLUDES@' to make it clear that it is set in
1999-02-16  Martin Baulig  <martin@home-of-linux.org>

	* examples/Makefile.am, lib/Makefile.am, src/daemon/Makefile.am,
	  sysdeps/common/Makefile.am, sysdeps/guile/Makefile.am,
	  sysdeps/guile/names/Makefile.am, sysdeps/kernel/Makefile.am,
	  sysdeps/linux/Makefile.am, sysdeps/names/Makefile.am,
	  sysdeps/osf1/Makefile.am, sysdeps/stub/Makefile.am,
	  sysdeps/stub_suid/Makefile.am, sysdeps/sun4/Makefile.am:
	Initialize INCLUDES to `@INCLUDES@' to make it clear that it is
	set in configure.in. It is ok to add things there, but you must
	not remove the `@INCLUDES@'.
1999-02-16 15:13:26 +00:00
Jeff Garzik
cd7cd23403 Removed hardcoded gcc arguments. Converted remaining CFLAGS settings to
1999-02-15  Jeff Garzik  <jgarzik@pobox.com>

        * examples/Makefile.am, lib/Makefile.am, src/daemon/Makefile.am,
          sysdeps/common/Makefile.am, sysdeps/guile/Makefile.am,
          sysdeps/guile/names/Makefile.am, sysdeps/kernel/Makefile.am,
          sysdeps/linux/Makefile.am, sysdeps/names/Makefile.am,
          sysdeps/osf1/Makefile.am, sysdeps/stub/Makefile.am,
          sysdeps/stub_suid/Makefile.am, sysdeps/sun4/Makefile.am:
        Removed hardcoded gcc arguments.
        Converted remaining CFLAGS settings to use correct INCLUDES.

        * include/glibtop/error.h:
        Added FIXME comment about varargs macros breaking Sun cc
        compilation.
1999-02-15 21:23:07 +00:00
Martin Baulig
8ba42b25e0 Use `server->os_version_code' instead of GLIBTOP_LINUX_VERSION_CODE.
1999-01-06  Martin Baulig  <martin@home-of-linux.org>

	* netload.c (glibtop_get_netload_s): Use `server->os_version_code'
	instead of GLIBTOP_LINUX_VERSION_CODE.
1999-01-06 19:59:04 +00:00
Martin Baulig
a66b6cc86d Set indent level to 4. 1999-01-06 19:30:55 +00:00
Martin Baulig
e491343151 Unconditionally enable SMP support for linux.
1999-01-06  Martin Baulig  <martin@home-of-linux.org>

	Unconditionally enable SMP support for linux.

	* open.c (_glibtop_open_s): Always determine the number of CPUs
	we have here, not only when SMP support was enabled.

	* cpu.c, proctime.c: Use `server->ncpu' to determine whether to
 	enable SMP support.
1999-01-06 19:26:45 +00:00
Martin Baulig
2f12b5aec2 Seems I forgot to check this in some time ago ... 1999-01-02 21:44:18 +00:00
Martin Baulig
be97f1b90a When using glibc, don't include <netinet/ip_fw.h> any longer but all
1998-12-28  Martin Baulig  <martin@home-of-linux.org>

	* netload.c: When using glibc, don't include <netinet/ip_fw.h>
 	any longer but all headers that were included there; we only
 	needed this file to get those headers.
1998-12-28 22:37:37 +00:00
Martin Baulig
48191c7111 Small fix; look for the colon separating key and value. 1998-12-24 21:54:26 +00:00
Martin Baulig
1520ee7083 Make the return value a char *' instead of a const char *'.
1998-12-09  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/procargs.h (glibtop_get_proc_args): Make the
	return value a `char *' instead of a `const char *'.
1998-12-09 11:38:49 +00:00
Jeff Garzik
4ca23b4e06 GNOME-standard autogen.sh scripts automatically run 'automake -a'. -a
installs any necessary files that are required in a GNU-standard
install, such as COPYING, INSTALL, mkinstalldirs, etc.

So begone, automake-installed files.
1998-12-07 06:05:09 +00:00
Martin Baulig
c90462bc26 No longer include <linux/version.h>, but use GLIBTOP_LINUX_VERSION_CODE
1998-12-03  Martin Baulig  <martin@home-of-linux.org>

	* netload.c: No longer include <linux/version.h>, but use
	GLIBTOP_LINUX_VERSION_CODE which is set by configure instead.
	Define _GLIBTOP_IP_FW_ACCTIN and _GLIBTOP_IP_FW_ACCTOUT here
	and use them instead of IP_FW_F_ACCTIN and IP_FW_F_ACCTOUT.
1998-12-03 16:12:43 +00:00
Martin Baulig
6b736f1f87 I really should include <linux/version.h> here ... 1998-11-30 20:52:54 +00:00
Martin Baulig
5fed8969c6 Use correct header files both for libc5 and glibc. With Linux >= 2.1.114
1998-11-30  Martin Baulig  <martin@home-of-linux.org>

	* netload.c: Use correct header files both for libc5 and glibc.
	With Linux >= 2.1.114 we no longer use IP accounting since it
	already has byte counts in /proc/net/dev.
1998-11-30 20:30:32 +00:00
Martin Baulig
a701fc7aa6 Minor /proc/net/dev parsing updates; has nothing to do with latest
compilation problems.
1998-11-27 10:34:01 +00:00
Martin Baulig
cd7976f3cd #include <net/if.h> #include <netinet/ip_fw.h>
#include <net/if.h>
#include <netinet/ip_fw.h>
1998-11-26 22:37:04 +00:00
Martin Baulig
9c0ec8c69f Added implementation for this function.
1998-11-22  Martin Baulig  <baulig@merkur.uni-trier.de>

	* netload.c (glibtop_get_netload_s): Added implementation
	for this function.

	The code here is smart enough to use /proc/net/ip_acct if
 	IP accounting is enabled in the kernel and activated on the
 	requested device and /proc/net/dev if not.

	To get separate statistics for received and transmitted
	packets you need to use two accounting rules:

	ipfwadm -A in -a -P all -W eth0
	ipfwadm -A out -a -P all -W eth0

	But before you activate IP accounting, please have a look
	at /proc/net/dev - if if already contains byte counters,
	then don't use IP accounting.
1998-11-22 19:24:14 +00:00
Martin Baulig
0fec2b7fb0 Added code for ISDN here.
1998-10-28  Martin Baulig  <martin@home-of-linux.org>

	* ppp.c: Added code for ISDN here.
1998-10-28 21:08:41 +00:00
Martin Baulig
1289b92d06 Added new features to get network load:
typedef struct _glibtop_netload	glibtop_netload;

struct _glibtop_netload
{
	u_int64_t	flags,
		mtu,			/* GLIBTOP_NETLOAD_MTU		*/
		address,		/* GLIBTOP_NETLOAD_ADDRESS	*/
		packets_in,		/* GLIBTOP_NETLOAD_PACKETS_IN	*/
		packets_out,		/* GLIBTOP_NETLOAD_PACKETS_OUT	*/
		bytes_in,		/* GLIBTOP_NETLOAD_BYTES_IN	*/
		bytes_out,		/* GLIBTOP_NETLOAD_BYTES_OUT	*/
		errors_in,		/* GLIBTOP_NETLOAD_ERRORS_IN	*/
		errors_out,		/* GLIBTOP_NETLOAD_ERRORS_OUT	*/
		collisions;		/* GLIBTOP_NETLOAD_COLLISIONS	*/
};

Returns network load of the given interface, it is specified as string
like `isppp' or `ippp0':

extern void glibtop_get_netload_l __P((glibtop *, glibtop_netload *, const char *));
1998-10-26 10:39:14 +00:00
Martin Baulig
bdc4e08454 Added new feature (proc_args) to get command line arguments:
typedef struct _glibtop_proc_args	glibtop_proc_args;

struct _glibtop_proc_args
{
	u_int64_t	flags,
		size;			/* GLIBTOP_PROC_ARGS_SIZE	*/
};

Returns a string containing all command line arguments of the process,
the `unsigned' parameter is the maximum length of this string; if it
is zero then no limit will be set.

extern const char  *glibtop_get_proc_args_l __P((glibtop *, glibtop_proc_args *, pid_t, unsigned));
1998-10-26 09:53:08 +00:00
Martin Baulig
9114af9fdf Added new feature to get PPP/ISDN support:
enum {
	GLIBTOP_PPP_STATE_UNKNOWN = 0,
	GLIBTOP_PPP_STATE_HANGUP,
	GLIBTOP_PPP_STATE_ONLINE
};

struct _glibtop_ppp
{
	u_int64_t	flags,
		state,			/* GLIBTOP_PPP_STATE		*/
		bytes_in,		/* GLIBTOP_PPP_BYTES_IN		*/
		bytes_out;		/* GLIBTOP_PPP_BYTES_OUT	*/
};

Currently only implemented in the FreeBSD port with ISDN via I4B. - Martin
1998-10-25 17:07:16 +00:00
Martin Baulig
afe57f9ee9 Use a 2-element-array of type `u_int64_t' for all signal masks instead of
1998-10-20  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/proc_signal.h: Use a 2-element-array of
	type `u_int64_t' for all signal masks instead of just
	scalar numbers. This avoids problems on systems with more
	than 64 signals.

	If there is any operating system out there with even more than
	128 signals, we can simply increase the number of array elements
	here.

	[NOTE for people porting libgtop:

 	 Please use all 64 bits of the `u_int64_t' and not just 32 - the
	 signal number (as it is used in calls to kill () ...) should be
	 a bit-index into this field; if a process ignores for instance
	 signal 64, it has the 0-bit of sigcatch[1] set, if it ignores 63,
	 this is the 63-bit of sigcatch[0] and so on ...

	 The mapping between signal numbers and their names is done via the
	 glibtop_sys_siglist [] field which should be declared in
	 sysdeps/@sysdeps_dir@/siglist.c - see linux for an example.
	]

	* features.def: It's now safe to put things like `loadavg[3]'
	here - the awk skripts should correctly threat this as an array.
1998-10-20 20:08:49 +00:00
Martin Baulig
d74b27fcb9 Removed this obsolete file.
1998-10-11  Martin Baulig  <martin@home-of-linux.org>

	* procdata.c: Removed this obsolete file.
1998-10-11 20:35:21 +00:00
Martin Baulig
cf0e724f7d Removed G_GNUC_UNUSED. 1998-10-06 09:04:27 +00:00
Martin Baulig
afb07a1f8b More G_GNUC_UNUSED fun. 1998-10-04 13:27:51 +00:00
Martin Baulig
210fc000cd You can now also use the GLIBTOP_EXCLUDE_*' flags for the which'
1998-10-02  Martin Baulig  <martin@home-of-linux.org>

	* proclist.c (glibtop_init_proclist_s): You can now also use the
	`GLIBTOP_EXCLUDE_*' flags for the `which' parameter.
1998-10-02 20:27:22 +00:00
Martin Baulig
93568304b0 Honor the `which' parameter to select which processes to fetch.
1998-10-01  Martin Baulig  <baulig@Stud.Informatik.uni-trier.de>

	* proclist.c (glibtop_init_proclist_s): Honor the `which' parameter
	to select which processes to fetch.
1998-10-01 17:04:48 +00:00