Compare commits

..

15 Commits

Author SHA1 Message Date
Martin Baulig
22699667aa Bumped version number to 0.25.1. 1998-08-29 21:11:48 +00:00
Martin Baulig
2565ce18ce Added. AC_SUBST. (LT_RELEASE, LT_CURRENT, LT_REVISION, LT_AGE): AC_SUBST.
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.
1998-08-29 21:05:01 +00:00
Martin Baulig
c3bac0b4f6 This caused too much problems, so I reverted it.
1998-08-25  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (LIBGTOP_EXTRA_LIBS): Added $(LIBSUPPORT).
1998-08-25 11:48:16 +00:00
Martin Baulig
e60200e8de New file.
1998-08-25  Martin Baulig  <martin@home-of-linux.org>

	* src/daemon/ChangeLog: New file.

	* sysdeps/sun4/ChangeLog: New file.

	* sysdeps/stub/ChangeLog: New file.

	* configure.in: Added check for `-lsocket'.
	(LIBGTOP_INCS): Added $(SUPPORTINCS).
	(INCLUDES): Added $(SUPPORTINCS).
	(LIBGTOP_EXTRA_LIBS): Added $(LIBSUPPORT).

	* acconfig.h: Added `NEED_DECLARATION_GETHOSTNAME',
	`NEED_DECLARATION_SETREUID', `NEED_DECLARATION_SETREGID'
	and `NEED_DECLARATION_GETPAGESIZE'.

	* includue/glibtop/global.h (<gnomesupport.h>): Include this.

	* lib/init.c (_init_server): Declared `static'.

	* lib/read_data.c: Added cast to `const void *' in calls to
	`recv' and `read' to avoid compiler warnings.
1998-08-25 08:30:41 +00:00
Martin Baulig
bcadc03194 Added prototype. Added cast to const void *' in calls to write' and
1998-08-25  Martin Baulig  <martin@home-of-linux.org>

	* daemon.h (handle_parent_connection): Added prototype.
	* write.c, io.c: Added cast to `const void *' in calls to
	`write' and `send' to avoid compiler warnings.
	* gnuserv.c (handle_signal): Declared static.
	(main): Casting return value of `getuid' to `int' in
	debugging statement.

	* ChangeLog: New file.
1998-08-25 08:19:12 +00:00
Martin Baulig
13e68dbd2b *** empty log message *** 1998-08-25 08:08:53 +00:00
Martin Baulig
8e540b8fc0 Using correct `(1 << GLIBTOP_SYSDPES_*)'. (<glibtop_suid.h>): Include.
1998-08-25  Martin Baulig  <martin@home-of-linux.org>

	* *.c (glibtop_init_p): Using correct `(1 << GLIBTOP_SYSDPES_*)'.
	(<glibtop_suid.h>): Include.

	* glibtop_suid.h: New file.

	* ChangeLog: New file.
1998-08-25 08:03:52 +00:00
Martin Baulig
4789169c80 Added initialization functions `glibtop_init_<feature>_s'.
1998-08-24  Martin Baulig  <martin@home-of-linux.org>

	* *.c: Added initialization functions `glibtop_init_<feature>_s'.

	* ChangeLog: New file.
1998-08-24 20:40:29 +00:00
Martin Baulig
a894d550a1 Using correct (1 << GLIBTOP_SYSDPES_*)'. Removed const' from sysctl ()
1998-08-24  Martin Baulig  <martin@home-of-linux.org>

	* *.c (glibtop_init_p): Using correct `(1 << GLIBTOP_SYSDPES_*)'.
	* cpu.c, mem.c: Removed `const' from sysctl () constants to keep
	compiler happy.

	* procmem.c:  Added missing call to `glibtop_init_p'.

	* prockernel.c: Casting `nwchan' to `unsigned long' since this
	normally has the same size than a pointer. Well, is there a
	FreeBSD for 64bit architectures ?
1998-08-24 19:51:39 +00:00
Martin Baulig
b41bcfdfb1 No longer using installed header files.
1998-08-24  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (INCLUDES): No longer using installed header files.
1998-08-24 13:06:17 +00:00
Martin Baulig
4ea818875b Using `int(fs_usage)'.
1998-08-23  Martin Baulig  <martin@home-of-linux.org>

	* features.def (mountlist): Using `int(fs_usage)'.
1998-08-23 12:21:04 +00:00
Martin Baulig
d1120fe35d *** empty log message *** 1998-08-23 12:15:06 +00:00
Martin Baulig
04f157c378 Added glibtop_suid.h' to the include_HEADERS'. 1998-08-22 17:24:42 +00:00
Martin Baulig
6db51362bf Released LibGTop 0.25 stable.
1998-08-21  Martin Baulig  <martin@home-of-linux.org>

	* ANNOUNCE-0.25: Released LibGTop 0.25 stable.
1998-08-22 17:23:19 +00:00
Martin Baulig
86abb41ef6 Updated documentation. 1998-08-21 21:43:19 +00:00
544 changed files with 20408 additions and 70938 deletions

View File

@@ -5,14 +5,13 @@ config.cache
config.h
config.h.in
config.log
config.sub
config.guess
config.status
configure
gtopConf.sh
i386-bsdi
i686-pc-linux-gnu
intl
libgtop-0.01.tar.gz
libgtop-mirror.sh.swp
libgtopConf.sh
libtool
@@ -20,16 +19,9 @@ ltconfig
ltmain.sh
macros
stamp-h
stamp-h.in
sun4
sun4sol2
support
i386-freebsd
alpha-dec-osf3.0
i686-pc-linux-gnu-linux
libgtop-config
ABOUT-NLS
libgtop.spec
libgtop*.tar.gz
*-debstamp
libgtop*.pc

225
ABOUT-NLS Normal file
View File

