There was an ABI mismatch because HAVE_GLIBTOP_MACHINE was only
defined when compiling the library itself. The library code would then
use a larger struct glibtop (with a machine member) than the
application code.
Everyone defines a glibtop_machine but linux (though it as a
glibtop_machine.h) and cygwin (code unchanged for 5 years) so this
should not break anything.
2006-12-03 Benoît Dejean <benoit@placenet.org>
* doc/reference/libgtop-docs.xml:
* glibtop.h:
* include/glibtop/sysinfo.h:
Made gtk-doc happy in order to dist.
* configure.in:
* glibtop.h:
* include/glibtop/cpu.h:
* include/glibtop/procmap.h:
Increased GLIBTOP_NCPU to 32.
Added real_ncpu to struct glibtop.
Added smaps members to glibtop_map_entry.
Bumped version number to 2.13.0
Broke ABI again. Sorry.
* 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.
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.
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 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.
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 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-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-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-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-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-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.
1998-09-09 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
* glibtop.h (glibtop): Added `ncpu'. This is zero for single processor
systems and the number of CPUs otherwise.
* include/glibtop/cpu.h (glibtop_cpu): Added `xcpu_total', `xcpu_user',
`xcpu_nice', `xcpu_sys' and `xcpu_idle'.
(GLIBTOP_NCPU): #define this to 4.
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-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-06 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/*.h: Using `GLIBTOP_GUILE' instead of `HAVE_GUILE'
so one should be able to use libgtop without guile in an application
even if guile is installed.
* sysdeps/common/mountlist.c: Fixed some `xstrdup' problems.
* lib/open.c: Now correctly reading server features for
`GLIBTOP_METHOD_PIPE'.
* sysdeps/freebsd: New directory.