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 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.
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-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-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.
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.
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-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-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-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-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-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-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@'.
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));
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-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-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-12 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/procsegment.h (glibtop_proc_segment): Using
`text_rss', `shlib_rss', `data_rss' and `dirty_size' instead of
`tsr', `lrs', `drs' and `dt'. New field `stack_rss'.
* sysdeps/linux/procmem.c: Memory sizes now correctly in bytes.
* sysdeps/linux/procsegment.c: Dito.
* sysdeps/kernel/procsegment.c: Stack pages are reported via
`stack_rss' and no longer count towards `data_rss'
* kernel/table.h (table_proc_segment): Added `srs' field.
* kernel/table21/module.c (TBL_PROC_SEGMENT): Added kernel support
for this.
* sysdeps/{linux, kernel, stub}/procmap.c: New files.