Added some new features.

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.
This commit is contained in:
Martin Baulig
1999-03-31 16:53:05 +00:00
committed by Martin Baulig
parent 3a7f02352a
commit ede4594dd9
15 changed files with 340 additions and 99 deletions

View File

@@ -31,12 +31,25 @@
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PROC_STATE_CMD 0
#define GLIBTOP_PROC_STATE_STATE 1
#define GLIBTOP_PROC_STATE_UID 2
#define GLIBTOP_PROC_STATE_GID 3
#define GLIBTOP_PROC_STATE_CMD 0
#define GLIBTOP_PROC_STATE_STATE 1
#define GLIBTOP_PROC_STATE_UID 2
#define GLIBTOP_PROC_STATE_GID 3
#define GLIBTOP_PROC_STATE_RUID 4
#define GLIBTOP_PROC_STATE_RGID 5
#define GLIBTOP_PROC_STATE_HAS_CPU 6
#define GLIBTOP_PROC_STATE_PROCESSOR 7
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
#define GLIBTOP_MAX_PROC_STATE 4
#define GLIBTOP_MAX_PROC_STATE 9
/* Constants for the `state' field. */
#define GLIBTOP_PROCESS_RUNNING 0
#define GLIBTOP_PROCESS_INTERRUPTIBLE 1
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE 2
#define GLIBTOP_PROCESS_ZOMBIE 4
#define GLIBTOP_PROCESS_STOPPED 8
#define GLIBTOP_PROCESS_SWAPPING 16
typedef struct _glibtop_proc_state glibtop_proc_state;
@@ -45,17 +58,23 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
struct _glibtop_proc_state
{
u_int64_t flags;
char cmd[40], /* basename of executable file in
char cmd[40]; /* basename of executable file in
* call to exec(2) */
state; /* single-char code for process state
* (S=sleeping) */
unsigned state; /* process state */
/* NOTE: when porting the library, TRY HARD to implement the
* following two fields. */
/* IMPORTANT NOTICE: For security reasons, it is extremely important
* only to set the flags value for those two
* fields if their values are corrent ! */
int uid, /* UID of process */
gid; /* GID of process */
int uid, /* effective UID of process */
gid, /* effective GID of process */
ruid, /* real UID of process */
rgid; /* real GID of process */
/* SMP values. */
int has_cpu,
processor,
last_processor;
};
#define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state_l(glibtop_global_server, p1, p2)