@@ -0,0 +1,225 @@
Notes on the Free Translation Project
*************************************
Free software is going international! The Free Translation Project
is a way to get maintainers of free software, translators, and users all
together, so that will gradually become able to speak many languages.
A few packages already provide translations for their messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site. But you do *not*
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
work at translations should contact the appropriate team.
When reporting bugs in the `intl/' directory or bugs which may be
related to internationalization, you should tell about the version of
`gettext' which is used. The information can be found in the
`intl/VERSION' file, in internationalized packages.
One advise in advance
=====================
If you want to exploit the full power of internationalization, you
should configure it using
./configure --with-included-gettext
to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed. So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias or message inheritance) as the
implementation here. It is also not possible to offer this additional
functionality on top of a `catgets' implementation. Future versions of
GNU `gettext' will very likely convey even more functionality. So it
might be a good idea to change to GNU `gettext' as soon as possible.
So you need not provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
INSTALL Matters
===============
Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system provides
usable `catgets' (if using this is selected by the installer) or
`gettext' functions. If neither is available, the GNU `gettext' own
library will be used. This library is wholly contained within this
package, usually in the `intl/' subdirectory, so prior installation of
the GNU `gettext' package is *not* required. Installers may use
special options at configuration time for changing the default
behaviour. The commands:
./configure --with-included-gettext
./configure --with-catgets
./configure --disable-nls
will respectively bypass any pre-existing `catgets' or `gettext' to use
the internationalizing routines provided within this package, enable
the use of the `catgets' functions (if found on the locale system), or
else, *totally* disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
probably detect the previously built and installed `libintl.a' file and
will decide to use this. This might be not what is desirable. You
should use the more recent version of the GNU `gettext' library. I.e.
if the file `intl/VERSION' shows that the library which comes with this
package is more recent, you should use
./configure --with-included-gettext
to prevent auto-detection.
By default the configuration process will not test for the `catgets'
function and therefore they will not be used. The reasons are already
given above: the emulation on top of `catgets' cannot provide all the
extensions provided by the GNU `gettext' library. If you nevertheless
want to use the `catgets' functions use
./configure --with-catgets
to enable the test for `catgets' (this causes no harm if `catgets' is
not available on your system). If you really select this option we
would like to hear about the reasons because we cannot think of any
good one ourself.
Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package. However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
Using This Package
==================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
ISO 639 `LL' two-letter code prior to using the programs in the
package. For example, let's suppose that you speak German. At the
shell prompt, merely execute `setenv LANG de' (in `csh'),
`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
can be done from your `.login' or `.profile' file, once and for all.
An operating system might already offer message localization for
many of its programs, while other programs have been installed locally
with the full capabilities of GNU `gettext'. Just using `gettext'
extended syntax for `LANG' would break proper localization of already
available operating system programs. In this case, users should set
both `LANGUAGE' and `LANG' variables in their environment, as programs
using GNU `gettext' give preference to `LANGUAGE'. For example, some
Swedish users would rather read translations in German than English for
when Swedish is not available. This is easily accomplished by setting
`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
Translating Teams
=================
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list, courtesy of Linux
International. You may reach your translation team at the address
`LL@li.org', replacing LL by the two-letter ISO 639 code for your
language. Language codes are *not* the same as the country codes given
in ISO 3166. The following translation teams exist, as of August 1997:
Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
`hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
`pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
Swedish `sv', and Turkish `tr'.
For example, you may reach the Chinese translation team by writing to
`zh@li.org'.
If you'd like to volunteer to *work* at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is *not* the same as the list itself, it has
`-request' appended. For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:
subscribe
Keep in mind that team members are expected to participate
*actively* in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skill are praised more than
programming skill, here.
Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of August
1997. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination.
Ready PO files cs da de en es fi fr it ja ko nl no pl pt sl sv
.-------------------------------------------------.
bash | [] [] [] | 3
bison | [] [] [] | 3
clisp | [] [] [] [] | 4
cpio | [] [] [] [] [] | 5
diffutils | [] [] [] [] [] | 5
enscript | [] [] [] [] [] [] | 6
fileutils | [] [] [] [] [] [] [] [] [] [] | 10
findutils | [] [] [] [] [] [] [] [] | 8
flex | [] [] [] [] | 4
gcal | [] [] [] [] [] | 5
gettext | [] [] [] [] [] [] [] [] [] [] | 11
grep | [] [] [] [] [] [] [] [] [] | 9
hello | [] [] [] [] [] [] [] [] [] [] | 10
id-utils | [] [] [] | 3
indent | [] [] [] [] | 4
libc | [] [] [] [] [] [] [] | 7
m4 | [] [] [] [] [] | 5
make | [] [] [] [] [] [] | 6
music | [] [] | 2
ptx | [] [] [] [] [] [] [] [] | 8
recode | [] [] [] [] [] [] [] [] [] | 9
sh-utils | [] [] [] [] [] [] [] | 7
sharutils | [] [] [] [] [] | 5
tar | [] [] [] [] [] [] [] [] [] [] | 10
texinfo | [] | 1
textutils | [] [] [] [] [] [] [] [] [] | 9
wdiff | [] [] [] [] [] [] [] [] | 8
`-------------------------------------------------'
16 languages cs da de en es fi fr it ja ko nl no pl pt sl sv
27 packages 3 2 24 1 17 1 26 2 1 11 20 9 19 7 7 17 167
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
used for implementing regional variants of languages, or language
dialects.
For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
If August 1997 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites.

95
ANNOUNCE Normal file
View File

@@ -0,0 +1,95 @@
Hi all,
I just uploaded the first working draft alpha version 0.01 to my website:
http://www.home-of-linux.org/gnome/libgtop/
Libgtop is a library that fetches information about the running system such as cpu and
memory usage, active processes etc. On Linux systems, these information are taken directly
from the /proc filesystem. For other systems such as Solaris, where such programs need to be
suid root (or only setgid kmem/mem on some systems), it provides a suid/setgid server that
fetches those information and a client-side library that talks to this server. Main idea
was to have the same interface for all operating systems, thus all system dependent details
are hidden in the implementation of that server.
Currently, it only works for Linux, documentation on how to port it to other systems is on
the way. I'm planning to keep this site an up-to-date mirror of my local machine (which is
connected to the internet over some expensive dialup connection, so I'll upload it about
once every day I made significant changes) so that you can always find the latest version
of the software here.
I've written a simple guile interface for the library to show which information it can
already fetch. See examples/third for details.
===========================================================================================
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/cpu.h>
int
main (int argc, char *argv [])
{
glibtop server;
glibtop_cpu cpu;
unsigned i, *ptr;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
glibtop_open (&server, argv [0]);
glibtop_get_cpu (&server, &cpu);
fprintf (stderr, "CPU: %lu, %lu, %lu, %lu, %lu\n",
cpu.total, cpu.user, cpu.nice, cpu.sys, cpu.idle);
glibtop_close (&server);
exit (0);
}
===========================================================================================
The following scheme code is used in examples/third to show all information that is
currently available:
(display (get-cpu)) (newline)
(display (get-mem)) (newline)
(display (get-swap)) (newline)
(display (get-uptime)) (newline)
(display (get-loadavg)) (newline)
(display (get-shm_limits)) (newline)
(display (get-msg_limits)) (newline)
(display (get-sem_limits)) (newline)
(display (get-sysdeps)) (newline)
(display (get-proclist)) (newline)
On my system, this yields:
(3796245 348706 66 89999 3357474)
(31715328 31354880 360448 13385728 401408 7237632 17567744)
(133885952 42160128 91725824)
(37962.49 33574.74)
(0.01 0.02 0.0)
(33554432 1 128 128 4194304)
(2048 16384 4056 16384 128 16 16384)
(4096 128 4096 4096 32 32 32 20 32767 16383)
(31 127 7 3 1 31 127 1023 3)
(71 4 284 1 2 3 246 247 210 8 48 81 83 153 157 167 170 171 172 173 174 175 178 181 195 191 200 203 207 248 215 216 217 220 222 227 245 249 250 251 253 254 315 267 331 373 338 334 335 345 337 372 374 342 343 344 375 14445 13119 6438 14555 13118 13801 6439 17362 18411 18455 6521 6522 6523 23979 23980 7905 7906)
===========================================================================================
Better documentation is on the way! There's still a little bit under the URL above.
Enjoy it!
Martin <martin@home-of-linux.org>

241
ANNOUNCE-0.25 Normal file
View File

@@ -0,0 +1,241 @@
[Posted to the Gnome Mailing List on Fri Aug 21 1998]
About this release:
------------------
LibGTop 0.25 is a stable release.
Of cause it has its bug like any software has, I'm planning
to fix as many bugs as possible in _this_ release and then
re-release it as libgtop-0.26 or even libgtop-0.30.
Especially portings to new operating systems should be made
in this release.
This also means that we can safely use this version of LibGTop
all over the GNOME project.
Currently LibGTop-Apps is still a little bit under development -
especially the LibGTop-Apps GTop does not yet have the full
functionallity of the real GTop.
We should test this extensively and then decide whether to continue
with the `libgtop-apps' module or whether to merge all its code
back into the modules it came from. I'd like to hear some comments
about this from you !
Please look at the release notes below for more details about this
release.
Where to get the sources
------------------------
The sources can be found at:
ftp://ftp.home-of-linux.org/pub/
Tarballs:
libgtop-0.25.0.tar.gz
libgtop-apps-0.25.0.tar.gz
Source RPM:
libgtop-0.25.0-REL.src.rpm
libgtop-apps-0.25.0-REL.src.rpm
Binary RPMS:
libgtop-0.25.0-REL.i386.rpm
libgtop-devel-0.25.0-REL.i386.rpm
libgtop-examples-0.25.0-REL.i386.rpm
libgtop-apps-0.25.0-REL.i386.rpm
There is some little problem with the binary RPMS of `libgtop-apps':
Most of its files will conflict with ones from `gnome-core' and `gnome-utils',
so you'll need to use the `--force' parameter to install it.
Getting the sources from CVS:
----------------------------
You can also fetch the sources from the GNOME CVS tree
(see http://www.gnome.org/ for details).
To get the latest sources:
$ cvs checkout libgtop
$ cvs checkout libgtop-apps
To get the sources of *this* release:
$ cvs checkout -r LIBGTOP_0_25 libgtop
$ cvs checkout -r LIBGTOP_0_25 libgtop-apps
To get the sources of this release with all bug-fixes applied:
$ cvs checkout -r LIBGTOP_0_25_PATCHES libgtop
$ cvs checkout -r LIBGTOP_0_25_PATCHES libgtop-apps
To get a patch to apply to the tarballs to get all bug-fixes:
$ cvs rdiff -r LIBGTOP_0_25 -r LIBGTOP_0_25_PATCHES libgtop
$ cvs rdiff -r LIBGTOP_0_25 -r LIBGTOP_0_25_PATCHES libgtop-apps
[Note for people having write access to the GNOME CVS tree:
Please apply bug fixes to the `LIBGTOP_0_25_PATCHES' branch and
merge them into the main trunk.
After merging, please re-tag the branch `libgtop_0_25_after_merge'.
This will help us to re-release this package when all bugs are
fixed.
]
RELEASE NOTES FOR LIBGTOP 0.25 STABLE
=====================================
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
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_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 priviledges for the calling
proces 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 priviledges, 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.
GNOME APPLETS:
--------------
There are some applets and applications which already use LibGTop. They can
be found in the `libgtop-apps' module in the GNOME CVS tree:
* Applets: cpuload, cpumemusage - they need LibGTop to get their information
on all systems other than Linux.
* Applets: diskusage - just uses the mountlist/fsusage features of LibGTop,
the one in gnome-core also works on other systems.
* Applets: multiload - I enhanced the cpuload applet a little bit, it is
now a multi applet and can display CPU, Memory and
Swap usages.
GTOP:
----
This cool GNOME app has been ported to use LibGTop. It can be found in
`libgtop-apps/gtop' in the GNOME CVS tree.
You can now use nearly the full functionality of GTop on FreeBSD !
PLATTFORM SPECIFIC NOTES FOR LINUX:
==================================
Under Linux, LibGTop should work without problems and read everything
from /proc.
There is also an experimental kernel interface to read this information
directly from the kernel with a system call - but this is still experimental
and not well tested while I made this release.
PLATTFORM SPECIFIC NOTES FOR FREEBSD:
====================================
LibGTop should now work under FreeBSD and give you the full functionality
of GTop.
There are a few caveats:
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to kmem
after installation and mount the /proc filesystem of FreeBSD
(/proc/<pid>/mem is used withing 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 to
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 everythink 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>

View File

@@ -1,2 +1,2 @@
Martin Baulig (martin@home-of-linux.org)
Drazen Kacar (dave@srce.hr)
Josh Sled <jsled@scam.XCF.Berkeley.EDU>

754
ChangeLog
View File

@@ -1,746 +1,3 @@
2002-02-10 Kevin Vandersloot <kfv101@psu.edu>
* configure.in: bump version
* release 1.90.2
2002-02-09 Bastien Nocera <hadess@hadess.net>
reviewed by: Kevin Vandersloot <kfv101@psu.edu>
* configure.in: remove need for dc, and clean up
* stamp-h.in, .cvsignore: remove
2002-02-05 Abel Cheung <maddog@linux.org.hk>
* configure.in (ALL_LINGUAS): zh_CN.GB2312 -> zh_CN
2001-01-14 Hasbullah bin Pit <sebol@ikhlas.com>
* configure.in: Added ms in ALL_LINGUAS.
* po/ms.po: Added Malay Translation.
* po/.cvsignore: Added 'libgtop-2.0.pot'.
2001-01-14 Abel Cheung <maddog@linux.org.hk>
* configure.in: Sync'ed ALL_LINGUAS with files in po directory,
and renamed GETTEXT_PACKAGE to avoid conflict with libgtop 1.0.x.
2002-01-10 Kevin Vandersloot <kfv101@psu.edu>
* acininclude.m4: add back the support stuf but make it really
work
* configure.in: bump version number, add back GNOME_SUPPORT
check since that was causing a build failure
* release 1.90.1
2002-01-09 Kevin Vandersloot <kfv101@psu.edu>
* acinclude.m4: remove gnome support check. Fixes the build
for those with automake < 1.4p5.
* configure.in: remove check for GNOME_SUPPORT
2001-14-27 Miles Lane <miles@megapathdsl.net>
* acconfig.h: Added "#undef HAVE_GETTEXT" entry.
* LIBGTOP_VERSION: Removed file.
* configure.in: added glib-gettextize support and
moved in the *VERSION* stuff from LIBGTOP_VERSION.
2001-11-27 Kevin Vandersloot <kfv101@psu.edu>
* acinclude.m4: copy some of the macros that were formerly
in gnome-macros
* configure.in, sysdeps/Makefile.am: comment out guile
support for now.
* release 1.90.0
2001-11-26 Kevin Vandersloot <kfv101@psu.edu>
* src/daemon/gnuserv.c: Apply patch fixing security issue from
intexxia labs - #1048-261101
2001-11-26 Abel Cheung <maddog@linux.org.hk>
* src/inodedb/file_by_inode.c: Rename to file_by_inode2.c
* src/inodedb/mkinodedb.c: Rename to mkinodedb2.c
* po/POTFILES.in: Reflect above change
* */.cvsignore: Add various files
2001-11-25 Kevin Vandersloot <kfv101@psu.edu>
* port stable libgtop to GNOME 2.0. Too much to detail.
pkgconfig is now used. Libs are named libgtop-2.0 etc for
parallel install.
2001-10-17 Abel Chueng <maddog@linux.org.hk>
* configure.in, Makefile.am, include/glibtop/Makefile.am: headers
moved to $(includedir)/libgtop-1.0/glibtop.
2001-09-16 Abel Chueng <maddog@linux.org.hk>
* configure.in: Added "zh_TW" to ALL_LINGUAS.
2001-02-13 Martin Baulig <baulig@suse.de>
Released LibGTop 1.0.12 "Gerolzhofen".
* NEWS: Added news entry to 1.0.12.
* LIBGTOP-VERSION: Set version number to 1.0.12, binary age 11,
interface age 11.
2001-02-19 Simos Xenitellis <simos@hellug.gr>
* configure.in: Added "el" to ALL_LINGUAS.
2001-02-15 Martin Baulig <baulig@suse.de>
Released LibGTop 1.0.11 "Jasmin".
* NEWS: Added news entry for 1.0.11.
2001-02-14 Martin Baulig <baulig@suse.de>
Merged from LIBGTOP_1_1_2_PATCHES.
* libgtop-sysdeps.m4 (GLIBTOP_SOLARIS_RELEASE): Define this on Solaris;
we use version codes like 270 for SunOS 5.7 and 251 for SunOS 2.5.1.
* LIBGTOP-VERSION (LIBGTOP_VERSION_SUFFIX): Added this so you can
have your tarballs called `libgtop-1.x.y-snap.tar.gz' or whatever.
This only affects the `VERSION' variable and thus how the resulting
tarball will be called, but not `LIBGTOP_VERSION_CODE' etc.
* configure.in, acconfig.h: Added checks for <procfs.h>
and <sys/procfs.h>
* configure.in (DL_LIB): Check for dlopen() and AC_SUBST this.
* Makefile.am: Make `aclocal.m4' also depend on `LIBGTOP-VERSION'
when in maintainer-mode.
2001-02-14 Martin Baulig <baulig@suse.de>
* include/glibtop/limits.h: Removed; this file doesn't exist
in the stable branch.
2001-02-13 Martin Baulig <baulig@suse.de>
* LIBGTOP-VERSION: Set version number to 1.0.11, binary age 10,
interface age 10.
2001-02-13 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
* configure.in: Added sk to ALL_LINGUAS
2001-02-08 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
* configure.in (ALL_LINGUAS): Added pt_BR to ALL_LINGUAS.
2000-11-21 Martin Baulig <baulig@suse.de>
* libgtop-config.h.in: Added `--cflags', `--libs' and `--extra-libs'
parameters.
2000-11-20 Martin Baulig <baulig@suse.de>
Released LibGTop 1.0.10 "November Rain".
* LIBGTOP-VERSION: Set version number to 1.0.10, binary age 9,
interface age 9.
2000-05-25 Martin Baulig <baulig@suse.de>
Released LibGTop 1.0.9 "Stuttgart".
* LIBGTOP-VERSION: Set version number to 1.0.9 binary age 8,
interface age 8.
(LibGTop 1.0.8 "Frankfurt" was not publically released.)
2000-02-20 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION: Set version number to 1.0.8 binary age 7,
interface age 7.
2000-02-15 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 1.0.7 "Copenhagen".
1999-10-19 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION: Set version number to 1.0.7 binary age 6,
interface age 6.
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.
1999-09-22 Kjartan Maraas <kmaraas@online.no>
* configure.in: Added "da" to ALL_LINGUAS.
1999-09-19 Martin Baulig <martin@home-of-linux.org>
* libgtopConf.sh.in: Added MODULE_VERSION on Miguel's
request (set it to "libgtop-@LIBGTOP_VERSION@").
1999-09-18 Pablo Saratxaga <pablo@mandrakesoft.com>
* configure.in, po/*.po: merged *.po files from HEAD CVS
1999-09-17 Martin Baulig <martin@home-of-linux.org>
* configure.in: Make it work if we have GNOME and the user
gave use --without-gnome (fixes bug #1735).
1999-09-17 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION: Set version number to 1.0.4 binary age 3,
interface age 3.
1999-09-16 Martin Baulig <martin@home-of-linux.org>
Merged everything since May 31 from HEAD and released
LibGTop 1.0.3.
1999-07-29 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/error.h: Use G_GNUC_UNUSED.
* configure.in (ENABLE_STATIC, ENABLE_SHARED): New automake
conditionals.
1999-07-11 Tomas Ogren <stric@ing.umu.se>
* configure.in: Added sv to ALL_LINGUAS
1999-07-11 Tomas Ogren <stric@ing.umu.se>
* sysdeps/names/procmem.c: Fixed a tyop
1999-05-31 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION: Set version number to 1.0.3 binary age 2,
interface age 2.
1999-05-31 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 1.0.2.
1999-05-26 Martin Baulig <martin@home-of-linux.org>
* configure.in (INCLUDES): Define `LIBGTOP_VERSION_CODE' here so we
can use version conditionals in the sysdeps code.
1999-05-25 Martin Baulig <martin@home-of-linux.org>
* libgtop-sysdeps.m4: Make the I4B check work for NetBSD.
1999-05-16 Martin Baulig <martin@home-of-linux.org>
* doc: Merged the LibGTop Manual from the HEAD.
1999-03-01 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 1.0.1.
* LIBGTOP-VERSION: Set version number to 1.0.1 binary age 0,
interface age 0.
1999-03-01 Martin Baulig <martin@home-of-linux.org>
* configure.in (LIBGTOP_LIBS): Move `-lgtop_common' last to
make it work with static-only libs. Thanks to Roderik Muit
for pointing this out.
(PERL): First check for `perl5', then for `perl'. Thanks again
to Roderik Muit.
1999-02-24 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 1.0.0.
* LIBGTOP-VERSION: Set version number to 1.0.0 binary age 0,
interface age 0.
* configure.in: Require GLIB >= 1.2.0.
1999-02-23 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 0.100.0.
Make the copyright of LibGTop be the GNU General Public License.
* LIBGTOP-VERSION: Set version number to 0.100.0 binary age 0,
interface age 0.
* 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-21 Martin Baulig <martin@home-of-linux.org>
* configure.in (LIBGTOP_*_INCS): Define `HAVE_GLIBTOP_MACHINE_H'
if appropriate.
1999-02-19 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 0.99.9.
* LIBGTOP-VERSION: Set version number to 0.99.9 binary age 0,
interface age 0.
* include/glibtop/error.h: Don't include <glib.h>.
* sysdeps/common/error.c: Use `int' not `gint'.
* misc/porting-libgtop.txt: Added a few instructions on how
to port LibGTop to Solaris.
* 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))".
* sysdeps/common/error.h: Replaced inline with static.
1999-02-18 Martin Baulig <martin@home-of-linux.org>
* */*.awk: Replaced all awk scripts with perl scripts since it is
more likely that people have a working perl interpreter than GNU
awk on their system.
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-17 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 0.99.8.
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@'.
1999-02-15 Jeff Garzik <jgarzik@pobox.com>
* 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:
Removed hardcoded gcc arguments from CFLAGS.
* include/glibtop/error.h:
Added FIXME comment about varargs macros breaking Sun cc
compilation.
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.
1999-02-10 Martin Baulig <martin@home-of-linux.org>
* configure.in (program_invocation_name): Check whether we need
to declare this; some libc5 systems define that symbol but do
not declare it in any header file.
1999-02-10 Martin Baulig <martin@home-of-linux.org>
* libgtop.spec.in, libgtop.spec: Replaced libgtop.spec with
with libgtop.spec.in, so libgtop.spec is now a generated file.
1999-02-05 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/global.h: Enclose some of the stuff in this
file in `#ifdef _IN_LIBGTOP'.
1999-02-04 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/global.h (_): Use dgettext (), not gettext ().
1999-01-23 Martin Baulig <martin@home-of-linux.org>
* libgtopConf.sh.in (LIBGTOP_DATADIR): New variable.
1999-01-06 Martin Baulig <martin@home-of-linux.org>
* libgtop-sysdeps.m4: Always enable SMP support for Linux.
1999-01-03 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 0.99.2.
1999-01-05 Martin Baulig <martin@home-of-linux.org>
* libgtop.spec: Always build SMP support; binary packages should
contain all possible features.
* configure.in: LibGTop will now require GLIB >= 1.1.12.
1999-01-05 Martin Baulig <martin@home-of-linux.org>
* configure.in: Make it abort if the `dc' utility is not installed.
1999-01-03 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 0.99.1.
1998-12-25 Martin Baulig <martin@home-of-linux.org>
* configure.in (LIBGTOP_INCS): Define `HAVE_LIBGTOP_SMP' if SMP
support was enabled.
1998-12-22 Yukihiro Nakai <Nakai@TokyoNet.AD.JP>
* configure.in (ALL_LINGUAS): Added `ja'.
1998-12-18 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Applied patch from Edward Jason Riedy to use '#'
as separator in sed commands.
1998-12-15 Martin Baulig <martin@home-of-linux.org>
Released LibGTop 0.99.0 which is a feature-freezed version
for GNOME 1.0.
1998-12-09 Martin Baulig <martin@home-of-linux.org>
* configure.in: We need to define LIBSUPPORT and SUPPORTINCS under
all circumstances as it is in gnome-libs.
* include/glibtop/procargs.h (glibtop_get_proc_args): Make the
return value a `char *' instead of a `const char *'.
1998-12-09 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION: Set version number to 0.29.1.
1998-12-09 Martin Baulig <martin@home-of-linux.org>
* libgtop-sysdeps.m4: Moved here from the macros directory,
formerly known as `macros/gnome-libgtop-sysdeps.m4'.
(--enable-hacker-mode): New command line parameter to configure,
enables building of unstable sysdeps directories.
(LIBGTOP_HACKER_TESTS): New macro to check for unsafe things when
hacker mode was enabled.
1998-12-06 Martin Baulig <martin@home-of-linux.org>
* configure.in: Make it abort if GNOME cannot be found and
the --without-gnome parameter was not given.
1998-12-03 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION (LIBGTOP_VERSION_CODE): Pipe the expression
through `dc' so we get a real number.
1998-12-03 Martin Baulig <martin@home-of-linux.org>
LibGTop now requires gettext >= 0.10.35.
* intl: Removed &intl CVS alias.
1998-11-27 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION: Set version number to 0.29.0.
* TODO: Add things that need to be done before Dec 15.
This is basically a feature freeze for the C language part
of LibGTop except for things that are marked with (***) in
the TODO.
1998-11-20 Martin Baulig <baulig@merkur.uni-trier.de>
* sysdeps/common/mountlist.c: Applied a patch from Kenneth Stailey to
make it work on OpenBSD.
1998-11-18 Martin Baulig <martin@home-of-linux.org>
* lib/open.c (glibtop_open_l): We need to set argv[0] in call
to execl () to avoid a core dump in _init () on FreeBSD 3.0.
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-11 Martin Baulig <martin@home-of-linux.org>
* configure.in (--enable-debug): Define LIBGTOP_ENABLE_DEBUG
if this parameter is given.
(--enable-fatal-warnings): New parameter to make all warnings
fatal; define `LIBGTOP_FATAL_WARNINGS' if given.
* sysdeps/common/error.c (glibtop_error_r): Use abort () instead
of exit () if LIBGTOP_ENABLE_DEBUG.
(glibtop_error_io_r): Likewise.
(glibtop_warn_r): Call abort () if LIBGTOP_FATAL_WARNINGS.
(glibtop_warn_io_r): Likewise.
[NOTE: To get a core dump of the libgtop_server, you need to
remove all suid/sgid bits and invoke it as a priviledged user.]
1998-11-08 Raja R Harinath <harinath@cs.umn.edu>
* Makefile.am (support): Don't build if not BUILD_GNOME_SUPPORT.
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.
1998-10-26 Martin Baulig <martin@home-of-linux.org>
Added `Network Load' feature (netload).
* include/glibtop/netload.h: New file.
* features.def: Added new feature `netload'.
1998-10-26 Martin Baulig <martin@home-of-linux.org>
Added `Command Line Parameters' feature (proc_args).
* include/glibtop/proc_args.h: New file.
* features.def: Added new feature `proc_args'.
* lib/lib.awk: New type `unsigned' for the features.def which
is `unsigned'.
1998-10-25 Martin Baulig <martin@home-of-linux.org>
Added PPP/ISDN support.
* include/glibtop/ppp.h: New file.
* features.def: Added new feature `ppp'.
* acconfig.h (HAVE_I4B): Defined if we have the I4B package.
(HAVE_I4B_ACCT): Defined if we have ISDN statistics with I4B.
* misc: New directory.
* misc/i4b_acct.txt: Read this file to get ISDN statistics on BSD.
* lib/lib.awk: New type `ushort' for the features.def which is
`unsigned short'.
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-12 Martin Baulig <martin@home-of-linux.org>
* configure.in (GNOME_COMPILE_WARNINGS): Let the user enable
compiler warnings.
(--with-libgtop-guile): Make the default to build the guile
interface if guile can be found.
* Makefile.am (confexec_DATA): Install `feature.def' as
`libgtop-features.def'.
* libgtop.spec: Added `%{prefix}/lib/*.def' to the file list.
1998-10-11 Martin Baulig <martin@home-of-linux.org>
* configure.in: Don't create `guile/Makefile'.
* Makefile.am (DIST_SUBDIRS): Removed.
(SUBDIRS): Removed `guile'.
* 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.
1998-10-11 Martin Baulig <martin@home-of-linux.org>
* sysdeps/guile/ChangeLog: New file.
* LIBGTOP-VERSION: Set version number to 0.26.3.
* libgtop.spec: Likewise.
* Makefile.am (confexec_DATA): Added `features.def'.
* libgtop-config.in: Added `--features-def-file' parameter
to get pathname of installed `features.def' file.
* perl: Removed everything in this subdirectory. This was
only experimental. The real perl bindings for LibGTop are
in the libgtop-bindings module.
1998-10-11 Martin Baulig <martin@home-of-linux.org>
* src/inodedb/Makefile.am: Removed @libs_xauth@ and -lgdbm
from the _LDADD variables since libtool automatically gets
the dependencies.
* src/daemon/Makefile.am: Likewise.
* examples/Makefile.am: Likewise.
1998-10-10 Martin Baulig <martin@home-of-linux.org>
* configure (LIBGTOP_EXTRA_LIBS): Added `GLIB_LIBS'.
* perl/ChangeLog: New file.
1998-10-07 Martin Baulig <martin@home-of-linux.org>
* configure.in (ALL_LINGUAS): Added `de'.
1998-10-03 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/global.h: Only include system header files
if we are `_IN_LIBGTOP'.
(G_GNUC_NORETURN, G_GNUC_CONST, G_GNUC_UNUSED): Added those
definitions if we are `_IN_LIBGTOP'.
1998-09-29 Sung-Hyun Nam <namsh@lgic.co.kr>
* configure.in (ALL_LINGUAS): add `ko'
* po/ko.po: new file.
1998-09-27 Martin Baulig <martin@home-of-linux.org>
* configure.in: Make it really *require* GLIB >= 1.1.3.
1998-09-27 Raja R Harinath <harinath@cs.umn.edu>
* configure.in: Move check for `-lresolv', `-lsocket' and `-lnsl'
after X11 checks.
1998-09-27 Martin Baulig <martin@home-of-linux.org>
* configure.in: Do not even check for guile if it is disabled.
1998-09-12 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/sysinfo.h: New file. This is used in guname to
fetch as many information about the system as possible like detailed
information about hardware etc.
* configure.in (AM_PATH_GLIB): LibGTop now requires glib.
1998-09-09 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
* include/glibtop/proctime.h (glibtop_proc_time): Added `xcpu_utime'
and `xcpu_stime'.
* sysdeps/linux/ChangeLog: New file.
* glibtop.h (glibtop): Added `ncpu'. This is zero for single processor
systems and the number of CPUs otherwise.
* include/glibtop/cpu.h (glibtop_cpu): Added `xcpu_total', `xcpu_user',
`xcpu_nice', `xcpu_sys' and `xcpu_idle'.
(GLIBTOP_NCPU): #define this to 4.
1998-09-08 Martin Baulig <baulig@merkur.uni-trier.de>
* configure.in: Make the default to disable guile.
1998-08-30 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION (LIBGTOP_VERSION_CODE): Added. This is a numerical
constant ("1.234.567" -> 1234567) to be used in C preprocessor
conditionals.
1998-08-29 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION (LIBGTOP_INTERFACE_AGE, LIBGTOP_BINARY_AGE): Added.
@@ -748,17 +5,6 @@
(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-25 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/command.h (glibtop_call): Third argument is
now `const void *'.
* include/glibtop/xmalloc.h (glibtop_free): Now taking a
`const void *'.
1998-08-25 Martin Baulig <martin@home-of-linux.org>
* src/daemon/ChangeLog: New file.

View File

@@ -6,23 +6,18 @@
# if backwards compatibility has been broken,
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
#
LIBGTOP_MAJOR_VERSION=1
LIBGTOP_MINOR_VERSION=90
LIBGTOP_MICRO_VERSION=0
LIBGTOP_MAJOR_VERSION=0
LIBGTOP_MINOR_VERSION=25
LIBGTOP_MICRO_VERSION=1
LIBGTOP_INTERFACE_AGE=0
LIBGTOP_BINARY_AGE=0
# you can set this to `-snap' for instance to create
# a `libgtop-1.x.y-snap.tar.gz' tarball.
LIBGTOP_VERSION_SUFFIX=
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
# Increase each time you change the client/server protocol.
LIBGTOP_SERVER_VERSION=5
# Don't change this
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
LIBGTOP_VERSION_CODE=`echo "$LIBGTOP_MAJOR_VERSION 1000000 * $LIBGTOP_MINOR_VERSION 1000 * + $LIBGTOP_MICRO_VERSION + p q" | dc`
LIBGTOP_SERVER_VERSION=1
# For automake.
VERSION=$LIBGTOP_VERSION$LIBGTOP_VERSION_SUFFIX
VERSION=$LIBGTOP_VERSION
PACKAGE=libgtop

View File

@@ -6,47 +6,42 @@ else
examples_SUBDIRS =
endif
if BUILD_GNOME_SUPPORT
support = support
if GUILE
guile_SUBDIRS = guile
else
guile_SUBDIRS =
endif
SUBDIRS = po $(support) misc include sysdeps lib src \
$(examples_SUBDIRS) doc
libgtopinclude_HEADERS = glibtop.h
libgtopincludedir = $(includedir)/libgtop-2.0
SUBDIRS = po intl support macros include sysdeps lib src \
$(examples_SUBDIRS)
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 RELNOTES-1.0.x libgtop-sysdeps.m4 README \
libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4
DIST_SUBDIRS = po intl support macros include sysdeps src lib guile examples
dist-hook:
cp libgtop.spec $(distdir)
include_HEADERS = glibtop.h
EXTRA_DIST = autogen.sh libgtop.spec copyright.txt libgtopConf.sh.in \
LIBGTOP-VERSION features.def perl/Makefile.PL.in perl/perl.awk \
perl/MANIFEST perl/Changes libgtop-config.in RELNOTES-0.25
release:
$(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
$(MAKE) dist distdir=$(PACKAGE)$(VERSION)
## Put `exec' in the name because this should be installed by
## `install-exec', not `install-data'.
## confexecdir = $(libdir)
## confexec_DATA = $(top_builddir)/libgtopConf.sh \
## $(top_builddir)/libgtop-features.def
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtop-2.0.pc
confexecdir=$(libdir)
confexec_DATA = $(top_builddir)/libgtopConf.sh
CLEANFILES=libgtopConf.sh
bin_SCRIPTS = $(top_builddir)/libgtop-config
## bin_SCRIPTS = $(top_builddir)/libgtop-config
noinst_DATA = $(top_builddir)/perl/Makefile.PL \
$(top_builddir)/perl/Libgtop.xs
## to automatically rebuild aclocal.m4 if any of the macros in
## `macros/' change
## @MAINT@ include macros/macros.dep
## @MAINT@macros/macros.dep: macros/Makefile.am
## @MAINT@ cd macros && $(MAKE) macros.dep
@MAINT@$(top_srcdir)/aclocal.m4: libgtop-sysdeps.m4 LIBGTOP-VERSION
@MAINT@include macros/macros.dep
@MAINT@macros/macros.dep: macros/Makefile.am
@MAINT@ cd macros && $(MAKE) macros.dep
## We create libgtopConf.sh here and not from configure because we want
## to get the paths expanded correctly. Macros like srcdir are given
@@ -54,40 +49,58 @@ CLEANFILES=libgtopConf.sh
## is an autoconf feature, not a bug).
libgtopConf.sh: libgtopConf.sh.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)/libgtop-2.0#g' \
-e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \
-e 's#\@LIBGTOP_EXTRA_LIBS\@#$(LIBGTOP_EXTRA_LIBS)#g' \
-e 's#\@LIBGTOP_LIBS\@#$(LIBGTOP_LIBS)#g' \
-e 's#\@LIBGTOP_INCS\@#$(LIBGTOP_INCS)#g' \
-e 's#\@LIBGTOP_NAMES_LIBS\@#$(LIBGTOP_NAMES_LIBS)#g' \
-e 's#\@LIBGTOP_NAMES_INCS\@#$(LIBGTOP_NAMES_INCS)#g' \
-e 's#\@LIBGTOP_GUILE_LIBS\@#$(LIBGTOP_GUILE_LIBS)#g' \
-e 's#\@LIBGTOP_GUILE_INCS\@#$(LIBGTOP_GUILE_INCS)#g' \
-e 's#\@LIBGTOP_GUILE_NAMES_LIBS\@#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
-e 's#\@LIBGTOP_GUILE_NAMES_INCS\@#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
-e 's#\@LIBGTOP_BINDIR\@#$(LIBGTOP_BINDIR)#g' \
-e 's#\@LIBGTOP_SERVER\@#$(LIBGTOP_SERVER)#g' \
-e 's#\@LIBGTOP_MAJOR_VERSION\@#$(LIBGTOP_MAJOR_VERSION)#g' \
-e 's#\@LIBGTOP_MINOR_VERSION\@#$(LIBGTOP_MINOR_VERSION)#g' \
-e 's#\@LIBGTOP_MICRO_VERSION\@#$(LIBGTOP_MICRO_VERSION)#g' \
-e 's#\@LIBGTOP_VERSION\@#$(LIBGTOP_VERSION)#g' \
-e 's#\@LIBGTOP_VERSION_CODE\@#$(LIBGTOP_VERSION_CODE)#g' \
-e 's#\@LIBGTOP_SERVER_VERSION\@#$(LIBGTOP_SERVER_VERSION)#g' \
-e 's#\@libgtop_sysdeps_dir\@#$(libgtop_sysdeps_dir)#g' \
-e 's#\@libgtop_need_server\@#$(libgtop_need_server)#g' \
-e 's#\@libgtop_use_machine_h\@#$(libgtop_use_machine_h)#g' \
-e 's#\@libgtop_guile_found\@#$(libgtop_guile_found)#g' \
-e 's#\@libgtop_want_examples\@#$(libgtop_want_examples)#g' \
sed -e 's,\@LIBGTOP_LIBDIR\@,$(libdir),g' \
-e 's,\@LIBGTOP_INCLUDEDIR\@,$(includedir),g' \
-e 's,\@LIBGTOP_EXTRA_LIBS\@,$(LIBGTOP_EXTRA_LIBS),g' \
-e 's,\@LIBGTOP_LIBS\@,$(LIBGTOP_LIBS),g' \
-e 's,\@LIBGTOP_INCS\@,$(LIBGTOP_INCS),g' \
-e 's,\@LIBGTOP_NAMES_LIBS\@,$(LIBGTOP_NAMES_LIBS),g' \
-e 's,\@LIBGTOP_NAMES_INCS\@,$(LIBGTOP_NAMES_INCS),g' \
-e 's,\@LIBGTOP_GUILE_LIBS\@,$(LIBGTOP_GUILE_LIBS),g' \
-e 's,\@LIBGTOP_GUILE_INCS\@,$(LIBGTOP_GUILE_INCS),g' \
-e 's,\@LIBGTOP_GUILE_NAMES_LIBS\@,$(LIBGTOP_GUILE_NAMES_LIBS),g' \
-e 's,\@LIBGTOP_GUILE_NAMES_INCS\@,$(LIBGTOP_GUILE_NAMES_INCS),g' \
-e 's,\@LIBGTOP_BINDIR\@,$(LIBGTOP_BINDIR),g' \
-e 's,\@LIBGTOP_SERVER\@,$(LIBGTOP_SERVER),g' \
-e 's,\@LIBGTOP_MAJOR_VERSION\@,$(LIBGTOP_MAJOR_VERSION),g' \
-e 's,\@LIBGTOP_MINOR_VERSION\@,$(LIBGTOP_MINOR_VERSION),g' \
-e 's,\@LIBGTOP_MICRO_VERSION\@,$(LIBGTOP_MICRO_VERSION),g' \
-e 's,\@LIBGTOP_VERSION\@,$(LIBGTOP_VERSION),g' \
-e 's,\@LIBGTOP_SERVER_VERSION\@,$(LIBGTOP_SERVER_VERSION),g' \
-e 's,\@libgtop_sysdeps_dir\@,$(libgtop_sysdeps_dir),g' \
-e 's,\@libgtop_need_server\@,$(libgtop_need_server),g' \
-e 's,\@libgtop_use_machine_h\@,$(libgtop_use_machine_h),g' \
-e 's,\@libgtop_guile_found\@,$(libgtop_guile_found),g' \
-e 's,\@libgtop_want_examples\@,$(libgtop_want_examples),g' \
< $(srcdir)/libgtopConf.sh.in > libgtopConf.tmp \
&& mv libgtopConf.tmp libgtopConf.sh
# libgtop-config: libgtop-config.in Makefile
# sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
# < $(srcdir)/libgtop-config.in > libgtop-config.tmp \
# && mv libgtop-config.tmp libgtop-config && \
# chmod 755 libgtop-config
libgtop-config: libgtop-config.in Makefile
sed -e 's,\@LIBGTOP_LIBDIR\@,$(libdir),g' \
< $(srcdir)/libgtop-config.in > libgtop-config.tmp \
&& mv libgtop-config.tmp libgtop-config && \
chmod 755 libgtop-config
libgtop-features.def: features.def
@LN_S@ $< $@
perl/Makefile.PL: perl/Makefile.PL.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's,\@LIBGTOP_LIBDIR\@,$(libdir),g' \
-e 's,\@LIBGTOP_INCLUDEDIR\@,$(includedir),g' \
-e 's,\@LIBGTOP_LIBS\@,$(LIBGTOP_LIBS),g' \
-e 's,\@LIBGTOP_INCS\@,$(LIBGTOP_INCS),g' \
-e 's,\@LIBGTOP_GUILE_LIBS\@,$(LIBGTOP_GUILE_LIBS),g' \
-e 's,\@LIBGTOP_GUILE_INCS\@,$(LIBGTOP_GUILE_INCS),g' \
-e 's,\@LIBGTOP_BINDIR\@,$(LIBGTOP_BINDIR),g' \
-e 's,\@LIBGTOP_SERVER\@,$(LIBGTOP_SERVER),g' \
-e 's,\@libgtop_sysdeps_dir\@,$(libgtop_sysdeps_dir),g' \
-e 's,\@libgtop_need_server\@,$(libgtop_need_server),g' \
-e 's,\@libgtop_use_machine_h\@,$(libgtop_use_machine_h),g' \
-e 's,\@libgtop_guile_found\@,$(libgtop_guile_found),g' \
-e 's,\@libgtop_want_names\@,$(libgtop_want_names),g' \
-e 's,\@libgtop_want_guile_names\@,$(libgtop_want_guile_names),g' \
-e 's,\@libgtop_want_examples\@,$(libgtop_want_examples),g' \
< $(srcdir)/perl/Makefile.PL.in > perl/Makefile.tmp \
&& mv perl/Makefile.tmp perl/Makefile.PL
perl/Libgtop.xs: perl/perl.awk $(top_builddir)/config.h $(top_srcdir)/features.def
$(AWK) -f $(top_srcdir)/perl/perl.awk < $(top_srcdir)/features.def > perl/lgt-t
mv perl/lgt-t perl/Libgtop.xs

258
NEWS
View File

@@ -1,68 +1,244 @@
February 27, 2001:
=================
$Id$
* Released LibGTop 1.0.12 "Gerolzhofen".
Jun/01/1998
===========
- fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).
* We have some new ``suffix rules'':
- fix for FreeBSD 4.2 from Rolf Grossmann (FreeBSD now uses
`_KERNEL' instead of `KERNEL'). Bug #51334.
'__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'.
- for BSDI, comment out `subnet' field in netload; this should make
it compile, but there may be other problems. Bug #13345.
* 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.
This release is for GNOME 1.4 Beta2.
* 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).
February 14, 2001:
=================
* If you call one of these functions:
* Released LibGTop 1.0.11 "Jasmin":
-> 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).
[The release which was supposed to be called "Gerolzhofen".]
Only use the '__p' and '__s' functions in a 'GLIBTOP_SUID_<feature>'
conditional, otherwise you'll get undefined symbols !
- merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.
* 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.
- minor OpenBSD fixes.
* 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:
- again a bunch of updated translations.
-> I want to have a SUID server that only implements those features
that need to be SUID; everything else uses the sysdeps code directly.
Please test the Solaris stuff and report and bugs and
problems as soon as possible; I'll make a new release
for the 2nd beta of GNOME 1.4 if necessary.
-> If a program only uses stuff that do not need the server, the
server will not be started at all.
November 20, 2000:
=================
-> 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.
* Released LibGTop 1.0.10 "November Rain":
* Well it is as much unstable that it only works under Linux at the moment.
- this release contains a bunch of updated translations.
1998-06-01 Martin Baulig <martin@home-of-linux.org>
May 25, 2000:
============
* sysdeps/common/sysdeps.c: now using '__r' functions,
they are #defined either as the '__p' or the '__s' ones.
* Released LibGTop 1.0.9 "Stuttgart".
* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
it now takes two additional arguments.
(LibGTop 1.0.8 "Frankfurt" was not publically released.)
* examples/{first.c, second.c}: now using 'glibtop_init'
instead of 'glibtop_init__r'.
February 15, 2000:
=================
* include/glibtop/sysdeps.h: added 'dummy' member so
'GLIBTOP_SYSDEPS_<feature>' now start with 1.
* Released LibGTop 1.0.7 "Copenhagen":
* 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.
- this is a bug fix release for the GUADEC CD-ROM;
it contains fixes in both the Linux and *BSD sysdeps
directory.
* 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.
October 18, 1999:
================
1998-05-28 Martin Baulig <baulig@merkur.uni-trier.de>
* Released LibGTop 1.0.6 "October LibGTop":
* 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.
- compilation fixes for FreeBSD.
- updated reference manual.
* 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.
September 29, 1999:
==================
* lib/sysdeps.c: removed that file; it is no longer
needed.
* Released LibGTop 1.0.5.
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).

59
README
View File

@@ -1,8 +1,57 @@
$Id$
Hi all,
LATEST NEWS:
[PLEASE READ THE FILE ``README.LATEST'' FOR LATEST NEWS]
this is the latest alpha version of libgtop, a library that fetches
information about the running system such as cpu and memory usage,
active processes etc. On Linux systems, these information are taken
directly from the /proc filesystem. For other systems such as Solaris,
where such programs need to be suid root (or only setgid kmem/mem on
some systems), it provides a suid/setgid server that fetches those
information and a client-side library that talks to this server.
Main idea was to have the same interface for all operating systems,
thus all system dependent details are hidden in the implementation
of that server.
Currently, it only works for Linux, documentation on how to port it
to other systems is on the way. I'm planning to keep this site an
up-to-date mirror of my local machine (which is connected to the
internet over some expensive dialup connection, so I'll upload it about
once every day I made significant changes) so that you can always find
the latest version of the software here.
I've written a simple guile interface for the library to show which
information it can already fetch. See examples/third for details.
Source Code:
===========
Please look also in the file 'NEWS' for latest news.
Martin
libgtop-current-cvs.cpio.gz is a cpio archive from the CVS repository
libgtop-current.cpio.gz contains the lates checked out sources
libgtop-stable.cpio.gz if present, it contains the last stable release
Documentation:
=============
libgtop.sgml is the SGML source of the (DocBook) documentation
The next three files are only provided until they get too big to upload.
libgtop.tex TEX file of the documentation
libgtop.dvi DVI file of the documentation
libgtop.ps Postscript file of the documentation
HTML-Documentation:
==================
libgtop.shtml Start here to browse the HTML documentation
Other stuff:
===========
README, NEWS, ChangeLog copied from the sources
Enjoy it!
Martin (martin@home-of-linux.org - baulig@merkur.uni-trier.de)

8
README.LATEST Normal file
View File

@@ -0,0 +1,8 @@
$Id$
LATEST NEWS:
===========
Please look also in the file 'NEWS' for latest news.
Martin

View File

@@ -1,163 +0,0 @@
RELEASE NOTES FOR LIBGTOP 1.0 STABLE
====================================
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:
-----------------
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 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).
However, you can also give its configure.in script the `--without-gnome'
parameter and then use it fully without GNOME in your own applications.
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.
Currently my primary aim is to help the GNOME people with our 1.0 release
so I won't have much time to test it with any other system than Linux.
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:
==================================
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:
====================================
Since so many people were asking me about this:
LibGTop currently does not have any support for Solaris, and it will
never have until some volunteer writes the code for it. I can't do this
myself since I do not have any machine to test it on.
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>

View File

@@ -1,172 +0,0 @@
RELEASE NOTES FOR LIBGTOP 1.0.7
===============================
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>

View File

@@ -11,14 +11,10 @@
/* Define if getpagesize () must be declared. */
#undef NEED_DECLARATION_GETPAGESIZE
/* Define if program_invocation_name must be declared. */
#undef NEED_DECLARATION_PROGRAM_INVOCATION_NAME
@TOP@
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef GETTEXT_PACKAGE
#undef HAVE_GETTEXT
#undef HAVE_LC_MESSAGES
#undef HAVE_STPCPY
@@ -122,6 +118,7 @@
#undef HAVE_LIBTIFF
#undef HAVE_LIBZ
#undef HAVE_LIBPNG
#undef GNOME_ENABLE_DEBUG
#undef HAVE_GMP2_INCLUDE_DIR
#undef HAVE_GUILE
@@ -140,31 +137,6 @@
#undef NEED_LIBGTOP
#undef HAVE_LINUX_TABLE
#undef HAVE_LIBGTOP_SMP
#undef HAVE_XAUTH
/* Define if your have the I4B package. */
#undef HAVE_I4B
#undef HAVE_I4B_ACCT
/* Define to enable debugging. */
#undef LIBGTOP_ENABLE_DEBUG
#undef LIBGTOP_FATAL_WARNINGS
/* Same as LINUX_VERSION_CODE either from <linux/version.h> or from
* the running kernel (if we don't have configured kernel sources).
*/
#undef GLIBTOP_LINUX_VERSION_CODE
/* Solaris release code (eg. 251 for Solaris 2.5.1). */
#undef GLIBTOP_SOLARIS_RELEASE
/* Define if you want to use LibGTop without GNOME. */
#undef WITHOUT_GNOME
/* Define if you have the <procfs.h> header file */
#undef HAVE_PROCFS_H
/* Define if you have the <sys/procfs.h> header file */
#undef HAVE_SYS_PROCFS_H

File diff suppressed because it is too large Load Diff

View File

@@ -14,8 +14,4 @@ PKG_NAME="Gnome Top Library"
exit 1
}
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
USE_GNOME2_MACROS=1 . gnome-autogen.sh
. $srcdir/macros/autogen.sh

883
config.guess vendored Executable file
View File

@@ -0,0 +1,883 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Written by Per Bothner <bothner@cygnus.com>.
# The master version of this file is at the FSF in /home/gd/gnu/lib.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit system type (host/target name).
#
# Only a few systems have been added to this list; please add others
# (but try to keep the structure clean).
#
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
cat <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-cbm-sysv4
exit 0;;
amiga:NetBSD:*:*)
echo m68k-cbm-netbsd${UNAME_RELEASE}
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hkmips:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
arm32:NetBSD:*:*)
echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit 0 ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit 0 ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit 0 ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;;
atari*:NetBSD:*:*)
echo m68k-atari-netbsd${UNAME_RELEASE}
exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:NetBSD:*:*)
echo m68k-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
${CC-cc} dummy.c -o dummy \
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit 0 ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit 0 ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else echo i586-dg-dgux${UNAME_RELEASE}
fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit 0 ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit 0 ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit 0 ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit 0 ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i?86:AIX:*:*)
echo i386-ibm-aix
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
sed 's/^ //' << EOF >dummy.c
#include <sys/systemcfg.h>
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit 0 ;;
*:AIX:*:4)
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=4.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit 0 ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit 0 ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit 0 ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[3478]??:HP-UX:*:*)
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
9000/8?? ) HP_ARCH=hppa1.0 ;;
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >dummy.c
#include <unistd.h>
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit 0 ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit 0 ;;
i?86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit 0 ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit 0 ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit 0 ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit 0 ;;
CRAY*X-MP:*:*:*)
echo xmp-cray-unicos
exit 0 ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
F300:UNIX_System_V:*:*)
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
F301:UNIX_System_V:*:*)
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
exit 0 ;;
hp3[0-9][05]:NetBSD:*:*)
echo m68k-hp-netbsd${UNAME_RELEASE}
exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*)
echo i386-pc-cygwin32
exit 0 ;;
i*:MINGW*:*)
echo i386-pc-mingw32
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
s/.*supported emulations: *//
s/ .*//
p'`
case "$ld_supported_emulations" in
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
sed 's/^ //' <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
LIBC=""
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
objdump --private-headers dummy | \
grep ld.so.1 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
#ifdef __MIPSEL__
printf ("%sel-unknown-linux-gnu\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
# If ld does not provide *any* "supported emulations:"
# that means it is gnuoldld.
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
case "${UNAME_MACHINE}" in
i?86)
VENDOR=pc;
;;
*)
VENDOR=unknown;
;;
esac
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
#include <features.h>
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
#else
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
i?86:DYNIX/ptx:4*:*)
echo i386-sequent-sysv4
exit 0 ;;
i?86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
exit 0 ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit 0 ;;
paragon:*:*:*)
echo i860-intel-osf1
exit 0 ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit 0 ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
m68*:LynxOS:2.*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i?86:LynxOS:2.*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit 0 ;;
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo i586-unisys-sysv4
exit 0 ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit 0 ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
cat >dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
#if !defined (ultrix)
printf ("vax-dec-bsd\n"); exit (0);
#else
printf ("vax-dec-ultrix\n"); exit (0);
#endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
c34*)
echo c34-convex-bsd
exit 0 ;;
c38*)
echo c38-convex-bsd
exit 0 ;;
c4*)
echo c4-convex-bsd
exit 0 ;;
esac
fi
#echo '(Unable to guess system type)' 1>&2
exit 1

