Commit Graph

41 Commits

Author SHA1 Message Date
Benoît Dejean
871f300a2c Added a bufsiz argument to file_to_buffer().
Increased read buffer size in get_sysinfo().

svn path=/trunk/; revision=2637
2007-08-26 16:05:36 +00:00
Benoît Dejean
aa9fafe5c3 Renamed all glibtop_init_xxx functions to _glibtop_init_xxx so they get
2007-04-11  Benoît Dejean  <benoit@placenet.org>

	* *:
	
	Renamed all glibtop_init_xxx functions
	to _glibtop_init_xxx so they get internal visibility.

	* configure.in:
	
	Bumped version number.

svn path=/trunk/; revision=2569
2007-04-11 17:52:14 +00:00
Benoît Dejean
04a5531a46 Removed noisy $Id$.
2007-02-20  Benoît Dejean  <benoit@placenet.org>

	* *:
	
	Removed noisy $Id$.

svn path=/trunk/; revision=2558
2007-02-19 23:10:10 +00:00
Benoît Dejean
a7a9e7e9f8 Updated implementation.
2006-07-27  Benoît Dejean  <benoit@placenet.org>

	* netload.c: (glibtop_get_netload_s):

	Updated implementation.
2006-07-27 18:26:38 +00:00
Benoît Dejean
d497c25081 New has_sysfs function to avoid stating over and over '/sys' on each
2006-07-27  Benoît Dejean  <benoit@placenet.org>

        * glibtop_private.c: (has_sysfs):
        * glibtop_private.h:
        * netload.c: (glibtop_get_netload_s):
        * open.c: (set_linux_version):

        New has_sysfs function to avoid stating
        over and over '/sys' on each netload call.
2006-07-27 09:23:32 +00:00
Benoît Dejean
a0493a0ff1 Fixed for people running 2.6 without /sys.
* netload.c: (glibtop_get_netload_s):

	Fixed for people running 2.6 without /sys.
2005-08-03 13:26:06 +00:00
Benoît Dejean
96fe554afd Split implementations. New (simpler) implementation for 2.6 (/sys is so
* netload.c: (read_value), (linux_2_6_stats), (linux_2_0_stats),
	(linux_2_4_stats), (glibtop_get_netload_s): Split implementations.
	New (simpler) implementation for 2.6 (/sys is so nice ;)
2005-07-09 21:09:15 +00:00
Benoît Dejean
83a9bef192 s/strerror/g_strerror/.
* netload.c: (get_ipv6): s/strerror/g_strerror/.
2005-03-25 13:23:24 +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
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
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
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
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
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
70b0925a82 whitespace clean up.
* *.{c,h} : whitespace clean up.
2004-06-09 18:52:22 +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
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
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
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
00a32c887c Make sure we close all open files. 2000-02-14 14:25:34 +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
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
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
9152479981 Fixed all warnings. 1999-07-30 21:03:22 +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
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
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
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
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
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