Compare commits
22 Commits
LIBGTOP_1_
...
LIBGTOP_1_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3555a6ca0c | ||
|
|
e5928d0b13 | ||
|
|
5bb7e07e95 | ||
|
|
043f4a498f | ||
|
|
94297b8460 | ||
|
|
0f5b941b15 | ||
|
|
df6d645afd | ||
|
|
9ac47c7839 | ||
|
|
8d734d1296 | ||
|
|
7fa43bba5d | ||
|
|
e2e01a9405 | ||
|
|
5530697ab8 | ||
|
|
95f279d1a7 | ||
|
|
1904a463e2 | ||
|
|
7ce1f9e9d7 | ||
|
|
5221f6d4f8 | ||
|
|
ac175a4cbf | ||
|
|
f53d1a69bc | ||
|
|
adaa9cad97 | ||
|
|
7201ec7790 | ||
|
|
113525a7d7 | ||
|
|
d6e62e85d2 |
36
ChangeLog
36
ChangeLog
@@ -1,3 +1,39 @@
|
||||
1999-10-18 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
Released LibGTop 1.0.6 "October LibGTop".
|
||||
|
||||
1999-10-18 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* NEWS.old: Removed obsolete file.
|
||||
|
||||
* RELNOTES-1.0.x: Added release notes for LibGTop 1.0.6.
|
||||
|
||||
* TODO: Removed obsolete file.
|
||||
|
||||
* NEWS: We start maintaining a NEWS file now :)
|
||||
|
||||
1999-10-16 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* LIBGTOP-VERSION: Set version number to 1.0.6 binary age 5,
|
||||
interface age 5.
|
||||
|
||||
1999-10-09 Jesus Bravo Alvarez <jba@pobox.com>
|
||||
|
||||
* configure.in (ALL_LINGUAS): Added Galician (gl)
|
||||
|
||||
1999-09-29 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
Released LibGTop 1.0.5.
|
||||
|
||||
1999-09-29 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* configure.in (libgtop_top_builddir): AC_SUBST this.
|
||||
|
||||
1999-09-24 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* LIBGTOP-VERSION: Set version number to 1.0.5 binary age 4,
|
||||
interface age 4.
|
||||
|
||||
1999-09-24 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
Released LibGTop 1.0.4.
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
#
|
||||
LIBGTOP_MAJOR_VERSION=1
|
||||
LIBGTOP_MINOR_VERSION=0
|
||||
LIBGTOP_MICRO_VERSION=4
|
||||
LIBGTOP_MICRO_VERSION=6
|
||||
|
||||
LIBGTOP_INTERFACE_AGE=3
|
||||
LIBGTOP_BINARY_AGE=3
|
||||
LIBGTOP_INTERFACE_AGE=5
|
||||
LIBGTOP_BINARY_AGE=5
|
||||
|
||||
# Increase each time you change the client/server protocol.
|
||||
LIBGTOP_SERVER_VERSION=5
|
||||
|
||||
@@ -17,7 +17,8 @@ include_HEADERS = glibtop.h
|
||||
|
||||
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
|
||||
LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \
|
||||
RELNOTES-1.0 libgtop-sysdeps.m4 README NEWS.old libgtop-mirror.sh
|
||||
RELNOTES-1.0 RELNOTES-1.0.x libgtop-sysdeps.m4 README \
|
||||
libgtop-mirror.sh
|
||||
|
||||
dist-hook:
|
||||
cp libgtop.spec $(distdir)
|
||||
|
||||
13
NEWS
13
NEWS
@@ -0,0 +1,13 @@
|
||||
October 18, 1999:
|
||||
================
|
||||
|
||||
* Released LibGTop 1.0.6 "October LibGTop":
|
||||
|
||||
- compilation fixes for FreeBSD.
|
||||
- updated reference manual.
|
||||
|
||||
September 29, 1999:
|
||||
==================
|
||||
|
||||
* Released LibGTop 1.0.5.
|
||||
|
||||
|
||||
244
NEWS.old
244
NEWS.old
@@ -1,244 +0,0 @@
|
||||
$Id$
|
||||
|
||||
Jun/01/1998
|
||||
===========
|
||||
|
||||
* We have some new ``suffix rules'':
|
||||
|
||||
'__l' is a function defined in the client part;
|
||||
'__s' is a function defined in the sysdeps part and
|
||||
'__p' is a function that needs special priviledges.
|
||||
'__r' is mapped either on '__p' or on '__s'.
|
||||
the function without suffix is mapped on '__l'.
|
||||
|
||||
* We now decide at runtime whether or not using the server
|
||||
is required for a particular function. All user programs
|
||||
now call the '__l' function defined in '-lgtop' (in the lib
|
||||
subdir). These functions either use 'glibtop_call__l' to
|
||||
call the server or call the '__r' function.
|
||||
|
||||
* A function in the sysdeps directory now has the '__s' suffix
|
||||
if it do not need any priviledges (and thus can be called directly
|
||||
from client code) and the '__p' suffix otherwise (when it has to
|
||||
be called from the server).
|
||||
|
||||
* If you call one of these functions:
|
||||
|
||||
-> use the '__p' suffix to be sure to get the SUID-safe one
|
||||
(used in the server).
|
||||
-> use the '__s' suffix to be sure to get a function that
|
||||
doesn't need any priviledges.
|
||||
-> use the '__r' suffix otherwise (it is mapped either on the
|
||||
'__p' or on the '__s' one).
|
||||
|
||||
Only use the '__p' and '__s' functions in a 'GLIBTOP_SUID_<feature>'
|
||||
conditional, otherwise you'll get undefined symbols !
|
||||
|
||||
* The server is now started from 'glibtop_init__r', but only when
|
||||
it's really needed; for instance on DEC OSF/1 you only need it
|
||||
for the proc* features - if you program only fetches the CPU usage,
|
||||
now server will be started.
|
||||
|
||||
* Sorry, at the moment everything is a little bit unstable, I'm doing
|
||||
heavy changes. I've just some great ideas which still need some work:
|
||||
|
||||
-> I want to have a SUID server that only implements those features
|
||||
that need to be SUID; everything else uses the sysdeps code directly.
|
||||
|
||||
-> If a program only uses stuff that do not need the server, the
|
||||
server will not be started at all.
|
||||
|
||||
-> I'm working on some kind of proxy server that can be used on a remote
|
||||
host; in feature one can then use the MDI stuff from ghex in gtop to
|
||||
have notebook pages displaying processes from different hosts.
|
||||
|
||||
* Well it is as much unstable that it only works under Linux at the moment.
|
||||
|
||||
1998-06-01 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* sysdeps/common/sysdeps.c: now using '__r' functions,
|
||||
they are #defined either as the '__p' or the '__s' ones.
|
||||
|
||||
* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
|
||||
it now takes two additional arguments.
|
||||
|
||||
* examples/{first.c, second.c}: now using 'glibtop_init'
|
||||
instead of 'glibtop_init__r'.
|
||||
|
||||
* include/glibtop/sysdeps.h: added 'dummy' member so
|
||||
'GLIBTOP_SYSDEPS_<feature>' now start with 1.
|
||||
|
||||
* include/glibtop/*.h: we now #define 'glibtop_get_<feature>'
|
||||
as 'glibtop_get_<feature>__l' and 'glibtop_get_<feature>__r'
|
||||
either as the '__p' or the '__s' function.
|
||||
|
||||
* lib/*.c: removed #if's - we now decide at runtime
|
||||
whether to use the server or to call the appropriate
|
||||
function for the sysdeps directory.
|
||||
|
||||
1998-05-28 Martin Baulig <baulig@merkur.uni-trier.de>
|
||||
|
||||
* src/server/main.c: we now use the '__p' functions,
|
||||
but only if the appropriate 'GLIBTOP_SUID_<feature>'
|
||||
has a non-zero value.
|
||||
|
||||
* configure.in (@machine_incs@): always use
|
||||
`-I$(top_srcdir)/sysdeps/@sysdeps_dir@'; it's no
|
||||
longer conditional.
|
||||
|
||||
* examples/Makefile.am: removed the '_linux' examples.
|
||||
|
||||
* sysdeps/linux/*.c: renamed all functions implementing
|
||||
features to '__s'.
|
||||
|
||||
* lib/*.c: renamed all functions implementing features
|
||||
to '__l'; we only emit code for those functions if the
|
||||
corresponding 'GLIBTOP_SUID_<feature>' has a positive value.
|
||||
|
||||
* include/glibtop/*.h: added some new function suffixes:
|
||||
'__l' is a function defined in the client part;
|
||||
'__s' is a function defined in the sysdeps part and
|
||||
'__p' is a function that needs special priviledges.
|
||||
'__r' is mapped either on '__l' or on '__s'.
|
||||
|
||||
* sysdeps/linux/glibtop_server.h: New file -
|
||||
defines system dependent constants 'GLIBTOP_SUID_<feature>'
|
||||
being either 'GLIBTOP_SYSDEPS_<feature>'+1 depending upon
|
||||
whether or not this feature requires using the server.
|
||||
|
||||
* lib/sysdeps.c: removed that file; it is no longer
|
||||
needed.
|
||||
|
||||
|
||||
|
||||
May/21/1998
|
||||
===========
|
||||
|
||||
* doc/gnome-hackers.sgml: This is a short intro on how to use libgtop
|
||||
in the GNOME project. It covers especially the use of its 'configure'
|
||||
script and the automatically generated 'gtopConf.sh'.
|
||||
|
||||
May/20/1998
|
||||
===========
|
||||
|
||||
* 'gtopConf.sh' now defines 'GTOP_LIBS' and 'GTOP_INCS' in a manner
|
||||
that they contain everything that is needed to link some program with
|
||||
libgtop. It will use '-lgtop' only if the server is really needed and
|
||||
'-lgtop_sysdeps' otherwise;
|
||||
|
||||
* 'gtopConf.sh' additionally defines 'GTOP_GUILE_LIBS' and 'GTOP_GUILE_INCS'
|
||||
containing everything that is needed to link some program both with
|
||||
libgtop and its guile interface. They are identically to 'GTOP_LIBS'
|
||||
and 'GTOP_INCS' if building the guile interface is disabled or guile
|
||||
cannot be found on the system.
|
||||
|
||||
* 'configure' takes additional arguments '--enable-libgtop-server' and
|
||||
'--disable-libgtop-server' to use the server even when it's not needed
|
||||
or to disable it's use where it's needed.
|
||||
|
||||
* 'configure' takes an argument '--without-libgtop-guile' to disable
|
||||
guile support.
|
||||
|
||||
* 'configure takes an argument '--without-libgtop-names' to remove
|
||||
'-lgtop_names' (and '-lgtop_guile_names' when we have guile) from
|
||||
'GTOP_LIBS'; in this case these libraries are not even built.
|
||||
|
||||
May/19/1998
|
||||
===========
|
||||
|
||||
* Libgtop is now in the GNOME CVS Repository.
|
||||
|
||||
May/17/1998
|
||||
===========
|
||||
|
||||
* we have now 'const char *glibtop_types_* []' consisting
|
||||
of the C types of the corresponding files of '_glibtop_*'.
|
||||
|
||||
* added guile function '(glibtop-types-*)' and '(glibtop-descriptions-*)'.
|
||||
|
||||
May/10/1998
|
||||
===========
|
||||
|
||||
* Port to DEC OSF1 3.0 has been made:
|
||||
|
||||
cpu (total, user, nice, sys, idle)
|
||||
mem (total, used, free)
|
||||
|
||||
loadavg (loadavg)
|
||||
uptime (uptime)
|
||||
|
||||
msg_limits (map, max, mnb, mni, tql)
|
||||
sem_limits (mni, msl, opm, vmx, aem)
|
||||
shm_limits (max, min, mni, seg)
|
||||
|
||||
The following need the server to be SUID root:
|
||||
|
||||
proclist (total, number, size)
|
||||
procdata (cmd, state, uid, pid, ppid, pgrp, tty, k_flags,
|
||||
session, tpgid, sigignore, sigcatch, signal, nice,
|
||||
priority, resident, rss, vsize, utime, stime,
|
||||
cutime, cstime, trs, drs)
|
||||
|
||||
May/07/1998
|
||||
===========
|
||||
|
||||
* 'flags' member of sysdeps/linux/procdata.c is now
|
||||
'unsigned long flags [2]'.
|
||||
|
||||
* When we give glibtop_get_procdata () a pid of zero, only
|
||||
the flags are returned.
|
||||
|
||||
* We now use static constants instead of #defines for sysdeps flags.
|
||||
|
||||
May/03/1998
|
||||
===========
|
||||
|
||||
* VPATH-Build now working; sometimes it's necessary to copy
|
||||
$(top_srcdir)/po/cat-id-tbl.c to $(top_builddir)/po.
|
||||
|
||||
* The library has been tested on the following systems:
|
||||
|
||||
- i686-pc-linux-gnu
|
||||
- sparc-sun-sunos4.1.1
|
||||
- alpha-dec-osf1 (that's DEC OSF1 3.0 and 3.2)
|
||||
|
||||
* Compilation has been tested on the following systems (I have no root
|
||||
access there and cannot test the library because of this):
|
||||
|
||||
- sparc-sun-solaris2
|
||||
- i386-bsdi
|
||||
|
||||
* Does no longer require Gnome.
|
||||
|
||||
* Guile-Parts are compiled only if guile can be found.
|
||||
|
||||
* Some of the executables are statically linked to copy them more easily
|
||||
between machines.
|
||||
|
||||
May/02/1998
|
||||
===========
|
||||
|
||||
* Global changes to the interfaces, all functions except glibtop_open()
|
||||
and glibtop_close() that took a server argument have now a '__r' suffix;
|
||||
the original name is now a macro that uses glibtop_global_server.
|
||||
|
||||
Apr/10/1998
|
||||
===========
|
||||
Added new directory sysdeps/guile/names. It is the guile interface
|
||||
to the gtop_names library found in sysdeps/names. Changed
|
||||
GLIBTOP_DESCRIPTIONS to GLIBTOP_NAMES and added GLIBTOP_GUILE_NAMES
|
||||
to the header files.
|
||||
|
||||
Apr/09/1998
|
||||
===========
|
||||
Added new directories guile and names to sysdeps. In names are
|
||||
some string constants about the data stored in the structures.
|
||||
guile is a guile interface for the library. It is used in
|
||||
examples/third (which has been completely rewritten).
|
||||
The header files define things from names when GLIBTOP_DESCRIPTIONS
|
||||
if defined and/or from guile when HAVE_GUILE is defined.
|
||||
|
||||
Apr/08/1998
|
||||
===========
|
||||
|
||||
Added guile wrapper for the library (see examples/third).
|
||||
@@ -87,7 +87,7 @@ LibGTop is currently used in various places in the GNOME Project,
|
||||
for instance in some of the applets in gnome-core and - of cause -
|
||||
this ultra-cool application called GTop ...
|
||||
|
||||
Although LibGTop is not specific to GNOME and under LGPL license, I
|
||||
Although LibGTop is not specific to GNOME and under GPL license, I
|
||||
spent most my time during the last months to work in the GNOME project
|
||||
so this is the primary use for LibGTop (and currently the only one).
|
||||
|
||||
|
||||
172
RELNOTES-1.0.x
Normal file
172
RELNOTES-1.0.x
Normal file
@@ -0,0 +1,172 @@
|
||||
RELEASE NOTES FOR LIBGTOP 1.0.6
|
||||
===============================
|
||||
|
||||
OVERVIEW
|
||||
--------
|
||||
|
||||
LibGTop is a library that read information about processes and the
|
||||
running systems. This information include:
|
||||
|
||||
General System Information:
|
||||
|
||||
cpu - CPU Usage
|
||||
mem - Memory Usage
|
||||
swap - Swap Usage (including paging activity)
|
||||
loadavg - Load average (including nr_running, nr_tasks, last_pid)
|
||||
uptime - Uptime and Idle time, can be calculated from CPU usage
|
||||
|
||||
SYS V IPC Limits:
|
||||
|
||||
shm_limits - Shared Memory Limits
|
||||
msg_limits - Message Queue Limits
|
||||
sem_limits - Semaphore Set Limits
|
||||
|
||||
Network:
|
||||
|
||||
netload - Network load
|
||||
ppp - PPP statistics
|
||||
|
||||
Process List:
|
||||
|
||||
proclist - List of processes
|
||||
|
||||
Process information:
|
||||
|
||||
proc_state - cmd, state, uid, gid
|
||||
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
|
||||
session,tty,tpgid,priority,nice
|
||||
proc_mem - size,vsize,resident,share,rss,rss_rlim
|
||||
proc_time - start_time,rtime,utime,stime,cutime,cstime
|
||||
timeout,it_real_value,frequency
|
||||
proc_signal - signal,blocked,sigignore,sigcatch
|
||||
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
|
||||
kstk_esp,kstk_eip,nwchan,wchan
|
||||
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
|
||||
start_code,end_code,start_stack
|
||||
|
||||
Process maps:
|
||||
|
||||
proc_args - Command line arguments
|
||||
proc_map - Process map (/proc/<pid>/maps under Linux)
|
||||
|
||||
File system usage:
|
||||
|
||||
mountlist - List of currently mounted filesystems
|
||||
fsusage - File system usage
|
||||
|
||||
PORTABILITY:
|
||||
-----------
|
||||
|
||||
LibGTop is designed to be as portable as possible. None of the
|
||||
functions and retrieved information should be specific to a specific
|
||||
operating system. So you only need to port the system dependent part
|
||||
of the library to a new system and all application programs can then
|
||||
use libgtop on this new system.
|
||||
|
||||
CLIENT/SERVER MODEL:
|
||||
-------------------
|
||||
|
||||
Some systems like DEC OSF/1 or BSD require special privileges for the
|
||||
calling process to fetch the required information (SUID root/SGID
|
||||
kmem). To solve this problem, I designed a client/server model which
|
||||
makes a call to a SUID/SGID server which fetches the required
|
||||
information whenever it is required. This server is only called for
|
||||
features that really require privileges, otherwise the sysdeps code
|
||||
is called directory (every user can get the CPU usage on DEC OSF/1,
|
||||
but only root can get information about processes other than the
|
||||
current one).
|
||||
|
||||
There is also some kind of daemon which can be used to fetch
|
||||
information from remote systems (still experimental). This daemon
|
||||
normally runs as nobody and calls the SUID/SGID itself when needed.
|
||||
|
||||
LIBGTOP AND GNOME:
|
||||
-----------------
|
||||
|
||||
Although LibGTop is part of the GNOME desktop environment, its main
|
||||
interface is totally independent from any particular desktop environment,
|
||||
so you can also use it as a standalone library in any piece of GPLed
|
||||
software which makes it also a valuable part of the GNU project.
|
||||
|
||||
LibGTop is currently used in various places in the GNOME Project,
|
||||
for instance in some of the applets in gnome-core and - of cause -
|
||||
this ultra-cool application called GTop ...
|
||||
|
||||
However, you need to give the configure.in script the `--without-gnome'
|
||||
parameter when you want to use LibGTop without GNOME (this is because,
|
||||
if you want to use it with GNOME, you need to compile it after the main
|
||||
GNOME libraries and I wanted to avoid getting unnecessary bug reports
|
||||
about this).
|
||||
|
||||
LIBGTOP AND GNOME - PART II:
|
||||
---------------------------
|
||||
|
||||
LibGTop was tested with FreeBSD 3.0 but it should also work with
|
||||
FreeBSD 2.2.7, NetBSD and OpenBSD.
|
||||
|
||||
Unfortunately, I don't have the power and disk space to install all
|
||||
possible operating systems out there on my machine and test things myself,
|
||||
so I depend on people telling me whether it works and sending me bug
|
||||
reports and patches if not.
|
||||
|
||||
However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for
|
||||
LibGTop and whenever I get bug reports I will do my best to fix them as
|
||||
quickly as possible.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR LINUX:
|
||||
==================================
|
||||
|
||||
[I am speaking of the Linux kernel here.]
|
||||
|
||||
Under Linux, LibGTop should work without problems and read everything
|
||||
from /proc.
|
||||
|
||||
LibGTop 0.25 also had an experimental kernel interface to read this
|
||||
information directly from the kernel with a system call - but I have
|
||||
currently dropped support for this as I am too busy with GNOME
|
||||
development to keep current with kernel hacking.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR SOLARIS:
|
||||
====================================
|
||||
|
||||
The development branch of LibGTop (the 1.1.x series) has a first version
|
||||
of the Solaris port which works at least on Solaris 7.
|
||||
|
||||
If you are on a Solaris system and want to give it a try, just fetch the
|
||||
latest 1.1.x tarball from ftp://ftp.home-of-linux.org/pub/libgtop/1.1/
|
||||
and try it out.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR BSD:
|
||||
=================================
|
||||
|
||||
There are a few caveats:
|
||||
|
||||
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to
|
||||
kmem after installation and mount the /proc file system of FreeBSD
|
||||
(/proc/<pid>/mem is used within kvm_uread ()).
|
||||
|
||||
* To get the filenames of the process maps displayed in GTop, you need
|
||||
to configure with the `--with-libgtop-inodedb' option (you need GDBM
|
||||
for this to work).
|
||||
|
||||
You have then to create an inode database which is used to look up
|
||||
filenames. This is done using the `mkinodedb' program which comes
|
||||
along with libgtop.
|
||||
|
||||
See the file src/inodedb/README for details:
|
||||
|
||||
The `mkinodedb' program which is build in this directory takes two
|
||||
command line arguments: the full pathname of the database to be
|
||||
created and the name of a configuration file consisting of directory
|
||||
and file names each on a line by itself - see `/etc/ld.so.conf' for
|
||||
an example.
|
||||
|
||||
Putting a directory name in this file means all regular files found
|
||||
in this directory are included in the database, but it will not
|
||||
recursively descend into subdirectories (for instance, we want
|
||||
everything in `/usr/lib' but not every single file in `/usr/lib/sgml').
|
||||
You can also use filenames to include a single file.
|
||||
|
||||
Have fun,
|
||||
|
||||
Martin <martin@home-of-linux.org>
|
||||
46
TODO
46
TODO
@@ -1,46 +0,0 @@
|
||||
This is LibGTop 0.99.2,
|
||||
|
||||
a feature-freezed version of LibGTop for GNOME 1.0.
|
||||
|
||||
You need to use the latest version of LibGTop from CVS for Gnome, it will
|
||||
no longer work with older releases.
|
||||
|
||||
Martin
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
NOTE: LibGTop is already feature-freezed for GNOME 1.0, so only bug fixes
|
||||
are ok, no API changes !
|
||||
|
||||
Sysdeps directory 'linux':
|
||||
==========================
|
||||
|
||||
* Add implementation for `ppp' with modems.
|
||||
|
||||
Sysdeps directory 'freebsd':
|
||||
============================
|
||||
|
||||
* FreeBSD 3.0: It works fine on this system, so please make sure not
|
||||
to break it here.
|
||||
|
||||
* FreeBSD 2.2: Make sure it still works here.
|
||||
|
||||
* NetBSD/OpenBSD: Support was added on Dec 6, but we need to check
|
||||
whether all data are valid.
|
||||
|
||||
Sysdeps directories 'kernel', 'osf1' and 'sun4':
|
||||
================================================
|
||||
|
||||
* You need to use the `--enable-hacker-mode' parameter to configure
|
||||
to build this directories.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Everything except sysdeps directories:
|
||||
======================================
|
||||
|
||||
* Ready for Gnome 1.0. [ALREADY FEATURE FREEZED]
|
||||
|
||||
January 5, 1999
|
||||
|
||||
Martin
|
||||
@@ -53,6 +53,10 @@ AC_PROG_CC
|
||||
AC_STDC_HEADERS
|
||||
AC_ARG_PROGRAM
|
||||
|
||||
dnl We need this at some places.
|
||||
libgtop_top_builddir=`pwd`
|
||||
AC_SUBST(libgtop_top_builddir)
|
||||
|
||||
dnl We don't use `AC_PROG_AWK' since it checks for mawk first which
|
||||
dnl does not work for libgtop.
|
||||
AC_CHECK_PROGS(AWK, gawk awk, )
|
||||
@@ -234,7 +238,7 @@ AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||
|
||||
dnl ## all 'es_??' are only needed for format numbers different of 'es'
|
||||
ALL_LINGUAS="da de es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fi fr ja ko nl no pl sv"
|
||||
ALL_LINGUAS="da de es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fi fr gl ja ko nl no pl sv"
|
||||
AM_GNOME_GETTEXT
|
||||
|
||||
AC_PATH_XTRA
|
||||
|
||||
122
doc/about.texi
Normal file
122
doc/about.texi
Normal file
@@ -0,0 +1,122 @@
|
||||
@node About, White Paper, Top, Top
|
||||
@chapter About LibGTop
|
||||
|
||||
LibGTop is a library to get system specific data such as CPU and Memory Usage
|
||||
and information about running Processes.
|
||||
|
||||
On Systems like Solaris or Digital Unix where you need special privileges to
|
||||
get those data, it uses a setuid/setgid server to do so.
|
||||
|
||||
Even if LibGTop is a part of the GNOME desktop environment
|
||||
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
|
||||
independent from any particular desktop environment, so you can also use it
|
||||
as a standalone library in any piece of GPLed software.
|
||||
|
||||
@menu
|
||||
* Availability:: Where to get LibGTop
|
||||
* Supported Platforms:: Supported Platforms
|
||||
* Mailing List:: Helping with LibGTop development
|
||||
* Thanks:: People who contributed to LibGTop
|
||||
@end menu
|
||||
|
||||
@node Availability, Supported Platforms, About, About
|
||||
@section Availability
|
||||
|
||||
The master source of LibGTop is the GNOME CVS tree
|
||||
(see @uref{http://www.gnome.org} for details), but you can also get the
|
||||
latest release tarballs from
|
||||
|
||||
@display
|
||||
@uref{ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/}
|
||||
@end display
|
||||
|
||||
@noindent
|
||||
or any of its mirror sites.
|
||||
|
||||
The latest stable version of LibGTop is 1.0.1 which is also the one that comes
|
||||
together with GNOME 1.0. In CVS, there is a @code{LIBGTOP_STABLE_1_0} branch
|
||||
which is rooted at the @code{LIBGTOP_1_0_1} tag while actual development occurs
|
||||
in the @code{HEAD} which currently has version 1.1.0.
|
||||
|
||||
@node Supported Platforms, Mailing List, Availability, About
|
||||
@section Supported Platforms
|
||||
|
||||
The stable branch currently supports the following platforms:
|
||||
|
||||
@itemize @bullet
|
||||
@item All versions of Linux
|
||||
|
||||
LibGTop was tested under Linux 2.0.x and 2.2.x on the ix86 and the alpha, but
|
||||
it should also work without problems on SparcLinux.
|
||||
|
||||
Note: I'm speaking of the Linux kernel here, not the GNU/Linux operating system.
|
||||
|
||||
@item FreeBSD, NetBSD and OpenBSD
|
||||
|
||||
LibGTop was tested under FreeBSD 2.2.6 and 3.0, NetBSD 1.3.2 and OpenBSD 2.4.
|
||||
Support for NetBSD 1.4 was added in LibGTop 1.0.2.
|
||||
|
||||
@end itemize
|
||||
|
||||
The platforms listed above are known to be stable and working. However, if
|
||||
you're using the latest development version, you can use it on the following
|
||||
platforms as well:
|
||||
|
||||
@itemize @bullet
|
||||
@item BSD/OS
|
||||
|
||||
There is a port for BSD/OS (aka BSDI) 2.x and 3.x from Timur Bakeyev which
|
||||
should also work with 4.x. This isn't tested very well, but it should be
|
||||
working.
|
||||
|
||||
@item Digital Unix
|
||||
|
||||
There is some basic support for Digital Unix (formerly DEC OSF/1) V3.2C, but
|
||||
this may still be a bit unstable. I'm currently working on this port as time
|
||||
permits so it should be fully supported soon.
|
||||
|
||||
@item Solaris
|
||||
|
||||
The Solaris port currently works on Solaris 7 and maybe also on other releases.
|
||||
Thanks a lot to Drazen Kacar and everyone who helped working on this port. They
|
||||
have really done excellent work here and I'm pretty sure that this port will be
|
||||
fully functional on most Solaris versions in near future.
|
||||
|
||||
@end itemize
|
||||
|
||||
@node Mailing List, Thanks, Supported Platforms, About
|
||||
@section Mailing List
|
||||
|
||||
There is a @email{libgtop-devel-list@@egroups.com} mailing list for people who
|
||||
want to help with the development of LibGTop.
|
||||
|
||||
It is meant as a low-traffic, but high content-list where we can discuss
|
||||
technical details such as adding new sysdeps ports etc.
|
||||
|
||||
Especially, I'd like to see people with a deeper knowledge of operating systems
|
||||
internals joining my list so we can discuss technical details of the sysdeps
|
||||
code.
|
||||
|
||||
It is *not* for users that want to know how to compile LibGTop etc.
|
||||
|
||||
You can subscribe to this mailing list and view the mailing list archives
|
||||
on the LibGTop Page at @uref{http://www.home-of-linux.org/gnome/libgtop}.
|
||||
|
||||
@node Thanks, , Mailing List, About
|
||||
@section Thanks
|
||||
|
||||
At the place I'd like to thank the following people who contributed to
|
||||
LibGTop (listed in chronological order):
|
||||
|
||||
@itemize @bullet
|
||||
@item Sebastian Wilhelmi who had the initial idea of LibGTop and helped
|
||||
me a lot in the early beginning.
|
||||
@item Josh Sled for the initial FreeBSD port.
|
||||
@item Jeremy Lea for his BSD patches.
|
||||
@item Timur Bakeyev for the BSDI port.
|
||||
@item Drazen Kacar and the other people on the LibGTop development mailing
|
||||
list for the Solaris port.
|
||||
@item All people sending me patches, having good ideas, ...
|
||||
@item Everyone I have forgotten in this list ...
|
||||
@end itemize
|
||||
|
||||
68
doc/main.texi
Normal file
68
doc/main.texi
Normal file
@@ -0,0 +1,68 @@
|
||||
@node Top, About, (dir), (dir)
|
||||
|
||||
@menu
|
||||
* About:: About LibGTop
|
||||
* White Paper:: LibGTop White Paper
|
||||
* Reference Manual:: LibGTop Reference Manual
|
||||
|
||||
--- The Detailed Node Listing ---
|
||||
|
||||
About LibGTop
|
||||
|
||||
* Availability:: Where to get LibGTop
|
||||
* Supported Platforms:: Supported Platforms
|
||||
* Mailing List:: Helping with LibGTop development
|
||||
* Thanks:: People who contributed to LibGTop
|
||||
|
||||
LibGTop White Paper
|
||||
|
||||
* Introduction:: Introduction
|
||||
* Overview:: Overview
|
||||
|
||||
Overview
|
||||
|
||||
* Interface Design:: Things that need to be considered
|
||||
* Server Implementation:: The LibGTop "server"
|
||||
|
||||
LibGTop Reference Manual
|
||||
|
||||
* System Dependent:: System Dependent Functions.
|
||||
* Common Functions:: Common Functions.
|
||||
* Library Functions:: Library Functions.
|
||||
|
||||
System Dependent Functions
|
||||
|
||||
* glibtop_cpu:: CPU Usage.
|
||||
* glibtop_mem:: Memory Usage.
|
||||
* glibtop_swap:: Swap Usage.
|
||||
* glibtop_uptime:: System Uptime.
|
||||
* glibtop_loadavg:: Load Average.
|
||||
* glibtop_proclist:: Process List.
|
||||
* glibtop_proc_state:: Process State.
|
||||
* glibtop_proc_uid:: Process UID and TTY Information.
|
||||
* glibtop_proc_mem:: Process Memory Information.
|
||||
* glibtop_proc_time:: Process Time Information.
|
||||
* glibtop_proc_signal:: Process Signal Information.
|
||||
* glibtop_proc_kernel:: Process Kernel Data Information.
|
||||
* glibtop_proc_segment:: Process Segment Information.
|
||||
* glibtop_proc_args:: Process Arguments.
|
||||
* glibtop_proc_map:: Process Memory Maps.
|
||||
* glibtop_netload:: Network Load.
|
||||
* glibtop_ppp:: PPP Usage.
|
||||
|
||||
Common Functions
|
||||
|
||||
* glibtop_mountlist:: Mount List.
|
||||
* glibtop_fsusage:: File System Usage.
|
||||
|
||||
Library Functions
|
||||
|
||||
* glibtop_init:: Server Initialization.
|
||||
* glibtop_sysdeps:: Server Sysdeps.
|
||||
* Library Parameters:: Library Parameters.
|
||||
@end menu
|
||||
|
||||
@include about.texi
|
||||
@include white-paper.texi
|
||||
@include reference.texi
|
||||
|
||||
1807
doc/reference.texi
Normal file
1807
doc/reference.texi
Normal file
File diff suppressed because it is too large
Load Diff
@@ -119,7 +119,6 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{prefix}/lib/*.sh
|
||||
%{prefix}/lib/*.def
|
||||
%{prefix}/include/*
|
||||
%{prefix}/lib/libgtop
|
||||
|
||||
%files examples
|
||||
%defattr(-,root,root)
|
||||
|
||||
12
po/ChangeLog
12
po/ChangeLog
@@ -1,3 +1,15 @@
|
||||
1999-10-09 Jesus Bravo Alvarez <jba@pobox.com>
|
||||
|
||||
* gl.po: Added Galician translation.
|
||||
|
||||
1999-09-29 Kenneth lléphaane Christiansen <kenneth@ripen.dk>
|
||||
|
||||
* da.po: Updated.
|
||||
|
||||
1999-09-27 Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>
|
||||
|
||||
* pl.po: Added translation.
|
||||
|
||||
1999-09-22 Kjartan Maraas <kmaraas@online.no>
|
||||
|
||||
* da.po: Added Danish translation from Kenneth
|
||||
|
||||
2
po/de.po
2
po/de.po
@@ -4,7 +4,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop VERSION\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-07-11 12:44+02:00\n"
|
||||
"Last-Translator: Martin Baulig <martin@home-of-linux.org>\n"
|
||||
"Language-Team: Martin Baulig <martin@home-of-linux.org>\n"
|
||||
|
||||
2
po/es.po
2
po/es.po
@@ -6,7 +6,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop 1.1.1\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop cvs\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop cvs\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop cvs\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop cvs\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop cvs\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop cvs\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop cvs\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-13 04:38+0100\n"
|
||||
"Last-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"Language-Team: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
|
||||
2
po/fi.po
2
po/fi.po
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop VERSION\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-08-01 18:09-0400\n"
|
||||
"Last-Translator: Unknown :-(\n"
|
||||
"Language-Team: \n"
|
||||
|
||||
2
po/fr.po
2
po/fr.po
@@ -6,7 +6,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop VERSION\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-07-27 18:24+0200\n"
|
||||
"Last-Translator: Vincent Renardias <vincent@ldsol.com>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@gnomefr.traduc.org>\n"
|
||||
|
||||
2
po/ja.po
2
po/ja.po
@@ -4,7 +4,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop VERSION\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1998-12-11 06:53+09:00\n"
|
||||
"Last-Translator: Eiichiro ITANI <emu@ceres.dti.ne.jp>\n"
|
||||
"Language-Team: <gnome@lists.hypercore.co.jp>\n"
|
||||
|
||||
2
po/ko.po
2
po/ko.po
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop 1.0.2\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-03-30 10:40:01+0900\n"
|
||||
"Last-Translator: Sung-Hyun Nam <namsh@lgic.co.kr>\n"
|
||||
"Language-Team: Korean <ko@li.org>\n"
|
||||
|
||||
2
po/nl.po
2
po/nl.po
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop VERSION\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-09-18 00:24+0200\n"
|
||||
"Last-Translator: Gert Dewit <Gert.Dewit@sos.be>\n"
|
||||
"Language-Team: nl <nl@li.org>\n"
|
||||
|
||||
2
po/no.po
2
po/no.po
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop 0.99.3\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-07-11 14:25+0200\n"
|
||||
"Last-Translator: Kjartan Maraas <kmaraas@online.no>\n"
|
||||
"Language-Team: Norwegian <no@li.org>\n"
|
||||
|
||||
2
po/pl.po
2
po/pl.po
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-09-17 04:26+0200\n"
|
||||
"Last-Translator: GNOME PL Team\n"
|
||||
"Language-Team: Polish <gnomepl@pandora.info.bielsko.pl>\n"
|
||||
|
||||
2
po/sv.po
2
po/sv.po
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop 1.0.3\n"
|
||||
"POT-Creation-Date: 1999-09-16 23:16+0200\n"
|
||||
"POT-Creation-Date: 1999-09-29 01:00+0200\n"
|
||||
"PO-Revision-Date: 1999-09-16 23:36+0200\n"
|
||||
"Last-Translator: Tomas Ögren <stric@ing.umu.se>\n"
|
||||
"Language-Team: Swedish <sv@li.org>\n"
|
||||
|
||||
@@ -1,3 +1,19 @@
|
||||
1999-10-16 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
Applied all patches from the FreeBSD 3.3 ports collection.
|
||||
|
||||
* swap.c: Only #include <rlist.h> for __FreeBSD_version < 400005.
|
||||
|
||||
* prockernel.c: Make it compile on FreeBSD / alpha.
|
||||
|
||||
* procsignal.c: Some fixes for FreeBSD-current.
|
||||
|
||||
1999-10-16 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* procstate.c (glibtop_get_proc_state_p): Don't use the
|
||||
`GLIBTOP_PROCESS_*' constants for process states for
|
||||
LibGTop 1.0.x.
|
||||
|
||||
1999-07-29 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* proctime.c (glibtop_get_proc_time_p): Fix bug reported by
|
||||
|
||||
@@ -34,10 +34,10 @@
|
||||
#if (!defined __OpenBSD__) && (!defined __bsdi__)
|
||||
#include <sys/user.h>
|
||||
#endif
|
||||
#ifndef __bsdi__
|
||||
#if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__))
|
||||
#include <machine/pcb.h>
|
||||
#endif
|
||||
#ifdef __FreeBSD__
|
||||
#if defined(__FreeBSD__) && !defined(__alpha__)
|
||||
#include <machine/tss.h>
|
||||
#endif
|
||||
|
||||
@@ -155,6 +155,7 @@ glibtop_get_proc_kernel_p (glibtop *server,
|
||||
(char *) &pcb, sizeof (pcb)) == sizeof (pcb))
|
||||
{
|
||||
#ifdef __FreeBSD__
|
||||
#ifndef __alpha__
|
||||
#if (__FreeBSD_version >= 300003)
|
||||
buf->kstk_esp = (u_int64_t) pcb.pcb_esp;
|
||||
buf->kstk_eip = (u_int64_t) pcb.pcb_eip;
|
||||
@@ -162,6 +163,9 @@ glibtop_get_proc_kernel_p (glibtop *server,
|
||||
buf->kstk_esp = (u_int64_t) pcb.pcb_ksp;
|
||||
buf->kstk_eip = (u_int64_t) pcb.pcb_pc;
|
||||
#endif
|
||||
#else
|
||||
/*xxx FreeBSD/Alpha? */
|
||||
#endif
|
||||
#else
|
||||
buf->kstk_esp = (u_int64_t) pcb.pcb_tss.tss_esp0;
|
||||
#ifdef __bsdi__
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <glibtop/procsignal.h>
|
||||
|
||||
#include <glibtop_suid.h>
|
||||
#include <osreldate.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_signal =
|
||||
(1L << GLIBTOP_PROC_SIGNAL_SIGNAL) +
|
||||
@@ -66,7 +67,7 @@ glibtop_get_proc_signal_p (glibtop *server,
|
||||
/* signal: mask of pending signals.
|
||||
* pinfo [0].kp_proc.p_siglist
|
||||
*/
|
||||
#if defined(__NetBSD__) && (NSIG > 32)
|
||||
#if (defined(__NetBSD__) && (NSIG > 32)) || (__FreeBSD_version >= 400011)
|
||||
buf->signal [0] = pinfo [0].kp_proc.p_siglist.__bits[0];
|
||||
#else
|
||||
buf->signal [0] = pinfo [0].kp_proc.p_siglist;
|
||||
@@ -75,7 +76,7 @@ glibtop_get_proc_signal_p (glibtop *server,
|
||||
/* blocked: mask of blocked signals.
|
||||
* pinfo [0].kp_proc.p_sigmask
|
||||
*/
|
||||
#if defined(__NetBSD__) && (NSIG > 32)
|
||||
#if (defined(__NetBSD__) && (NSIG > 32)) || (__FreeBSD_version >= 400011)
|
||||
buf->blocked [0] = pinfo [0].kp_proc.p_sigmask.__bits[0];
|
||||
#else
|
||||
buf->blocked [0] = pinfo [0].kp_proc.p_sigmask;
|
||||
@@ -84,16 +85,16 @@ glibtop_get_proc_signal_p (glibtop *server,
|
||||
/* sigignore: mask of ignored signals.
|
||||
* pinfo [0].kp_proc.p_sigignore
|
||||
*/
|
||||
#if defined(__NetBSD__) && (NSIG > 32)
|
||||
#if (defined(__NetBSD__) && (NSIG > 32)) || (__FreeBSD_version >= 400011)
|
||||
buf->sigignore [0] = pinfo [0].kp_proc.p_sigignore.__bits[0];
|
||||
#else
|
||||
buf->sigignore [0] = pinfo [0].kp_proc.p_sigignore;
|
||||
buf->sigignore [0] = pinfo [0].kp_proc.p_sigignore.__bits[0];
|
||||
#endif
|
||||
|
||||
/* sigcatch: mask of caught signals.
|
||||
* pinfo [0].kp_proc.p_sigcatch
|
||||
*/
|
||||
#if defined(__NetBSD__) && (NSIG > 32)
|
||||
#if (defined(__NetBSD__) && (NSIG > 32)) || (__FreeBSD_version >= 400011)
|
||||
buf->sigcatch [0] = pinfo [0].kp_proc.p_sigcatch.__bits[0];
|
||||
#else
|
||||
buf->sigcatch [0] = pinfo [0].kp_proc.p_sigcatch;
|
||||
|
||||
@@ -91,6 +91,7 @@ glibtop_get_proc_state_p (glibtop *server,
|
||||
buf->flags = _glibtop_sysdeps_proc_state |
|
||||
_glibtop_sysdeps_proc_state_new;
|
||||
|
||||
#if LIBGTOP_VERSION_CODE >= 1001000
|
||||
switch (pinfo [0].kp_proc.p_stat) {
|
||||
case SIDL:
|
||||
buf->state = 0;
|
||||
@@ -110,6 +111,27 @@ glibtop_get_proc_state_p (glibtop *server,
|
||||
default:
|
||||
return;
|
||||
}
|
||||
#else
|
||||
switch (pinfo [0].kp_proc.p_stat) {
|
||||
case SIDL:
|
||||
buf->state = 'S';
|
||||
break;
|
||||
case SRUN:
|
||||
buf->state = 'R';
|
||||
break;
|
||||
case SSLEEP:
|
||||
buf->state = 'S';
|
||||
break;
|
||||
case SSTOP:
|
||||
buf->state = 'T';
|
||||
break;
|
||||
case SZOMB:
|
||||
buf->state = 'Z';
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
buf->flags |= (1L << GLIBTOP_PROC_STATE_STATE);
|
||||
}
|
||||
|
||||
@@ -40,8 +40,10 @@ static const unsigned long _glibtop_sysdeps_swap =
|
||||
#ifdef __bsdi__
|
||||
#include <vm/swap_pager.h>
|
||||
#else
|
||||
#if __FreeBSD_version < 400005
|
||||
#include <sys/rlist.h>
|
||||
#endif
|
||||
#endif
|
||||
#include <sys/vmmeter.h>
|
||||
|
||||
/* nlist structure for kernel access */
|
||||
|
||||
Reference in New Issue
Block a user