954
config.sub vendored Executable file
View File

@@ -0,0 +1,954 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
if [ x$1 = x ]
then
echo Configuration name missing. 1>&2
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
echo "or $0 ALIAS" 1>&2
echo where ALIAS is a recognized configuration type. 1>&2
exit 1
fi
# First pass through any local machine types.
case $1 in
*local*)
echo $1
exit 0
;;
*)
;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
linux-gnu*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple)
os=
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
os=sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
| mipstx39 | mipstx39el \
| sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i[3456]86)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mipstx39-* | mipstx39el-* \
| f301-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-cbm
;;
amigaos | amigados)
basic_machine=m68k-cbm
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-cbm
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | ymp)
basic_machine=ymp-cray
os=-unicos
;;
cray2)
basic_machine=cray2-cray
os=-unicos
;;
[ctj]90-cray)
basic_machine=c90-cray
os=-unicos
;;
crds | unos)
basic_machine=m68k-crds
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[3456]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i[3456]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i[3456]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i[3456]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
miniframe)
basic_machine=m68000-convergent
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux-gnu
;;
mips*-linux*)
basic_machine=mips-unknown
os=-linux-gnu
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
np1)
basic_machine=np1-gould
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5)
basic_machine=i586-intel
;;
pentiumpro | p6)
basic_machine=i686-intel
;;
pentium-* | p5-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
k5)
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
basic_machine=i586-amd
;;
nexen)
# We don't have specific support for Nexgen yet, so just call it a Pentium
basic_machine=i586-nexgen
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=rs6000-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
xmp)
basic_machine=xmp-cray
os=-unicos
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
else
basic_machine=mips-mips
fi
;;
romp)
basic_machine=romp-ibm
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sparc)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-ctix* | -uts*)
os=-sysv
;;
-ns2 )
os=-nextstep2
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-xenix)
os=-xenix
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
*-acorn)
os=-riscix1.2
;;
arm*-semi)
os=-aout
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-ibm)
os=-aix
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigaos
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f301-fujitsu)
os=-uxpv
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-aix*)
vendor=ibm
;;
-hpux*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-vxsim* | -vxworks*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os

View File

@@ -1,28 +1,13 @@
dnl
dnl Configure script for the Gnome library
Mnl Configure script for the Gnome library
dnl
AC_INIT(copyright.txt)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
LIBGTOP_MAJOR_VERSION=1
LIBGTOP_MINOR_VERSION=90
LIBGTOP_MICRO_VERSION=2
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
LIBGTOP_INTERFACE_AGE=2
LIBGTOP_BINARY_AGE=2
# you can set this to `-snap' for instance to create
# a `libgtop-1.x.y-snap.tar.gz' tarball.
LIBGTOP_VERSION_SUFFIX=
# Increase each time you change the client/server protocol.
LIBGTOP_SERVER_VERSION=5
# Version code calculation
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_VERSION`
. $srcdir/LIBGTOP-VERSION
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AC_SUBST(LIBGTOP_MAJOR_VERSION)
AC_SUBST(LIBGTOP_MINOR_VERSION)
@@ -31,8 +16,6 @@ AC_SUBST(LIBGTOP_INTERFACE_AGE)
AC_SUBST(LIBGTOP_BINARY_AGE)
AC_SUBST(LIBGTOP_SERVER_VERSION)
AC_SUBST(LIBGTOP_VERSION)
AC_SUBST(LIBGTOP_VERSION_CODE)
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
# libtool versioning
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
@@ -46,26 +29,18 @@ AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
AM_ACLOCAL_INCLUDE(macros)
AC_ISC_POSIX
AC_PROG_CC
AC_STDC_HEADERS
dnl AC_ARG_PROGRAM
dnl We need this at some places.
libgtop_top_builddir=`pwd`
AC_SUBST(libgtop_top_builddir)
AC_ARG_PROGRAM
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, )
test -z "$AWK" && AC_MSG_ERROR([Sorry, you need a working awk interpreter.])
dnl Most people should have a working perl interpreter on their system
AC_CHECK_PROGS(PERL, perl5 perl)
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
AC_CHECK_TOOL(CC,gcc)
AC_CHECK_TOOL(RANLIB,ranlib)
AC_CHECK_TOOL(AS,as)
@@ -83,44 +58,29 @@ export cross_compiling
AM_PROG_LIBTOOL
dnl Let the user enable compiler warnings
dnl GNOME_COMPILE_WARNINGS
dnl If you want to use libgtop without gnome, comment the following line out.
GNOME_INIT_HOOK(gnome_found=yes)
dnl GNOME_INIT_HOOK(gnome_found=yes)
dnl if test "x$gnome_found" != xyes; then
dnl if test "x$want_gnome" != xno ; then
dnl AC_MSG_ERROR([
dnl *** GNOME was not found on this system. ***
dnl
dnl *** If you want to use LibGTop without GNOME, you need
dnl *** to give configure the --without-gnome parameter.
dnl ])
dnl else
dnl AC_DEFINE(WITHOUT_GNOME)
dnl fi
dnl GNOME_SUPPORT_CHECKS
dnl else
dnl if test "x$want_gnome" != xno ; then
dnl AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
dnl else
dnl GNOME_SUPPORT_CHECKS
dnl fi
dnl fi
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
if test "x$gnome_found" != xyes; then
GNOME_SUPPORT_CHECKS
else
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
fi
GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES
dnl AC_ARG_WITH(libgtop-guile,
dnl [ --with-libgtop-guile Build the libgtop guile interface (default=no)],
dnl [build_guile="$withval"], [build_guile=yes])
GNOME_CHECK_GUILE
dnl if test x$build_guile != xno ; then
dnl GNOME_CHECK_GUILE
dnl fi
dnl For Solaris
AC_CHECK_LIB(socket, socket)
AC_ARG_WITH(libgtop-guile,
[ --with-libgtop-guile Build the libgtop guile interface (default=yes)],
[build_guile="$withval"], [build_guile=yes])
test x$build_guile = xno && ac_cv_guile_found=no
AC_ARG_WITH(libgtop-inodedb,
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
@@ -144,51 +104,21 @@ if test x$ac_cv_guile_found = xyes ; then
AC_DEFINE(GLIBTOP_GUILE)
AC_DEFINE(GLIBTOP_GUILE_NAMES)
libgtop_guile_found=yes
guile_examples='third'
guile_static_examples='third_static'
guile_examples='third third_static'
guile_subdirs='guile'
else
libgtop_guile_found=no
guile_examples=
guile_static_examples=
guile_subdirs=
fi
if test x$libgtop_smp = xyes ; then
smp_examples='smp'
smp_static_examples='smp_static'
else
smp_examples=
smp_static_examples=
fi
if test "x$enable_static" != xno; then
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $guile_static_examples $smp_static_examples"
else
static_targets=""
fi
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
AC_SUBST(static_targets)
AC_SUBST(smp_examples)
AC_SUBST(guile_examples)
AC_SUBST(guile_subdirs)
AM_PROG_LIBTOOL
GLIB_REQUIRED=1.3.10
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
dnl You need to uncomment the following line if you want to use
dnl libGTop without Gnome.
GNOME_SUPPORT_CHECKS
dnl You need to uncomment the following line if you want to use libgtop without Gnome.
dnl GNOME_SUPPORT_CHECKS
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@@ -206,61 +136,12 @@ AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_HEADERS(memory.h)
AC_CHECK_HEADERS(string.h strings.h, break)
AC_REPLACE_FUNCS(strerror)
dnl dlopen() and dlsym()
DL_LIB=
AC_CHECK_FUNCS(dlopen,,[
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
])
])
])
oLIBS="$LIBS"
LIBS="$LIBS $DL_LIB"
AC_CHECK_FUNCS(dlerror,,)
LIBS="$oLIBS"
AC_SUBST(DL_LIB)
dnl Solaris
AC_CHECK_LIB(kstat, kstat_open)
AC_CHECK_FUNCS(getloadavg swapctl)
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
dnl Some versions of Solaris require -lelf for -lkvm
AC_CHECK_LIB(kvm, kvm_open,[
LIBS="-lkvm $LIBS"
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
[ac_save_LIBS="$LIBS"
LIBS="-lkvm -lelf $LIBS"
AC_TRY_LINK([char kvm_open();], [kvm_open()],
ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
LIBS="$ac_save_LIBS"
])
if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
AC_MSG_RESULT(yes)
LIBS="-lkvm -lelf $LIBS"
else
AC_MSG_RESULT(no)
fi
])
AC_CHECK_LIB(kvm, kvm_open)
dnl For DEC OSF1
AC_CHECK_LIB(mach, vm_statistics)
dnl For some broken libc5 systems (Debian 1.3)
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -D_GNU_SOURCE"
GCC_NEED_DECLARATION(program_invocation_name, [
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
])
CFLAGS=$saved_CFLAGS
dnl Check for Internet sockets.
AC_CHECK_FUNC(socket,
[AC_CHECK_HEADER(netinet/in.h,
[AC_CHECK_HEADER(arpa/inet.h, [
@@ -282,23 +163,11 @@ AC_TYPE_SIGNAL
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="az ca da de el es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fi fr ga gl hu ja ko ms nl nn no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW"
GETTEXT_PACKAGE=libgtop-2.0
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
AM_GLIB_GNU_GETTEXT
ALL_LINGUAS="fr"
AM_GNU_GETTEXT
AC_PATH_XTRA
dnl For Solaris
dnl Please don't move this before AC_PATH_XTRA
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
dnl So we use the following instead.
dnl XE_SPACE(var, words)
@@ -310,8 +179,7 @@ $1="$T"
dnl Autodetect Xauth
dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
saved_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
test -z "$with_xauth" && with_xauth=yes
@@ -319,55 +187,44 @@ if test "$with_xauth" = "yes"; then
AC_DEFINE(HAVE_XAUTH)
XE_SPACE(libs_xauth, $X_LIBS -lXau)
fi
CPPFLAGS="$saved_CPPFLAGS"
AC_SUBST(libs_xauth)
dnl For diskusage stuff
GNOME_FILEUTILS_CHECKS
dnl Debugging
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(GNOME_ENABLE_DEBUG),)
if test "x$gnome_found" = xyes ; then
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR"
else
LIBSUPPORT='$(top_builddir)/support/libgnomesupport-2.0.la'
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
LIBSUPPORT=
SUPPORTINCS=
if test "$need_gnome_support" = yes; then
if test "x$gnome_found" = xyes ; then
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR"
else
LIBSUPPORT='$(top_builddir)/support/libgnomesupport.la'
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
fi
fi
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS,
dnl we include it here.
case "$GNOME_LIBS" in
'*-lgnomesupport*' )
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR" ;;
esac
echo "$GNOME_LIBS" | grep -q -e '-lgnomesupport'
if test $? = 0 ; then
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
SUPPORTINCS="$GNOME_INCLUDEDIR"
fi
AC_SUBST(LIBSUPPORT)
AC_SUBST(SUPPORTINCS)
dnl These definitions are expanded in make.
LIBGTOP_LIBS='-L$(libdir)'
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
if test x$libgtop_use_machine_h = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
fi
LIBGTOP_LIBS='-L$(libdir) -lgtop'
LIBGTOP_INCS='-I$(includedir)'
if test x$build_inodedb = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
fi
if test x$libgtop_smp = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
fi
if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS"
LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS"
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS"
@@ -378,7 +235,7 @@ sysdeps_dir="$libgtop_sysdeps_dir"
AC_SUBST(sysdeps_dir)
if test x$ac_cv_guile_found = xyes ; then
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile-2.0"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile"
libgtop_guile_found=yes
else
libgtop_guile_found=no
@@ -386,19 +243,18 @@ fi
AC_SUBST(libgtop_guile_found)
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
if test -z $LIBGTOP_EXTRA_LIBS ; then
LIBGTOP_EXTRA_LIBS="$libs_xauth"
else
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
fi
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop_common -lgtop_sysdeps"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_common -lgtop_sysdeps"
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names-2.0 -lgtop_names-2.0"
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names"
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_names"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
@@ -422,12 +278,12 @@ else
guile_def=""
fi
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include -I\$(top_srcdir)/intl $SUPPORTINCS -W -Wall -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith $CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
AC_SUBST(INCLUDES)
AC_SUBST(LIBGTOP_EXTRA_LIBS)
AC_SUBST(GLIB_LIBS)
AC_SUBST(LIBGTOP_LIBS)
AC_SUBST(LIBGTOP_INCS)
AC_SUBST(LIBGTOP_NAMES_LIBS)
@@ -440,7 +296,7 @@ AC_SUBST(LIBGTOP_BINDIR)
AC_SUBST(LIBGTOP_SERVER)
if test x$libgtop_need_server = xyes ; then
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid.la"
server_programs='libgtop_server'
else
sysdeps_suid_lib=
@@ -451,9 +307,8 @@ AC_SUBST(server_programs)
AC_OUTPUT([
Makefile
libgtop.spec
po/Makefile.in
misc/Makefile
intl/Makefile
include/Makefile
include/glibtop/Makefile
sysdeps/Makefile
@@ -468,13 +323,12 @@ sysdeps/osf1/Makefile
sysdeps/linux/Makefile
sysdeps/kernel/Makefile
sysdeps/freebsd/Makefile
sysdeps/solaris/Makefile
src/Makefile
src/daemon/Makefile
src/inodedb/Makefile
lib/Makefile
guile/Makefile
examples/Makefile
doc/Makefile
perl/Makefile.PL
support/Makefile
libgtop-2.0.pc
])
macros/Makefile],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])

View File

@@ -1,23 +1,21 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */

9
debian/.cvsignore vendored
View File

@@ -1,9 +0,0 @@
control
rules
build
tmp
*.postinst
*.debhelper
*.files
files
substvars

View File

@@ -1,9 +0,0 @@
LibGTop CVS snapshots for Debian
--------------------------------
This is a debian package made from a stable release of LibGTop, but it
should be considered "unofficial" since I'm not a Debian Maintainer.
Martin Baulig <martin@home-of-linux.org>, Wed, 16 Feb 2000 16:40:50 +0100

121
debian/changelog vendored
View File

@@ -1,121 +0,0 @@
libgtop (1.0.7-1) unstable; urgency=low
* New upstream source (1.0.7 "Copenhagen" release)
* Non-maintainer upload; since I'm not a Debian maintainer, this is some
kind of "unofficial" debian package for LibGTop 1.0.7 - but I think it
can be considered stable and working.
-- Martin Baulig <martin@home-of-linux.org> Wed, 16 Feb 2000 16:40:50 +0100
libgtop (1.0.6-1) unstable; urgency=low
* New upstream source
-- Ian Lynagh (wibble) <igloo@debian.org> Wed, 20 Oct 1999 16:16:27 +0100
libgtop (1.0.4.5pre1-1) frozen unstable; urgency=low
* New upstream source (1.0.5 pre release)
* Maintainer e-mail address changed to igloo@debian.org
-- Ian Lynagh (wibble) <igloo@debian.org> Thu, 30 Sep 1999 22:37:33 +0100
libgtop (1.0.4-1) frozen unstable; urgency=low
* New upstream source
* Removed nasty sed stuff from the rules in favour of make install prefix=...
* Added .la files to libgtop-dev
* Added info to the copyright file
* Wrote simple man page for libgtop-config.
* Recompiled with later debhelper so docs go to /usr/share/doc as per FHS
* changed infodir to /usr/share/info
-- Ian Lynagh (wibble) <igloo@debian.org> Mon, 20 Sep 1999 00:06:16 +0100
libgtop (1.0.1-2) frozen unstable; urgency=low
* Didn't actually use wildcards in libgtop-dev.files because tar complained
* Set section names properly
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
libgtop (1.0.1-1) frozen unstable; urgency=low
* SONAME changed back to 1. Fun fun fun.
* Added RELNOTES-1.0 to debian/libgtop1.docs and debian/rules
* Changed libgtop1.README.Debian to at least make sense
* Used wildcards in libgtop-dev.files
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
libgtop (1.0.1-0.1) unstable; urgency=low
* Non-maintainer upload for GNOME 1.0
-- Jules Bean <jules@debian.org> Thu, 4 Mar 1999 22:34:12 +0000
libgtop (0.99.2-0.2) unstable; urgency=low
* Oops, forgot some files.
-- Jim Pick <jim@jimpick.com> Sun, 24 Jan 1999 02:12:24 -0800
libgtop (0.99.2-0.1) unstable; urgency=low
* Non-maintainer upload.
* New upstream source.
* SONAME is now 0 again. Hmmm.
-- Jim Pick <jim@jimpick.com> Sat, 23 Jan 1999 20:21:38 -0800
libgtop (0.26.2-4) frozen unstable; urgency=low
* Upstream changelog installed as changelog
* debian/shlibs.local removed in favour of the LD_LIBRARY_PATH line
-- Ian Lynagh <ian@lynagh.demon.co.uk> Thu, 26 Nov 1998 17:20:24 +0000
libgtop (0.26.2-3.1) frozen unstable; urgency=low
* Non-maintainer upload.
* Upload to frozen, corrects Bug #29110, Bug #29111, which were
already fixed.
* Noticed that guile option is no longer being used, so I removed
the dependency.
* Added changelog (to fix lintian error).
* Changed control file to use macro substitutions. This is a much
less error-prone way of building dependencies than doing them by
hand.
* Added -V option to dh_makeshlibs to put version number on shlibs
file.
* Added shlibs.local file with null entry for "libgtop 1" (and
others) so libgtop1 doesn't declare a relationship on itself.
-- Jim Pick <jim@jimpick.com> Wed, 25 Nov 1998 12:03:12 -0800
libgtop (0.26.2-3) frozen unstable; urgency=low
* libgtop0 changed to libgtop1
* Added an #ifndef strstr around the prototype of strstr in
sysdeps/common/mountlist.c as this is a macro under glibc 2.1.
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 8 Nov 1998 12:06:09 +0000
libgtop (0.26.2-2) frozen unstable; urgency=low
* Fixes minor bugs in debian/rules
-- Ian Lynagh <ian@lynagh.demon.co.uk> Fri, 16 Oct 1998 05:30:16 +0200
libgtop (0.26.2-1) unstable; urgency=low
* New upstream version
* Non-maintainer release
-- Martin Schulze <joey@finlandia.infodrom.north.de> Fri, 16 Oct 1998 05:30:16 +0200
libgtop (0.26.0-1) unstable; urgency=low
* Initial Release.
-- Jim Pick <jim@jimpick.com> Thu, 24 Sep 1998 18:42:48 -0700
Local variables:
mode: debian-changelog
End:

33
debian/control.in vendored
View File

@@ -1,33 +0,0 @@
Source: libgtop@SUFFIX@
Maintainer: Martin Baulig <martin@home-of-linux.org>
Section: libs
Priority: optional
Standards-Version: 3.0.0
Package: libgtop1@SUFFIX@
Architecture: any
Section: libs
Depends: ${shlibs:Depends}
Description: Portable system access library (part of Gnome)
Gnome is the "GNU Network Object Model Environment"
.
It is a project to build a complete, user-friendly desktop based
entirely on free software.
.
This package contains the gtop libraries which read information about
processes and the running systems.
Package: libgtop-dev@SUFFIX@
Architecture: any
Section: devel
Depends: libgtop1@SUFFIX@ (= ${Source-Version})
Description: Dev libraries for the portable system access library (part of Gnome)
Gnome is the "GNU Network Object Model Environment"
.
It is a project to build a complete, user-friendly desktop based
entirely on free software.
.
This package contains the include files and static library for the
gtop libraries which read information about processes and the running
systems.

109
debian/debconfigure vendored
View File

@@ -1,109 +0,0 @@
#! /bin/sh
#
# debconfigure
#
# A script to generate a debian/rules file, with options.
#
# By Jim Pick <jim@jimpick.com>, GPL'd of course.
# Adjusted for LibGTop by Martin Baulig <martin@home-of-linux.org>
#
if [ ! -r rules.in ]; then
echo "Please run the debconfigure script in the debian directory" 1>&2
exit 1
fi
debtype='official'
prefix='/usr'
gnomeprefix='/usr'
localstatedir='/var/lib'
pkgsuffix=''
for dc_option
do
case "$dc_option" in
-*=*) dc_optarg=`echo "$dc_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) dc_optarg= ;;
esac
case "$dc_option" in
--clean)
rm -f control rules *~ core *files *menu *substvars *.postinst *.debhelper
exit ;;
--prefix=*)
prefix="$dc_optarg" ;;
--localstatedir=*)
prefix="$dc_optarg" ;;
--pkgsuffix=*)
pkgsuffix="$dc_optarg" ;;
--gnome-prefix=*)
gnomeprefix="$dc_optarg" ;;
--debtype=*)
debtype="$dc_optarg" ;;
*)
cat <<EOF 1>&2
Usage: debconfigure [options]
Options: [defaults in brackets after descriptions]
--help print this message
--clean remove generated files
--prefix=PREFIX install files under under PREFIX dir [/usr]
--gnome-prefix=PREFIX look for GNOME under PREFIX dir [/usr]
--localstatedir=DIR directory for things like game scores [/var/lib]
--pkgsuffix=SUFFIX append SUFFIX onto package names []
--debtype=DEBTYPE enable macros with the name of DEBTYPE [official]
EOF
exit ;;
esac
done
# Strip leading slash
prefix=`expr $prefix : '/\(.*\)'`
gnomeprefix=`expr $gnomeprefix : '/\(.*\)'`
localstatedir=`expr $localstatedir : '/\(.*\)'`
for infile in `ls control.in rules.in`
do
tofile=`expr $infile : '\(.*\)\.in'`
cat $infile | \
sed "s,@SUFFIX@,$pkgsuffix,g" | \
sed "s,@PREFIX@,$prefix,g" | \
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
done
chmod +x rules
for filesfile in `ls *.files.in`
do
tofile=`expr $filesfile : '\(.*\)\.files\.in'`
tofile=`echo $tofile$pkgsuffix.files`
cat $filesfile | \
sed "s,@SUFFIX@,$pkgsuffix,g" | \
sed "s,@PREFIX@,$prefix,g" | \
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
done
for postinst in libgtop1$pkgsuffix
do
cat > $postinst.postinst <<EOF
#! /bin/sh
set -e
ldconfig
#DEBHELPER#
EOF
done

