Commit Graph

185 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
ae6f746cf2 Small fix to print correct warnings/errors. 1999-05-26 15:30:36 +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
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
2f6457b3f7 Make the _glibtop_missing_feature () code actually working. 1999-03-18 13:15:13 +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
3c9b2e3d9f Reverted my last brain-dead commit.
Logical error:

we need to check whether the server runs on the system it was
compiled on and not whether the client uses a server that was
compiled on the clients system.
1999-02-19 22:34:52 +00:00
Martin Baulig
35995577ca For suid/sgid servers the operating system version must match the one the
1999-02-19  Martin Baulig  <martin@home-of-linux.org>

	* lib/open.c, src/daemon/version.c: For suid/sgid servers the
	operating system version must match the one the server was
	compiled on.
1999-02-19 22:30:34 +00:00
Martin Baulig
9146d53ecc Small fix for 64bit systems. 1999-02-19 21:33:37 +00:00
Martin Baulig
2deb3c30c4 Replaced all awk scripts with perl scripts since it is more likely that
1999-02-18  Martin Baulig  <martin@home-of-linux.org>

	* */*.awk: Replaced all awk scripts with perl scripts since it is
	more likely that people have a working perl interpreter than GNU
	awk on their system.
1999-02-18 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
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
92f1bf261c We need to set argv[0] in call to execl () to avoid a core dump in _init
1998-11-18  Martin Baulig  <martin@home-of-linux.org>

	* lib/open.c (glibtop_open_l): We need to set argv[0] in call
	to execl () to avoid a core dump in _init () on FreeBSD 3.0.
1998-11-17 23:12:35 +00:00
Martin Baulig
b3262820c5 Added `GLIBTOP_PARAM_REQUIRED'.
1998-11-02  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/parameter.h: Added `GLIBTOP_PARAM_REQUIRED'.

	* lib/parameter.c (glibtop_set_parameter_l): It's no longer
	allowed to set GLIBTOP_PARAM_FEATURES.
	(glibtop_get_parameter_l): You can use `GLIBTOP_PARAM_REQUIRED'
	to read server->required and ...
	(glibtop_set_parameter_l): ... set it here.
1998-11-02 21:19:56 +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
30bd1f269c Small fixes. 1998-10-25 17:54:18 +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
cf0e724f7d Removed G_GNUC_UNUSED. 1998-10-06 09:04:27 +00:00
Martin Baulig
dfda639756 G_GNUC_UNUSED fun and other compiler warnings ... 1998-10-03 03:19:09 +00:00
Martin Baulig
be63bf2d42 Enclosed some debugging statements in `#ifdef DEBUG'. 1998-10-03 03:01:22 +00:00
Martin Baulig
2f140e2168 Bug fix. Some awk interpreters seem to have problems with `\w+'. 1998-09-08 21:06:43 +00:00
Martin Baulig
af50e25023 Added. AC_SUBST. (LT_RELEASE, LT_CURRENT, LT_REVISION, LT_AGE): AC_SUBST.
1998-08-29  Martin Baulig  <martin@home-of-linux.org>

	* LIBGTOP-VERSION (LIBGTOP_INTERFACE_AGE, LIBGTOP_BINARY_AGE): Added.
	* configure.in (LIBGTOP_INTERFACE_AGE, LIBGTOP_BINARY_AGE): AC_SUBST.
	(LT_RELEASE, LT_CURRENT, LT_REVISION, LT_AGE): AC_SUBST.
	(LT_VERSION_INFO): Sets `-version-info' for libtool.

	* */Makefile.am: We now use the correct `-version-info' parameter
	for libtool.
1998-08-29 21:08:52 +00:00
Martin Baulig
0ea8e591f4 Third argument is now `const void *'.
1998-08-25  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/command.h (glibtop_call): Third argument is
	now `const void *'.

	* include/glibtop/xmalloc.h (glibtop_free): Now taking a
	`const void *'.
1998-08-25 08:41:02 +00:00
Martin Baulig
db3d7adbaa New file.
1998-08-25  Martin Baulig  <martin@home-of-linux.org>

	* src/daemon/ChangeLog: New file.

	* sysdeps/sun4/ChangeLog: New file.

	* sysdeps/stub/ChangeLog: New file.

	* configure.in: Added check for `-lsocket'.
	(LIBGTOP_INCS): Added $(SUPPORTINCS).
	(INCLUDES): Added $(SUPPORTINCS).
	(LIBGTOP_EXTRA_LIBS): Added $(LIBSUPPORT).

	* acconfig.h: Added `NEED_DECLARATION_GETHOSTNAME',
	`NEED_DECLARATION_SETREUID', `NEED_DECLARATION_SETREGID'
	and `NEED_DECLARATION_GETPAGESIZE'.

	* includue/glibtop/global.h (<gnomesupport.h>): Include this.

	* lib/init.c (_init_server): Declared `static'.

	* lib/read_data.c: Added cast to `const void *' in calls to
	`recv' and `read' to avoid compiler warnings.
