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 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-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-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.
1999-12-05 Martin Baulig <martin@home-of-linux.org>
* includes/glibtop/interfaces.h (glibtop_get_interface_names):
Return array of `glibtop_interface' structures.
(glibtop_interface): New structure.
1999-12-05 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/limits.h (GLIBTOP_INTERFACE_LEN): New #define.
(GLIBTOP_UNLIMITED): #define this to be `(~(u_int64_t)0)'.
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 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-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 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/sysdeps.h (glibtop_init_func_t): Use `int'
as return type, not `void'.
* include/glibtop/proclist.h (GLIBTOP_KERN_PROC_PPID): On a
suggestion from Sebastian Fischmeister added a way to return
all children of a given process.
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.
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-05-28 Martin Baulig <baulig@Stud.Informatik.Uni-Trier.DE>
* include/glibtop/sysdeps.h: Remove the `GLIBTOP_SYSDEPS_FEATURES'
and `GLIBTOP_SYSDEPS_POINTER_SIZE' constants and let numbering
start at zero for `GLIBTOP_SYSDEPS_CPU'.
1999-05-08 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/limits.h (GLIBTOP_MAX_GROUPS): Define this here.
* include/glibtop/procuid.h (GLIBTOP_MAX_GROUPS): Moved to limits.h.
* features.def: We can use constants from <glibtop/limits.h> here.
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-04-18 Martin Baulig <martin@home-of-linux.org>
Thanks to Drazen Kacar for pointing out that not all processors must
be running all the time under Solaris, so we need to have some flag
to find out which processors are running.
* (glibtop_cpu): Added `xcpu_flags' bitmask of running processors.
* (glibtop_proc_time): Added `xcpu_flags'.
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-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-18 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/*.h: Use glib-like function prototypes
instead of "extern <function> __P((args))".
1999-02-18 Martin Baulig <martin@home-of-linux.org>
* sysdeps/common/error.c (glibtop_error_r, glibtop_warn_r): Define
them as G_INLINE_FUNC in <glibtop/errno.h> if possible.
(glibtop_error_io_r, glibtop_warn_io_r): Likewise.
(glibtop_error_vr, glibtop_warn_vr): New functions taking a va_list.
(glibtop_error_io_vr, glibtop_warn_io_vr): New functions taking an
errno an a va_list.
1999-02-12 Martin Baulig <martin@home-of-linux.org>
Thanks to Frederic Devernay for pointing out that we need to define
__BEGIN_DECLS and __END_DECLS when not using GNOME.
* configure.in: Define `WITHOUT_GNOME' if appropriate.
* include/glibtop/global.h: Define __BEGIN_DECLS and __END_DECLS
when WITHOUT_GNOME not when _IN_LIBGTOP.
1999-02-12 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/global.h: Applied patch from Frederic Devernay;
__BEGIN_DECLS and __END_DECLS are only defined inside _IN_LIBGTOP.
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-11-11 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/gnuserv.h (MCOOKIE_SCREEN): Don't define this
any longer, we now use the port the daemon is listening on instead
of a fixed screen.
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.
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-10-11 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/*.h: Removed external delarations of all
`glibtop_guile_*' functions that were formerly defined in
sysdeps/guile/guile.c and sysdeps/guile/names/guile-names.c.