View File

@@ -1,34 +0,0 @@
.TH GTOP l "15 September 1999"
.SH NAME
\fBlibgtop-config\fP \- libgtop libraries and component information retrieval.
.SH SYNTAX
.B libgtop-config
.RI [ --version ]
.RI [ --config ]
.RI [ --features-def-file ]
.SH DESCRIPTION
.B libgtop-config
is used to retrieve information from installed libraries in the system.
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
.LP
.SH OPTIONS
.TP
.B \-\-version
.PD
Prints the version of libgtop that you're using.
.TP
.B \-\-config
.PD
Prints the location of libgtopConf.sh.
.TP
.B \-\-version
.PD
Prints the location of libgtop-features.def.
.SH BUGS
None known
.SH AUTHORS
Martin Baulig (martin@home-of-linux.org)
.TP
Josh Sled (jsled@scam.XCF.Berkeley.EDU)

View File

@@ -1,24 +0,0 @@
@PREFIX@/lib/libgtop.a
@PREFIX@/lib/libgtop_common.a
@PREFIX@/lib/libgtop_names.a
@PREFIX@/lib/libgtop_suid_common.a
@PREFIX@/lib/libgtop_sysdeps.a
@PREFIX@/lib/libgtop.la
@PREFIX@/lib/libgtop_common.la
@PREFIX@/lib/libgtop_names.la
@PREFIX@/lib/libgtop_suid_common.la
@PREFIX@/lib/libgtop_sysdeps.la
@PREFIX@/lib/libgtopConf.sh
@PREFIX@/lib/libgtop.so
@PREFIX@/lib/libgtop_common.so
@PREFIX@/lib/libgtop_names.so
@PREFIX@/lib/libgtop_suid_common.so
@PREFIX@/lib/libgtop_sysdeps.so
@PREFIX@/lib/libgtop-features.def
@PREFIX@/lib/libgtop/include/*.h
@PREFIX@/include/glibtop/*.h
@PREFIX@/include/glibtop.h
@PREFIX@/include/glibtop_server.h
@PREFIX@/include/glibtop_machine.h
@PREFIX@/info/libgtop.info
@PREFIX@/bin/libgtop-config

View File

@@ -1,5 +0,0 @@
The Debian package of libgtop, a GNOME library.
--
Martin Baulig <martin@home-of-linux.org>

View File

@@ -1,12 +0,0 @@
libgtop is released under the GPL.
On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in /usr/share/common-licenses/GPL
Original authors: Martin Baulig <martin@home-of-linux.org>
Drazen Kacar <dave@srce.hr>
Originally Debianised by Jim Pick <jim@jimpick.com>
Then re-Debianised in October 1998 by Martin Schulze
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
<ian@lynagh.demon.co.uk> in November 1998.

View File

@@ -1,5 +0,0 @@
RELNOTES-0.25
RELNOTES-1.0.x
NEWS
AUTHORS
debian/changelog

View File

@@ -1,4 +0,0 @@
@PREFIX@/lib/libgtop*.so.[0-9].[0-9][0-9].[0-9]
@PREFIX@/lib/libgtop*.so.[0-9].[0-9].[0-9]
@PREFIX@/lib/libgtop*.so.[0-9]
@PREFIX@/share/locale/*/*/libgtop.mo

115
debian/rules.in vendored
View File

@@ -1,115 +0,0 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# This version is for a hypothetical package that builds an
# architecture-dependant package, as well as an architecture-independent
# package.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
i=$(shell pwd)/debian/tmp
b=$(shell pwd)/debian/build
configure: configure.in
@echo "--- Making configure script and configuring"
chmod +x autogen.sh
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
--localstatedir=/@LOCALSTATEDIR@
Makefile: configure
@echo "--- Configuring"
./configure --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
--localstatedir=/@LOCALSTATEDIR@
build: configure Makefile build-debstamp
build-debstamp:
@echo "--- Compiling"
dh_testdir
$(MAKE) all
touch build-debstamp
clean: Makefile
@echo "--- Cleaning"
dh_testdir
dh_clean
-rm -rf static shared
-rm -f build-debstamp install-debstamp
-make -k distclean
-rm -f `find . -name "*~"`
-rm -f `find . -name "*\.la"`
-rm -rf `find . -name "\.deps"`
-rm -rf `find . -name "\.libs"`
-rm -rf `find . -name "*\.rej"`
-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
-rm -f debian/*substvars
install: build install-debstamp
install-debstamp:
@echo "--- Installing"
dh_testdir
dh_testroot
rm -rf $(b)
$(MAKE) install prefix=$(i)/@PREFIX@ exec_prefix=$(i)/@PREFIX@ \
localstatedir=$(i)/@LOCALSTATEDIR@
touch install-debstamp
install-save: install
rm -rf $(i).saved
cp -a $(i) $(i).saved
install-saved:
rm -rf $(i)
cp -a $(i).saved $(i)
rm -rf $(b)
touch install-debstamp
binary-indep: build install
binary-arch: build install \
libgtop1@SUFFIX@ \
libgtop-dev@SUFFIX@
#
# libgtop1@SUFFIX@
#
libgtop1@SUFFIX@: install
@echo "--- Building: $@"
dh_installdocs -p$@ -P$(b)/$@ README NEWS AUTHORS
dh_installchangelogs -p$@ -P$(b)/$@ ChangeLog
dh_movefiles -p$@ -P$(b)/$@
dh_strip -p$@ -P$(b)/$@
dh_compress -p$@ -P$(b)/$@
dh_fixperms -p$@ -P$(b)/$@
dh_installdeb -p$@ -P$(b)/$@
dh_shlibdeps -p$@ -P$(b)/$@
dh_gencontrol -p$@ -P$(b)/$@
dh_makeshlibs -p$@ -P$(b)/$@ -V
dh_md5sums -p$@ -P$(b)/$@
dh_builddeb -p$@ -P$(b)/$@
#
# libgtop-dev
#
libgtop-dev@SUFFIX@: install
@echo "--- Building: $@"
mkdir -p $(b)/$@/usr/doc
cd $(b)/$@/usr/doc; ln -s libgtop1@SUFFIX@ $@
dh_movefiles -p$@ -P$(b)/$@
dh_strip -p$@ -P$(b)/$@
dh_compress -p$@ -P$(b)/$@
dh_fixperms -p$@ -P$(b)/$@
dh_installdeb -p$@ -P$(b)/$@
dh_shlibdeps -p$@ -P$(b)/$@
dh_gencontrol -p$@ -P$(b)/$@
dh_makeshlibs -p$@ -P$(b)/$@ -V
dh_undocumented -p$@ -P$(b)/$@ \
libgtop-config.1
dh_md5sums -p$@ -P$(b)/$@
dh_builddeb -p$@ -P$(b)/$@
binary: binary-indep binary-arch
.PHONY: binary clean binary-indep binary-arch build install install-save install-saved

View File

@@ -1,10 +1,10 @@
texinfo.tex
*.info
Makefile.in
Makefile
*.log *.toc *.dvi *.aux *.cp *.fn *.vr *.tp *.ky *.pg
*.ps
auto-macros.texi
version.texi
stamp-vti
*.html *.pdf
*.shml
*.ced
.timestamp
.timestamp2
.timestamp3
.timestamp4
gnome-hackers
libgtop
libgtop-ref
table

View File

@@ -1,43 +1,18 @@
2001-11-26 Abel Cheung <maddog@linux.org.hk>
1998-08-12 Martin Baulig <martin@home-of-linux.org>
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
* about.texi: Very minor update.
* features: New directory.
* gnome-hackers.sgml: Updated documentation.
1999-10-18 Martin Baulig <martin@home-of-linux.org>
1998-08-11 Martin Baulig <martin@home-of-linux.org>
* about.texi: Added a note about LibGTop and GNOME.
* gnome-hackers.sgml: Updated documentation.
* autoconf.sgml: New file, included from `gnome-hackers.sgml'.
* reference.texi (glibtop_proc_state): Fix description of the `state'
field for LibGTop 1.0.x.
1998-07-21 Martin Baulig <martin@home-of-linux.org>
1999-09-29 Martin Baulig <martin@home-of-linux.org>
* Makefile.am (MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here.
1999-05-16 Martin Baulig <martin@home-of-linux.org>
* main.texi: This is now the main file which will @include all
chapter files so we can use `texinfo-multiple-files-update'.
* reference.texi: Added all missing sections with a "not yet written"
notice.
1999-05-16 Martin Baulig <martin@home-of-linux.org>
* white-paper.texi: Initial version of the LibGTop White Paper.
* Makefile.am: Create `auto-macros.texi' from `auto-macros.texi.in'
which will contain some `@set' commands for the LibGTop version etc.
* auto-macros.texi.in: New file. This is a template for
`auto-macros.texi' which will be automatically generated.
1999-05-09 Martin Baulig <martin@home-of-linux.org>
* about.texi: Split the `libgtop.texi' into one file pro chapter,
this is the "About LibGTop".
* reference.texi: The "LibGTop Reference Manual".
* libgtop.texi: Initial version of the new LibGTop Manual.
* gnome-hackers.sgml: Added note that this file is
currently out of date and a link to the documentation
of the table () function.
* table.sgml: New file - basic documentation for the
table () system call.

39
doc/Makefile Normal file
View File

@@ -0,0 +1,39 @@
all: .timestamp .timestamp2 .timestamp3 .timestamp4
clean:
-rm -f .timestamp*
-rm -rf libgtop gnome-hackers libgtop-ref table
.timestamp: libgtop.sgml
-rm -rf libgtop
mkdir libgtop
-rm -f .timestamp
jade -D /usr/lib/sgml -d libgtop.dsl -t sgml \
-V %no-make-index% libgtop.sgml > /dev/null && \
touch .timestamp
.timestamp2: gnome-hackers.sgml autoconf.sgml ../guile/reference.sgml \
features/uptime.sgml features/uptime.txt features/proclist.sgml \
features/procmem.sgml
-rm -rf gnome-hackers
mkdir gnome-hackers
-rm -f .timestamp2
jade -D /usr/lib/sgml -d gnome-hackers.dsl -t sgml \
-V %no-make-index% gnome-hackers.sgml > /dev/null && \
touch .timestamp2
.timestamp3: libgtop-ref.sgml ../guile/reference.sgml
-rm -rf libgtop-ref
mkdir libgtop-ref
-rm -f .timestamp3
jade -D /usr/lib/sgml -d libgtop-ref.dsl -t sgml \
-V %no-make-index% libgtop-ref.sgml > /dev/null && \
touch .timestamp3
.timestamp4: table.sgml
-rm -rf table
mkdir table
-rm -f .timestamp4
jade -D /usr/lib/sgml -d table.dsl -t sgml \
-V %no-make-index% table.sgml > /dev/null && \
touch .timestamp4

View File

@@ -1,45 +0,0 @@
info_TEXINFOS = libgtop2.texi
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
auto-macros.texi version.texi main.texi \
white-paper.texi
MAKEINFO += -I @libgtop_top_builddir@/doc
EXTRA_DIST = auto-macros.texi.in
auto-macros.texi: auto-macros.texi.in Makefile
## Use sed and then mv to avoid problems if the user interrupts.
sed -e 's#\%LIBGTOP_LIBDIR\%#$(libdir)#g' \
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)/libgtop-2.0#g' \
-e 's#\%LIBGTOP_DATADIR\%#$(datadir)#g' \
-e 's#\%LIBGTOP_EXTRA_LIBS\%#$(LIBGTOP_EXTRA_LIBS)#g' \
-e 's#\%LIBGTOP_LIBS\%#$(LIBGTOP_LIBS)#g' \
-e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \
-e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \
-e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \
-e 's#\%LIBGTOP_GUILE_LIBS\%#$(LIBGTOP_GUILE_LIBS)#g' \
-e 's#\%LIBGTOP_GUILE_INCS\%#$(LIBGTOP_GUILE_INCS)#g' \
-e 's#\%LIBGTOP_GUILE_NAMES_LIBS\%#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
-e 's#\%LIBGTOP_GUILE_NAMES_INCS\%#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
-e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \
-e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \
-e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \
-e 's#\%LIBGTOP_MINOR_VERSION\%#$(LIBGTOP_MINOR_VERSION)#g' \
-e 's#\%LIBGTOP_MICRO_VERSION\%#$(LIBGTOP_MICRO_VERSION)#g' \
-e 's#\%LIBGTOP_VERSION\%#$(LIBGTOP_VERSION)#g' \
-e 's#\%LIBGTOP_VERSION_CODE\%#$(LIBGTOP_VERSION_CODE)#g' \
-e 's#\%LIBGTOP_SERVER_VERSION\%#$(LIBGTOP_SERVER_VERSION)#g' \
-e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \
-e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \
-e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \
-e 's#\%libgtop_guile_found\%#$(libgtop_guile_found)#g' \
-e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \
< $(srcdir)/auto-macros.texi.in > auto-macros.tmp
echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp
if [ $(LIBGTOP_VERSION_CODE) -ge 1001000 ] ; then \
echo '@set LIBGTOP-1-1' >> auto-macros.tmp ; \
else \
echo '@clear LIBGTOP-1-1' >> auto-macros.tmp ; \
fi
mv auto-macros.tmp auto-macros.texi

View File

@@ -1,123 +0,0 @@
@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.12 which is also the one that comes
together with GNOME 1.0. It belongs to @code{LIBGTOP_STABLE_1_0} branch in CVS.
Actual development occurs in the @code{libgtop-GNOME-2-0-port} which is
currently versioned 1.90.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 or Linux 2.4.x.
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 Kevin Vandersloot for the effort to port to GNOME 2.0.
@item All people sending me patches, having good ideas, ...
@item Everyone I have forgotten in this list ...
@end itemize

View File

@@ -1,12 +0,0 @@
@c LibGTop major, minor and micro version.
@set LIBGTOP_MAJOR_VERSION %LIBGTOP_MAJOR_VERSION%
@set LIBGTOP_MINOR_VERSION %LIBGTOP_MINOR_VERSION%
@set LIBGTOP_MICRO_VERSION %LIBGTOP_MICRO_VERSION%
@c LibGTop version and numerical version code ("1.234.567" -> 1234567).
@set LIBGTOP_VERSION "%LIBGTOP_VERSION%"
@set LIBGTOP_VERSION_CODE %LIBGTOP_VERSION_CODE%
@c LibGTop server version, increased each time the protocol changes.
@set LIBGTOP_SERVER_VERSION %LIBGTOP_SERVER_VERSION%

253
doc/autoconf.sgml Normal file
View File

@@ -0,0 +1,253 @@
<sect1 id="macros">
<title>Autoconf macros</title>
<para>
All you need to check for &libgtop; is in &gnome-libgtop-check.m4;,
just use <function>GNOME_INIT_LIBGTOP</function> with an optional
<parameter>fail</parameter> argument in the same way like
<function>GNOME_INIT</function>:
<example>
<title>Warn if &libgtop; cannot be found</title>
<programlisting>GNOME_INIT_LIBGTOP</programlisting>
</example>
<example>
<title>Abort if &libgtop; cannot be found</title>
<programlisting>GNOME_INIT_LIBGTOP(fail)</programlisting>
</example>
<para>
This will define a <function>HAVE_LIBGTOP</function> automake
conditional and everything from the configuration script of
&libgtop;.
<sect1 id="libgtopConf.sh">
<title>The configuration script of &libgtop; (&libgtopConf.sh;)</title>
<para>
After a successful build of &libgtop;, a &libgtopConf.sh; script
containing useful configuration variables is created.
<para>
It defines the following variables which you can use in your
<filename>Makefile.am</filename>:
<variablelist>
<varlistentry>
<term><parameter>LIBGTOP_LIBDIR</parameter></term>
<listitem>
<para>
The directory where the library files of &libgtop; are installed.
<varlistentry>
<term><parameter>LIBGTOP_INCLUDEDIR</parameter></term>
<listitem>
<para>
The directory where the header files of &libgtop; are installed.
<varlistentry>
<term><parameter>LIBGTOP_LIBS</parameter></term>
<listitem>
<para>
Use this to link your program with &libgtop;.
<varlistentry>
<term><parameter>LIBGTOP_INCS</parameter></term>
<listitem>
<para>
Use this to get the header files for &libgtop;.
<varlistentry>
<term><parameter>LIBGTOP_NAMES_LIBS</parameter></term>
<listitem>
<para>
Use this to link your program with &libgtop; and its
names interface.
<varlistentry>
<term><parameter>LIBGTOP_NAMES_INCS</parameter></term>
<listitem>
<para>
Use this to get the header files for &libgtop; and the
required <literal>-DGLIBTOP_NAMES</literal> to get its
names interface.
<varlistentry>
<term><parameter>LIBGTOP_GUILE_LIBS</parameter></term>
<listitem>
<para>
Use this to link your program with &libgtop; and its
guile interface. This will also include all the required
guile libraries.
<varlistentry>
<term><parameter>LIBGTOP_GUILE_INCS</parameter></term>
<listitem>
<para>
Use this to get the header files for &libgtop; and guile
and the required <literal>-DGLIBTOP_GUILE</literal> to get
the guile interface of &libgtop;.
<varlistentry>
<term><parameter>LIBGTOP_GUILE_NAMES_LIBS</parameter></term>
<listitem>
<para>
Use this to link your program with &libgtop; and both its
names and its guile interface. This will also include all the
required guile libraries.
<varlistentry>
<term><parameter>LIBGTOP_GUILE_NAMES_INCS</parameter></term>
<listitem>
<para>
Use this to get the header files for &libgtop;, its guile
and its names interface, the guile header files and the
required <literal>-DGLIBTOP_GUILE</literal> and
<literal>-DGLIBTOP_NAMES</literal>.
<varlistentry>
<term><parameter>LIBGTOP_BINDIR</parameter></term>
<listitem>
<para>
The directory where the binaries of &libgtop; are installed.
<varlistentry>
<term><parameter>LIBGTOP_SERVER</parameter></term>
<listitem>
<para>
Full pathname of the &libgtop; server.
<varlistentry>
<term><parameter>LIBGTOP_MAJOR_VERSION</parameter></term>
<listitem>
<para>
Major version of &libgtop;.
<varlistentry>
<term><parameter>LIBGTOP_MINOR_VERSION</parameter></term>
<listitem>
<para>
Minor version of &libgtop;.
<varlistentry>
<term><parameter>LIBGTOP_VERSION</parameter></term>
<listitem>
<para>
Full version of &libgtop;.
<varlistentry>
<term><parameter>LIBGTOP_SERVER_VERSION</parameter></term>
<listitem>
<para>
Version of the &libgtop; server. This is incremented each
time the client/server protocol changes.
<varlistentry>
<term><parameter>libgtop_sysdeps_dir</parameter></term>
<listitem>
<para>
The sysdeps directory that is used on your system.
<varlistentry>
<term><parameter>libgtop_need_server</parameter></term>
<listitem>
<para>
Either <literal>yes</literal> or <literal>no</literal>.
<varlistentry>
<term><parameter>libgtop_use_machine_h</parameter></term>
<listitem>
<para>
Either <literal>yes</literal> or <literal>no</literal>.
Intended for <emphasis>internal use only</emphasis>
and may be removed in future versions.
<note>
<title>Note for &libgtop; hackers</title>
<para>
This variable gets set in
<filename>macros/gnome-libgtop-sysdeps.m4</filename>.
<para>
If this is enabled, you need to put a
<filename>glibtop_machine.h</filename> header file in the
sysdeps directory which needs to define a structure of
type <type>glibtop_machine</type>.
<para>
This structure represents the
<structfield>machine</structfield> field of
<type>glibtop</type> defined in
<filename>glibtop.h</filename>
and can be used to store some
machine dependent data.
</note>
<varlistentry>
<term><parameter>libgtop_guile_found</parameter></term>
<listitem>
<para>
Either <literal>yes</literal> or <literal>no</literal>.
<varlistentry>
<term><parameter>libgtop_want_examples</parameter></term>
<listitem>
<para>
Considered obsolete.
</variablelist>
<para>
All this variables are taken from the
&libgtopConf.sh; script which is created during
the installation of &libgtop;.
<example>
<title>
Sample &libgtopConf.sh; (gnome and guile are installed in
<filename>/home/baulig/INSTALL</filename> and &libgtop; in
<filename>/home/norwegen/TEST</filename>)
</title>
<programlisting>&example-libgtopConf-sh;</programlisting>
</example>
</sect1>
<!--
Local Variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data: t
sgml-parent-document: ("gnome-hackers.sgml" "book" "chapter" "")
End:
-->

3
doc/catalog Normal file
View File

@@ -0,0 +1,3 @@
PUBLIC "-//James Clark//DTD DSSSL Flow Object Tree//EN" "fot.dtd"
PUBLIC "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" "dsssl.dtd"
PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" "style-sheet.dtd"

1627
doc/dbtohtml.dsl Normal file

File diff suppressed because it is too large Load Diff

153
doc/features/proclist.sgml Normal file
View File

@@ -0,0 +1,153 @@
<para>
This functions takes the following additional parameters:
<variablelist>
<varlistentry>
<term><parameter>which</parameter></term>
<listitem>
<para>
You can use the following constants (defined in
<filename>glibtop/proclist.h</filename>) to tell
<function>glibtop_get_proclist ()</function> which processes
to fetch:
<variablelist>
<varlistentry>
<term><parameter>GLIBTOP_KERN_PROC_ALL</parameter></term>
<listitem>
<para>
Fetch all processes.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_KERN_PROC_PID</parameter></term>
<listitem>
<para>
Fetch process with pid <parameter>arg</parameter> or
nothing if no such process exists.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_KERN_PROC_PGRP</parameter></term>
<listitem>
<para>
Fetch only processes which are in process group
<parameter>arg</parameter>.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_KERN_PROC_SESSION</parameter></term>
<listitem>
<para>
Fetch only processes with session id
<parameter>arg</parameter>.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_KERN_PROC_TTY</parameter></term>
<listitem>
<para>
Fetch only processes with tty id
<parameter>arg</parameter>.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_KERN_PROC_UID</parameter></term>
<listitem>
<para>
Fetch only processes with effective user id
<parameter>arg</parameter>.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_KERN_PROC_RUID</parameter></term>
<listitem>
<para>
Fetch only processes with real user id
<parameter>arg</parameter>.
</varlistentry>
</variablelist>
<para>
You can use one or more of the following flags (with a
logical or) to hide some processes:
<variablelist>
<varlistentry>
<term><parameter>GLIBTOP_EXCLUDE_IDLE</parameter></term>
<listitem>
<para>
Don't fetch idle processes.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_EXCLUDE_SYSTEM</parameter></term>
<listitem>
<para>
Don't fetch system processes.
</varlistentry>
<varlistentry>
<term><parameter>GLIBTOP_EXCLUDE_NOTTY</parameter></term>
<listitem>
<para>
Don't fetch processes that have no controlling tty.
</varlistentry>
</variablelist>
</varlistentry>
<varlistentry>
<term><parameter>arg</parameter></term>
<listitem>
<para>
Additional argument depending upon the
<parameter>which</parameter> argument.
</varlistentry>
</variablelist>
<para>
This function returns a pointer (of type <type>unsigned *</type>) to
the list of process ids.
<para>
You have to manually &glibtop-free; this pointer once finished with it.
<!--
Local Variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data: t
sgml-parent-document: ("../gnome-hackers.sgml" "book" "sect1" "")
End:
-->

103
doc/features/procmem.sgml Normal file
View File

@@ -0,0 +1,103 @@
<para>
The automatically generated description above is taken from the
manual page of the <filename>/proc</filename> filesystem under Linux
and is a little bit confusing, so I make this clear here.
<note>
<title>Note for people porting &libgtop; to other systems</title>
<para>
Well, every operating system has its own idea about the memory usage
of a processes, and also system utilities like <filename>ps</filename>
show different things on different systems.
<para>
Nevertheless, we should try to make &libgtop; as system independent
as possible, so I give you some hints here how &glibtop-get-procmem;
should work.
<itemizedlist>
<listitem>
<para>
When you use &mmap; with either &MAP-SHARED; or &MAP-PRIVATE;,
this should only affect the &pmem-vsize; of the process and
none of its &pmem-size;, &pmem-resident;, &pmem-shared; and
&pmem-rss; sizes.
<listitem>
<para>
As soon as you read some of the &mmap;ed pages, they will be
demand-loaded and thus count towards the &pmem-size; of the
process. Also - we assume there is enough free memory - they
are resident in memory until they get stolen or swapped out
and thus increase the &pmem-resident; and &pmem-rss; sizes of
the process.
<listitem>
<para>
If the process has used &MAP-SHARED; and another process
attaches the same file also &MAP-SHARED; some of the pages
are shared with this process and thus increase the &pmem-shared;
sizes of both processes.
<listitem>
<para>
If the process has used &MAP-PRIVATE; and writes to the &mmap;ed
pages, the only difference to reading from them is that they
get dirty and cannot be stolen any longer but will get swapped
out.
<listitem>
<para>
If memory gets rare, clean pages are normally stolen which
decreases the &pmem-size;, &pmem-resident;, &pmem-shared; and
&pmem-rss; sizes of the process.
<listitem>
<para>
When dirty pages are swapped out, this will
<emphasis>not</emphasis> decrease the &pmem-size; of the
process but only its &pmem-resident; and &pmem-rss; sizes
(dirty pages cannot be shared).
<listitem>
<para>
The &pmem-vsize; of a process can <emphasis>only</emphasis>
be changed by the process itself when it requests or frees
memory but <emphasis>never</emphasis> due to swapping
activity of the system.
<listitem>
<para>
If the &pmem-shared; size changes, this
<emphasis>only</emphasis> means that the number of pages that
are currently shared with other processes has changed; if this
happens, this will <emphasis>never</emphasis> affect any of the
other sizes of the process.
</itemizedlist>
</note>
<para>
The hints above describe how it works under Linux - and we should try to
make &glibtop-get-procmem; show the same behavior under every other
system.
<para>
If you want to make any comments, flames, suggestions about this, please
feel free to do so.
<!--
Local Variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data: t
sgml-parent-document: ("../gnome-hackers.sgml" "book" "sect1" "")
End:
-->

23
doc/features/uptime.sgml Normal file
View File

@@ -0,0 +1,23 @@
<note>
<para>
You can calculate this from the CPU usage (this one is taken
from the FreeBSD port):
<programlisting>&include-uptime.txt;</programlisting>
</note>
<!--
Local Variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data: t
sgml-parent-document: ("../gnome-hackers.sgml" "book" "sect1" "")
End:
-->

40
doc/features/uptime.txt Normal file
View File

@@ -0,0 +1,40 @@
#include &lt;glibtop.h&gt;
#include &lt;glibtop/error.h&gt;
#include &lt;glibtop/uptime.h&gt;
#include &lt;glibtop/cpu.h&gt;
#include &lt;glibtop_suid.h&gt;
static const unsigned long _glibtop_sysdeps_uptime =
(1 << GLIBTOP_UPTIME_UPTIME) + (1 << GLIBTOP_UPTIME_IDLETIME);
static const unsigned long _required_cpu_flags =
(1 << GLIBTOP_CPU_TOTAL) + (1 << GLIBTOP_CPU_IDLE) +
(1 << GLIBTOP_CPU_FREQUENCY);
void
glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf)
{
glibtop_cpu cpu;
glibtop_init_p (server, GLIBTOP_SYSDEPS_UPTIME, 0);
memset (buf, 0, sizeof (glibtop_uptime));
/* We simply calculate it from the CPU usage. */
glibtop_get_cpu_p (server, &amp;cpu);
/* Make sure all required fields are present. */
if ((cpu.flags &amp; _required_cpu_flags) != _required_cpu_flags)
return;
/* Calculate values. */
buf->uptime = (double) cpu.total / (double) cpu.frequency;
buf->idletime = (double) cpu.idle / (double) cpu.frequency;
buf->flags = _glibtop_sysdeps_uptime;
}

