diff options
author | Martin Baulig <martin@home-of-linux.org> | 1999-03-31 16:53:05 +0000 |
---|---|---|
committer | Martin Baulig <martin@src.gnome.org> | 1999-03-31 16:53:05 +0000 |
commit | ede4594dd9a4e16b35723c9d2fc51c4fdfa74e97 (patch) | |
tree | 33792087ca950c1e51e5ad3d2ce1c9d090e8c5ac /examples | |
parent | 3a7f02352a458c592ae23ed93228636535af1831 (diff) | |
download | libgtop-ede4594dd9a4e16b35723c9d2fc51c4fdfa74e97.tar.gz |
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.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/first.c | 142 | ||||
-rw-r--r-- | examples/second.c | 46 |
2 files changed, 152 insertions, 36 deletions
diff --git a/examples/first.c b/examples/first.c index 474e4bd4..b9268726 100644 --- a/examples/first.c +++ b/examples/first.c @@ -116,9 +116,10 @@ main (int argc, char *argv []) for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_uptime (&data.uptime); - printf ("Uptime (0x%08lx): %f, %f\n", + printf ("Uptime (0x%08lx): %f, %f, %lu\n", (unsigned long) data.uptime.flags, - data.uptime.uptime, data.uptime.idletime); + data.uptime.uptime, data.uptime.idletime, + (unsigned long) data.uptime.boot_time); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_loadavg (&data.loadavg); @@ -242,24 +243,42 @@ main (int argc, char *argv []) for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_state (&data.proc_state, pid); - printf ("Proc_State PID %5d (0x%08lx): '%s', %c, %lu, %lu\n", - (int) pid, (unsigned long) data.proc_state.flags, + printf ("Proc_State PID %5d (0x%08lx): '%s', %u - " + "%u, %u, %u, %u - %u, %u, %u\n", (int) pid, + (unsigned long) data.proc_state.flags, data.proc_state.cmd, data.proc_state.state, - (unsigned long) data.proc_state.uid, - (unsigned long) data.proc_state.gid); + data.proc_state.uid, data.proc_state.gid, + data.proc_state.ruid, data.proc_state.rgid, + data.proc_state.has_cpu, data.proc_state.processor, + data.proc_state.last_processor); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_uid (&data.proc_uid, pid); printf ("Proc_Uid PID %5d (0x%08lx): " - "%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid, - (unsigned long) data.proc_uid.flags, + "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d - %d", + (int) pid, (unsigned long) data.proc_uid.flags, data.proc_uid.uid, data.proc_uid.euid, data.proc_uid.gid, data.proc_uid.egid, + data.proc_uid.suid, data.proc_uid.sgid, + data.proc_uid.fsuid, data.proc_uid.fsgid, data.proc_uid.pid, data.proc_uid.ppid, data.proc_uid.pgrp, data.proc_uid.session, data.proc_uid.tty, data.proc_uid.tpgid, - data.proc_uid.priority, data.proc_uid.nice); + data.proc_uid.priority, data.proc_uid.nice, + data.proc_uid.ngroups); + + if (data.proc_uid.ngroups) { + for (i = 0; i < data.proc_uid.ngroups; i++) { + if (i) + printf (" %d", data.proc_uid.groups [i]); + else + printf ("(%d", data.proc_uid.groups [i]); + } + printf (")"); + } + + printf ("\n"); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_mem (&data.proc_mem, pid); @@ -278,7 +297,9 @@ main (int argc, char *argv []) glibtop_get_proc_segment (&data.proc_segment, pid); printf ("Proc_Segment PID %5d (0x%08lx): " - "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx\n", (int) pid, + "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx\n", (int) pid, (unsigned long) data.proc_segment.flags, (unsigned long) data.proc_segment.text_rss, (unsigned long) data.proc_segment.shlib_rss, @@ -287,7 +308,16 @@ main (int argc, char *argv []) (unsigned long) data.proc_segment.dirty_size, (unsigned long) data.proc_segment.start_code, (unsigned long) data.proc_segment.end_code, - (unsigned long) data.proc_segment.start_stack); + (unsigned long) data.proc_segment.start_data, + (unsigned long) data.proc_segment.end_data, + (unsigned long) data.proc_segment.start_brk, + (unsigned long) data.proc_segment.end_brk, + (unsigned long) data.proc_segment.start_stack, + (unsigned long) data.proc_segment.start_mmap, + (unsigned long) data.proc_segment.arg_start, + (unsigned long) data.proc_segment.arg_end, + (unsigned long) data.proc_segment.env_start, + (unsigned long) data.proc_segment.env_end); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_time (&data.proc_time, pid); @@ -357,24 +387,42 @@ main (int argc, char *argv []) for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_state (&data.proc_state, ppid); - printf ("Proc_State PPID %5d (0x%08lx): '%s', %c, %lu, %lu\n", - (int) ppid, (unsigned long) data.proc_state.flags, + printf ("Proc_State PPID %5d (0x%08lx): '%s', %u - " + "%u, %u, %u, %u - %u, %u, %u\n", (int) ppid, + (unsigned long) data.proc_state.flags, data.proc_state.cmd, data.proc_state.state, - (unsigned long) data.proc_state.uid, - (unsigned long) data.proc_state.gid); + data.proc_state.uid, data.proc_state.gid, + data.proc_state.ruid, data.proc_state.rgid, + data.proc_state.has_cpu, data.proc_state.processor, + data.proc_state.last_processor); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_uid (&data.proc_uid, ppid); printf ("Proc_Uid PPID %5d (0x%08lx): " - "%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) ppid, - (unsigned long) data.proc_uid.flags, + "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d - %d", + (int) ppid, (unsigned long) data.proc_uid.flags, data.proc_uid.uid, data.proc_uid.euid, data.proc_uid.gid, data.proc_uid.egid, + data.proc_uid.suid, data.proc_uid.sgid, + data.proc_uid.fsuid, data.proc_uid.fsgid, data.proc_uid.pid, data.proc_uid.ppid, data.proc_uid.pgrp, data.proc_uid.session, data.proc_uid.tty, data.proc_uid.tpgid, - data.proc_uid.priority, data.proc_uid.nice); + data.proc_uid.priority, data.proc_uid.nice, + data.proc_uid.ngroups); + + if (data.proc_uid.ngroups) { + for (i = 0; i < data.proc_uid.ngroups; i++) { + if (i) + printf (" %d", data.proc_uid.groups [i]); + else + printf (" (%d", data.proc_uid.groups [i]); + } + printf (")"); + } + + printf ("\n"); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_mem (&data.proc_mem, ppid); @@ -393,7 +441,9 @@ main (int argc, char *argv []) glibtop_get_proc_segment (&data.proc_segment, ppid); printf ("Proc_Segment PPID %5d (0x%08lx): " - "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx\n", (int) ppid, + "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx\n", (int) ppid, (unsigned long) data.proc_segment.flags, (unsigned long) data.proc_segment.text_rss, (unsigned long) data.proc_segment.shlib_rss, @@ -402,7 +452,16 @@ main (int argc, char *argv []) (unsigned long) data.proc_segment.dirty_size, (unsigned long) data.proc_segment.start_code, (unsigned long) data.proc_segment.end_code, - (unsigned long) data.proc_segment.start_stack); + (unsigned long) data.proc_segment.start_data, + (unsigned long) data.proc_segment.end_data, + (unsigned long) data.proc_segment.start_brk, + (unsigned long) data.proc_segment.end_brk, + (unsigned long) data.proc_segment.start_stack, + (unsigned long) data.proc_segment.start_mmap, + (unsigned long) data.proc_segment.arg_start, + (unsigned long) data.proc_segment.arg_end, + (unsigned long) data.proc_segment.env_start, + (unsigned long) data.proc_segment.env_end); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_time (&data.proc_time, ppid); @@ -472,24 +531,42 @@ main (int argc, char *argv []) for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_state (&data.proc_state, 1); - printf ("Proc_State INIT %5d (0x%08lx): '%s', %c, %lu, %lu\n", 1, + printf ("Proc_State INIT %5d (0x%08lx): '%s', %u - " + "%u, %u, %u, %u - %u, %u, %u\n", 1, (unsigned long) data.proc_state.flags, data.proc_state.cmd, data.proc_state.state, - (unsigned long) data.proc_state.uid, - (unsigned long) data.proc_state.gid); + data.proc_state.uid, data.proc_state.gid, + data.proc_state.ruid, data.proc_state.rgid, + data.proc_state.has_cpu, data.proc_state.processor, + data.proc_state.last_processor); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_uid (&data.proc_uid, 1); printf ("Proc_Uid INIT %5d (0x%08lx): " - "%d %d %d %d %d %d %d %d %d %d %d %d\n", 1, + "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d - %d", 1, (unsigned long) data.proc_uid.flags, data.proc_uid.uid, data.proc_uid.euid, data.proc_uid.gid, data.proc_uid.egid, + data.proc_uid.suid, data.proc_uid.sgid, + data.proc_uid.fsuid, data.proc_uid.fsgid, data.proc_uid.pid, data.proc_uid.ppid, data.proc_uid.pgrp, data.proc_uid.session, data.proc_uid.tty, data.proc_uid.tpgid, - data.proc_uid.priority, data.proc_uid.nice); + data.proc_uid.priority, data.proc_uid.nice, + data.proc_uid.ngroups); + + if (data.proc_uid.ngroups) { + for (i = 0; i < data.proc_uid.ngroups; i++) { + if (i) + printf (" %d", data.proc_uid.groups [i]); + else + printf (" (%d", data.proc_uid.groups [i]); + } + printf (")"); + } + + printf ("\n"); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_mem (&data.proc_mem, 1); @@ -508,7 +585,9 @@ main (int argc, char *argv []) glibtop_get_proc_segment (&data.proc_segment, 1); printf ("Proc_Segment INIT %5d (0x%08lx): " - "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx\n", 1, + "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx\n", 1, (unsigned long) data.proc_segment.flags, (unsigned long) data.proc_segment.text_rss, (unsigned long) data.proc_segment.shlib_rss, @@ -517,7 +596,16 @@ main (int argc, char *argv []) (unsigned long) data.proc_segment.dirty_size, (unsigned long) data.proc_segment.start_code, (unsigned long) data.proc_segment.end_code, - (unsigned long) data.proc_segment.start_stack); + (unsigned long) data.proc_segment.start_data, + (unsigned long) data.proc_segment.end_data, + (unsigned long) data.proc_segment.start_brk, + (unsigned long) data.proc_segment.end_brk, + (unsigned long) data.proc_segment.start_stack, + (unsigned long) data.proc_segment.start_mmap, + (unsigned long) data.proc_segment.arg_start, + (unsigned long) data.proc_segment.arg_end, + (unsigned long) data.proc_segment.env_start, + (unsigned long) data.proc_segment.env_end); for (c = 0; c < PROFILE_COUNT; c++) glibtop_get_proc_time (&data.proc_time, 1); diff --git a/examples/second.c b/examples/second.c index 6767ba17..6fb7b809 100644 --- a/examples/second.c +++ b/examples/second.c @@ -53,25 +53,42 @@ output (pid_t pid) glibtop_get_proc_state (&data.proc_state, pid); - printf ("Proc_State PID %5d (0x%08lx): " - "'%s', %c, %lu, %lu\n", (int) pid, + printf ("Proc_State PID %5d (0x%08lx): '%s', %u - " + "%u, %u, %u, %u - %u, %u, %u\n", (int) pid, (unsigned long) data.proc_state.flags, data.proc_state.cmd, data.proc_state.state, - (unsigned long) data.proc_state.uid, - (unsigned long) data.proc_state.gid); + data.proc_state.uid, data.proc_state.gid, + data.proc_state.ruid, data.proc_state.rgid, + data.proc_state.has_cpu, data.proc_state.processor, + data.proc_state.last_processor); glibtop_get_proc_uid (&data.proc_uid, pid); printf ("Proc_Uid PID %5d (0x%08lx): " - "%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid, - (unsigned long) data.proc_uid.flags, + "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d - %d", + (int) pid, (unsigned long) data.proc_uid.flags, data.proc_uid.uid, data.proc_uid.euid, data.proc_uid.gid, data.proc_uid.egid, + data.proc_uid.suid, data.proc_uid.sgid, + data.proc_uid.fsuid, data.proc_uid.fsgid, data.proc_uid.pid, data.proc_uid.ppid, data.proc_uid.pgrp, data.proc_uid.session, data.proc_uid.tty, data.proc_uid.tpgid, - data.proc_uid.priority, data.proc_uid.nice); + data.proc_uid.priority, data.proc_uid.nice, + data.proc_uid.ngroups); + if (data.proc_uid.ngroups) { + for (i = 0; i < data.proc_uid.ngroups; i++) { + if (i) + printf (" %d", data.proc_uid.groups [i]); + else + printf (" (%d", data.proc_uid.groups [i]); + } + printf (")"); + } + + printf ("\n"); + glibtop_get_proc_mem (&data.proc_mem, pid); printf ("Proc_Mem PID %5d (0x%08lx): " @@ -87,7 +104,9 @@ output (pid_t pid) glibtop_get_proc_segment (&data.proc_segment, pid); printf ("Proc_Segment PID %5d (0x%08lx): " - "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx\n", (int) pid, + "%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx 0x%lx " + "0x%lx 0x%lx 0x%lx 0x%lx\n", (int) pid, (unsigned long) data.proc_segment.flags, (unsigned long) data.proc_segment.text_rss, (unsigned long) data.proc_segment.shlib_rss, @@ -96,7 +115,16 @@ output (pid_t pid) (unsigned long) data.proc_segment.dirty_size, (unsigned long) data.proc_segment.start_code, (unsigned long) data.proc_segment.end_code, - (unsigned long) data.proc_segment.start_stack); + (unsigned long) data.proc_segment.start_data, + (unsigned long) data.proc_segment.end_data, + (unsigned long) data.proc_segment.start_brk, + (unsigned long) data.proc_segment.end_brk, + (unsigned long) data.proc_segment.start_stack, + (unsigned long) data.proc_segment.start_mmap, + (unsigned long) data.proc_segment.arg_start, + (unsigned long) data.proc_segment.arg_end, + (unsigned long) data.proc_segment.env_start, + (unsigned long) data.proc_segment.env_end); glibtop_get_proc_time (&data.proc_time, pid); |