1998-08-25 08:39:14 +00:00
Martin Baulig
841cb61ad1 Fixed typo. 1998-08-18 16:32:02 +00:00
Martin Baulig
7ad67781ef Added offset' and perm' fields.
1998-08-17  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/procmap (glibtop_map_entry): Added `offset' and
	`perm' fields.

	* src/inodedb: New directory.
	* src/inodedb/README: New file - read it to know what this is about.

	* configure.in (--with-libgtop-inodedb): New `configure' parameter.
	* include/glibtop/inodedb.h: New file.
	* sysdeps/common/inodedb.c: New file.
1998-08-17 21:11:46 +00:00
Martin Baulig
561becc92e `make distcheck' cleanups - Hey, it really works, guys ! 1998-08-16 20:14:27 +00:00
Martin Baulig
d9361d388c New file. Added definition of `proc_map'.
1998-08-10  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/procmap.h (glibtop_proc_map): New file.
	* features.def: Added definition of `proc_map'.
1998-08-10 16:57:44 +00:00
Martin Baulig
fd95ab60a4 Changed format of this file to support multiple arguments to be passed to
1998-08-09  Martin Baulig  <martin@home-of-linux.org>

	* features.def: Changed format of this file to support multiple
	arguments to be passed to a function.

	* include/glibtop/proclist.h: `glibtop_get_proclist' now takes two
	more arguments `method' and `param'.
1998-08-09 17:08:59 +00:00
Martin Baulig
4e25a1dbd5 Now using correct default server. 1998-08-09 17:04:46 +00:00
Martin Baulig
c0641998cf Minor server/daemon cleanups; reading sysdeps from server now working. 1998-08-08 20:04:43 +00:00
Martin Baulig
9c97f59c15 Using GLIBTOP_INIT_STATE_SYSDEPS' instead of GLIBTOP_INIT_STATE_INIT'.
* glibtop_init_s (): Using `GLIBTOP_INIT_STATE_SYSDEPS' instead of
  `GLIBTOP_INIT_STATE_INIT'.
1998-08-08 16:34:00 +00:00
Martin Baulig
82daee6f29 Call glibtop_init_s' instead of glibtop_open_s'. 1998-08-08 16:33:17 +00:00
Martin Baulig
a510ed1271 Removed. New files. Added `libgtop_server'; this has been moved here from
1998-08-07  Martin Baulig  <martin@home-of-linux.org>

	* src/server: Removed.
	* src/daemon/{server, version}.c: New files.
	* src/daemon/Makefile.am: Added `libgtop_server'; this has been
	moved here from `src/server' since it shares some source code files
	with the `libgtop_daemon'.

	* LIBGTOP-VERSION: Added `LIBGTOP_SERVER_VERSION'.
	* src/daemon/gnuserv.c, lib/open.c: Improved version check between
	client and server.

	* include/glibtop/output.h: Removed.

	* sysdeps/stub_suid: New directory. This is mainly used as example
	for people porting libgtop to other systems.

	* sysdeps/common/sysdeps_suid.c: New file.
	Defines `glibtop_init_hook_p'.

	* sysdeps/osf1/*.c (glibtop_init_<no-suid-feature>_s): New functions.
	(glibtop_init_<suid-feature>_p): New functions.
1998-08-07 12:59:00 +00:00
Martin Baulig
4b3fcf149a New fields error_method', sysdeps' and `required'. I added an improved
1998-08-07  Martin Baulig  <martin@home-of-linux.org>

	* glibtop.h (_glibtop): New fields `error_method', `sysdeps' and
	`required'. I added an improved error handling: the client can tell
	the libraries which fields are absolutely required for each features
	and if it fails to set one of them, this will create an error which
	is handled depending upon the `error_method'.

	* include/glibtop/open.h: Define some constants for `error_method'.

	* lib/sysdeps.c (glibtop_get_sysdeps_r): No longer actually call any
	sysdeps function, it now simply copies `server->sysdeps'.
	(_glibtop_init_hook_s): Added. List of functions to be called during
	`glibtop_init_s' set to `glibtop_init_<no-suid-feature>_s'.

	* include/glibtop/sysdeps.h (<glibtop/union.h>): Removed.
	(glibtop_init_func_t): New typedef.
	(_glibtop_init_hook_s): Added.

	* sysdeps/linux/*.c (glibtop_init_<feature>_s): New functions.
	(glibtop_get_proc_*): Zero is now a valid pid.

	* sysdeps/kernel/*.c (glibtop_init_<feature>_s): New functions.
	(glibtop_get_proc_*): Zero is now a valid pid.

1998-08-06  Martin Baulig  <martin@home-of-linux.org>
1998-08-07 10:01:55 +00:00