12
doc/gnome-hackers.dsl Normal file
View File

@@ -0,0 +1,12 @@
<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY dbtohtml.dsl SYSTEM "dbtohtml.dsl" CDATA DSSSL >
]>
<style-specification id="gnomehackersdbotohtml" use="dbtohtml">
(define %output-basename% "gnome-hackers")
(define %output-directory% "gnome-hackers")
</style-specification>
<external-specification id="dbtohtml" document="dbtohtml.dsl">

187
doc/gnome-hackers.sgml Normal file
View File

@@ -0,0 +1,187 @@
<!-- $Id$ -->
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!-- Site-specific entities, change them if you want to copy this
document somewhere else. -->
<!entity home-of-linux "http://www.home-of-linux.org/">
<!-- Some general entities -->
<!entity libgtop "<productname>libgtop</productname>">
<!-- Some abbreviations for often used filenames and functions. -->
<!entity gnome-libgtop-check.m4 "<filename>macros/gnome-libgtop-check.m4</filename>">
<!entity libgtopConf.sh "<filename>libgtopConf.sh</filename>">
<!entity glibtop-free "<function>glibtop_free ()</function>">
<!entity glibtop-get-procmem "<function>glibtop_get_proc_mem ()</function>">
<!entity mmap "<function>mmap ()</function>">
<!entity MAP-SHARED "<parameter>MAP_SHARED</parameter>">
<!entity MAP-PRIVATE "<parameter>MAP_PRIVATE</parameter>">
<!entity pmem-vsize "<structfield>procmem.vsize</structfield>">
<!entity pmem-size "<structfield>procmem.size</structfield>">
<!entity pmem-resident "<structfield>procmem.resident</structfield>">
<!entity pmem-shared "<structfield>procmem.shared</structfield>">
<!entity pmem-rss "<structfield>procmem.rss</structfield>">
<!-- This will include a sample `libgtopConf.sh'. -->
<!entity example-libgtopConf-sh SYSTEM "libgtopConf.sh">
<!-- Some entities to include other files. -->
<!entity include-autoconf.sgml SYSTEM "autoconf.sgml">
<!entity include-reference.sgml SYSTEM "../guile/reference.sgml">
<!-- The following entities are used in the automatically generated
`reference.sgml' to include custom descriptions of the features.
-->
<!entity include-cpu.sgml "">
<!entity include-mem.sgml "">
<!entity include-swap.sgml "">
<!entity include-uptime.sgml SYSTEM "features/uptime.sgml">
<!entity include-loadavg.sgml "">
<!entity include-shm-limits.sgml "">
<!entity include-msg-limits.sgml "">
<!entity include-sem-limits.sgml "">
<!entity include-proclist.sgml SYSTEM "features/proclist.sgml">
<!entity include-proc-state.sgml "">
<!entity include-proc-uid.sgml "">
<!entity include-proc-mem.sgml SYSTEM "features/procmem.sgml">
<!entity include-proc-time.sgml "">
<!entity include-proc-signal.sgml "">
<!entity include-proc-kernel.sgml "">
<!entity include-proc-segment.sgml "">
<!entity include-proc-map.sgml "">
<!entity include-mountlist.sgml "">
<!entity include-fsusage.sgml "">
<!entity include-uptime.txt SYSTEM "features/uptime.txt">
]>
<book>
<bookinfo>
<title>Using Libgtop in the Gnome Project</title>
<authorgroup>
<author>
<firstname>Martin</firstname>
<surname>Baulig</surname>
<affiliation>
<address>
<email>martin@home-of-linux.org</email>
</address>
</affiliation>
</author>
</authorgroup>
<copyright>
<year>1998</year>
<holder>Martin Baulig</holder>
</copyright>
<legalnotice>
<para>
This documentation is free software; you can redistribute
it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later
version.
<para>
This library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more
details.
<para>
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
<para>
For more details see the file COPYING in the source
distribution of &libgtop;.</para>
</legalnotice>
<abstract>
<para>
<literal>
$Id$
</literal>
<para>
This is a short introduction in how to use
<productname>libgtop</productname> in the GNOME project.
It describes the additional options <filename>configure</filename>
takes and the information stored in the automatically generated
<filename>libgtopConf.sh</filename> configuration script.
<note>
<para>
Documentation about the new <function>table ()</function>
function can be found here:
<itemizedlist>
<listitem><para>
<ulink url="&home-of-linux;kernel/table/">
&home-of-linux;kernel/table/
</ulink>
</itemizedlist>
</note>
</abstract>
</bookinfo>
<toc></toc>
<chapter id="autoconf-automake">
<title>Configuration</title>
&include-autoconf.sgml;
</chapter>
<chapter id="functions">
<title>Function Reference List</title>
&include-reference.sgml;
</chapter>
<chapter id="porting-libgtop">
<title>Porting &libgtop; to other systems</title>
<para>
Here are some comments for people porting &libgtop; to other systems.
<sect1>
<title>&glibtop-get-procmem; - Process Memory information</title>
<para>
This section is copied here from the description of
&glibtop-get-procmem;.
</para>
&include-proc-mem.sgml;
</sect1>
</chapter>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data: t
End:
-->

12
doc/libgtop-ref.dsl Normal file
View File

@@ -0,0 +1,12 @@
<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY dbtohtml.dsl SYSTEM "dbtohtml.dsl" CDATA DSSSL >
]>
<style-specification id="libgtoprefdbtohtml" use="dbtohtml">
(define %output-basename% "libgtop-ref")
(define %output-directory% "libgtop-ref")
</style-specification>
<external-specification id="dbtohtml" document="dbtohtml.dsl">

108
doc/libgtop-ref.sgml Normal file
View File

@@ -0,0 +1,108 @@
<!-- $Id$ -->
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!entity include-reference.sgml SYSTEM "../guile/reference.sgml" >
<!-- The following entities are used in the automatically generated
`reference.sgml' to include custom descriptions of the features.
-->
<!entity include-cpu.sgml "">
<!entity include-mem.sgml "">
<!entity include-swap.sgml "">
<!entity include-uptime.sgml "">
<!entity include-loadavg.sgml "">
<!entity include-shm-limits.sgml "">
<!entity include-msg-limits.sgml "">
<!entity include-sem-limits.sgml "">
<!entity include-proclist.sgml "">
<!entity include-proc-state.sgml "">
<!entity include-proc-uid.sgml "">
<!entity include-proc-mem.sgml "">
<!entity include-proc-time.sgml "">
<!entity include-proc-signal.sgml "">
<!entity include-proc-kernel.sgml "">
<!entity include-proc-segment.sgml "">
<!entity include-proc-map.sgml "">
<!entity include-mountlist.sgml "">
<!entity include-fsusage.sgml "">
]>
<book>
<bookinfo>
<title>LibGTop Reference Manual</title>
<authorgroup>
<author>
<firstname>Martin</firstname>
<surname>Baulig</surname>
<affiliation>
<address>
<email>martin@home-of-linux.org</email>
</address>
</affiliation>
</author>
</authorgroup>
<abstract>
<para>
<literal>$Id$</literal>
<para>
This reference manual is automatically generated from
<filename>doc/make-docbook.scm</filename>. It uses the
guile interface of <productname>libgtop</productname> to
get the names of all features the library defines and a
description of the structures.
</abstract>
<copyright>
<year>1998</year>
<holder>Martin Baulig</holder>
</copyright>
<legalnotice>
<para>
This documentation is free software; you can redistribute
it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later
version.
<para>
This library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more
details.
<para>
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
<para>
For more details see the file COPYING in the source
distribution of LibGTop.</para>
</legalnotice>
</bookinfo>
<toc></toc>
<chapter id="functions">
<title>Function Reference List</title>
&include-reference.sgml;
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data: t
End:
-->

12
doc/libgtop.dsl Executable file
View File

@@ -0,0 +1,12 @@
<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY dbtohtml.dsl SYSTEM "dbtohtml.dsl" CDATA DSSSL >
]>
<style-specification id="libgtopdbtohtml" use="dbtohtml">
(define %output-basename% "libgtop")
(define %output-directory% "libgtop")
</style-specification>
<external-specification id="dbtohtml" document="dbtohtml.dsl">

1332
doc/libgtop.sgml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,89 +0,0 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename libgtop2.info
@settitle LibGTop Reference Manual
@setchapternewpage odd
@c %**end of header
@include auto-macros.texi
@include version.texi
@ifinfo
This is the LibGTop Reference Manual version @value{VERSION}
(last modified @value{UPDATED}).
Copyright 1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
this permission notice are preserved on all copies.
@ignore
Permission is granted to process this file through TeX
and print the results, provided the printed document
carries a copying permission notice identical to this
one except for the removal of this paragraph (this
paragraph not being relevant to the printed manual).
@end ignore
Permission is granted to copy and distribute modified
versions of this manual under the conditions for
verbatim copying, provided also that the sections
entitled ``Copying'' and ``GNU General Public License''
are included exactly as in the original, and provided
that the entire resulting derived work is distributed
under the terms of a permission notice identical to this
one.
Permission is granted to copy and distribute
translations of this manual into another language,
under the above conditions for modified versions,
except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
@format
@dircategory Libraries:
@direntry
* LibGTop2: (libgtop2). Library to get system specific data
such as cpu and memory usage, active
processes
@end direntry
@end format
@end ifinfo
@titlepage
@title LibGTop Reference Manual
@subtitle Version @value{VERSION} - @value{UPDATED}
@author Martin Baulig
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified
versions of this manual under the conditions for
verbatim copying, provided also that the sections
entitled ``Copying'' and ``GNU General Public License''
are included exactly as in the original, and provided
that the entire resulting derived work is distributed
under the terms of a permission notice identical to this
one.
Permission is granted to copy and distribute
translations of this manual into another language,
under the above conditions for modified versions,
except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
@end titlepage
@contents
@include main.texi
@bye

35
doc/libgtopConf.sh Normal file
View File

@@ -0,0 +1,35 @@
#
# Configuration of the libgtop package
#
LIBGTOP_LIBDIR="/home/baulig/TEST/lib"
LIBGTOP_INCLUDEDIR="/home/baulig/TEST/include"
LIBGTOP_LIBS="-L/home/baulig/TEST/lib -lgtop -lgtop_common -lgtop_sysdeps -L/usr/X11R6/lib -lXau"
LIBGTOP_INCS="-I/home/baulig/TEST/include"
LIBGTOP_NAMES_LIBS="-L/home/baulig/TEST/lib -lgtop -lgtop_common -lgtop_sysdeps -lgtop_names -L/usr/X11R6/lib -lXau"
LIBGTOP_NAMES_INCS="-I/home/baulig/TEST/include -DGLIBTOP_NAMES"
LIBGTOP_GUILE_LIBS="-L/home/baulig/TEST/lib -lgtop -lgtop_guile -lgtop_common -lgtop_sysdeps -L/usr/X11R6/lib -lXau -L/home/baulig/INSTALL/lib -lguile -ldl -lreadline -ltermcap -lm"
LIBGTOP_GUILE_INCS="-I/home/baulig/TEST/include -I/home/baulig/INSTALL/include -DGLIBTOP_GUILE"
LIBGTOP_GUILE_NAMES_LIBS="-L/home/baulig/TEST/lib -lgtop -lgtop_guile -lgtop_common -lgtop_sysdeps -lgtop_names -L/usr/X11R6/lib -lXau"
LIBGTOP_GUILE_NAMES_INCS="-I/home/baulig/TEST/include -I/home/baulig/INSTALL/include -DGLIBTOP_GUILE -DGLIBTOP_NAMES"
LIBGTOP_BINDIR="/home/baulig/TEST/bin"
LIBGTOP_SERVER="/home/baulig/TEST/bin/libgtop_server"
LIBGTOP_MAJOR_VERSION="0"
LIBGTOP_MINOR_VERSION="2a"
LIBGTOP_VERSION="0.2a"
LIBGTOP_SERVER_VERSION="1"
libgtop_sysdeps_dir="linux"
libgtop_need_server="no"
libgtop_use_machine_h="no"
libgtop_guile_found="yes"
libgtop_want_examples=""

View File

@@ -1,68 +0,0 @@
@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

File diff suppressed because it is too large Load Diff

161
doc/table.announce.txt Normal file
View File

@@ -0,0 +1,161 @@
Path: news.uni-stuttgart.de!fu-berlin.de!taurus.uni-trier.DE!baulig
From: Martin Baulig <baulig@merkur.uni-trier.de>
Newsgroups: comp.os.linux.development.system
Subject: RFC: New system call for /proc information ?
Date: 07 Jun 1998 20:22:47 +0200
Lines: 143
Sender: baulig@Taurus.uni-trier.de
Message-ID: <of7zpfprs08.fsf@Taurus.uni-trier.de>
NNTP-Posting-Host: taurus.uni-trier.de (136.199.14.201)
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
NNTP-Posting-User: baulig
X-Access: 16 1542 1543
X-Trace: fu-berlin.de 897243777 29527 baulig 136.199.14.201
X-Newsreader: Gnus v5.6.11/XEmacs 20.3 - "Vatican City"
Xref: news.uni-stuttgart.de comp.os.linux.development.system:73539
[Posted to the Gnome Mailing List and to comp.os.linux.development.system]
Request for Comments:
====================
Should we have a new system call under Linux which fetches information
from the /proc filesytem similar to the table() function of DEC OSF/1 ?
The whole story:
===============
I am currently working on libgtop, a library that fetches information
from the proc filesystem for user processes. This library uses a suid
server on system where this is required. On Linux, the information are
fetched directly from the proc filesystem.
Now, I made some profilings (fetches 50000 times cpu, memory, swap,
uptime and loadavg):
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ns/call ns/call name
91.86 348.03 348.03 read
3.07 359.67 11.64 open
0.67 362.22 2.55 close
0.16 363.55 0.62 memset
0.16 364.14 0.59 __ipc
0.03 368.84 0.12 vsscanf (iovsscanf.c:31)
0.01 374.49 0.05 sscanf (sscanf.c:28)
0.00 378.71 0.01 semctl (semctl.c:32)
0.00 378.73 0.01 shmctl (shmctl.c:30)
granularity: each sample hit covers 4 byte(s) for 0.00% of 378.88 seconds
index % time self children called name
[1] 91.9 348.03 0.00 read [1]
-----------------------------------------------
[2] 3.1 11.64 0.00 open [2]
-----------------------------------------------
[3] 0.7 2.55 0.00 close [3]
-----------------------------------------------
[5] 0.2 0.62 0.00 memset [5]
-----------------------------------------------
[6] 0.2 0.59 0.00 __ipc [6]
-----------------------------------------------
[35] 0.0 0.12 0.00 vsscanf (iovsscanf.c:31) [35]
-----------------------------------------------
[96] 0.0 0.05 0.00 sscanf (sscanf.c:28) [96]
-----------------------------------------------
You see, it spends a lot of time in read() which is only used to read the
data from the files in /proc. Well, basically one can say that these
timings are not so bad, normally a process periodically fetches those
information say 10 times a seconds which makes 36000 invocations per
hour.
This will make a total of about 250 seconds per hour or on even say:
``a program fetching those information at a frequency of 10 will take
about 7 % of each hour just for reading files from /proc''.
Now look at timings of __ipc, they're about 350 times better 'cause this
is done using system calls.
So far so good, now look at how this is done on the DEC OSF/1 port of the
library (the following code is part of libgtop - GPL/LGPL):
CPU usage:
{
struct tbl_sysinfo sysinfo;
int ret;
ret = table (TBL_SYSINFO, 0, (char *) &sysinfo, 1,
sizeof (struct tbl_sysinfo));
buf->user = sysinfo.si_user;
buf->nice = sysinfo.si_nice;
buf->sys = sysinfo.si_sys;
buf->idle = sysinfo.si_idle;
}
Well, the table() command of DEC OSF/1 has may disadvantages, too - such
as requiring to be root to fetch any information about processes (well, for
each process that is not the current one).
But this works using system calls rather that reading and parsing files
and should be about as fast as getting the IPC information on Linux.
Under Linux, the current trend seems to be to move anything into the /proc
filesystem, but if you look at the timings, wouldn't it be better to also
implement a system call interface ?
Don't understand me wrong:
=========================
I *do not want* to *replace* the /proc filesystem - it's an excellent
idea to be able to fetch all information on the command line without
any program just a simple 'cat' - I want to *add* a *new* system call
to allow programmers to fetch those information faster that reading
from /proc.
To come to the point:
=====================
Is there any public interest in having a new system call under Linux
which can be used to fetch all information that are currently in the
/proc filesystem.
Basically, this system would be defined like this:
asmlinkage int
sys_table (int command, struct sysinfo_table *buf)
and be invoked like this:
#include <sys/table.h>
{
struct sysinfo_cpu cpu;
struct sysinfo_mem mem;
ret = table (TABLE_CPU, &cpu);
if (ret == -1) return; /* or invoke any error handler */
ret = table (TABLE_MEM, &mem);
if (ret == -1) return;
}
What do you think, folks. Should we have such a system call under Linux ?
I can do the implementation of this system call, but I want to have some
feedback first.
Martin
--
-----------------------------------------------------------------
Martin Baulig - Angewandte Mathematik - Universitaet Trier
baulig@castor.uni-trier.de, http://www.home-of-linux.com/
Key: 1024-bit key with ID C8178435 created 1997/01/24
ID: 67 C1 84 A0 47 F5 11 C5 5F 68 4C 84 99 05 C3 92
Finger me for public key or fetch finger.txt from the url above
------------------------------------------------------------------

12
doc/table.dsl Normal file
View File

@@ -0,0 +1,12 @@
<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY dbtohtml.dsl SYSTEM "dbtohtml.dsl" CDATA DSSSL >
]>
<style-specification id="tabledbotohtml" use="dbtohtml">
(define %output-basename% "table")
(define %output-directory% "table")
</style-specification>
<external-specification id="dbtohtml" document="dbtohtml.dsl">

193
doc/table.sgml Normal file
View File

@@ -0,0 +1,193 @@
<!-- $Id$ -->
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!entity libgtopConf.sh SYSTEM "../libgtopConf.sh" >
<!entity home-of-linux "http://www.home-of-linux.org/">
<!entity table-announce-first "&home-of-linux;kernel/table/ANNOUNCE.FIRST">
<!entity table20-tgz "&home-of-linux;kernel/table/table20.tgz">
<!entity table21-tgz "&home-of-linux;kernel/table/table21.tgz">
<!entity news-c-o-l-d-s "comp.os.linux.development.system">
<!entity libgtop "<productname>libgtop</productname>">
<!entity table "<function>table ()</function>">
]>
<book>
<bookinfo>
<title>The &table; system call under Linux</title>
<authorgroup>
<author>
<firstname>Martin</firstname>
<surname>Baulig</surname>
<affiliation>
<address>
<email>martin@home-of-linux.org</email>
</address>
</affiliation>
</author>
</authorgroup>
<copyright>
<year>1998</year>
<holder>Martin Baulig</holder>
</copyright>
<legalnotice>
<para>
This documentation is free software; you can redistribute
it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later
version.
<para>
This library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more
details.
<para>
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
<para>
For more details see the file COPYING in the source
distribution of LibGTop.</para>
</legalnotice>
<abstract>
<para>
<literal>$Id$</literal>
<para>
Under <productname>Linux</productname>, reading from
<filename>/proc</filename> is somehow slow because the data
needs to be converted into a stringified representation from
the kernel and to be parsed from the application program to
get the original data back.
While doing the <productname>DEC OSF/1</productname> port of
&libgtop; I got the idea to add something similar to the &table;
function there to the Linux kernel.
This is what this document is about.
</abstract>
</bookinfo>
<toc></toc>
<chapter id="why-not-sysctl">
<title>Why not <function>sysctl</function>?</title>
<para>
Some weeks ago, I posted the initial proposal of the project to
<ulink url="news:&news-c-o-l-d-s;">&news-c-o-l-d-s;</ulink> with
Message-ID <literal>&lt;of7zpfprs08.fsf@Taurus.uni-trier.de&gt;</literal>.
<para>
You can also read this article at my site:
<itemizedlist>
<listitem><para>
<ulink url="&table-announce-first;">&table-announce-first;</ulink>
</itemizedlist>
<para>
Some people told me to include all the stuff into
<function>sysctl</function> instead of inventing a new system call.
<para>
Basically this is a good idea, but the main problem with
<function>sysctl</function> is that this should be applied to standard
kernels and not just as a short patch. Well, AFAIK something similar
is on the "wish list" for 2.2er kernels - but of cause it'll need some
time until we have a real replacement of the <filename>/proc</filename>
filesystem in <function>sysctl</function>.
<para>
If someone thinks that this absolutely should be included in
<function>sysctl</function>: think about some kind of interface,
discuss it with the kernel developers, ...
<chapter id="about-table">
<title>About the &table; function</title>
<para>
Using the &table; function will not affect any existing kernel
structures and can be done independent from kernel development.
<para>
So it can easily be used in &libgtop; until we have something
simliar in standard kernels.
<para>
If you want to use the &table; function in your own programs, be
aware that it is just intended to be some kind of quick solution
for &libgtop; until there's something better in standard kernels.
<chapter id="how-to-use">
<title>How to use the &table; function in &libgtop;</title>
<para>
The source code of the &table; function is distributed together with
&libgtop;. It can be found in the <filename>kernel/table20</filename>
directory for 2.0.xx kernels and in the <filename>kernel/table21</filename>
directory for 2.1.xx kernels.
<para>
You can also download it from my site:
<itemizedlist>
<listitem><para>
<ulink url="&table20-tgz;">&table20-tgz</ulink>
(for kernel 2.0.xx)
<listitem><para>
<ulink url="&table21-tgz;">&table21-tgz</ulink>
(for kernel 2.1.xx)
</itemizedlist>
<para>
Copy the contents of the appropriate directory to
<filename>/usr/src/linux/table</filename>, apply the
patch to the kernel and re-configure &libgtop;.
<para>
After that, you can unmount <filename>/proc</filename> and
&libgtop; will still work !
<note>
<para>
Maybe one could consider this as a bug, but currently there
isn't a configuration option to disable the &table; function
once you applied the patch ...
</note>
<note>
<para>
Currently I'm working on the 2.1.x version to implement some
features newer kernels have - so the 2.0.x version may not
have all features the 2.1.x one has.
</note>
<note>
<para>
The 2.1.x version of the &table; function is implemented
as a kernel module. You have to do a
<command>insmod table/module.o</command> manually to use it.
<para>
This has the advantage that you don't need to reboot if you
want to play around with the code a little bit.
</note>
</book>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
End:
-->

View File

@@ -1,90 +0,0 @@
@node White Paper, Reference Manual, About, Top
@chapter LibGTop White Paper
@menu
* Introduction:: Introduction
* Overview:: Overview
@end menu
@node Introduction, Overview, White Paper, White Paper
@section Introduction
Many modern UNIX systems like Solaris, BSD or Digitial Unix only allow
priviledged processes to read information like CPU and Memory Usage or
information about running processes.
@itemize @bullet
@item
BSD, for instance, doesn't have any other way to get those data than reading
directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
be able to read this.
@item
Other systems, like Digital Unix, allow all users to get things like CPU and
Memory statistics, but only root may read information about any process other
than the current one (you may not even get information about your own processes
if you're not root).
@item
Linux has a very nice @file{/proc} filesystem, but reading and parsing
@file{/proc} is very slow and inefficient.
@item
Solaris is a bit better, but you still need to be in the @code{sys} group or
even root to get some data.
@end itemize
Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
often are setgid kmem or setuid root. Usually, they're also very specific to
the system they're written for and not easily portable to other systems without
a lot of work.
This, of cause, becomes a problem for graphical tools like @code{gtop} - making
a GTK+ program setgid or even setuid would be a security hole as big as you can
drive the entire X11 source code through. For the GNOME project, we also needed
some kind of library which provides all the required information in a portable
since there's more than just one single program that wants to use them - for
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
@code{netload} panel applets.
@node Overview, , Introduction, White Paper
@section Overview
This section should give you a short overview on how LibGTop was developed, which
things needed to be considered and how it works.
@menu
* Interface Design:: Things that need to be considered
* Server Implementation:: The LibGTop "server"
@end menu
@node Interface Design, Server Implementation, Overview, Overview
@subsection Interface Design
At the very beginning, it was necessary to collect all the data the library part
should provide and put them into some C structures. This was not that easiy as it
might sound since LibGTop should be portable to any modern UNIX system with a common
library part on all those systems, but the data that should be returned vary from
system to system. For instance some systems support shared memory, but some others
may not.
The header files where we define these C structures (which are system-independent) are
shared between client and server. This way we can call the system dependent code
directly where we do not need any special privileges to do so.
All of those structures contain a @code{flags} member which is interpreted as a bit
mask and tells the caller of the library functions which of the fields in the returned
structure are valid and which are not.
@node Server Implementation, , Interface Design, Overview
@subsection Server Implementation
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
dependent code which needs special privileges. It is only build if it's required
on the current system (for instance, the Linux kernel provides all the required
data via its @file{/proc} filesystem so we do not need the server at all) and it
only contains the @dfn{features} which need privileges.
Whenever we do not need any privileges to get all the data for some of the requested
structures (here called @dfn{features}) the library calls the sysdeps code directly
rather than using the server.

View File

@@ -11,6 +11,3 @@ third_linux
third_static
second_static
second_linux
smp_static sysdeps_static netload_static procmap_static mountlist_static
smp sysdeps netload procmap mountlist
timings timings_static

View File

@@ -1,67 +1,3 @@
2001-01-14 Abel Cheung <maddog@linux.org.hk>
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
* Makefile.am, first.c, second.c, sysdeps.c: Make them at least
compile for now, by disabling chunks which should belong to
HEAD branch.
1999-05-28 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c, sysdeps.c: Use LibGTop version conditionals
so we can more easily merge the code into LIBGTOP_STABLE_1_0.
1999-05-07 Martin Baulig <martin@home-of-linux.org>
* timings.c (timersub): Renamed this to `libgtop_timersub' and define
it on all systems.
Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
* timings.c: Added timersub defenition, to make code compilable on
BSDI.
1999-03-24 Martin Baulig <martin@home-of-linux.org>
* timings.c: New example.
1999-03-17 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c: Fixed a bug that caused a core dump when
the sysdeps code does not return all data.
1998-11-22 Martin Baulig <baulig@taurus.uni-trier.de>
* netload.c: Call inet_ntoa () to get address and subnet
in quatted dot notation (like 136.199.14.201) and not just
as a number (like 0xc90ec788).
1998-11-02 Martin Baulig <martin@home-of-linux.org>
* sysdeps.c: New example.
1998-10-26 Martin Baulig <martin@home-of-linux.org>
* netload.c: New file. Gets network load for the interface
given as command line argument.
1998-10-26 Martin Baulig <martin@home-of-linux.org>
* first.c (glibtop_get_proc_args): Get command line arguments.
* second.c: Likewise.
1998-10-25 Martin Baulig <martin@home-of-linux.org>
* first.c (glibtop_get_ppp): Get PPP/ISDN statistics.
1998-09-28 Martin Baulig <martin@home-of-linux.org>
* Makefile.am: Install everything in $(libexecdir)/libgtop.
1998-09-09 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
* smp.c: New file. Nice tool to show CPU statistics on SMP systems.
1998-08-25 Martin Baulig <martin@home-of-linux.org>
* first.c, second.c, procmap.c: Fixed some compiler warnings.

View File

@@ -2,120 +2,75 @@
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
INCLUDES = @INCLUDES@
CFLAGS = -Wall -W @CFLAGS@ -O0
DEFS = @DEFS@
# We install it in `libexec' since this will make it more easy
# to put the examples into an extra RPM package.
libgtopdir = $(libexecdir)/libgtop
libexec_PROGRAMS = first first_static second second_static \
mountlist mountlist_static \
procmap procmap_static \
@guile_examples@
libgtop_PROGRAMS = first second\
mountlist procmap netload sysdeps timings \
@static_targets@ @guile_examples@ @smp_examples@
EXTRA_PROGRAMS = first_static second_static \
mountlist_static procmap_static \
third third_static smp smp_static \
netload_static sysdeps_static \
timings_static
EXTRA_PROGRAMS = third third_static
first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
first_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@INTLLIBS@ @LIBSUPPORT@ @LIBGTOP_EXTRA_LIBS@
first_static_SOURCES = $(first_SOURCES)
first_static_LDADD = $(first_LDADD)
first_static_LDFLAGS = -static
second_SOURCES = second.c
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
second_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@INTLLIBS@ @LIBSUPPORT@ @LIBGTOP_EXTRA_LIBS@
second_static_SOURCES = $(second_SOURCES)
second_static_LDADD = $(second_LDADD)
second_static_LDFLAGS = -static
procmap_SOURCES = procmap.c
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
procmap_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@INTLLIBS@ @LIBSUPPORT@ @LIBGTOP_EXTRA_LIBS@
procmap_static_SOURCES = $(procmap_SOURCES)
procmap_static_LDADD = $(procmap_LDADD)
procmap_static_LDFLAGS = -static
netload_SOURCES = netload.c
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
netload_static_SOURCES = $(netload_SOURCES)
netload_static_LDADD = $(netload_LDADD)
netload_static_LDFLAGS = -static
sysdeps_SOURCES = sysdeps.c
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
sysdeps_static_SOURCES = $(sysdeps_SOURCES)
sysdeps_static_LDADD = $(sysdeps_LDADD)
sysdeps_static_LDFLAGS = -static
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names-2.0.la
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names.la
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names.la
third_SOURCES = third.c
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile-2.0.la \
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile.la \
$(third_guile_names_LIBS) $(third_names_LIBS) \
$(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@GUILE_LIBS@ @LIBSUPPORT@ @INTLLIBS@
$(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@GUILE_LIBS@ @INTLLIBS@ @LIBSUPPORT@ \
@LIBGTOP_EXTRA_LIBS@
third_static_SOURCES = $(third_SOURCES)
third_static_LDADD = $(third_LDADD)
third_static_LDFLAGS = -static
mountlist_SOURCES = mountlist.c
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
mountlist_LDADD = $(top_builddir)/lib/libgtop.la \
$(top_builddir)/sysdeps/common/libgtop_common.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
@INTLLIBS@ @LIBSUPPORT@ @LIBGTOP_EXTRA_LIBS@
mountlist_static_SOURCES= $(mountlist_SOURCES)
mountlist_static_LDADD = $(mountlist_LDADD)
mountlist_static_LDFLAGS= -static
smp_SOURCES = smp.c
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
smp_static_SOURCES = $(smp_SOURCES)
smp_static_LDADD = $(smp_LDADD)
smp_static_LDFLAGS = -static
timings_SOURCES = timings.c
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@LIBSUPPORT@ @INTLLIBS@
timings_static_SOURCES = $(timings_SOURCES)
timings_static_LDADD = $(timings_LDADD)
timings_static_LDFLAGS = -static

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <locale.h>
@@ -47,13 +45,12 @@ main (int argc, char *argv [])
unsigned c, method, count, port, i, *ptr;
char buffer [BUFSIZ];
pid_t pid, ppid;
char *args;
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
@@ -175,22 +172,10 @@ main (int argc, char *argv [])
printf ("\n");
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_ppp (&data.ppp, 0);
printf ("PPP (0x%08lx): %lu, %lu, %lu\n",
(unsigned long) data.ppp.flags,
(unsigned long) data.ppp.state,
(unsigned long) data.ppp.bytes_in,
(unsigned long) data.ppp.bytes_out);
printf ("\n");
glibtop_get_sysdeps (&sysdeps);
printf ("Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, "
"%lu, %lu, %lu, %lu, %lu, %lu\n",
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
(unsigned long) sysdeps.flags,
(unsigned long) sysdeps.cpu,
(unsigned long) sysdeps.mem,
@@ -207,13 +192,7 @@ main (int argc, char *argv [])
(unsigned long) sysdeps.proc_time,
(unsigned long) sysdeps.proc_signal,
(unsigned long) sysdeps.proc_kernel,
(unsigned long) sysdeps.proc_segment,
(unsigned long) sysdeps.proc_args,
(unsigned long) sysdeps.proc_map,
(unsigned long) sysdeps.mountlist,
(unsigned long) sysdeps.fsusage,
(unsigned long) sysdeps.netload,
(unsigned long) sysdeps.ppp);
(unsigned long) sysdeps.proc_segment);
printf ("\n");
@@ -320,7 +299,7 @@ main (int argc, char *argv [])
glibtop_get_proc_kernel (&data.proc_kernel, pid);
printf ("Proc_Kernel PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", (int) pid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -334,22 +313,6 @@ main (int argc, char *argv [])
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
glibtop_free (args);
printf ("\n");
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_state (&data.proc_state, ppid);
@@ -430,7 +393,7 @@ main (int argc, char *argv [])
glibtop_get_proc_kernel (&data.proc_kernel, ppid);
printf ("Proc_Kernel PPID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) ppid,
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", (int) ppid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -444,22 +407,6 @@ main (int argc, char *argv [])
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, ppid, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) ppid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
glibtop_free (args);
printf ("\n");
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_state (&data.proc_state, 1);
@@ -541,7 +488,7 @@ main (int argc, char *argv [])
glibtop_get_proc_kernel (&data.proc_kernel, 1);
printf ("Proc_Kernel INIT %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", 1,
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", 1,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -553,22 +500,6 @@ main (int argc, char *argv [])
(unsigned long) data.proc_kernel.nwchan,
data.proc_kernel.wchan);
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, 1, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", 1,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
glibtop_free (args);
glibtop_close ();
exit (0);

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <locale.h>
@@ -47,8 +45,8 @@ main (int argc, char *argv [])
char buffer [BUFSIZ];
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);

View File

@@ -1,125 +0,0 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <locale.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h>
#include <glibtop/netload.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1
#endif
int
main (int argc, char *argv [])
{
glibtop_netload netload;
unsigned method, count, port;
struct in_addr addr, subnet;
char *address_string, *subnet_string;
char buffer [BUFSIZ];
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
printf ("Method = %d\n", method);
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
buffer [count] = 0;
printf ("Command = '%s'\n", buffer);
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
buffer [count] = 0;
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
printf ("Host = '%s' - %u\n\n", buffer, port);
glibtop_init_r (&glibtop_global_server, 0, 0);
if (argc != 2)
glibtop_error ("Usage: %s interface", argv [0]);
glibtop_get_netload (&netload, argv [1]);
addr.s_addr = netload.address;
subnet.s_addr = netload.subnet;
address_string = glibtop_strdup (inet_ntoa (addr));
subnet_string = glibtop_strdup (inet_ntoa (subnet));
printf ("Network Load (0x%08lx):\n\n"
"\tInterface Flags:\t0x%08lx\n"
"\tAddress:\t\t0x%08lx - %s\n"
"\tSubnet:\t\t\t0x%08lx - %s\n\n"
"\tMTU:\t\t\t%ld\n"
"\tCollisions:\t\t%ld\n\n"
"\tPackets In:\t\t%ld\n"
"\tPackets Out:\t\t%ld\n"
"\tPackets Total:\t\t%ld\n\n"
"\tBytes In:\t\t%ld\n"
"\tBytes Out:\t\t%ld\n"
"\tBytes Total:\t\t%ld\n\n"
"\tErrors In:\t\t%ld\n"
"\tErrors Out:\t\t%ld\n"
"\tErrors Total:\t\t%ld\n\n",
(unsigned long) netload.flags,
(unsigned long) netload.if_flags,
(unsigned long) netload.address, address_string,
(unsigned long) netload.subnet, subnet_string,
(unsigned long) netload.mtu,
(unsigned long) netload.collisions,
(unsigned long) netload.packets_in,
(unsigned long) netload.packets_out,
(unsigned long) netload.packets_total,
(unsigned long) netload.bytes_in,
(unsigned long) netload.bytes_out,
(unsigned long) netload.bytes_total,
(unsigned long) netload.errors_in,
(unsigned long) netload.errors_out,
(unsigned long) netload.errors_total);
glibtop_free (address_string);
glibtop_free (subnet_string);
glibtop_close ();
exit (0);
}

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <locale.h>
@@ -58,8 +56,8 @@ main (int argc, char *argv [])
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
@@ -97,7 +95,7 @@ main (int argc, char *argv [])
unsigned device, device_major, device_minor;
char perm [5];
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
if (maps [i].flags & (1 << GLIBTOP_MAP_ENTRY_FILENAME))
filename = maps [i].filename;
#ifdef GLIBTOP_INODEDB
@@ -116,41 +114,24 @@ main (int argc, char *argv [])
device_minor = (device & 255);
device_major = ((device >> 8) & 255);
if (filename) {
char *format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s - %s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s - %s\n";
fprintf (stderr, format,
if (filename)
fprintf (stderr, "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s - %s\n",
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm, filename);
} else {
char * format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s\n";
fprintf (stderr, format,
else
fprintf (stderr, "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s\n",
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm);
}
if (filename && (filename != maps [i].filename))
glibtop_free (filename);

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <locale.h>
@@ -35,22 +33,11 @@ static void
output (pid_t pid)
{
glibtop_union data;
char *args;
unsigned i;
#if HAVE_LIBGTOP_SMP
unsigned long total;
double p_total, p_utime, p_stime;
double b_total, b_utime, b_stime;
double s_total, s_utime, s_stime;
double my_utime, my_stime;
int ncpu;
#endif
printf ("\n");
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,
@@ -59,7 +46,7 @@ output (pid_t pid)
(unsigned long) data.proc_state.gid);
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,
@@ -69,7 +56,7 @@ output (pid_t pid)
data.proc_uid.pgrp, data.proc_uid.session,
data.proc_uid.tty, data.proc_uid.tpgid,
data.proc_uid.priority, data.proc_uid.nice);
glibtop_get_proc_mem (&data.proc_mem, pid);
printf ("Proc_Mem PID %5d (0x%08lx): "
@@ -124,7 +111,7 @@ output (pid_t pid)
glibtop_get_proc_kernel (&data.proc_kernel, pid);
printf ("Proc_Kernel PID %5d (0x%08lx): "
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
"%lu %lu %lu %lu %lu %lu %lu %lu (%s)\n", (int) pid,
(unsigned long) data.proc_kernel.flags,
(unsigned long) data.proc_kernel.k_flags,
(unsigned long) data.proc_kernel.min_flt,
@@ -137,97 +124,6 @@ output (pid_t pid)
data.proc_kernel.wchan);
printf ("\n");
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
for (i = 0; i < data.proc_args.size; i++) {
if (args [i]) continue;
args [i] = '|';
}
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
(unsigned long) data.proc_args.flags,
(unsigned long) data.proc_args.size,
args ? args : "");
glibtop_free (args);
printf ("\n");
#if HAVE_LIBGTOP_SMP
ncpu = glibtop_global_server->ncpu;
glibtop_get_proc_time (&data.proc_time, pid);
total = (unsigned long) data.proc_time.utime +
(unsigned long) data.proc_time.stime;
p_total = total ? (double) total : 1.0;
p_utime = (double) data.proc_time.utime * 100.0 / p_total;
p_stime = (double) data.proc_time.stime * 100.0 / p_total;
b_total = p_total / ncpu;
b_utime = (double) data.proc_time.utime / ncpu;
b_stime = (double) data.proc_time.stime / ncpu;
s_total = 0.0; s_utime = 0.0; s_stime = 0.0;
printf ("Proc_Time PID %5d (0x%08lx): %12lu %12lu %12lu\n", (int) pid,
(unsigned long) data.proc_time.flags, total,
(unsigned long) data.proc_time.utime,
(unsigned long) data.proc_time.stime);
for (i = 0; i < ncpu; i++) {
unsigned long this_total;
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
(unsigned long) data.proc_time.xcpu_stime [i];
printf ("CPU %3d PID %5d (0x%08lx): %12lu %12lu %12lu\n", i,
(int) pid, (unsigned long) data.proc_time.flags, this_total,
(unsigned long) data.proc_time.xcpu_utime [i],
(unsigned long) data.proc_time.xcpu_stime [i]);
s_total += fabs (((double) this_total) - b_total);
s_utime += fabs (((double) data.proc_time.xcpu_utime [i]) - b_utime);
s_stime += fabs (((double) data.proc_time.xcpu_stime [i]) - b_stime);
}
printf ("\n");
printf ("Proc_Time PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", (int) pid,
(unsigned long) data.proc_time.flags, 100.0, p_utime, p_stime);
for (i = 0; i < ncpu; i++) {
double this_p_total, this_p_utime, this_p_stime;
unsigned long this_total;
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
(unsigned long) data.proc_time.xcpu_stime [i];
this_p_total = (double) this_total * 100.0 / p_total;
this_p_utime = (double) data.proc_time.xcpu_utime [i] * 100.0 / p_total;
this_p_stime = (double) data.proc_time.xcpu_stime [i] * 100.0 / p_total;
printf ("CPU %3d PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", i,
(int) pid, (unsigned long) data.proc_time.flags,
this_p_total, this_p_utime, this_p_stime);
}
printf ("\n");
my_utime = (unsigned long) data.proc_time.utime ?
(double) data.proc_time.utime : 1.0;
my_stime = (unsigned long) data.proc_time.stime ?
(double) data.proc_time.stime : 1.0;
printf ("SPIN: %31s %12.3f %12.3f %12.3f\n", "", s_total * 100.0 / p_total,
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
printf ("\n");
#endif
}
int
@@ -238,8 +134,8 @@ main (int argc, char *argv [])
unsigned *ptr, pid, i;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
glibtop_init ();
@@ -294,6 +190,3 @@ main (int argc, char *argv [])
exit (0);
}

View File

@@ -1,124 +0,0 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, September 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <locale.h>
#include <glibtop.h>
#include <glibtop/cpu.h>
#include <glibtop/xmalloc.h>
int
main (int argc, char *argv [])
{
glibtop_cpu cpu;
unsigned long frequency;
double total, user, nice, sys, idle;
double b_total, b_user, b_nice, b_sys, b_idle;
double s_total, s_user, s_nice, s_sys, s_idle;
char separator [BUFSIZ], buffer [BUFSIZ];
int ncpu, i;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_get_cpu (&cpu);
ncpu = glibtop_global_server->ncpu ? glibtop_global_server->ncpu : 1;
frequency = (unsigned long) cpu.frequency;
total = ((unsigned long) cpu.total) ? ((double) cpu.total) : 1.0;
user = ((unsigned long) cpu.user) ? ((double) cpu.user) : 1.0;
nice = ((unsigned long) cpu.nice) ? ((double) cpu.nice) : 1.0;
sys = ((unsigned long) cpu.sys) ? ((double) cpu.sys) : 1.0;
idle = ((unsigned long) cpu.idle) ? ((double) cpu.idle) : 1.0;
s_total = s_user = s_nice = s_sys = s_idle = 0.0;
b_total = total / ncpu;
b_user = user / ncpu;
b_nice = nice / ncpu;
b_sys = sys / ncpu;
b_idle = idle / ncpu;
memset (separator, '-', 91);
separator [92] = '\0';
sprintf (buffer, _("Ticks (%ld per second):"), frequency);
printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
_("Total"), _("User"), _("Nice"), _("Sys"), _("Idle"), separator);
printf (_("CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n"),
(unsigned long) cpu.flags, total, user, nice, sys, idle);
for (i = 0; i < glibtop_global_server->ncpu; i++) {
printf (_("CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"), i,
(unsigned long) cpu.flags,
(unsigned long) cpu.xcpu_total [i],
(unsigned long) cpu.xcpu_user [i],
(unsigned long) cpu.xcpu_nice [i],
(unsigned long) cpu.xcpu_sys [i],
(unsigned long) cpu.xcpu_idle [i]);
s_total += fabs (((double) cpu.xcpu_total [i]) - b_total);
s_user += fabs (((double) cpu.xcpu_user [i]) - b_user);
s_nice += fabs (((double) cpu.xcpu_nice [i]) - b_nice);
s_sys += fabs (((double) cpu.xcpu_sys [i]) - b_sys);
s_idle += fabs (((double) cpu.xcpu_idle [i]) - b_idle);
}
printf ("%s\n\n\n", separator);
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", _("Percent:"),
_("Total (%)"), _("User (%)"), _("Nice (%)"), _("Sys (%)"),
_("Idle (%)"), separator);
printf (_("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n"),
(unsigned long) cpu.flags, (double) total * 100.0 / total,
(double) user * 100.0 / total,
(double) nice * 100.0 / total,
(double) sys * 100.0 / total,
(double) idle * 100.0 / total);
for (i = 0; i < glibtop_global_server->ncpu; i++) {
double p_total, p_user, p_nice, p_sys, p_idle;
p_total = ((double) cpu.xcpu_total [i]) * 100.0 / total;
p_user = ((double) cpu.xcpu_user [i]) * 100.0 / user;
p_nice = ((double) cpu.xcpu_nice [i]) * 100.0 / nice;
p_sys = ((double) cpu.xcpu_sys [i]) * 100.0 / sys;
p_idle = ((double) cpu.xcpu_idle [i]) * 100.0 / idle;
printf (_("CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"),
i, (unsigned long) cpu.flags, p_total, p_user, p_nice,
p_sys, p_idle);
}
printf ("%s\n%-26s %12.3f %12.3f %12.3f %12.3f %12.3f\n\n", separator,
_("Spin:"), s_total * 100.0 / total, s_user * 100.0 / user,
s_nice * 100.0 / nice, s_sys * 100.0 / sys, s_idle * 100.0 / idle);
exit (0);
}

View File

@@ -1,148 +0,0 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <locale.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1
#endif
int
main (int argc, char *argv [])
{
glibtop_sysdeps sysdeps;
unsigned method, count, port;
char buffer [BUFSIZ];
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
printf ("Method = %d\n", method);
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
buffer [count] = 0;
printf ("Command = '%s'\n", buffer);
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
buffer [count] = 0;
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
printf ("Host = '%s' - %u\n\n", buffer, port);
glibtop_init_r (&glibtop_global_server, 0, 0);
glibtop_get_sysdeps (&sysdeps);
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0)
printf ("Sysdeps (0x%08lx):\n\n"
"\tfeatures:\t\t0x%08lx\n\n"
"\tcpu:\t\t%d\t0x%08lx\n"
"\tmem:\t\t%d\t0x%08lx\n"
"\tswap:\t\t%d\t0x%08lx\n\n"
"\tuptime:\t\t%d\t0x%08lx\n"
"\tloadavg:\t%d\t0x%08lx\n\n"
"\tshm_limits:\t%d\t0x%08lx\n"
"\tmsg_limits:\t%d\t0x%08lx\n"
"\tsem_limits:\t%d\t0x%08lx\n\n"
"\tproclist:\t%d\t0x%08lx\n\n"
"\tproc_state:\t%d\t0x%08lx\n"
"\tproc_uid:\t%d\t0x%08lx\n"
"\tproc_mem:\t%d\t0x%08lx\n"
"\tproc_time:\t%d\t0x%08lx\n"
"\tproc_signal:\t%d\t0x%08lx\n"
"\tproc_kernel:\t%d\t0x%08lx\n"
"\tproc_segment:\t%d\t0x%08lx\n\n"
"\tproc_args:\t%d\t0x%08lx\n"
"\tproc_map:\t%d\t0x%08lx\n\n"
"\tmountlist:\t%d\t0x%08lx\n"
"\tfsusage:\t%d\t0x%08lx\n\n"
"\tnetload:\t%d\t0x%08lx\n"
"\tppp:\t\t%d\t0x%08lx\n\n",
(unsigned long) sysdeps.flags,
(unsigned long) sysdeps.features,
FEATURE_CHECK(CPU),
(unsigned long) sysdeps.cpu,
FEATURE_CHECK(MEM),
(unsigned long) sysdeps.mem,
FEATURE_CHECK(SWAP),
(unsigned long) sysdeps.swap,
FEATURE_CHECK(UPTIME),
(unsigned long) sysdeps.uptime,
FEATURE_CHECK(LOADAVG),
(unsigned long) sysdeps.loadavg,
FEATURE_CHECK(SHM_LIMITS),
(unsigned long) sysdeps.shm_limits,
FEATURE_CHECK(MSG_LIMITS),
(unsigned long) sysdeps.msg_limits,
FEATURE_CHECK(SEM_LIMITS),
(unsigned long) sysdeps.sem_limits,
FEATURE_CHECK(PROCLIST),
(unsigned long) sysdeps.proclist,
FEATURE_CHECK(PROC_STATE),
(unsigned long) sysdeps.proc_state,
FEATURE_CHECK(PROC_UID),
(unsigned long) sysdeps.proc_uid,
FEATURE_CHECK(PROC_MEM),
(unsigned long) sysdeps.proc_mem,
FEATURE_CHECK(PROC_TIME),
(unsigned long) sysdeps.proc_time,
FEATURE_CHECK(PROC_SIGNAL),
(unsigned long) sysdeps.proc_signal,
FEATURE_CHECK(PROC_KERNEL),
(unsigned long) sysdeps.proc_kernel,
FEATURE_CHECK(PROC_SEGMENT),
(unsigned long) sysdeps.proc_segment,
FEATURE_CHECK(PROC_ARGS),
(unsigned long) sysdeps.proc_args,
FEATURE_CHECK(PROC_MAP),
(unsigned long) sysdeps.proc_map,
FEATURE_CHECK(MOUNTLIST),
(unsigned long) sysdeps.mountlist,
FEATURE_CHECK(FSUSAGE),
(unsigned long) sysdeps.fsusage,
FEATURE_CHECK(NETLOAD),
(unsigned long) sysdeps.netload,
FEATURE_CHECK(PPP),
(unsigned long) sysdeps.ppp);
glibtop_close ();
exit (0);
}

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <locale.h>
@@ -38,8 +36,8 @@ int
main (int argc, char *argv[])
{
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
textdomain (PACKAGE);
gh_enter (argc, argv, main_prog);
exit (0);

View File

@@ -1,357 +0,0 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <locale.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
#include <glibtop/xmalloc.h>
#include <glibtop/parameter.h>
#include <glibtop/union.h>
#include <glibtop/sysdeps.h>
#include <sys/times.h>
#include <sys/resource.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 100000L
#endif
#ifndef PROFILE_COUNT_EXPENSIVE
#define PROFILE_COUNT_EXPENSIVE 10000L
#endif
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
#define ELAPSED_STIME ((unsigned long) elapsed_stime.tv_sec * 1000000 + (unsigned long) elapsed_stime.tv_usec)
#define libgtop_timeradd(tvp, uvp, vvp) \
do { \
(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
(vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \
if ((vvp)->tv_usec >= 1000000) { \
(vvp)->tv_sec++; \
(vvp)->tv_usec -= 1000000; \
} \
} while (0)
#define libgtop_timersub(tvp, uvp, vvp) \
do { \
(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
if ((vvp)->tv_usec < 0) { \
(vvp)->tv_sec--; \
(vvp)->tv_usec += 1000000; \
} \
} while (0)
int
main (int argc, char *argv [])
{
glibtop_union data;
unsigned c, count, *ptr;
struct rusage total_start, total_end;
struct rusage rusage_start, rusage_end;
struct timeval elapsed_utime, elapsed_stime;
pid_t pid;
count = PROFILE_COUNT;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
"Feature", "Flags", "Count", "utime", "stime");
printf ("-------------------------------------------"
"---------------\n");
glibtop_init_r (&glibtop_global_server, 0, 0);
getrusage (RUSAGE_SELF, &total_start);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_cpu (&data.cpu);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("CPU (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.cpu.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
glibtop_get_mem (&data.mem);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Memory (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.mem.flags, PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
glibtop_get_swap (&data.swap);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Swap (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.swap.flags, PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_uptime (&data.uptime);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Uptime (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.uptime.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_loadavg (&data.loadavg);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Loadavg (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.loadavg.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
printf ("\n");
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
glibtop_free (ptr);
}
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proclist (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proclist.flags,
PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
pid = getpid ();
printf ("\n");
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_state (&data.proc_state, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_State (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_state.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_uid (&data.proc_uid, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Uid (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_uid.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_mem (&data.proc_mem, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Mem (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_mem.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_segment (&data.proc_segment, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Segment (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_segment.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_time (&data.proc_time, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Time (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_time.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_signal (&data.proc_signal, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Signal (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_signal.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_kernel (&data.proc_kernel, pid);
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Kernel (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_kernel.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &total_end);
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&total_end.ru_stime, &total_start.ru_stime,
&elapsed_stime);
printf ("-------------------------------------------"
"---------------\n");
printf ("%-36s %9lu - %9lu\n\n", "TOTAL",
ELAPSED_UTIME, ELAPSED_STIME);
printf ("All timings are in clock ticks "
"(1000000 ticks per second).\n\n");
glibtop_close ();
exit (0);
}

View File

@@ -1,8 +1,8 @@
void|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4])
void|cpu|ulong(total,user,nice,sys,idle,frequency)
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
void|swap|ulong(total,used,free,pagein,pageout)
void|uptime|double(uptime,idletime)
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
void|loadavg|double(loadavg[0],loadavg[1],loadavg[2]):ulong(nr_running,nr_tasks,last_pid)
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
@@ -10,13 +10,10 @@ unsigned *|proclist|ulong(number,size,total)|long(which,arg)
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid)
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency)|pid_t(pid)
void|proc_signal|ulong(signal,blocked,sigignore,sigcatch)|pid_t(pid)
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid)
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_H__
#define __GLIBTOP_H__
@@ -52,7 +50,6 @@ struct _glibtop
int input [2]; /* Pipe client <- server */
int output [2]; /* Pipe client -> server */
int socket; /* Accepted connection of a socket */
int ncpu; /* Number of CPUs, zero if single-processor */
unsigned long os_version_code; /* Version code of the operating system */
const char *name; /* Program name for error messages */
const char *server_command; /* Command used to invoke server */
@@ -74,21 +71,14 @@ extern const unsigned long glibtop_server_features;
#define glibtop_close() glibtop_close_r(glibtop_global_server);
glibtop *
glibtop_init_r (glibtop **server_ptr,
unsigned long features,
unsigned flags);
glibtop *
glibtop_init_s (glibtop **server_ptr,
unsigned long features,
unsigned flags);
extern glibtop *glibtop_init_r __P((glibtop **, unsigned long, unsigned));
extern glibtop *glibtop_init_s __P((glibtop **, unsigned long, unsigned));
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
void glibtop_boot_guile (void);
extern void glibtop_boot_guile __P((void));
#endif
@@ -96,7 +86,7 @@ void glibtop_boot_guile (void);
/* You need to link with -lgtop_guile_names to get this stuff here. */
void glibtop_boot_guile_names (void);
extern void glibtop_boot_guile_names __P((void));
#ifndef GLIBTOP_NAMES
#define GLIBTOP_NAMES

View File

@@ -1,2 +1,3 @@
Makefile.in
Makefile
features.scm

9
guile/ChangeLog Normal file
View File

@@ -0,0 +1,9 @@
1998-07-29 Martin Baulig <martin@home-of-linux.org>
* dynamic.c, dynamic_names.c: New files.
* Makefile.am: New file. Creates `libgtop.so' and
`libnames.so' which will be installed in
`$(datadir)/guile/libgtop'; just do a
`(use-modules (libgtop libgtop) (libgtop names))' in
guile to use them.

60
guile/Makefile.am Normal file
View File

@@ -0,0 +1,60 @@
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
CFLAGS = -Wall -W @CFLAGS@
sitedir = $(datadir)/guile/site
libgtopmoduledir = $(datadir)/guile/libgtop
libgtopmodule_LTLIBRARIES = libgtop.la libnames.la
libgtop_la_SOURCES = dynamic.c
libnames_la_SOURCES = dynamic_names.c
libgtop_la_LIBADD = ../sysdeps/guile/guile.lo \
../lib/init.lo \
../lib/open.lo \
../lib/close.lo \
../lib/command.lo \
../lib/read.lo \
../lib/read_data.lo \
../lib/write.lo \
../lib/lib.lo \
../lib/parameter.lo \
../lib/sysdeps.lo \
../sysdeps/common/error.lo \
../sysdeps/common/fsusage.lo \
../sysdeps/common/gnuslib.lo \
../sysdeps/common/mountlist.lo \
../sysdeps/common/xmalloc.lo \
../sysdeps/@sysdeps_dir@/close.lo \
../sysdeps/@sysdeps_dir@/proclist.lo \
../sysdeps/@sysdeps_dir@/sem_limits.lo \
../sysdeps/@sysdeps_dir@/cpu.lo \
../sysdeps/@sysdeps_dir@/procmem.lo \
../sysdeps/@sysdeps_dir@/shm_limits.lo \
../sysdeps/@sysdeps_dir@/loadavg.lo \
../sysdeps/@sysdeps_dir@/procsegment.lo \
../sysdeps/@sysdeps_dir@/siglist.lo \
../sysdeps/@sysdeps_dir@/mem.lo \
../sysdeps/@sysdeps_dir@/procsignal.lo \
../sysdeps/@sysdeps_dir@/swap.lo \
../sysdeps/@sysdeps_dir@/msg_limits.lo \
../sysdeps/@sysdeps_dir@/procstate.lo \
../sysdeps/@sysdeps_dir@/uptime.lo \
../sysdeps/@sysdeps_dir@/open.lo \
../sysdeps/@sysdeps_dir@/proctime.lo \
../sysdeps/@sysdeps_dir@/prockernel.lo \
../sysdeps/@sysdeps_dir@/procuid.lo \
../sysdeps/@sysdeps_dir@/procmap.lo
libnames_la_LIBADD = ../sysdeps/guile/names/guile-names.lo
EXTRA_DIST = features.awk
CLEANFILES = features.scm
features.scm: features.awk $(top_builddir)/config.h $(top_srcdir)/features.def
$(AWK) -f $(srcdir)/features.awk < $(top_srcdir)/features.def > tmp-t
mv tmp-t features.scm

29
guile/dynamic.c Normal file
View File

@@ -0,0 +1,29 @@
/* $Id$ */
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <glibtop.h>
#include <libguile/dynl.h>
void
scm_init_libgtop_libgtop_module (void)
{
scm_register_module_xxx ("libgtop libgtop", glibtop_boot_guile);
}

29
guile/dynamic_names.c Normal file
View File

@@ -0,0 +1,29 @@
/* $Id$ */
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <glibtop.h>
#include <libguile/dynl.h>
void
scm_init_libgtop_names_module (void)
{
scm_register_module_xxx ("libgtop names", glibtop_boot_guile_names);
}

61
guile/features.awk Normal file
View File

@@ -0,0 +1,61 @@
BEGIN {
string = "";
names = "";
}
function output(line) {
split (line, line_fields, /\|/);
retval = line_fields[1];
feature = line_fields[2];
param_def = line_fields[4];
orig = feature; sub(/^@/,"",feature);
space = feature; gsub(/./," ",space);
if (string == "")
string = " '(";
else
string = string" ";
string = string"(\""feature"\" (\""retval"\"";
feature_nounder = feature;
sub(/_/, "-", feature_nounder);
if (names == "")
names = " '(";
else
names = names" ";
names = names"(\""feature"\" \""feature_nounder"\")\n";
nr_params = split (param_def, params, /:/);
for (param = 1; param <= nr_params; param++) {
list = params[param];
type = params[param];
sub(/\(.*/, "", type);
sub(/^\w+\(/, "", list); sub(/\)$/, "", list);
string = string" (\""type"\"";
count = split (list, fields, /,/);
for (field = 1; field <= count; field++) {
string = string" \""fields[field]"\"";
}
string = string")";
}
string = string"))\n";
}
/^[^#]/ { output($0) }
END {
print "(define libgtop-features";
print string" )";
print ")\n";
print "(define libgtop-feature-names";
print names" )";
print ")\n";
}

440
guile/header.scm Normal file
View File

@@ -0,0 +1,440 @@
;; $Id$
(define cpu-type '(("name" . "cpu")
("label" . "CPU Usage")
("fields" . (list
(("name" . "total")
("label" . "Total CPU Usage")
("type" . "unsigned long"))
(("name" . "user")
("type" . "unsigned long"))
(("name" . "nice")
("type" . "unsigned long"))
(("name" . "sys")
("type" . "unsigned long"))
(("name" . "idle")
("type" . "unsigned long"))
(("name" . "name")
("type" . "const char")
("pointer" . #t))
(("name" . "test"))
)
)
)
)
(define main-function
(lambda (definition)
(letrec ((default-type "unsigned long")
(struct-label-comments #t)
(struct-name-comments #f)
(default-name-tabs-first 3)
(default-name-tabs 4)
(default-type-tabs 2)
(default-comment-tabs 5)
(default-definition-tabs 3)
(default-definition-value-tabs 2)
(default-max-line-length 60)
;; set default values for unspecified fields
(check-field-definition
(lambda (fields)
(let ((newlist (list)))
(for-each
(lambda (field)
(if (not (assoc-ref field "type"))
(set! field (assoc-set! field "type" default-type)))
(if (assoc-ref field "label")
(set! field (assoc-set! field "has-label" #t))
(begin
(set! field (assoc-set! field "label" (assoc-ref field "name")))
(set! field (assoc-set! field "has-label" #f))
)
)
(set! newlist (append newlist (list field)))
)
(cdr fields))
(set-cdr! fields newlist)
)
)
)
;; number fields sequentially
(make-field-numbers
(lambda (fields)
(let ((pos 0) (newlist (list)))
(for-each
(lambda (field)
(set! field (assoc-set! field "number" pos))
(set! newlist (append newlist (list field)))
(set! pos (+ pos 1))
)
(cdr fields))
(set-cdr! fields newlist)
(set! definition (assoc-set! definition "max-fields" pos))
)
)
)
;; pad string with up to 'tabs' tabs
(tabify-string
(lambda (string tabs)
(let ((length (string-length string))
(tlength (* tabs 8)))
(if (> tlength length)
(let* ((diff (- tlength length))
(count (quotient (+ diff 7) 8)))
(string-append string
(make-string count #\tab))
)
(string-append string
#\space)
)
)
)
)
;; pad string with spaces
(spacify-string
(lambda (string tabs)
(let ((length (string-length string))
(tlength (* tabs 8)))
(if (> tlength length)
(string-append string
(make-string (- tlength length) #\space))
(string-append string
#\space)
)
)
)
)
;; creates comment string
(make-comment-string
(lambda (comment)
(if comment
(string "/* "
(spacify-string comment
default-comment-tabs)
" */")
(string)
)
)
)
;; create constant for entry (eg. GLIBTOP_CPU_TOTAL)
(entry-constant-name
(lambda (name)
(string-upcase! (string "GLIBTOP_"
(assoc-ref definition "name")
"_"
name
)
)
)
)
;; create text that is displayed as comment along with entry
(entry-comment-text
(lambda (name label)
(if label
(if struct-label-comments label #f)
(if struct-name-comments (entry-constant-name name) #f)
)
)
)
;; starts struct definition
(make-struct-definition-head
(lambda ()
(let* ((class (assoc-ref definition "name"))
)
(string "struct _glibtop_" class "\n"
"{\n"
)
)
)
)
;; terminates struct definition
(make-struct-definition-tail
(lambda ()
(string "};\n\n")
)
)
;; generate struct definition body
(make-struct-definition-body
(lambda (fields)
(letrec ((output (string))
(is-first-entry #t)
(current-type #f)
(current-name #f)
(current-label #f)
(current-pointer #f)
;; close entry (other = next entry is of other type)
(entry-end
(lambda (other)
(let ((old-first is-first-entry))
(set! is-first-entry other)
(if current-type
(string (tabify-string (string (string (if current-pointer "*" ""))
current-name
(string (if other ";" ","))
)
(if old-first
default-name-tabs-first
default-name-tabs
)
)
(make-comment-string (entry-comment-text
current-name current-label))
"\n")
(string)
)
)
)
)
;; start new entry
(entry-start
(lambda (name type)
(if current-type
(if (equal? current-type type)
(string (entry-end #f) "\t\t")
(string (entry-end #t) "\t"
(tabify-string type default-type-tabs)
)
)
(string "\t"
(tabify-string type default-type-tabs)
)
)
)
)
)
;; main function
(for-each
(lambda (field)
(let ((name (assoc-ref field "name"))
(type (assoc-ref field "type"))
(pointer (assoc-ref field "pointer"))
(label (if (assoc-ref field "has-label")
(assoc-ref field "label")
#f)
)
)
(set! output (string-append output
(string (entry-start name type))
)
)
;; save current data
(set! current-type type)
(set! current-name name)
(set! current-label label)
(set! current-pointer pointer)
)
)
(cdr fields))
;; close last entry
(string-append output (entry-end #t))
)
)
)
;; display complete struct definition
(make-struct-definition
(lambda (fields)
(string-append (make-struct-definition-head)
(make-struct-definition-body fields)
(make-struct-definition-tail)
)
)
)
;; make constant definition
(make-const-definition
(lambda (name value comment)
(let* ((nstring (string-upcase! (string "GLIBTOP_" name)))
(tabname (tabify-string nstring default-definition-tabs))
(tabvalue (if comment
(tabify-string (string value) default-definition-value-tabs)
(string value))
)
(ctext (make-comment-string comment))
(line (string "#define " tabname tabvalue ctext "\n"))
)
line)
)
)
;; creates constant definitions
(make-struct-constants
(lambda (fields)
(let ((class (assoc-ref definition "name"))
(output (string))
)
(for-each
(lambda (field)
(let* ((name (assoc-ref field "name"))
(number (assoc-ref field "number"))
(key (string class "_" name))
(value (number->string number))
(label (if (assoc-ref field "has-label")
(assoc-ref field "label")
#f)
)
(line (make-const-definition key
value
(entry-comment-text name label)
)
)
)
(set! output (string-append output line))
)
)
(cdr fields))
output)
)
)
;; creates definition of maximum constant
(make-struct-max-constant
(lambda ()
(let* ((class (assoc-ref definition "name"))
(max (assoc-ref definition "max-fields"))
)
(make-const-definition (string "MAX_" class)
(number->string max)
#f)
)
)
)
;; adds new list element to string, inserting newline if necessary
(add-to-string
(lambda (output line element separator indent max-length)
(let* ((slen (string-length line))
(elen (string-length element))
(tlen (+ slen elen))
(bsep (if separator
(string separator " ")
(string)
)
)
(nsep (string (if separator separator "") "\n"))
)
(if (and (> slen 0) (> tlen max-length))
(begin
(set! output (string-append output line nsep))
(set! line (string indent element))
)
(set! line (string-append line bsep element))
)
(list output line)
)
)
)
;; create general list definition
(make-general-list-definition
(lambda (fields name symbol line-length make-element-string)
(letrec ((class (assoc-ref definition "name"))
(make-general-list-definition-head
(lambda ()
(string "const char *"
"glibtop_"
symbol
"_"
class
" "
"[GLIBTOP_MAX_"
(string-upcase! (string class))
"] = \n{ "
)
)
)
(make-general-list-definition-tail
(lambda ()
(string "\n};\n")
)
)
(make-general-list-definition-body
(lambda ()
(let* ((first #t) (output (string)) (line (string)))
(for-each
(lambda (field)
(let* ((element (assoc-ref field name))
(olist (add-to-string output line
(make-element-string element)
(if first #f ",")
" "
line-length))
)
(set! output (car olist))
(set! line (car (cdr olist)))
(set! first #f)
)
)
(cdr fields))
(set! output (string-append output line))
output)
)
)
)
;; main function
(string-append (make-general-list-definition-head)
(make-general-list-definition-body)
(make-general-list-definition-tail)
)
)
)
)
;; create name list definition
(make-name-list-definition
(lambda (fields)
(make-general-list-definition fields
"name"
"names"
default-max-line-length
(lambda (x)
(string #\" x #\")
)
)
)
)
;; create label list definition
(make-label-list-definition
(lambda (fields)
(make-general-list-definition fields
"label"
"labels"
0
(lambda (x)
(string "gettext_noop (" #\" x #\" ")")
)
)
)
)
;; create description list definition
(make-description-list-definition
(lambda (fields)
(make-general-list-definition fields
"description"
"descriptions"
default-max-line-length
(lambda (x)
(if x
(string "gettext_noop (" #\" x #\" ")")
(string "NULL")
)
)
)
)
)
)
;; start of main function
(let ((fielddef (assoc-ref definition "fields")))
(display fielddef) (newline) (newline)
(check-field-definition fielddef)
(make-field-numbers fielddef)
(display fielddef) (newline) (newline)
(display (make-struct-definition fielddef))
(display (make-struct-constants fielddef)) (newline)
(display (make-struct-max-constant)) (newline) (newline)
(display (make-name-list-definition fielddef)) (newline)
(display (make-label-list-definition fielddef)) (newline)
(display (make-description-list-definition fielddef)) (newline)
)
)
)
)
(begin
(main-function cpu-type)
(newline)
)

346
guile/make-docbook.scm Normal file
View File

@@ -0,0 +1,346 @@
;; $Id$
(load "features.scm")
(define sysdeps-list '())
(define type-names '("void"
"int64_t" "u_int64_t" "double"
"int" "char" "const char *"))
(define make-sysdeps-list
(lambda ()
(letrec ((names (cdr (glibtop-names-sysdeps)))
(labels (cdr (glibtop-labels-sysdeps)))
(descriptions (cdr (glibtop-descriptions-sysdeps)))
)
(for-each (lambda (feature)
(let* ((label (car labels))
(description (car descriptions))
(list '())
)
(set! labels (cdr labels))
(set! descriptions (cdr descriptions))
(set! list (assoc-set! list 'name feature))
(set! list (assoc-set! list 'label label))
(set! list (assoc-set! list 'description description))
(set! sysdeps-list (assoc-set! sysdeps-list feature list))
)
)
names)
)
)
)
(define make-function-reference
(lambda (feature)
(let* ((names (eval-string (string "(glibtop-names-" feature ")")))
(types (eval-string (string "(glibtop-types-" feature ")")))
(labels (eval-string (string "(glibtop-labels-" feature ")")))
(sysdeps (assoc-ref sysdeps-list feature))
(retval (car (car (assoc-ref libgtop-features feature))))
(name (assoc-ref sysdeps 'name))
(label (assoc-ref sysdeps 'label))
(description (assoc-ref sysdeps 'description))
(descriptions (eval-string (string "(glibtop-descriptions-" feature ")")))
(feature_nounder (car (assoc-ref libgtop-feature-names feature)))
(decl-list '()) (field-list '())
(synopsis-start-string
(string "<para>Automatically generated function synopsis:\n\n"))
(section-string
(string "<sect1>\n"
"<title><function>glibtop_get_" feature "()</function> - "
label "</title>\n\n")
)
(description-string
(string "<para>\nAutomatically generated description:\n\n"
"<blockquote>\n<literallayout>\n"
description "\n"
"</literallayout>\n</blockquote>\n\n")
)
(definition-start-string
(string "<para>Automatically generated declaration of "
"<structname>_glibtop_" feature "</structname>:\n\n")
)
(param-description-start-string
(string "<para>Automatically generated descriptions of "
"<structname>_glibtop_" feature "</structname>:\n\n")
)
(funcsynopsisinfo-string
(string "<funcsynopsisinfo>\n"
"#include &lt;glibtop.h&gt;\n"
"#include &lt;glibtop/" feature ".h&gt;"
"</funcsynopsisinfo>")
)
(funcdef-string
(string "<funcdef>" retval " "
"<function>glibtop_get_" feature "_l</function>"
"</funcdef>\n")
)
(paramdef-string
(lambda ()
(let ((start (string "<paramdef>glibtop *<parameter>"
"server</parameter>, glibtop_"
feature " *<parameter>" feature
"</parameter>")
)
(param_string (string))
(end (string "\n</paramdef>"))
(param_lists
(cdr (car (assoc-ref libgtop-features feature))))
)
(for-each
(lambda (x)
(let ((type (car x))
(params (cdr x))
)
(for-each
(lambda (param)
(set! param_string (string param_string
", " type
" <parameter>"
param
"</parameter>"
)
)
)
params)
)
)
param_lists)
(string start param_string end))
)
)
(funcdef-noserver-string
(string "<funcdef>" retval " "
"<function>glibtop_get_" feature "</function>"
"</funcdef>\n")
)
(paramdef-noserver-string
(string "<paramdef>glibtop_" feature " *"
"<parameter>" feature "</parameter>\n"
"</paramdef>")
)
(field-name-constant
(lambda (name field)
(string "GLIBTOP_"
(string-upcase! (string name))
"_"
(string-upcase! (string field)))
)
)
(make-struct-name
(lambda (type)
(string "glibtop_" (assoc-ref type "name"))
)
)
(tab-pad-string
(lambda (string tabs)
(let* ((slength (string-length string))
(tlength (* tabs 8)))
(string-append string
(make-string
(if (> tlength slength)
(- tlength slength)
1
)
#\space))
)
)
)
(make-field-list
(lambda (name type fields)
(let* ((output (string)) (pos 1))
(map
(lambda (x)
(let* ((sep (if (= pos (length fields)) ";" ","))
(start (if (= pos 1)
(string "\t"
(tab-pad-string (string type) 2))
(string "\t\t"))
)
(comment (string (if (= pos 1) "" "\t") "/* "
(tab-pad-string
(field-name-constant name (car x)) 4)
" */"))
(field (tab-pad-string
(string-append (string (car x)) sep) 2))
)
(set! pos (+ pos 1))
(string-append start field comment "\n")
)
)
fields)
)
)
)
(init-field-list
(lambda ()
(let* ((old-type #f)
(type-list types)
(new-type #f)
(fields (list))
)
(for-each
(lambda (x)
(set! new-type (car type-list))
(set! type-list (cdr type-list))
(set! new-type (list-ref type-names new-type))
(if (equal? old-type new-type)
(set-car! fields
(append (list new-type)
(cdr (car fields))
(list (list x))
)
)
(if (equal? old-type #f)
(set! fields (list (list new-type (list x))))
(set! fields (append (list (list new-type (list x))) fields))
)
)
(set! old-type new-type)
)
names)
fields)
)
)
(make-struct-body
(lambda (type)
(let* ((name (assoc-ref type "name"))
(data (assoc-ref type "fields"))
(output (string))
)
(for-each
(lambda (y)
(for-each
(lambda (z)
(set! output (string-append output z))
)
y)
)
(map
(lambda (x) (make-field-list name (car x) (cdr x)))
data)
)
output)
)
)
(make-struct
(lambda (type)
(let* ((name (assoc-ref type "name"))
(data (assoc-ref type "fields"))
(output (string-append
(tab-pad-string
(string "typedef struct _glibtop_" name)
5)
(string "glibtop_" name ";\n\n"
"struct _glibtop_" name "\n{\n\t"
"u_int64_t\tflags;\n")
)
)
)
(string-append output (make-struct-body type) "};\n")
)
)
)
(make-param-description
(lambda ()
(let* ((label-list labels)
(description-list descriptions)
(output (string))
)
(for-each
(lambda (name)
(let* ((label (car label-list))
(description (car description-list))
)
(set! label-list (cdr label-list))
(set! description-list (cdr description-list))
(set! output
(string-append output
(string "<varlistentry>\n"
"<term><parameter>"
name
"</parameter></term>\n\n"
"<listitem>\n<para>\n"
description "\n\n")
)
)
)
)
names)
output)
)
)
)
(set! decl-list (assoc-set! decl-list "name" name))
(set! decl-list (assoc-set! decl-list "label" label))
(set! decl-list (assoc-set! decl-list "fields" (init-field-list)))
(string-append section-string
description-string
synopsis-start-string
(string "<blockquote>\n<funcsynopsis>\n")
funcsynopsisinfo-string
funcdef-noserver-string
paramdef-noserver-string
(string "</funcsynopsis>\n")
(string "<funcsynopsis>\n")
funcdef-string
(paramdef-string)
(string "</funcsynopsis>\n</blockquote>\n")
definition-start-string
(string "<blockquote>\n<literallayout>\n")
(make-struct decl-list)
(string "</literallayout>\n</blockquote>\n")
param-description-start-string
"<variablelist>\n\n"
(make-param-description)
"</variablelist>\n\n"
"&include-" feature_nounder ".sgml;\n\n"
)
)
)
)
;; <sect2 id="glibtop-get-cpu">
;; <title><function>glibtop_get_cpu()</function> - get CPU usage</title>
;;
;; <funcsynopsis>
;; <funcsynopsisinfo>
;; #include &lt;glibtop.h>
;; #include &lt;glibtop/cpu.h></funcsynopsisinfo>
;; <funcdef>void <function>glibtop_get_cpu</function></funcdef>
;; <paramdef>glibtop *<parameter>server</parameter>, glibtop_cpu *<parameter>cpu_usage</parameter>
;; </paramdef></funcsynopsis>
(begin
(make-sysdeps-list)
(for-each (lambda (x)
(display (make-function-reference x))
)
(cdr (glibtop-names-sysdeps)))
)

195
guile/make-header.scm Normal file
View File

@@ -0,0 +1,195 @@
(define cpu-type '(("name" . "cpu")
("label" . "CPU Usage")
("fields" . (("unsigned long" ("total" "Total CPU Usage")
("user") ("nice") ("sys") ("idle"))
("const char" ("name"))
)
)
)
)
;; computes constant for struct field (eg. GLIBTOP_CPU_TOTAL)
(define field-name-constant
(lambda (name field)
(string "GLIBTOP_"
(string-upcase! (string name))
"_"
(string-upcase! (string field)))
)
)
;; computes structure name (eg. glibtop_cpu)
(define make-struct-name
(lambda (type)
(string "glibtop_" (assoc-ref type "name"))
)
)
(define tab-pad-string
(lambda (string tabs)
(string-append string (make-string (- (* tabs 8) (string-length string)) #\space))
)
)
(define make-field-list
(lambda (name type fields)
(let* ((output (string)) (pos 1))
(map
(lambda (x)
(let* ((sep (if (= pos (length fields)) ";" ","))
(start (if (= pos 1)
(string "\t"
(tab-pad-string (string type) 2))
(string "\t\t"))
)
(comment (string (if (= pos 1) "" "\t") "/* "
(tab-pad-string (field-name-constant name (car x)) 3)
" */"))
(field (tab-pad-string (string-append (string (car x)) sep) 2))
)
(set! pos (+ pos 1))
(string-append start field comment "\n")
)
)
fields)
)
)
)
(define make-struct-body
(lambda (type)
(let* ((name (assoc-ref type "name"))
(data (assoc-ref type "fields"))
(output (string))
)
(for-each
(lambda (y)
(for-each
(lambda (z)
(set! output (string-append output z))
)
y)
)
(map
(lambda (x) (make-field-list name (car x) (cdr x)))
data)
)
output)
)
)
(define make-struct
(lambda (type)
(let* ((name (assoc-ref type "name"))
(data (assoc-ref type "fields"))
(output (string-append
(tab-pad-string
(string "typedef struct _glibtop_" name)
5)
(string "glibtop_" name ";\n\n"
"struct glibtop_" name "\n{\n\t"
"unsigned long\tflags;\n")
)
)
)
(string-append output (make-struct-body type) "};\n")
)
)
)
(define make-field-name-list
(lambda (type)
(let* ((name (assoc-ref type "name"))
(data (assoc-ref type "fields"))
(return (list))
)
(map
(lambda (x)
(map
(lambda (y) (set! return (append return (list (car y)))))
(cdr x)
)
)
data)
return)
)
)
(define make-field-constants
(lambda (type)
(let* ((name (assoc-ref type "name"))
(data (make-field-name-list type))
(output (string
(tab-pad-string
(string "#define GLIBTOP_MAX_"
(string-upcase! (string name))
) 5)
(number->string (length data))
"\n\n"
)
)
(pos 0)
)
(for-each
(lambda (x)
(set! output (string-append output (string
(tab-pad-string
(string "#define GLIBTOP_"
(string-upcase! (string name))
"_"
(string-upcase! (string x))
) 5)
(number->string pos)
"\n"
)
)
)
(set! pos (+ pos 1))
)
data)
output)
)
)
(define make-extern-defs
(lambda (type)
(let* ((name (assoc-ref type "name"))
)
(string
(tab-pad-string (string "extern void glibtop_get_" name) 6)
"__P(glibtop *, glibtop_" name " *);\n\n"
"#ifdef HAVE_GUILE\n\n"
"/* You need to link with -lgtop_guile to get this stuff here. */\n\n"
(tab-pad-string (string "extern SCM glibtop_get_" name) 6)
"__P(void);\n\n"
"#endif /* HAVE_GUILE */\n\n"
"#ifdef GLIBTOP_GUILE_NAMES\n\n"
"/* You need to link with -lgtop_guile_names to get this stuff here. */\n\n"
(tab-pad-string (string "extern SCM glibtop_guile_names_" name) 6)
"__P(void);\n"
(tab-pad-string (string "extern SCM glibtop_guile_labels_" name) 6)
"__P(void);\n"
(tab-pad-string (string "extern SCM glibtop_guile_descriptions_" name) 6)
"__P(void);\n\n"
"#endif /* GLIBTOP_GUILE_NAMES */\n\n"
"#ifdef GLIBTOP_NAMES\n\n"
"/* You need to link with -lgtop_names to get this stuff here. */\n\n"
(tab-pad-string (string "extern const char *glibtop_names_" name) 6)
"[];\n"
(tab-pad-string (string "extern const char *glibtop_labels_" name) 6)
"[];\n"
(tab-pad-string (string "extern const char *glibtop_descriptions_" name) 6)
"[];\n\n"
"#endif /* GLIBTOP_NAMES */\n\n")
)
)
)
(begin
(display (make-field-constants cpu-type)) (newline)
(display (make-struct cpu-type)) (newline)
(display (make-extern-defs cpu-type)) (newline)
)

1784
guile/reference.sgml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
glibtopdir = $(includedir)/libgtop-2.0/glibtop
glibtopdir = $(includedir)/glibtop
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
sem_limits.h uptime.h command.h mem.h proclist.h \
@@ -7,4 +7,4 @@ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
procsegment.h read.h sysdeps.h xmalloc.h global.h \
procsignal.h read_data.h union.h types.h gnuserv.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \
inodedb.h sysinfo.h ppp.h procargs.h netload.h
inodedb.h

View File

@@ -1,38 +1,36 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_CLOSE_H__
#define __GLIBTOP_CLOSE_H__
#include <glibtop.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
void glibtop_close_r (glibtop *server);
extern void glibtop_close_r __P((glibtop *));
void glibtop_close_s (glibtop *server);
void glibtop_close_p (glibtop *server);
extern void glibtop_close_s __P((glibtop *));
extern void glibtop_close_p __P((glibtop *));
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_COMMAND_H__
#define __GLIBTOP_COMMAND_H__
@@ -28,7 +26,7 @@
#include <glibtop/sysdeps.h>
#include <glibtop/union.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_CMND_QUIT 0
#define GLIBTOP_CMND_SYSDEPS 1
@@ -50,15 +48,12 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_CMND_PROC_SIGNAL 15
#define GLIBTOP_CMND_PROC_KERNEL 16
#define GLIBTOP_CMND_PROC_SEGMENT 17
#define GLIBTOP_CMND_PROC_ARGS 18
#define GLIBTOP_CMND_PROC_MAP 19
#define GLIBTOP_CMND_PROC_MAP 18
#define GLIBTOP_CMND_MOUNTLIST 20
#define GLIBTOP_CMND_FSUSAGE 21
#define GLIBTOP_CMND_NETLOAD 22
#define GLIBTOP_CMND_PPP 23
#define GLIBTOP_CMND_MOUNTLIST 19
#define GLIBTOP_CMND_FSUSAGE 20
#define GLIBTOP_MAX_CMND 24
#define GLIBTOP_MAX_CMND 21
#define _GLIBTOP_PARAM_SIZE 16
@@ -89,14 +84,9 @@ struct _glibtop_response
#define glibtop_call(p1, p2, p3, p4) glibtop_call_r(glibtop_global_server, p1, p2, p3, p4)
void *
glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
const void *send_buf, size_t recv_size, void *recv_buf);
extern void *glibtop_call_l __P((glibtop *, unsigned, size_t, void *, size_t, void *));
extern void *glibtop_call_s __P((glibtop *, unsigned, size_t, void *, size_t, void *));
void *
glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
const void *send_buf, size_t recv_size, void *recv_buf);
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_CPU_H__
#define __GLIBTOP_CPU_H__
@@ -27,7 +25,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_CPU_TOTAL 0
#define GLIBTOP_CPU_USER 1
@@ -36,33 +34,19 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_CPU_IDLE 4
#define GLIBTOP_CPU_FREQUENCY 5
#define GLIBTOP_XCPU_TOTAL 6
#define GLIBTOP_XCPU_USER 7
#define GLIBTOP_XCPU_NICE 8
#define GLIBTOP_XCPU_SYS 9
#define GLIBTOP_XCPU_IDLE 10
#define GLIBTOP_MAX_CPU 11
/* Nobody should really be using more than 4 processors. */
#define GLIBTOP_NCPU 4
#define GLIBTOP_MAX_CPU 6
typedef struct _glibtop_cpu glibtop_cpu;
struct _glibtop_cpu
{
u_int64_t flags,
total, /* GLIBTOP_CPU_TOTAL */
user, /* GLIBTOP_CPU_USER */
nice, /* GLIBTOP_CPU_NICE */
sys, /* GLIBTOP_CPU_SYS */
idle, /* GLIBTOP_CPU_IDLE */
frequency, /* GLIBTOP_CPU_FREQUENCY */
xcpu_total [GLIBTOP_NCPU], /* GLIBTOP_XCPU_TOTAL */
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
total, /* GLIBTOP_CPU_TOTAL */
user, /* GLIBTOP_CPU_USER */
nice, /* GLIBTOP_CPU_NICE */
sys, /* GLIBTOP_CPU_SYS */
idle, /* GLIBTOP_CPU_IDLE */
frequency; /* GLIBTOP_CPU_FREQUENCY */
};
#define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu)
@@ -73,14 +57,33 @@ struct _glibtop_cpu
#define glibtop_get_cpu_r glibtop_get_cpu_s
#endif
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
extern void glibtop_get_cpu_l __P((glibtop *, glibtop_cpu *));
#if GLIBTOP_SUID_CPU
void glibtop_init_cpu_p (glibtop *server);
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
extern void glibtop_init_cpu_p __P((glibtop *));
extern void glibtop_get_cpu_p __P((glibtop *, glibtop_cpu *));
#else
void glibtop_init_cpu_s (glibtop *server);
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
extern void glibtop_init_cpu_s __P((glibtop *));
extern void glibtop_get_cpu_s __P((glibtop *, glibtop_cpu *));
#endif
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
extern SCM glibtop_guile_get_cpu __P((void));
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
extern SCM glibtop_guile_names_cpu __P((void));
extern SCM glibtop_guile_types_cpu __P((void));
extern SCM glibtop_guile_labels_cpu __P((void));
extern SCM glibtop_guile_descriptions_cpu __P((void));
#endif
#ifdef GLIBTOP_NAMES
@@ -94,6 +97,6 @@ extern const char *glibtop_descriptions_cpu [];
#endif
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,89 +1,30 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_ERROR_H__
#define __GLIBTOP_ERROR_H__
#include <glibtop.h>
BEGIN_LIBGTOP_DECLS
#ifndef G_GNUC_UNUSED
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
#define G_GNUC_UNUSED \
__attribute__((unused))
#else /* !__GNUC__ */
#define G_GNUC_UNUSED
#endif /* !__GNUC__ */
#endif /* defined G_GNUC_UNUSED */
void glibtop_error_vr (glibtop *server, char *format, va_list args);
void glibtop_warn_vr (glibtop *server, char *format, va_list args);
void glibtop_error_io_vr (glibtop *server, char *format, int, va_list args);
void glibtop_warn_io_vr (glibtop *server, char *format, int, va_list args);
static void G_GNUC_UNUSED
glibtop_error_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (server, format, args);
va_end (args);
}
static void G_GNUC_UNUSED
glibtop_warn_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (server, format, args);
va_end (args);
}
static void G_GNUC_UNUSED
glibtop_error_io_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (server, format, errno, args);
va_end (args);
}
static void G_GNUC_UNUSED
glibtop_warn_io_r (glibtop *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (server, format, errno, args);
va_end (args);
}
#ifdef __GNUC__
__BEGIN_DECLS
#define glibtop_error(p1, args...) glibtop_error_r(glibtop_global_server , p1 , ## args)
#define glibtop_warn(p1, args...) glibtop_warn_r(glibtop_global_server , p1 , ## args)
@@ -91,46 +32,12 @@ glibtop_warn_io_r (glibtop *server, char *format, ...)
#define glibtop_error_io(p1, args...) glibtop_error_io_r(glibtop_global_server , p1 , ## args)
#define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args)
#else /* no __GNUC__ */
extern void glibtop_error_r __P((glibtop *, char *, ...));
extern void glibtop_warn_r __P((glibtop *, char *, ...));
static void
glibtop_error (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (glibtop_global_server, format, args);
va_end (args);
}
extern void glibtop_error_io_r __P((glibtop *, char *, ...));
extern void glibtop_warn_io_r __P((glibtop *, char *, ...));
static void
glibtop_warn (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (glibtop_global_server, format, args);
va_end (args);
}
static void
glibtop_error_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
static void
glibtop_warn_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
#endif /* no __GNUC__ */
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_FSUSAGE_H__
#define __GLIBTOP_FSUSAGE_H__
@@ -27,7 +25,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_FSUSAGE_BLOCKS 0
#define GLIBTOP_FSUSAGE_BFREE 1
@@ -53,8 +51,28 @@ struct _glibtop_fsusage
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
extern void glibtop_get_fsusage_l __P((glibtop *, glibtop_fsusage *, const char *));
extern void glibtop_get_fsusage_s __P((glibtop *, glibtop_fsusage *, const char *));
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
extern SCM glibtop_guile_get_fsusage __P((SCM));
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
extern SCM glibtop_guile_names_fsusage __P((void));
extern SCM glibtop_guile_types_fsusage __P((void));
extern SCM glibtop_guile_labels_fsusage __P((void));
extern SCM glibtop_guile_descriptions_fsusage __P((void));
#endif
#ifdef GLIBTOP_NAMES
@@ -67,6 +85,6 @@ extern const char *glibtop_descriptions_fsusage [];
#endif
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,67 +1,55 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_GLOBAL_H__
#define __GLIBTOP_GLOBAL_H__
#ifdef _IN_LIBGTOP
#include <config.h>
#endif
/*
* All declarations are enclosed in BEGIN_LIBGTOP_DECLS and
* END_LIBGTOP_DECLS so that C++ compilers don't mangle their names.
*
*/
/* __BEGIN_DECLS should be used at the beginning of your declarations,
so that C++ compilers don't mangle their names. Use __END_DECLS at
the end of C declarations. */
#undef BEGIN_LIBGTOP_DECLS
#undef END_LIBGTOP_DECLS
#undef __BEGIN_DECLS
#undef __END_DECLS
#ifdef __cplusplus
# define BEGIN_LIBGTOP_DECLS extern "C" {
# define END_LIBGTOP_DECLS }
# define __BEGIN_DECLS extern "C" {
# define __END_DECLS }
#else
# define BEGIN_LIBGTOP_DECLS /* empty */
# define END_LIBGTOP_DECLS /* empty */
# define __BEGIN_DECLS /* empty */
# define __END_DECLS /* empty */
#endif
#ifdef _IN_LIBGTOP
/* __P is a macro used to wrap function prototypes, so that compilers
that don't understand ANSI C prototypes still work, and ANSI C
compilers can issue warnings about type mismatches. */
/* Provide macros to feature the GCC function attribute.
*/
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
#define G_GNUC_NORETURN \
__attribute__((noreturn))
#define G_GNUC_CONST \
__attribute__((const))
#define G_GNUC_UNUSED \
__attribute__((unused))
#else /* !__GNUC__ */
#define G_GNUC_NORETURN
#define G_GNUC_CONST
#define G_GNUC_UNUSED
#endif /* !__GNUC__ */
#endif /* _IN_LIBGTOP */
#undef __P
#if defined (__STDC__) || defined (_AIX) \
|| (defined (__mips) && defined (_SYSTYPE_SVR4)) \
|| defined(WIN32) || defined(__cplusplus)
# define __P(protos) protos
#else
# define __P(protos) ()
#endif
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
@@ -109,34 +97,24 @@
#endif
#include <string.h>
#ifdef _IN_LIBGTOP
#include <sys/types.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/stat.h>
#endif /* _IN_LIBGTOP */
#include <signal.h>
#include <errno.h>
#ifdef _IN_LIBGTOP
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#ifndef _
#define _(String) dgettext (PACKAGE, String)
#define _(String) gettext (String)
#define N_(String) (String)
#endif
#ifndef HAVE_STRERROR
char *strerror (int errno);
extern char *strerror __P((int));
#endif
END_LIBGTOP_DECLS
#endif /* _IN_LIBGTOP */
__END_DECLS
#endif

View File

@@ -75,9 +75,7 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
* stuff related to supporting MIT-MAGIC-COOKIE-1
*/
#if 0
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
#endif
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
#define MCOOKIE_NAME "MAGIC-1" /* authentication protocol name */
#define MCOOKIE_X_NAME "MIT-MAGIC-COOKIE-1" /* as needed by X */
@@ -153,9 +151,8 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
#define CONN_IPC 2
/* function declarations */
int glibtop_make_connection (const char *hostarg, int portarg, int *s);
extern int glibtop_make_connection __P((const char *, int, int *));
#ifdef INTERNET_DOMAIN_SOCKETS
long glibtop_internet_addr (const char *host);
extern long glibtop_internet_addr __P((const char *));
#endif

View File

@@ -1,23 +1,21 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_INODEDB_H__
#define __GLIBTOP_INODEDB_H__
@@ -31,7 +29,7 @@
#define GLIBTOP_INODEDB_ALL 7
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
typedef struct _glibtop_inodedb glibtop_inodedb;
@@ -51,17 +49,10 @@ struct _glibtop_inodedb
#define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3)
#define glibtop_inodedb_close(p1) glibtop_inodedb_close_s(glibtop_global_server)
glibtop_inodedb *
glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size);
extern glibtop_inodedb *glibtop_inodedb_open_s __P((glibtop *, unsigned, unsigned long));
extern const char *glibtop_inodedb_lookup_s __P((glibtop *, glibtop_inodedb *, u_int64_t, u_int64_t));
extern void glibtop_inodedb_close_s __P((glibtop *, glibtop_inodedb *));
const char *
glibtop_inodedb_lookup_s (glibtop *server,
glibtop_inodedb *inodedb,
u_int64_t device, u_int64_t inode);
void
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_LOADAVG_H__
#define __GLIBTOP_LOADAVG_H__
@@ -27,7 +25,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_LOADAVG_LOADAVG 0
#define GLIBTOP_LOADAVG_NR_RUNNING 1
@@ -55,14 +53,33 @@ struct _glibtop_loadavg
#define glibtop_get_loadavg_r glibtop_get_loadavg_s
#endif
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
extern void glibtop_get_loadavg_l __P((glibtop *, glibtop_loadavg *));
#if GLIBTOP_SUID_LOADAVG
void glibtop_init_loadavg_p (glibtop *server);
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
extern void glibtop_init_loadavg_p __P((glibtop *));
extern void glibtop_get_loadavg_p __P((glibtop *, glibtop_loadavg *));
#else
void glibtop_init_loadavg_s (glibtop *server);
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
extern void glibtop_init_loadavg_s __P((glibtop *));
extern void glibtop_get_loadavg_s __P((glibtop *, glibtop_loadavg *));
#endif
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
extern SCM glibtop_guile_get_loadavg __P((void));
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
extern SCM glibtop_guile_names_loadavg __P((void));
extern SCM glibtop_guile_types_loadavg __P((void));
extern SCM glibtop_guile_labels_loadavg __P((void));
extern SCM glibtop_guile_descriptions_loadavg __P((void));
#endif
#ifdef GLIBTOP_NAMES
@@ -76,6 +93,6 @@ extern const char *glibtop_descriptions_loadavg [];
#endif
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_MEM_H__
#define __GLIBTOP_MEM_H__
@@ -27,7 +25,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_MEM_TOTAL 0
#define GLIBTOP_MEM_USED 1
@@ -63,14 +61,33 @@ struct _glibtop_mem
#define glibtop_get_mem_r glibtop_get_mem_s
#endif
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
extern void glibtop_get_mem_l __P((glibtop *, glibtop_mem *));
#if GLIBTOP_SUID_MEM
void glibtop_init_mem_p (glibtop *server);
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
extern void glibtop_init_mem_p __P((glibtop *));
extern void glibtop_get_mem_p __P((glibtop *, glibtop_mem *));
#else
void glibtop_init_mem_s (glibtop *server);
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
extern void glibtop_init_mem_s __P((glibtop *));
extern void glibtop_get_mem_s __P((glibtop *, glibtop_mem *));
#endif
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
extern SCM glibtop_guile_get_mem __P((void));
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
extern SCM glibtop_guile_names_mem __P((void));
extern SCM glibtop_guile_types_mem __P((void));
extern SCM glibtop_guile_labels_mem __P((void));
extern SCM glibtop_guile_descriptions_mem __P((void));
#endif
#ifdef GLIBTOP_NAMES
@@ -84,6 +101,6 @@ extern const char *glibtop_descriptions_mem [];
#endif
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_MOUNTLIST_H__
#define __GLIBTOP_MOUNTLIST_H__
@@ -27,7 +25,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_MOUNTLIST_NUMBER 0
#define GLIBTOP_MOUNTLIST_TOTAL 1
@@ -59,11 +57,28 @@ struct _glibtop_mountlist
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
glibtop_mountentry *
glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
extern glibtop_mountentry *glibtop_get_mountlist_l __P((glibtop *, glibtop_mountlist *, int));
glibtop_mountentry *
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
extern glibtop_mountentry *glibtop_get_mountlist_s __P((glibtop *, glibtop_mountlist *, int));
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
extern SCM glibtop_guile_get_mountlist __P((SCM));
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
extern SCM glibtop_guile_names_mountlist __P((void));
extern SCM glibtop_guile_types_mountlist __P((void));
extern SCM glibtop_guile_labels_mountlist __P((void));
extern SCM glibtop_guile_descriptions_mountlist __P((void));
#endif
#ifdef GLIBTOP_NAMES
@@ -76,6 +91,6 @@ extern const char *glibtop_descriptions_mountlist [];
#endif
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,25 +1,23 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_MSG_LIMITS_H__
#define __GLIBTOP_MSG_LIMITS_H__
@@ -27,7 +25,7 @@
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_IPC_MSGPOOL 0
#define GLIBTOP_IPC_MSGMAP 1
@@ -61,14 +59,33 @@ struct _glibtop_msg_limits
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_s
#endif
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
extern void glibtop_get_msg_limits_l __P((glibtop *, glibtop_msg_limits *));
#if GLIBTOP_SUID_MSG_LIMITS
void glibtop_init_msg_limits_p (glibtop *server);
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
extern void glibtop_init_msg_limits_p __P((glibtop *));
extern void glibtop_get_msg_limits_p __P((glibtop *, glibtop_msg_limits *));
#else
void glibtop_init_msg_limits_s (glibtop *server);
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
extern void glibtop_init_msg_limits_s __P((glibtop *));
extern void glibtop_get_msg_limits_s __P((glibtop *, glibtop_msg_limits *));
#endif
#ifdef GLIBTOP_GUILE
/* You need to link with -lgtop_guile to get this stuff here. */
extern SCM glibtop_guile_get_msg_limits __P((void));
#endif
#ifdef GLIBTOP_GUILE_NAMES
/* You need to link with -lgtop_guile_names to get this stuff here. */
extern SCM glibtop_guile_names_msg_limits __P((void));
extern SCM glibtop_guile_types_msg_limits __P((void));
extern SCM glibtop_guile_labels_msg_limits __P((void));
extern SCM glibtop_guile_descriptions_msg_limits __P((void));
#endif
#ifdef GLIBTOP_NAMES
@@ -82,7 +99,6 @@ extern const char *glibtop_descriptions_msg_limits [];
#endif
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,120 +0,0 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_NETLOAD_H__
#define __GLIBTOP_NETLOAD_H__
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_NETLOAD_IF_FLAGS 0
#define GLIBTOP_NETLOAD_MTU 1
#define GLIBTOP_NETLOAD_SUBNET 2
#define GLIBTOP_NETLOAD_ADDRESS 3
#define GLIBTOP_NETLOAD_PACKETS_IN 4
#define GLIBTOP_NETLOAD_PACKETS_OUT 5
#define GLIBTOP_NETLOAD_PACKETS_TOTAL 6
#define GLIBTOP_NETLOAD_BYTES_IN 7
#define GLIBTOP_NETLOAD_BYTES_OUT 8
#define GLIBTOP_NETLOAD_BYTES_TOTAL 9
#define GLIBTOP_NETLOAD_ERRORS_IN 10
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
#define GLIBTOP_NETLOAD_COLLISIONS 13
#define GLIBTOP_MAX_NETLOAD 14
typedef struct _glibtop_netload glibtop_netload;
enum {
GLIBTOP_IF_FLAGS_UP = 1,
GLIBTOP_IF_FLAGS_BROADCAST,
GLIBTOP_IF_FLAGS_DEBUG,
GLIBTOP_IF_FLAGS_LOOPBACK,
GLIBTOP_IF_FLAGS_POINTOPOINT,
GLIBTOP_IF_FLAGS_RUNNING,
GLIBTOP_IF_FLAGS_NOARP,
GLIBTOP_IF_FLAGS_PROMISC,
GLIBTOP_IF_FLAGS_ALLMULTI,
GLIBTOP_IF_FLAGS_OACTIVE,
GLIBTOP_IF_FLAGS_SIMPLEX,
GLIBTOP_IF_FLAGS_LINK0,
GLIBTOP_IF_FLAGS_LINK1,
GLIBTOP_IF_FLAGS_LINK2,
GLIBTOP_IF_FLAGS_ALTPHYS,
GLIBTOP_IF_FLAGS_MULTICAST
};
struct _glibtop_netload
{
u_int64_t flags,
if_flags, /* GLIBTOP_NETLOAD_IF_FLAGS */
mtu, /* GLIBTOP_NETLOAD_MTU */
subnet, /* GLIBTOP_NETLOAD_SUBNET */
address, /* GLIBTOP_NETLOAD_ADDRESS */
packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */
bytes_out, /* GLIBTOP_NETLOAD_BYTES_OUT */
bytes_total, /* GLIBTOP_NETLOAD_BYTES_TOTAL */
errors_in, /* GLIBTOP_NETLOAD_ERRORS_IN */
errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */
errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
};
#define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface)
#if GLIBTOP_SUID_NETLOAD
#define glibtop_get_netload_r glibtop_get_netload_p
#else
#define glibtop_get_netload_r glibtop_get_netload_s
#endif
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
#if GLIBTOP_SUID_NETLOAD
void glibtop_init_netload_p (glibtop *server);
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
#else
void glibtop_init_netload_s (glibtop *server);
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
#endif
#ifdef GLIBTOP_NAMES
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_netload [];
extern const unsigned glibtop_types_netload [];
extern const char *glibtop_labels_netload [];
extern const char *glibtop_descriptions_netload [];
#endif
END_LIBGTOP_DECLS
#endif

View File

@@ -1,23 +1,21 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_OPEN_H__
#define __GLIBTOP_OPEN_H__
@@ -26,7 +24,7 @@
#include <glibtop/read.h>
#include <glibtop/error.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define _GLIBTOP_INIT_STATE_INIT 0x10000
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
@@ -51,23 +49,12 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_ERROR_METHOD_DEFAULT GLIBTOP_ERROR_METHOD_WARN_ONCE
void
glibtop_open_l (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags);
extern void glibtop_open_l __P((glibtop *, const char *, const unsigned long, const unsigned));
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags);
extern void glibtop_init_p __P((glibtop *, const unsigned long, const unsigned));
extern void glibtop_open_p __P((glibtop *, const char *, const unsigned long, const unsigned));
extern void glibtop_open_s __P((glibtop *, const char *, const unsigned long, const unsigned));
void
glibtop_open_p (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags);
void
glibtop_open_s (glibtop *server, const char *program_name,
const unsigned long features, const unsigned flags);
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,23 +1,21 @@
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the Gnome Top Library.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
The Gnome Top Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
The Gnome Top Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __GLIBTOP_PARAMETER_H__
#define __GLIBTOP_PARAMETER_H__
@@ -25,7 +23,7 @@
#include <glibtop.h>
#include <glibtop/open.h>
BEGIN_LIBGTOP_DECLS
__BEGIN_DECLS
#define GLIBTOP_PARAM_METHOD 1
#define GLIBTOP_PARAM_FEATURES 2
@@ -33,19 +31,13 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PARAM_HOST 4
#define GLIBTOP_PARAM_PORT 5
#define GLIBTOP_PARAM_ERROR_METHOD 6
#define GLIBTOP_PARAM_REQUIRED 7
#define glibtop_get_parameter(p1,p2,p3) glibtop_get_parameter_l(glibtop_global_server,p1,p2,p3)
#define glibtop_set_parameter(p1,p2,p3) glibtop_set_parameter_l(glibtop_global_server,p1,p2,p3)
size_t
glibtop_get_parameter_l (glibtop *server, const unsigned parameter,
void *data_ptr, size_t data_size);
extern size_t glibtop_get_parameter_l __P((glibtop *, const unsigned, void *, size_t));
extern void glibtop_set_parameter_l __P((glibtop *, const unsigned, const void *, size_t));
void
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
const void *data_ptr, size_t data_size);
END_LIBGTOP_DECLS
__END_DECLS
#endif

View File

@@ -1,85 +0,0 @@
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PPP_H__
#define __GLIBTOP_PPP_H__
#include <glibtop.h>
#include <glibtop/global.h>
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_PPP_STATE 0
#define GLIBTOP_PPP_BYTES_IN 1
#define GLIBTOP_PPP_BYTES_OUT 2
#define GLIBTOP_MAX_PPP 3
typedef struct _glibtop_ppp glibtop_ppp;
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 */
};
#define glibtop_get_ppp(ppp,device) glibtop_get_ppp_l(glibtop_global_server, ppp, device)
#if GLIBTOP_SUID_PPP
#define glibtop_get_ppp_r glibtop_get_ppp_p
#else
#define glibtop_get_ppp_r glibtop_get_ppp_s
#endif
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
#if GLIBTOP_SUID_PPP
void glibtop_init_ppp_p (glibtop *server);
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
#else
void glibtop_init_ppp_s (glibtop *server);
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
#endif
#ifdef GLIBTOP_NAMES
/* You need to link with -lgtop_names to get this stuff here. */
extern const char *glibtop_names_ppp [];
extern const unsigned glibtop_types_ppp [];
extern const char *glibtop_labels_ppp [];
extern const char *glibtop_descriptions_ppp [];
#endif
END_LIBGTOP_DECLS
#endif

Some files were not shown because too many files have changed in this diff Show More