Initial revision
This commit is contained in:
24
.cvsignore
Normal file
24
.cvsignore
Normal file
@@ -0,0 +1,24 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
alpha-dec-osf1
|
||||
autoh31167
|
||||
config.cache
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
configure
|
||||
gtopConf.sh
|
||||
i386-bsdi
|
||||
i686-pc-linux-gnu
|
||||
intl
|
||||
libgtop-mirror.sh.swp
|
||||
libtool
|
||||
ltconfig
|
||||
stamp-h
|
||||
sun4
|
||||
sun4sol2
|
||||
ltmain.sh
|
||||
macros
|
||||
support
|
95
ANNOUNCE
Normal file
95
ANNOUNCE
Normal 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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
393
ChangeLog
Normal file
393
ChangeLog
Normal file
@@ -0,0 +1,393 @@
|
||||
1998-05-17 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* NEWS: added some stuff from 'README.LATEST'.
|
||||
|
||||
* README.LATEST: incorporated content of this file
|
||||
into 'NEWS'.
|
||||
|
||||
* include/glibtop: added references to
|
||||
'glibtop_types_* []' and 'glibtop_guile_types_*'.
|
||||
|
||||
* sysdeps/guile/names: added implementations of
|
||||
'glibtop_types_*' and 'glibtop_description_*'.
|
||||
|
||||
* sysdeps/names: added 'glibtop_types_* []',
|
||||
changed 'glibtop_descriptions_* []'.
|
||||
|
||||
1998-05-11 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* sysdeps/linux: finished the remaining proc_*
|
||||
functions.
|
||||
|
||||
* sysdeps/guile: all guile functions now return
|
||||
the 'flags' member as first element of the list.
|
||||
|
||||
* include/glibtop/procstate.h (glibtop_proc_state):
|
||||
added 'uid' and 'gid' members; the library tries hard
|
||||
to set those values; it will never set the corresponding
|
||||
'flags' value unless the values are correct.
|
||||
|
||||
* examples/first.c: added some nice features.
|
||||
|
||||
* examples/second.c: new file - dumps out all
|
||||
currently running processes.
|
||||
|
||||
1998-05-11 Martin Baulig <baulig@merkur.uni-trier.de>
|
||||
|
||||
* sysdeps/linux/cpu.c: added 'frequency' member
|
||||
to 'struct _glibtop_cpu'.
|
||||
|
||||
* include/glibtop/cpu.h (glibtop_cpu):
|
||||
added 'frequency' member
|
||||
|
||||
* sysdeps/guile/names/procdata.c: splitted into
|
||||
procstate.c, procuid.c, procmem.c, proctime.c,
|
||||
procsignal.c, prockernel.c and procsegment.c
|
||||
|
||||
* sysdeps/guile/procdata.c: splitted into
|
||||
procstate.c, procuid.c, procmem.c, proctime.c,
|
||||
procsignal.c, prockernel.c and procsegment.c
|
||||
|
||||
* lib/procdata.c: splitted into
|
||||
procstate.c, procuid.c, procmem.c, proctime.c,
|
||||
procsignal.c, prockernel.c and procsegment.c
|
||||
|
||||
* include/glibtop/procdata.h: splitted into
|
||||
procstate.h, procuid.h, procmem.h, proctime.h,
|
||||
procsignal.h, prockernel.h and procsegment.h
|
||||
|
||||
1998-05-10 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* sysdeps/osf1: port to OSF1 has been made.
|
||||
|
||||
1998-05-07 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* sysdeps/guile/sysdeps.c: changes to reflect the
|
||||
new flags of procdata.
|
||||
|
||||
* sysdeps/common/sysdeps.c: changes to reflect the
|
||||
new flags of procdata.
|
||||
|
||||
* sysdeps/linux/procdata.c: 'flags' member is now
|
||||
'unsigned long flags [2]'. When we give
|
||||
glibtop_get_procdata () a pid of zero, only
|
||||
the flags are returned.
|
||||
|
||||
* sysdeps/linux: now using static constant instead
|
||||
of #define for sysdeps.
|
||||
|
||||
* include/glibtop/procdata.h: flags is now
|
||||
'unsigned long flags [2]'.
|
||||
|
||||
* examples/first.c: output sysdeps
|
||||
|
||||
1998-05-03 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* ltconfig.diff: ugly hack: when cross compiling, we assume
|
||||
building shared libraries work.
|
||||
|
||||
1998-05-02 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* sysdeps/stub/init.c: new file - initializes global server.
|
||||
|
||||
* sysdeps/linux/init.c: new file - initializes global server.
|
||||
|
||||
* lib/init.c: new file - initializes global server.
|
||||
|
||||
* glibtop.h: 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.
|
||||
|
||||
1998-04-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* sysdeps/linux/open.c: we set server->os_version_code here,
|
||||
copied from gnome-utils/gtop/proc/version.c
|
||||
|
||||
* sysdeps/linux/procdata.c: added implementation for this feature,
|
||||
mainly copied from gnome-utils/gtop/proc/readproc.c
|
||||
|
||||
* glibtop.h: added os_version_code member to struct _glibtop
|
||||
|
||||
* src/server/Makefile.am: moved here from src
|
||||
|
||||
* src/server/version.c: moved here from src
|
||||
|
||||
* src/server/output.c: moved here from src
|
||||
|
||||
* src/server/main.c: moved here from src
|
||||
|
||||
* src/mico/server.cc: new file - simple mico client
|
||||
|
||||
* src/mico/client.cc: new file - simple mico client
|
||||
|
||||
* src/mico/proclist.idl: new file - simple mico interface
|
||||
|
||||
* src/version.c: moved to src/server
|
||||
|
||||
* src/output.c: moved to src/server
|
||||
|
||||
* src/main.c: moved to src/server
|
||||
|
||||
1998-04-11 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* doc/libgtop.sgml: added chapter on how to extend the library
|
||||
|
||||
* sysdeps/names/procdata.c: new file - names for glibtop_procdata
|
||||
|
||||
* sysdeps/linux/procdata.c: new file - copy from sysdeps/stub
|
||||
|
||||
* sysdeps/stub/procdata.c: new file - stub for glibtop_procdata
|
||||
|
||||
* sysdeps/guile/names/procdata.c: new file - guile names for glibtop_procdata
|
||||
|
||||
* sysdeps/guile/procdata.c: new file - guile interface for glibtop_procdata
|
||||
|
||||
* lib/procdata.c: new file - library function for glibtop_procdata
|
||||
|
||||
* include/glibtop/procdata.h: new file - interface for glibtop_procdata -
|
||||
get detailed information about a process
|
||||
|
||||
1998-04-10 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* doc/libgtop.sgml: wrote some more documentation
|
||||
|
||||
* NEWS: 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.
|
||||
|
||||
* sysdeps/guile/names/boot.c: new file - added also
|
||||
cpu.c, mem.c, swap.c, uptime.c, loadavg.c, shm_limits.c,
|
||||
msg_limits.c, sem_limits.c, proclist.c and sysdeps.c
|
||||
to this directory.
|
||||
|
||||
* sysdeps/guile/cpu.c: bugfixes
|
||||
|
||||
* sysdeps/guile/proclist.c: bugfixes
|
||||
|
||||
* sysdeps/names/sysdeps.c (glibtop_labels_sysdeps): more verbose now
|
||||
|
||||
* examples/third.c: added gtop_guile_names library
|
||||
|
||||
* doc/libgtop.sgml: documented guile interface
|
||||
|
||||
* glibtop.h: changed GLIBTOP_DESCRIPTIONS to GLIBTOP_NAMES;
|
||||
added GLIBTOP_GUILE_NAMES when we have the gtop_guile_names
|
||||
library added in sysdeps/guile/names
|
||||
|
||||
1998-04-09 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* NEWS: 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.
|
||||
|
||||
* sysdeps/names/cpu.c: new file, also added
|
||||
cpu.c, mem.c, swap.c, uptime.c loadavg.c, shm_limits.c,
|
||||
msg_limits.c, sem_limits.c, proclist.c and sysdeps.c to
|
||||
this directory
|
||||
|
||||
* sysdeps/guile/boot.c: new file, also added
|
||||
cpu.c, mem.c, swap.c, uptime.c loadavg.c, shm_limits.c,
|
||||
msg_limits.c, sem_limits.c, proclist.c and sysdeps.c to
|
||||
this directory
|
||||
|
||||
* sysdeps/common/sem_limits.c: moved to sysdeps/names
|
||||
|
||||
* sysdeps/common/msg_limits.c: moved to sysdeps/names
|
||||
|
||||
* sysdeps/common/sem_limits.c: moved to sysdeps/names
|
||||
|
||||
* examples/third.c: completely rewritten - simple guile interpreter linked
|
||||
with libgtop_guile
|
||||
|
||||
* examples/second.c: removed
|
||||
|
||||
1998-04-08 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* ANNOUNCE: new file
|
||||
|
||||
* examples/third.scm: new file - sample guile file
|
||||
|
||||
* examples/third.c: new file - guile wrapper for libgtop
|
||||
|
||||
* examples/second.c: new file - simple guile test from guile-tut.info
|
||||
|
||||
* README: new file
|
||||
|
||||
* libgtop-mirror.sh: new file: mirror script for my web site
|
||||
|
||||
* doc/dbtohtml.dsl: renamed to libgtop.dsl
|
||||
|
||||
1998-04-06 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* lib/command.c: some changes in the interface
|
||||
|
||||
* src/main.c: some changes in the interface, we can now return
|
||||
some arbitrary data
|
||||
|
||||
* lib/proclist.c: new file - library function for glibtop_proclist
|
||||
|
||||
* sysdeps/linux/proclist.c: new file - implementation for glibtop_proclist
|
||||
|
||||
* sysdeps/stub/proclist.c: new file - stub for glibtop_proclist
|
||||
|
||||
* include/glibtop/proclist.h: new file - glibtop_proclist
|
||||
|
||||
* include/glibtop/union.h: new file
|
||||
|
||||
* lib/read_data.c: new file
|
||||
|
||||
* include/glibtop/read_data.h: new file
|
||||
|
||||
* sysdeps/common/xmalloc.c: new file - moved here from lib
|
||||
|
||||
* sysdeps/common/error.c: new file - moved here from lib
|
||||
|
||||
* lib/xmalloc.c: moved to sysdeps/common
|
||||
|
||||
* lib/error.c: moved to sysdeps/common
|
||||
|
||||
1998-04-05 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* lib/shm_limits.c: new file - library function for
|
||||
glibtop_shm_limits
|
||||
|
||||
* lib/msg_limits.c: new file - library function for
|
||||
glibtop_msg_limits
|
||||
|
||||
* lib/sem_limits.c: new file - library function for
|
||||
glibtop_sem_limits
|
||||
|
||||
* sysdeps/linux/shm_limits.c: new file - implementation for
|
||||
glibtop_shm_limits
|
||||
|
||||
* sysdeps/linux/msg_limits.c: new file - implementation for
|
||||
glibtop_msg_limits
|
||||
|
||||
* sysdeps/linux/sem_limits.c: new file - implementation for
|
||||
glibtop_sem_limits
|
||||
|
||||
* sysdeps/stub/shm_limits.c: new file - stub for
|
||||
glibtop_shm_limits
|
||||
|
||||
* sysdeps/stub/msg_limits.c: new file - stub for
|
||||
glibtop_msg_limits
|
||||
|
||||
* sysdeps/stub/sem_limits.c: new file - stub for
|
||||
glibtop_sem_limits
|
||||
|
||||
* sysdeps/common/shm_limits.c: new file - limit names
|
||||
|
||||
* sysdeps/common/msg_limits.c: new file - limit names
|
||||
|
||||
* sysdeps/common/sem_limits.c: new file - limit names
|
||||
|
||||
* include/glibtop/shm_limits.h: new file - glibtop_shm_limits
|
||||
|
||||
* include/glibtop/msg_limits.h: new file - glibtop_msg_limits
|
||||
|
||||
* include/glibtop/sem_limits.h: new file - glibtop_sem_limits
|
||||
|
||||
* sysdeps/common/sysdeps.c: moved here from sysdeps/stub
|
||||
|
||||
* sysdeps/linux/sysdeps.c: moved to sysdeps/common
|
||||
|
||||
* sysdeps/stub/sysdeps.c: moved to sysdeps/common
|
||||
|
||||
* sysdeps/stub/ipc_limits.c: splitted info shm_limits.c, msg_limits.c
|
||||
and sem_limits.c
|
||||
|
||||
* sysdeps/linux/ipc_limits.c: splitted into shm_limits.c, msg_limits.c
|
||||
and sem_limits.c
|
||||
|
||||
* lib/ipc_limits.c: splitted into shm_limits.c, msg_limits.c
|
||||
and sem_limits.c
|
||||
|
||||
* include/ipc_limits.h: splitted into shm_limits.h, msg_limits.h
|
||||
and sem_limits.s
|
||||
|
||||
* lib/ipc_limits.c: new file - library function for
|
||||
glibtop_ipc_limits
|
||||
|
||||
* sysdeps/linux/ipc_limits.c: new file - implementation for
|
||||
glibtop_ipc_limits
|
||||
|
||||
* sysdeps/stub/ipc_limits.c: new file - stub for
|
||||
glibtop_ipc_limits
|
||||
|
||||
* include/glibtop/ipc_limits.h: new file - glibtop_ipc_limits -
|
||||
sysv ipc limits
|
||||
|
||||
* doc/libgtop.sgml: worked on documentation
|
||||
|
||||
* lib/uptime.c: new file - library function for
|
||||
glibtop_uptime
|
||||
|
||||
* lib/loadavg.c: new file - library function for
|
||||
glibtop_loadavg
|
||||
|
||||
* lib/sysinfo.c: removed - splitted into
|
||||
uptime.c and loadavg.c
|
||||
|
||||
* sysdeps/linux/uptime.c: new file - implementation for
|
||||
glibtop_uptime
|
||||
|
||||
* sysdeps/linux/loadavg.c: new file - implementation for
|
||||
glibtop_loadavg
|
||||
|
||||
* sysdeps/linux/sysinfo.c: removed - splitted into
|
||||
uptime.c and loadavg.c
|
||||
|
||||
* sysdeps/stub/uptime.c: new file - stub for
|
||||
glibtop_uptime
|
||||
|
||||
* sysdeps/stub/loadavg.c: new file - stub for
|
||||
glibtop_loadavg
|
||||
|
||||
* sysdeps/stub/sysinfo.c: removed - splitted into
|
||||
uptime.c and loadavg.c
|
||||
|
||||
* src/main.c: added GLIBTOP_CMND_UPTIME and
|
||||
GLIBTOP_CMND_LOADAVG implementation
|
||||
|
||||
* include/glibtop/loadavg.h: new file - glibtop_loadavg
|
||||
|
||||
* include/glibtop/uptime.h: new file - glibtop_uptime
|
||||
|
||||
* include/glibtop/loadavg.h: removed - splitted into
|
||||
uptime.h and loadavg.h
|
||||
|
||||
* src/main.c: added GLIBTOP_CMND_SYSDEPS implementation
|
||||
|
||||
* lib/sysdeps.c: new file - library function for glibtop_sysdeps
|
||||
|
||||
* sysdeps/linux/sysdeps.c: new file - copied from sysdeps/stub
|
||||
|
||||
* sysdeps/stub/sysdeps.c: new file - implementation for glibtop_sysinfo -
|
||||
this is really the implementation and not just a stub
|
||||
|
||||
* src/sysdeps.c: moved to sysdeps/stub - this file is now part
|
||||
of the library
|
||||
|
||||
* lib/sysinfo.c: new file - library function for glibtop_sysinfo
|
||||
|
||||
* sysdeps/linux/sysinfo.c: new file - linux version for glibtop_sysinfo
|
||||
|
||||
* sysdeps/stub/sysinfo.c: new file - stub for glibtop_sysinfo
|
||||
|
||||
* include/glibtop/sysinfo.h: new file - provides uptime, idle time
|
||||
and load averange.
|
||||
|
||||
* po/libgtop.pot: removed file
|
||||
|
||||
* sysdeps/linux/cpu.c: using long unsigned format
|
||||
* sysdeps/linux/mem.c: using long usigned format
|
||||
* sysdeps/linux/swap.c: using long unsigned format
|
||||
* examples/first.c: using long unsigned format
|
||||
|
||||
* initial version.
|
||||
|
41
Makefile.am
Normal file
41
Makefile.am
Normal file
@@ -0,0 +1,41 @@
|
||||
## Process this file with automake to produce Makefile.in.
|
||||
|
||||
built_SUBDIRS = sysdeps src lib examples
|
||||
|
||||
SUBDIRS = po intl support macros $(built_SUBDIRS)
|
||||
|
||||
include_HEADERS =
|
||||
|
||||
EXTRA_DIST = gtopConf.sh.in
|
||||
|
||||
release:
|
||||
$(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)/gtopConf.sh
|
||||
|
||||
## 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
|
||||
|
||||
## We create gtopConf.sh here and not from configure because we want
|
||||
## to get the paths expanded correctly. Macros like srcdir are given
|
||||
## the value NONE in configure if the user doesn't specify them (this
|
||||
## is an autoconf feature, not a bug).
|
||||
gtopConf.sh: gtopConf.sh.in Makefile
|
||||
## Use sed and then mv to avoid problems if the user interrupts.
|
||||
sed -e 's,\@GTOP_LIBDIR\@,$(libdir),g' \
|
||||
-e 's,\@GTOP_INCLUDEDIR\@,$(includedir),g' \
|
||||
-e 's,\@GTOP_LIBS\@,$(GTOP_LIBS),g' \
|
||||
-e 's,\@GTOP_INCS\@,$(GTOP_INCS),g' \
|
||||
-e 's,\@GTOP_BINDIR\@,$(GTOP_BINDIR),g' \
|
||||
-e 's,\@GTOP_SERVER\@,$(GTOP_SERVER),g' \
|
||||
-e 's,\@GTOP_SYSDEPS_DIR\@,$(sysdeps_dir),g' \
|
||||
-e 's,\@GTOP_NEED_SERVER\@,$(need_server),g' \
|
||||
-e 's,\@GTOP_USE_MACHINE_H\@,$(use_glibtop_machine_h),g' \
|
||||
< $(srcdir)/gtopConf.sh.in > gtopConf.tmp \
|
||||
&& mv gtopConf.tmp gtopConf.sh
|
96
NEWS
Normal file
96
NEWS
Normal file
@@ -0,0 +1,96 @@
|
||||
$Id$
|
||||
|
||||
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).
|
57
README
Normal file
57
README
Normal file
@@ -0,0 +1,57 @@
|
||||
Hi all,
|
||||
|
||||
[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:
|
||||
===========
|
||||
|
||||
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
8
README.LATEST
Normal file
@@ -0,0 +1,8 @@
|
||||
$Id$
|
||||
|
||||
LATEST NEWS:
|
||||
===========
|
||||
|
||||
Please look also in the file 'NEWS' for latest news.
|
||||
|
||||
Martin
|
30
acconfig.h
Normal file
30
acconfig.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#undef ENABLE_NLS
|
||||
#undef HAVE_CATGETS
|
||||
#undef HAVE_GETTEXT
|
||||
#undef HAVE_LC_MESSAGES
|
||||
#undef HAVE_STPCPY
|
||||
#undef HAVE_STRUCT_OSOCKADDR
|
||||
#undef PACKAGE
|
||||
#undef VERSION
|
||||
#undef HAVE_LIBSM
|
||||
#undef HAVE_LIBINTL_H
|
||||
#undef HAVE_GTK_SIGNAL_HANDLER_PENDING
|
||||
|
||||
/* Do not remove this comments and the empty lines; they are needed */
|
||||
#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
|
||||
|
||||
/* to fix a bug in autoheader on DEC OSF1. */
|
||||
#undef HAVE_PROGRAM_INVOCATION_NAME
|
||||
|
||||
#undef HAVE_LIBJPEG
|
||||
#undef HAVE_LIBGIF
|
||||
#undef HAVE_LIBTIFF
|
||||
#undef HAVE_LIBZ
|
||||
#undef HAVE_LIBPNG
|
||||
#undef GNOME_ENABLE_DEBUG
|
||||
#undef HAVE_GMP2_INCLUDE_DIR
|
||||
#undef HAVE_GUILE
|
||||
#undef ssize_t
|
||||
|
||||
#undef HAVE_GLIBTOP_MACHINE_H
|
||||
|
960
acinclude.m4
Normal file
960
acinclude.m4
Normal file
@@ -0,0 +1,960 @@
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.2h
|
||||
|
||||
dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
dnl This Makefile.in is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
AC_DEFUN([AC_LC_CANONICAL_HOST],[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
# The way shlib-versions is used to generate soversions.mk uses a
|
||||
# fairly simplistic model for name recognition that can't distinguish
|
||||
# i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
|
||||
# of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
|
||||
# tell. This doesn't get used much beyond that, so it's fairly safe.
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
;;
|
||||
gnu*)
|
||||
host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([AC_LC_SYSDEPS],[
|
||||
AC_REQUIRE([AC_LC_CANONICAL_HOST])
|
||||
AC_MSG_CHECKING(for sysdeps directory)
|
||||
AC_ARG_WITH(sysdeps,
|
||||
[ --with-sysdeps=dir which sysdeps directory should be used [default=auto]],
|
||||
[if test "x$withval" = "xyes" ; then
|
||||
ac_cv_sysdeps_dir=yes
|
||||
elif test "x$withval" = "xauto" ; then
|
||||
ac_cv_sysdeps_dir=yes
|
||||
else
|
||||
ac_cv_sysdeps_dir=$withval
|
||||
fi],[ac_cv_sysdeps_dir=yes])
|
||||
if test "x$ac_cv_sysdeps_dir" = "xyes" ; then
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
sysdeps_dir=linux
|
||||
use_glibtop_machine_h=no
|
||||
need_server=no
|
||||
;;
|
||||
sunos4*)
|
||||
sysdeps_dir=sun4
|
||||
use_glibtop_machine_h=no
|
||||
need_server=yes
|
||||
;;
|
||||
osf*)
|
||||
sysdeps_dir=osf1
|
||||
use_glibtop_machine_h=yes
|
||||
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H)
|
||||
need_server=yes
|
||||
;;
|
||||
*)
|
||||
sysdeps_dir=stub
|
||||
use_glibtop_machine_h=no
|
||||
need_server=no
|
||||
;;
|
||||
esac
|
||||
elif test "x$ac_cv_sysdeps_dir" = "xno" ; then
|
||||
sysdeps_dir=stub
|
||||
else
|
||||
sysdeps_dir=stub
|
||||
fi
|
||||
test -d $srcdir/sysdeps/$sysdeps_dir || sysdeps_dir=stub
|
||||
AC_MSG_RESULT($sysdeps_dir)
|
||||
AC_SUBST(sysdeps_dir)
|
||||
AC_SUBST(need_server)
|
||||
])
|
||||
|
||||
|
||||
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
||||
|
||||
AC_DEFUN(AM_CONFIG_HEADER,
|
||||
[AC_PREREQ([2.12])
|
||||
AC_CONFIG_HEADER([$1])
|
||||
dnl When config.status generates a header, we must update the stamp-h file.
|
||||
dnl This file resides in the same directory as the config header
|
||||
dnl that is generated. We must strip everything past the first ":",
|
||||
dnl and everything past the last "/".
|
||||
AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
|
||||
ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
|
||||
<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
|
||||
<<am_indx=1
|
||||
for am_file in <<$1>>; do
|
||||
case " <<$>>CONFIG_HEADERS " in
|
||||
*" <<$>>am_file "*<<)>>
|
||||
echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
|
||||
;;
|
||||
esac
|
||||
am_indx=`expr "<<$>>am_indx" + 1`
|
||||
done<<>>dnl>>)
|
||||
changequote([,]))])
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
[AC_REQUIRE([AM_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
AC_SUBST(VERSION)
|
||||
dnl test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
ifelse([$3],,
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
|
||||
AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_PROG_INSTALL,
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
|
||||
AC_SUBST(INSTALL_SCRIPT)dnl
|
||||
])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||
if test "[$]*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftestfile`
|
||||
fi
|
||||
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
|
||||
test "[$]2" = conftestfile
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||
$1=$2
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
$1="$3/missing $2"
|
||||
AC_MSG_RESULT(missing)
|
||||
fi
|
||||
AC_SUBST($1)])
|
||||
|
||||
# Add --enable-maintainer-mode option to configure.
|
||||
# From Jim Meyering
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_MAINTAINER_MODE,
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer],
|
||||
USE_MAINTAINER_MODE=$enableval,
|
||||
USE_MAINTAINER_MODE=no)
|
||||
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
||||
if test $USE_MAINTAINER_MODE = yes; then
|
||||
MAINT=
|
||||
else
|
||||
MAINT='#M#'
|
||||
fi
|
||||
AC_SUBST(MAINT)dnl
|
||||
]
|
||||
)
|
||||
|
||||
# aclocal-include.m4
|
||||
#
|
||||
# This macro adds the name macrodir to the set of directories
|
||||
# that `aclocal' searches for macros.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl AM_ACLOCAL_INCLUDE(macrodir)
|
||||
AC_DEFUN([AM_ACLOCAL_INCLUDE],
|
||||
[ACLOCAL="$ACLOCAL -I $1"])
|
||||
|
||||
dnl
|
||||
dnl GNOME_CHECK_GUILE (failflag)
|
||||
dnl
|
||||
dnl if failflag is "fail" then GNOME_CHECK_GUILE will abort if guile is not found.
|
||||
dnl
|
||||
|
||||
AC_DEFUN([GNOME_CHECK_GUILE],
|
||||
[
|
||||
saved_ldflags="$LDFLAGS"
|
||||
saved_cppflags="$CPPFLAGS"
|
||||
LDFLAGS="$LDFLAGS $GNOME_LIBDIR"
|
||||
|
||||
AC_CHECK_LIB(qthreads,main,[
|
||||
QTTHREADS_LIB="-lqthreads"
|
||||
],[
|
||||
AC_CHECK_LIB(qt, qt_null, QTTHREADS_LIB="-lqt")
|
||||
],$LIBS)
|
||||
AC_SUBST(QTTHREADS_LIB)
|
||||
|
||||
AC_CHECK_LIB(termcap,main,TERMCAP_LIB="-ltermcap")
|
||||
AC_CHECK_LIB(readline,main,READLINE_LIB="-lreadline",,$TERMCAP_LIB)
|
||||
|
||||
AC_SUBST(TERMCAP_LIB)
|
||||
AC_SUBST(READLINE_LIB)
|
||||
|
||||
AC_CHECK_PROG(BUILD_GUILE, build-guile, yes, no)
|
||||
|
||||
if test "x$BUILD_GUILE" = "xyes"; then
|
||||
AC_MSG_CHECKING(whether build-guile works)
|
||||
if test x`build-guile --version >/dev/null 2>&1 || \
|
||||
echo no` = xno; then
|
||||
BUILD_GUILE=no
|
||||
fi
|
||||
AC_MSG_RESULT($BUILD_GUILE)
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(m, sin)
|
||||
|
||||
if test "x$BUILD_GUILE" = "xyes"; then
|
||||
AC_MSG_CHECKING(for guile libraries)
|
||||
GUILE_LIBS="-L`build-guile info libdir` `build-guile link`"
|
||||
AC_MSG_RESULT($GUILE_LIBS)
|
||||
AC_MSG_CHECKING(for guile headers)
|
||||
GUILE_INCS="-I`build-guile info includedir`"
|
||||
AC_MSG_RESULT($GUILE_INCS)
|
||||
else
|
||||
GUILE_LIBS="$GNOME_LIBDIR"
|
||||
GUILE_INCS="$GNOME_INCLUDEDIR"
|
||||
AC_CHECK_LIB(rx, main, GUILE_LIBS="-lrx $GUILE_LIBS")
|
||||
AC_CHECK_LIB(qt, main, GUILE_LIBS="-lqt $GUILE_LIBS")
|
||||
AC_CHECK_LIB(dl, dlopen, GUILE_LIBS="-ldl $GUILE_LIBS")
|
||||
GUILE_LIBS="-lguile $GUILE_LIBS $QTTHREADS_LIB $TERMCAP_LIB $READLINE_LIB"
|
||||
fi
|
||||
|
||||
AC_SUBST(GUILE_LIBS)
|
||||
AC_SUBST(GUILE_INCS)
|
||||
|
||||
LDFLAGS="$saved_ldflags $GUILE_LIBS"
|
||||
CPPFLAGS="$saved_cppflags $GUILE_INCS"
|
||||
|
||||
AC_MSG_CHECKING(whether guile works)
|
||||
AC_TRY_LINK([
|
||||
#include <libguile.h>
|
||||
#include <guile/gh.h>
|
||||
],[
|
||||
gh_eval_str("(newline)");
|
||||
scm_boot_guile(0,NULL,NULL,NULL);
|
||||
],[
|
||||
ac_cv_guile_found=yes
|
||||
AC_DEFINE(HAVE_GUILE)
|
||||
],[
|
||||
ac_cv_guile_found=no
|
||||
])
|
||||
AC_MSG_RESULT($ac_cv_guile_found)
|
||||
|
||||
if test x$ac_cv_guile_found = xno ; then
|
||||
if test x$1 = xfail ; then
|
||||
AC_MSG_ERROR(Can not find Guile 1.2 on this system)
|
||||
else
|
||||
AC_MSG_WARN(Can not find Guile 1.2 on this system)
|
||||
fi
|
||||
ac_cv_guile_found=no
|
||||
fi
|
||||
|
||||
LDFLAGS="$saved_ldflags"
|
||||
CPPFLAGS="$saved_cppflags"
|
||||
|
||||
AC_SUBST(GUILE_LIBS)
|
||||
AM_CONDITIONAL(GUILE, test x$ac_cv_guile_found = xyes)
|
||||
])
|
||||
|
||||
# Define a conditional.
|
||||
|
||||
AC_DEFUN(AM_CONDITIONAL,
|
||||
[AC_SUBST($1_TRUE)
|
||||
AC_SUBST($1_FALSE)
|
||||
if $2; then
|
||||
$1_TRUE=
|
||||
$1_FALSE='#'
|
||||
else
|
||||
$1_TRUE='#'
|
||||
$1_FALSE=
|
||||
fi])
|
||||
|
||||
|
||||
dnl AM_PROG_LEX
|
||||
dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
|
||||
AC_DEFUN(AM_PROG_LEX,
|
||||
[AC_CHECK_PROGS(LEX, flex lex, "$1/missing flex")
|
||||
AC_PROG_LEX
|
||||
AC_DECL_YYTEXT])
|
||||
|
||||
|
||||
# serial 18 AM_PROG_LIBTOOL
|
||||
AC_DEFUN(AM_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([AC_PROG_RANLIB])
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AM_PROG_LD])
|
||||
AC_REQUIRE([AM_PROG_NM])
|
||||
AC_REQUIRE([AC_PROG_LN_S])
|
||||
|
||||
# Always use our own libtool.
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||
AC_SUBST(LIBTOOL)
|
||||
|
||||
dnl Allow the --disable-shared flag to stop us from building shared libs.
|
||||
AC_ARG_ENABLE(shared,
|
||||
[ --enable-shared build shared libraries [default=yes]],
|
||||
[if test "$enableval" = no; then
|
||||
libtool_enable_shared=no
|
||||
else
|
||||
libtool_enable_shared=yes
|
||||
fi])
|
||||
test -n "$libtool_enable_shared" && enable_shared="$libtool_enable_shared"
|
||||
libtool_shared=
|
||||
test "$enable_shared" = no && libtool_shared=" --disable-shared"
|
||||
|
||||
dnl Allow the --disable-static flag to stop us from building static libs.
|
||||
AC_ARG_ENABLE(static,
|
||||
[ --enable-static build static libraries [default=yes]],
|
||||
[if test "$enableval" = no; then
|
||||
libtool_enable_static=no
|
||||
else
|
||||
libtool_enable_static=yes
|
||||
fi])
|
||||
test -n "$libtool_enable_static" && enable_static="$libtool_enable_static"
|
||||
libtool_static=
|
||||
test "$enable_static" = no && libtool_static=" --disable-static"
|
||||
|
||||
libtool_flags="$libtool_shared$libtool_static"
|
||||
test "$silent" = yes && libtool_flags="$libtool_flags --silent"
|
||||
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
|
||||
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
|
||||
|
||||
# Some flags need to be propagated to the compiler or linker for good
|
||||
# libtool support.
|
||||
[case "$host" in
|
||||
*-*-irix6*)
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
flag_passed=no
|
||||
for f in -32 -64 -n32 ABI -cckr -mips1 -mips2 -mips3 -mips4; do
|
||||
case "$f" in
|
||||
ABI)
|
||||
test -n "$SGI_ABI" && flag_passed=yes
|
||||
if test "$flag_passed" = no && test "$ac_cv_prog_gcc" = yes; then
|
||||
# Choose the ABI flag according to GCC's specs.
|
||||
if $CC -dumpspecs 2>&1 | sed '/^\*link:$/,/^$/!d' | egrep -e '[ ]-32' >/dev/null; then
|
||||
LD="${LD-ld} -32"
|
||||
else
|
||||
LD="${LD-ld} -n32"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
if echo " $CC $CFLAGS " | egrep -e "[ ]$f[ ]" > /dev/null; then
|
||||
flag_passed=yes
|
||||
LD="${LD-ld} $f"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
;;
|
||||
|
||||
*-*-sco3.2v5*)
|
||||
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
|
||||
CFLAGS="$CFLAGS -belf"
|
||||
;;
|
||||
esac]
|
||||
|
||||
# Actually configure libtool. ac_aux_dir is where install-sh is found.
|
||||
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
|
||||
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|
||||
|| AC_MSG_ERROR([libtool configure failed])
|
||||
])
|
||||
|
||||
# AM_PROG_LD - find the path to the GNU or non-GNU linker
|
||||
AC_DEFUN(AM_PROG_LD,
|
||||
[AC_ARG_WITH(gnu-ld,
|
||||
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
ac_prog=ld
|
||||
if test "$ac_cv_prog_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
AC_MSG_CHECKING([for ld used by GCC])
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
/*)
|
||||
test -z "$LD" && LD="$ac_prog"
|
||||
;;
|
||||
"")
|
||||
# If it fails, then pretend we aren't using GCC.
|
||||
ac_prog=ld
|
||||
;;
|
||||
*)
|
||||
# If it is relative, then search for the first ld in PATH.
|
||||
with_gnu_ld=unknown
|
||||
;;
|
||||
esac
|
||||
elif test "$with_gnu_ld" = yes; then
|
||||
AC_MSG_CHECKING([for GNU ld])
|
||||
else
|
||||
AC_MSG_CHECKING([for non-GNU ld])
|
||||
fi
|
||||
AC_CACHE_VAL(ac_cv_path_LD,
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f "$ac_dir/$ac_prog"; then
|
||||
ac_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
||||
test "$with_gnu_ld" != no && break
|
||||
else
|
||||
test "$with_gnu_ld" != yes && break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
else
|
||||
ac_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
LD="$ac_cv_path_LD"
|
||||
if test -n "$LD"; then
|
||||
AC_MSG_RESULT($LD)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||
AC_SUBST(LD)
|
||||
AM_PROG_LD_GNU
|
||||
])
|
||||
|
||||
AC_DEFUN(AM_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
fi])
|
||||
])
|
||||
|
||||
# AM_PROG_NM - find the path to a BSD-compatible name lister
|
||||
AC_DEFUN(AM_PROG_NM,
|
||||
[AC_MSG_CHECKING([for BSD-compatible nm])
|
||||
AC_CACHE_VAL(ac_cv_path_NM,
|
||||
[case "$NM" in
|
||||
/*)
|
||||
ac_cv_path_NM="$NM" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
|
||||
test -z "$ac_dir" && dir=.
|
||||
if test -f $ac_dir/nm; then
|
||||
# Check to see if the nm accepts a BSD-compat flag.
|
||||
# Adding the `sed 1!d' prevents false positives on HP-UX, which says:
|
||||
# nm: unknown option "B" ignored
|
||||
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -B"
|
||||
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -p"
|
||||
else
|
||||
ac_cv_path_NM="$ac_dir/nm"
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
|
||||
;;
|
||||
esac])
|
||||
NM="$ac_cv_path_NM"
|
||||
AC_MSG_RESULT([$NM])
|
||||
AC_SUBST(NM)
|
||||
])
|
||||
|
||||
dnl LIBGTOP_SUPPORT_CHECKS
|
||||
dnl Check for various support functions needed by the standard
|
||||
dnl Gnome libraries. Sets LIBOBJS, might define some macros,
|
||||
dnl and will set the need_libgtop_support shell variable to "yes"
|
||||
dnl or "no". Also sets up the Automake BUILD_LIBGTOP_SUPPORT
|
||||
dnl conditional.
|
||||
AC_DEFUN([LIBGTOP_SUPPORT_CHECKS],[
|
||||
need_libgtop_support=no
|
||||
save_LIBOBJS="$LIBOBJS"
|
||||
LIBOBJS=
|
||||
|
||||
AC_CACHE_CHECK([for program_invocation_short_name], libgtop_cv_short_name, [
|
||||
AC_TRY_LINK([#include <errno.h>],[
|
||||
char *foo = program_invocation_short_name],
|
||||
libgtop_cv_short_name=yes, libgtop_cv_short_name=no)])
|
||||
if test "$libgtop_cv_short_name" = yes; then
|
||||
AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME)
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for program_invocation_name], libgtop_cv_invocation_name, [
|
||||
AC_TRY_LINK([#include <errno.h>],[
|
||||
char *foo = program_invocation_name],
|
||||
libgtop_cv_invocation_name=yes, libgtop_cv_invocation_name=no)])
|
||||
if test "$libgtop_cv_invocation_name" = yes; then
|
||||
AC_DEFINE(HAVE_PROGRAM_INVOCATION_NAME)
|
||||
fi
|
||||
|
||||
AC_REPLACE_FUNCS(strtok_r strcasecmp strndup strnlen strerror)
|
||||
|
||||
if test "$LIBOBJS" != ""; then
|
||||
need_libgtop_support=yes
|
||||
fi
|
||||
# Turn our LIBOBJS into libtool objects. This is gross, but it
|
||||
# requires changes to autoconf before it goes away.
|
||||
LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/.lo/g'`
|
||||
AC_SUBST(LTLIBOBJS)
|
||||
|
||||
LIBOBJS="$save_LIBOBJS"
|
||||
AM_CONDITIONAL(BUILD_LIBGTOP_SUPPORT, test "$need_libgtop_support" = yes)
|
||||
])
|
||||
|
||||
# Macro to add for using GNU gettext.
|
||||
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
|
||||
# serial 3
|
||||
|
||||
AC_DEFUN(AM_WITH_NLS,
|
||||
[AC_MSG_CHECKING([whether NLS is requested])
|
||||
dnl Default is enabled NLS
|
||||
AC_ARG_ENABLE(nls,
|
||||
[ --disable-nls do not use Native Language Support],
|
||||
USE_NLS=$enableval, USE_NLS=yes)
|
||||
AC_MSG_RESULT($USE_NLS)
|
||||
AC_SUBST(USE_NLS)
|
||||
|
||||
USE_INCLUDED_LIBINTL=no
|
||||
|
||||
dnl If we use NLS figure out what method
|
||||
if test "$USE_NLS" = "yes"; then
|
||||
AC_DEFINE(ENABLE_NLS)
|
||||
AC_MSG_CHECKING([whether included gettext is requested])
|
||||
AC_ARG_WITH(included-gettext,
|
||||
[ --with-included-gettext use the GNU gettext library included here],
|
||||
nls_cv_force_use_gnu_gettext=$withval,
|
||||
nls_cv_force_use_gnu_gettext=no)
|
||||
AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
|
||||
|
||||
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
|
||||
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
|
||||
dnl User does not insist on using GNU NLS library. Figure out what
|
||||
dnl to use. If gettext or catgets are available (in this order) we
|
||||
dnl use this. Else we have to fall back to GNU NLS library.
|
||||
dnl catgets is only used if permitted by option --with-catgets.
|
||||
nls_cv_header_intl=
|
||||
nls_cv_header_libgt=
|
||||
CATOBJEXT=NONE
|
||||
|
||||
AC_CHECK_HEADER(libintl.h,
|
||||
[AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
|
||||
[AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
|
||||
gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
|
||||
|
||||
if test "$gt_cv_func_gettext_libc" != "yes"; then
|
||||
AC_CHECK_LIB(intl, bindtextdomain,
|
||||
[AC_CACHE_CHECK([for gettext in libintl],
|
||||
gt_cv_func_gettext_libintl,
|
||||
[AC_TRY_LINK([], [return (int) gettext ("")],
|
||||
gt_cv_func_gettext_libintl=yes,
|
||||
gt_cv_func_gettext_libintl=no)])])
|
||||
fi
|
||||
|
||||
if test "$gt_cv_func_gettext_libc" = "yes" \
|
||||
|| test "$gt_cv_func_gettext_libintl" = "yes"; then
|
||||
AC_DEFINE(HAVE_GETTEXT)
|
||||
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
|
||||
if test "$MSGFMT" != "no"; then
|
||||
AC_CHECK_FUNCS(dcgettext)
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
||||
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
|
||||
return _nl_msg_cat_cntr],
|
||||
[CATOBJEXT=.gmo
|
||||
DATADIRNAME=share],
|
||||
[CATOBJEXT=.mo
|
||||
DATADIRNAME=lib])
|
||||
INSTOBJEXT=.mo
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
if test "$CATOBJEXT" = "NONE"; then
|
||||
AC_MSG_CHECKING([whether catgets can be used])
|
||||
AC_ARG_WITH(catgets,
|
||||
[ --with-catgets use catgets functions if available],
|
||||
nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
|
||||
AC_MSG_RESULT($nls_cv_use_catgets)
|
||||
|
||||
if test "$nls_cv_use_catgets" = "yes"; then
|
||||
dnl No gettext in C library. Try catgets next.
|
||||
AC_CHECK_LIB(i, main)
|
||||
AC_CHECK_FUNC(catgets,
|
||||
[AC_DEFINE(HAVE_CATGETS)
|
||||
INTLOBJS="\$(CATOBJS)"
|
||||
AC_PATH_PROG(GENCAT, gencat, no)dnl
|
||||
if test "$GENCAT" != "no"; then
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
|
||||
if test "$GMSGFMT" = "no"; then
|
||||
AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
|
||||
fi
|
||||
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
||||
USE_INCLUDED_LIBINTL=yes
|
||||
CATOBJEXT=.cat
|
||||
INSTOBJEXT=.cat
|
||||
DATADIRNAME=lib
|
||||
INTLDEPS='$(top_builddir)/intl/libintl.a'
|
||||
INTLLIBS=$INTLDEPS
|
||||
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
|
||||
nls_cv_header_intl=intl/libintl.h
|
||||
nls_cv_header_libgt=intl/libgettext.h
|
||||
fi])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$CATOBJEXT" = "NONE"; then
|
||||
dnl Neither gettext nor catgets in included in the C library.
|
||||
dnl Fall back on GNU gettext library.
|
||||
nls_cv_use_gnu_gettext=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||
dnl Mark actions used to generate GNU NLS library.
|
||||
INTLOBJS="\$(GETTOBJS)"
|
||||
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
||||
AC_SUBST(MSGFMT)
|
||||
USE_INCLUDED_LIBINTL=yes
|
||||
CATOBJEXT=.gmo
|
||||
INSTOBJEXT=.mo
|
||||
DATADIRNAME=share
|
||||
INTLDEPS='$(top_builddir)/intl/libintl.a'
|
||||
INTLLIBS=$INTLDEPS
|
||||
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
|
||||
nls_cv_header_intl=intl/libintl.h
|
||||
nls_cv_header_libgt=intl/libgettext.h
|
||||
fi
|
||||
|
||||
dnl Test whether we really found GNU xgettext.
|
||||
if test "$XGETTEXT" != ":"; then
|
||||
dnl If it is no GNU xgettext we define it as : so that the
|
||||
dnl Makefiles still can work.
|
||||
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
|
||||
: ;
|
||||
else
|
||||
AC_MSG_RESULT(
|
||||
[found xgettext programs is not GNU xgettext; ignore it])
|
||||
XGETTEXT=":"
|
||||
fi
|
||||
fi
|
||||
|
||||
# We need to process the po/ directory.
|
||||
POSUB=po
|
||||
else
|
||||
DATADIRNAME=share
|
||||
nls_cv_header_intl=intl/libintl.h
|
||||
nls_cv_header_libgt=intl/libgettext.h
|
||||
fi
|
||||
|
||||
# If this is used in GNU gettext we have to set USE_NLS to `yes'
|
||||
# because some of the sources are only built for this goal.
|
||||
if test "$PACKAGE" = gettext; then
|
||||
USE_NLS=yes
|
||||
USE_INCLUDED_LIBINTL=yes
|
||||
fi
|
||||
|
||||
dnl These rules are solely for the distribution goal. While doing this
|
||||
dnl we only have to keep exactly one list of the available catalogs
|
||||
dnl in configure.in.
|
||||
for lang in $ALL_LINGUAS; do
|
||||
GMOFILES="$GMOFILES $lang.gmo"
|
||||
POFILES="$POFILES $lang.po"
|
||||
done
|
||||
|
||||
dnl Make all variables we use known to autoconf.
|
||||
AC_SUBST(USE_INCLUDED_LIBINTL)
|
||||
AC_SUBST(CATALOGS)
|
||||
AC_SUBST(CATOBJEXT)
|
||||
AC_SUBST(DATADIRNAME)
|
||||
AC_SUBST(GMOFILES)
|
||||
AC_SUBST(INSTOBJEXT)
|
||||
AC_SUBST(INTLDEPS)
|
||||
AC_SUBST(INTLLIBS)
|
||||
AC_SUBST(INTLOBJS)
|
||||
AC_SUBST(POFILES)
|
||||
AC_SUBST(POSUB)
|
||||
])
|
||||
|
||||
AC_DEFUN(AM_GNU_GETTEXT,
|
||||
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_ISC_POSIX])dnl
|
||||
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
AC_REQUIRE([AC_C_CONST])dnl
|
||||
AC_REQUIRE([AC_C_INLINE])dnl
|
||||
AC_REQUIRE([AC_TYPE_OFF_T])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||||
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||
|
||||
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
|
||||
unistd.h values.h sys/param.h])
|
||||
AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
|
||||
__argz_count __argz_stringify __argz_next])
|
||||
|
||||
if test "${ac_cv_func_stpcpy+set}" != "set"; then
|
||||
AC_CHECK_FUNCS(stpcpy)
|
||||
fi
|
||||
if test "${ac_cv_func_stpcpy}" = "yes"; then
|
||||
AC_DEFINE(HAVE_STPCPY)
|
||||
fi
|
||||
|
||||
AM_LC_MESSAGES
|
||||
AM_WITH_NLS
|
||||
|
||||
if test "x$CATOBJEXT" != "x"; then
|
||||
if test "x$ALL_LINGUAS" = "x"; then
|
||||
LINGUAS=
|
||||
else
|
||||
AC_MSG_CHECKING(for catalogs to be installed)
|
||||
NEW_LINGUAS=
|
||||
for lang in ${LINGUAS=$ALL_LINGUAS}; do
|
||||
case "$ALL_LINGUAS" in
|
||||
*$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
|
||||
esac
|
||||
done
|
||||
LINGUAS=$NEW_LINGUAS
|
||||
AC_MSG_RESULT($LINGUAS)
|
||||
fi
|
||||
|
||||
dnl Construct list of names of catalog files to be constructed.
|
||||
if test -n "$LINGUAS"; then
|
||||
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl The reference to <locale.h> in the installed <libintl.h> file
|
||||
dnl must be resolved because we cannot expect the users of this
|
||||
dnl to define HAVE_LOCALE_H.
|
||||
if test $ac_cv_header_locale_h = yes; then
|
||||
INCLUDE_LOCALE_H="#include <locale.h>"
|
||||
else
|
||||
INCLUDE_LOCALE_H="\
|
||||
/* The system does not provide the header <locale.h>. Take care yourself. */"
|
||||
fi
|
||||
AC_SUBST(INCLUDE_LOCALE_H)
|
||||
|
||||
dnl Determine which catalog format we have (if any is needed)
|
||||
dnl For now we know about two different formats:
|
||||
dnl Linux libc-5 and the normal X/Open format
|
||||
test -d intl || mkdir intl
|
||||
if test "$CATOBJEXT" = ".cat"; then
|
||||
AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
|
||||
|
||||
dnl Transform the SED scripts while copying because some dumb SEDs
|
||||
dnl cannot handle comments.
|
||||
sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
|
||||
fi
|
||||
dnl po2tbl.sed is always needed.
|
||||
sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
|
||||
$srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
|
||||
|
||||
dnl In the intl/Makefile.in we have a special dependency which makes
|
||||
dnl only sense for gettext. We comment this out for non-gettext
|
||||
dnl packages.
|
||||
if test "$PACKAGE" = "gettext"; then
|
||||
GT_NO="#NO#"
|
||||
GT_YES=
|
||||
else
|
||||
GT_NO=
|
||||
GT_YES="#YES#"
|
||||
fi
|
||||
AC_SUBST(GT_NO)
|
||||
AC_SUBST(GT_YES)
|
||||
|
||||
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
||||
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
|
||||
dnl Try to locate is.
|
||||
MKINSTALLDIRS=
|
||||
if test -n "$ac_aux_dir"; then
|
||||
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
|
||||
fi
|
||||
if test -z "$MKINSTALLDIRS"; then
|
||||
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
||||
fi
|
||||
AC_SUBST(MKINSTALLDIRS)
|
||||
|
||||
dnl *** For now the libtool support in intl/Makefile is not for real.
|
||||
l=
|
||||
AC_SUBST(l)
|
||||
|
||||
dnl Generate list of files to be processed by xgettext which will
|
||||
dnl be included in po/Makefile.
|
||||
test -d po || mkdir po
|
||||
if test "x$srcdir" != "x."; then
|
||||
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
|
||||
posrcprefix="$srcdir/"
|
||||
else
|
||||
posrcprefix="../$srcdir/"
|
||||
fi
|
||||
else
|
||||
posrcprefix="../"
|
||||
fi
|
||||
rm -f po/POTFILES
|
||||
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
|
||||
< $srcdir/po/POTFILES.in > po/POTFILES
|
||||
])
|
||||
|
||||
# Search path for a program which passes the given test.
|
||||
# Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
|
||||
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
|
||||
AC_DEFUN(AM_PATH_PROG_WITH_TEST,
|
||||
[# Extract the first word of "$2", so it can be a program name with args.
|
||||
set dummy $2; ac_word=[$]2
|
||||
AC_MSG_CHECKING([for $ac_word])
|
||||
AC_CACHE_VAL(ac_cv_path_$1,
|
||||
[case "[$]$1" in
|
||||
/*)
|
||||
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in ifelse([$5], , $PATH, [$5]); do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
if [$3]; then
|
||||
ac_cv_path_$1="$ac_dir/$ac_word"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
dnl If no 4th arg is given, leave the cache variable unset,
|
||||
dnl so AC_PATH_PROGS will keep looking.
|
||||
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
|
||||
])dnl
|
||||
;;
|
||||
esac])dnl
|
||||
$1="$ac_cv_path_$1"
|
||||
if test -n "[$]$1"; then
|
||||
AC_MSG_RESULT([$]$1)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
AC_SUBST($1)dnl
|
||||
])
|
||||
|
||||
# Check whether LC_MESSAGES is available in <locale.h>.
|
||||
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_LC_MESSAGES,
|
||||
[if test $ac_cv_header_locale_h = yes; then
|
||||
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
|
||||
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
|
||||
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
|
||||
if test $am_cv_val_LC_MESSAGES = yes; then
|
||||
AC_DEFINE(HAVE_LC_MESSAGES)
|
||||
fi
|
||||
fi])
|
||||
|
17
autogen.sh
Executable file
17
autogen.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
PKG_NAME="Gnome Top Library"
|
||||
|
||||
(test -f $srcdir/configure.in \
|
||||
&& test -f $srcdir/copyright.txt \
|
||||
&& test -d $srcdir/sysdeps) || {
|
||||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||
echo " top-level gnome directory"
|
||||
exit 1
|
||||
}
|
||||
|
||||
. $srcdir/macros/autogen.sh
|
883
config.guess
vendored
Executable file
883
config.guess
vendored
Executable 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
954
config.sub
vendored
Executable 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
|
144
configure.in
Normal file
144
configure.in
Normal file
@@ -0,0 +1,144 @@
|
||||
dnl
|
||||
Mnl Configure script for the Gnome library
|
||||
dnl
|
||||
|
||||
AC_INIT(copyright.txt)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
AM_INIT_AUTOMAKE(libgtop, 0.01)
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
AM_ACLOCAL_INCLUDE(macros)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AC_CHECK_TOOL(CC,gcc)
|
||||
AC_CHECK_TOOL(CXX,g++)
|
||||
AC_CHECK_TOOL(RANLIB,ranlib)
|
||||
AC_CHECK_TOOL(LD,ld)
|
||||
AC_CHECK_TOOL(AS,as)
|
||||
AC_CHECK_TOOL(AR,ar)
|
||||
AC_CHECK_TOOL(NM,nm)
|
||||
|
||||
NM=`which $NM`
|
||||
export CC CXX RANLIB LD AS AR NM
|
||||
|
||||
AC_LC_SYSDEPS
|
||||
|
||||
GNOME_CHECK_GUILE
|
||||
|
||||
if test x$ac_cv_guile_found = xyes ; then
|
||||
guile_examples='third third_static third_linux'
|
||||
guile_subdirs='guile'
|
||||
else
|
||||
guile_examples=
|
||||
guile_subdirs=
|
||||
fi
|
||||
AC_SUBST(guile_examples)
|
||||
AC_SUBST(guile_subdirs)
|
||||
|
||||
AC_ISC_POSIX
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
AC_STDC_HEADERS
|
||||
AC_ARG_PROGRAM
|
||||
AM_PROG_LEX
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
export cross_compiling
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
GNOME_SUPPORT_CHECKS
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_PID_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_STRUCT_ST_RDEV
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
AC_TYPE_UID_T
|
||||
|
||||
dnl For SunOS
|
||||
AC_CHECK_TYPE(ssize_t, int)
|
||||
AC_CHECK_HEADERS(memory.h)
|
||||
AC_CHECK_HEADERS(string.h strings.h, break)
|
||||
AC_REPLACE_FUNCS(strerror)
|
||||
AC_CHECK_LIB(kvm, kvm_open)
|
||||
|
||||
dnl For DEC OSF1
|
||||
AC_CHECK_LIB(mach, vm_statistics)
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_FUNC_ALLOCA
|
||||
AC_FUNC_MMAP
|
||||
AC_TYPE_SIGNAL
|
||||
AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||
|
||||
ALL_LINGUAS=""
|
||||
AM_GNU_GETTEXT
|
||||
|
||||
AC_SUBST(CFLAGS)
|
||||
AC_SUBST(CPPFLAGS)
|
||||
AC_SUBST(LDFLAGS)
|
||||
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(GNOME_ENABLE_DEBUG),)
|
||||
|
||||
LIBSUPPORT=
|
||||
SUPPORTINCS=
|
||||
if test "$need_libgtop_support" = yes; then
|
||||
LIBSUPPORT='$(top_builddir)/support/libgtopsupport.la'
|
||||
SUPPORTINCS='-I$(top_srcdir)/support'
|
||||
fi
|
||||
|
||||
dnl These definitions are expanded in make.
|
||||
GTOP_LIBS='-L$(libdir) -lgtop_common -lgtop '
|
||||
GTOP_INCS='-I$(includedir) -I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/include'
|
||||
GTOP_BINDIR='$(bindir)'
|
||||
GTOP_SERVER='$(bindir)/gtop_server'
|
||||
|
||||
GTOP_INCS="$GTOP_INCS -I\$(top_srcdir)/intl -DGTOPLOCALEDIR=\\\"\$(datadir)/locale\\\""
|
||||
|
||||
if test "x$use_glibtop_machine_h" = "xyes" ; then
|
||||
GTOP_INCS="$GTOP_INCS -I\$(top_srcdir)/sysdeps/\$(sysdeps_dir)"
|
||||
fi
|
||||
|
||||
if test "x$ac_cv_guile_found" = "xyes" ; then
|
||||
GTOP_INCS="$GTOP_INCS $GUILE_INCS"
|
||||
GTOP_LIBS="$GTOP_LIBS $GUILE_LIBS"
|
||||
fi
|
||||
|
||||
AC_SUBST(GTOP_LIBS)
|
||||
AC_SUBST(GTOP_INCS)
|
||||
AC_SUBST(GTOP_BINDIR)
|
||||
AC_SUBST(GTOP_SERVER)
|
||||
|
||||
AC_SUBST(LIBSUPPORT)
|
||||
AC_SUBST(SUPPORTINCS)
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
po/Makefile.in
|
||||
intl/Makefile
|
||||
sysdeps/Makefile
|
||||
sysdeps/common/Makefile
|
||||
sysdeps/names/Makefile
|
||||
sysdeps/guile/Makefile
|
||||
sysdeps/guile/names/Makefile
|
||||
sysdeps/stub/Makefile
|
||||
sysdeps/sun4/Makefile
|
||||
sysdeps/osf1/Makefile
|
||||
sysdeps/linux/Makefile
|
||||
src/Makefile
|
||||
src/server/Makefile
|
||||
lib/Makefile
|
||||
examples/Makefile
|
||||
support/Makefile
|
||||
macros/Makefile],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
|
21
copyright.txt
Normal file
21
copyright.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
/* $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. */
|
||||
|
15
doc/.cvsignore
Normal file
15
doc/.cvsignore
Normal file
@@ -0,0 +1,15 @@
|
||||
*.shml
|
||||
.timestamp
|
||||
dbtohtml-1.shtml
|
||||
dbtohtml-2.shtml
|
||||
dbtohtml-3.shtml
|
||||
dbtohtml.shtml
|
||||
libgtop-1.shtml
|
||||
libgtop-2.shtml
|
||||
libgtop-3.shtml
|
||||
libgtop-4.shtml
|
||||
libgtop-5.shtml
|
||||
libgtop-INDEX.shtml
|
||||
libgtop.ced
|
||||
libgtop.fot
|
||||
libgtop.shtml
|
6
doc/Makefile
Normal file
6
doc/Makefile
Normal file
@@ -0,0 +1,6 @@
|
||||
all: .timestamp
|
||||
|
||||
.timestamp: libgtop.sgml
|
||||
jade -D /usr/lib/sgml/jade_dsl -d libgtop.dsl -t sgml \
|
||||
-V %no-make-index% libgtop.sgml > /dev/null
|
||||
touch .timestamp
|
3
doc/catalog
Normal file
3
doc/catalog
Normal 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/libgtop.dsl
Executable file
1627
doc/libgtop.dsl
Executable file
File diff suppressed because it is too large
Load Diff
1332
doc/libgtop.sgml
Normal file
1332
doc/libgtop.sgml
Normal file
File diff suppressed because it is too large
Load Diff
13
examples/.cvsignore
Normal file
13
examples/.cvsignore
Normal file
@@ -0,0 +1,13 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
first
|
||||
first_linux
|
||||
first_static
|
||||
second
|
||||
third
|
||||
third_linux
|
||||
third_static
|
||||
second_static
|
||||
second_linux
|
66
examples/Makefile.am
Normal file
66
examples/Makefile.am
Normal file
@@ -0,0 +1,66 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = @GTOP_INCS@
|
||||
|
||||
CFLAGS = -Wall -W @CFLAGS@
|
||||
|
||||
DEFS = @DEFS@
|
||||
|
||||
bin_PROGRAMS = first first_static first_linux \
|
||||
second second_static second_linux \
|
||||
@guile_examples@
|
||||
|
||||
EXTRA_PROGRAMS = third third_static third_linux
|
||||
|
||||
first_SOURCES = first.c
|
||||
first_LDADD = $(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/lib/libgtop.la \
|
||||
@INTLLIBS@ @LIBSUPPORT@
|
||||
|
||||
first_static_SOURCES = $(first_SOURCES)
|
||||
first_static_LDADD = $(first_LDADD)
|
||||
first_static_LDFLAGS = -static
|
||||
|
||||
first_linux_SOURCES = $(first_SOURCES)
|
||||
first_linux_LDADD = $(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
|
||||
@INTLLIBS@ @LIBSUPPORT@
|
||||
first_linux_LDFLAGS = -static
|
||||
|
||||
second_SOURCES = second.c
|
||||
second_LDADD = $(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/lib/libgtop.la \
|
||||
@INTLLIBS@ @LIBSUPPORT@
|
||||
|
||||
second_static_SOURCES = $(second_SOURCES)
|
||||
second_static_LDADD = $(second_LDADD)
|
||||
second_static_LDFLAGS = -static
|
||||
|
||||
second_linux_SOURCES = $(second_SOURCES)
|
||||
second_linux_LDADD = $(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
|
||||
@INTLLIBS@ @LIBSUPPORT@
|
||||
second_linux_LDFLAGS = -static
|
||||
|
||||
third_SOURCES = third.c
|
||||
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile.la \
|
||||
$(top_builddir)/sysdeps/guile/names/libgtop_guile_names.la \
|
||||
$(top_builddir)/sysdeps/names/libgtop_names.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/lib/libgtop.la \
|
||||
@GUILE_LIBS@ @INTLLIBS@ @LIBSUPPORT@
|
||||
|
||||
third_static_SOURCES = $(third_SOURCES)
|
||||
third_static_LDADD = $(third_LDADD)
|
||||
third_static_LDFLAGS = -static
|
||||
|
||||
third_linux_SOURCES = $(third_SOURCES)
|
||||
third_linux_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile.la \
|
||||
$(top_builddir)/sysdeps/guile/names/libgtop_guile_names.la \
|
||||
$(top_builddir)/sysdeps/names/libgtop_names.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
|
||||
@GUILE_LIBS@ @INTLLIBS@ @LIBSUPPORT@
|
||||
third_linux_LDFLAGS = -static
|
326
examples/first.c
Normal file
326
examples/first.c
Normal file
@@ -0,0 +1,326 @@
|
||||
/* $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 <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned i, *ptr;
|
||||
pid_t pid, ppid;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
|
||||
glibtop_init__r (&glibtop_global_server);
|
||||
|
||||
glibtop_get_cpu (&data.cpu);
|
||||
|
||||
fprintf (stderr, "CPU (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
data.cpu.flags, data.cpu.total, data.cpu.user, data.cpu.nice,
|
||||
data.cpu.sys, data.cpu.idle, data.cpu.frequency);
|
||||
|
||||
glibtop_get_mem (&data.mem);
|
||||
|
||||
fprintf (stderr, "Memory (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
data.mem.flags, data.mem.total, data.mem.used, data.mem.free,
|
||||
data.mem.shared, data.mem.buffer, data.mem.cached,
|
||||
data.mem.user);
|
||||
|
||||
glibtop_get_swap (&data.swap);
|
||||
|
||||
fprintf (stderr, "Swap (0x%08lx): %lu, %lu, %lu\n", data.swap.flags,
|
||||
data.swap.total, data.swap.used, data.swap.free);
|
||||
|
||||
glibtop_get_uptime (&data.uptime);
|
||||
|
||||
fprintf (stderr, "Uptime (0x%08lx): %f, %f\n", data.uptime.flags,
|
||||
data.uptime.uptime, data.uptime.idletime);
|
||||
|
||||
glibtop_get_loadavg (&data.loadavg);
|
||||
|
||||
fprintf (stderr, "Loadavg (0x%08lx): %f, %f, %f\n", data.loadavg.flags,
|
||||
data.loadavg.loadavg [0], data.loadavg.loadavg [1],
|
||||
data.loadavg.loadavg [2]);
|
||||
|
||||
glibtop_get_shm_limits (&data.shm_limits);
|
||||
|
||||
fprintf (stderr, "Shm Limits (0x%08lx): %ld, %ld, %ld, %ld, %ld\n",
|
||||
data.shm_limits.flags, data.shm_limits.shmmax,
|
||||
data.shm_limits.shmmin, data.shm_limits.shmmni,
|
||||
data.shm_limits.shmseg, data.shm_limits.shmall);
|
||||
|
||||
glibtop_get_msg_limits (&data.msg_limits);
|
||||
|
||||
fprintf (stderr, "Msg Limits (0x%08lx): %ld, %ld, %ld, %ld, %ld, %ld, %ld\n",
|
||||
data.msg_limits.flags, data.msg_limits.msgpool,
|
||||
data.msg_limits.msgmap, data.msg_limits.msgmax,
|
||||
data.msg_limits.msgmnb, data.msg_limits.msgmni,
|
||||
data.msg_limits.msgssz, data.msg_limits.msgtql);
|
||||
|
||||
glibtop_get_sem_limits (&data.sem_limits);
|
||||
|
||||
fprintf (stderr, "Sem Limits (0x%08lx): "
|
||||
"%ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld\n",
|
||||
data.sem_limits.flags, data.sem_limits.semmap,
|
||||
data.sem_limits.semmni, data.sem_limits.semmns,
|
||||
data.sem_limits.semmnu, data.sem_limits.semmsl,
|
||||
data.sem_limits.semopm, data.sem_limits.semume,
|
||||
data.sem_limits.semusz, data.sem_limits.semvmx,
|
||||
data.sem_limits.semaem);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
glibtop_get_sysdeps (&sysdeps);
|
||||
|
||||
fprintf (stderr, "Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
sysdeps.flags, sysdeps.cpu, sysdeps.mem, sysdeps.swap,
|
||||
sysdeps.uptime, sysdeps.loadavg, sysdeps.shm_limits,
|
||||
sysdeps.msg_limits, sysdeps.sem_limits,
|
||||
sysdeps.proclist, sysdeps.proc_state,
|
||||
sysdeps.proc_uid, sysdeps.proc_mem,
|
||||
sysdeps.proc_time, sysdeps.proc_signal,
|
||||
sysdeps.proc_kernel, sysdeps.proc_segment);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
ptr = glibtop_get_proclist (&data.proclist);
|
||||
|
||||
fprintf (stderr, "Proclist (0x%08lx): %ld, %ld, %ld\n",
|
||||
data.proclist.flags, data.proclist.number,
|
||||
data.proclist.size, data.proclist.total);
|
||||
|
||||
if (ptr) {
|
||||
fprintf (stderr, "\nProcess: ");
|
||||
for (i = 0; i < data.proclist.number; i++)
|
||||
fprintf (stderr, "%s%u", i ? ", " : "", ptr [i]);
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
glibtop_free (ptr);
|
||||
|
||||
pid = getpid ();
|
||||
ppid = getppid ();
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
glibtop_get_proc_state (&data.proc_state, pid);
|
||||
|
||||
fprintf (stderr, "Proc_State PID %5u (0x%08lx): '%s', %c, %u, %u\n",
|
||||
pid, data.proc_state.flags, data.proc_state.cmd,
|
||||
data.proc_state.state, data.proc_state.uid,
|
||||
data.proc_state.gid);
|
||||
|
||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Uid PID %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
pid, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
|
||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Mem PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", pid, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Time PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", pid, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Signal PID %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", pid, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel PID %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", pid,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Segment PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", pid, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
glibtop_get_proc_state (&data.proc_state, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_State PPID %5u (0x%08lx): '%s', %c, %u, %u\n",
|
||||
ppid, data.proc_state.flags, data.proc_state.cmd,
|
||||
data.proc_state.state, data.proc_state.uid,
|
||||
data.proc_state.gid);
|
||||
|
||||
glibtop_get_proc_uid (&data.proc_uid, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Uid PPID %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
ppid, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
|
||||
glibtop_get_proc_mem (&data.proc_mem, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Mem PPID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", ppid, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Time PPID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", ppid, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
glibtop_get_proc_signal (&data.proc_signal, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Signal PPID %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", ppid, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel PPID %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", ppid,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
glibtop_get_proc_segment (&data.proc_segment, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Segment PPID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", ppid, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
glibtop_get_proc_state (&data.proc_state, 1);
|
||||
|
||||
fprintf (stderr, "Proc_State INIT %5u (0x%08lx): '%s', %c, %u, %u\n",
|
||||
1, data.proc_state.flags, data.proc_state.cmd,
|
||||
data.proc_state.state, data.proc_state.uid,
|
||||
data.proc_state.gid);
|
||||
|
||||
glibtop_get_proc_uid (&data.proc_uid, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Uid INIT %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
1, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
|
||||
glibtop_get_proc_mem (&data.proc_mem, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Mem INIT %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", 1, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Time INIT %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", 1, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
glibtop_get_proc_signal (&data.proc_signal, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Signal INIT %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", 1, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel INIT %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
glibtop_get_proc_segment (&data.proc_segment, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Segment INIT %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", 1, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
|
||||
exit (0);
|
||||
}
|
140
examples/second.c
Normal file
140
examples/second.c
Normal file
@@ -0,0 +1,140 @@
|
||||
/* $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 <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
glibtop_proclist proclist;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned *ptr, pid, i;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
|
||||
glibtop_init__r (&glibtop_global_server);
|
||||
|
||||
glibtop_get_sysdeps (&sysdeps);
|
||||
|
||||
fprintf (stderr, "Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
sysdeps.flags, sysdeps.cpu, sysdeps.mem, sysdeps.swap,
|
||||
sysdeps.uptime, sysdeps.loadavg, sysdeps.shm_limits,
|
||||
sysdeps.msg_limits, sysdeps.sem_limits,
|
||||
sysdeps.proclist, sysdeps.proc_state,
|
||||
sysdeps.proc_uid, sysdeps.proc_mem,
|
||||
sysdeps.proc_time, sysdeps.proc_signal,
|
||||
sysdeps.proc_kernel, sysdeps.proc_segment);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
ptr = glibtop_get_proclist (&proclist);
|
||||
|
||||
fprintf (stderr, "Proclist (0x%08lx): %ld, %ld, %ld\n",
|
||||
proclist.flags, proclist.number, proclist.size,
|
||||
proclist.total);
|
||||
|
||||
if (!ptr) exit (1);
|
||||
|
||||
for (i = 0; i < proclist.number; i++) {
|
||||
|
||||
pid = ptr [i];
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
glibtop_get_proc_state (&data.proc_state, pid);
|
||||
|
||||
fprintf (stderr, "Proc_State PID %5u (0x%08lx): "
|
||||
"'%s', %c, %u, %u\n", pid, data.proc_state.flags,
|
||||
data.proc_state.cmd, data.proc_state.state,
|
||||
data.proc_state.uid, data.proc_state.gid);
|
||||
|
||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Uid PID %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
pid, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
|
||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Mem PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", pid, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Time PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", pid, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Signal PID %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", pid, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel PID %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", pid,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Segment PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", pid, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
glibtop_free (ptr);
|
||||
|
||||
exit (0);
|
||||
}
|
51
examples/third.c
Normal file
51
examples/third.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/* $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 <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
void main_prog(int argc, char *argv[]);
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
|
||||
gh_enter (argc, argv, main_prog);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
void
|
||||
main_prog (int argc, char *argv[])
|
||||
{
|
||||
glibtop_boot_guile ();
|
||||
glibtop_boot_guile_names ();
|
||||
|
||||
gh_repl (argc, argv);
|
||||
}
|
10
examples/third.scm
Normal file
10
examples/third.scm
Normal file
@@ -0,0 +1,10 @@
|
||||
(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)
|
72
glibtop.h
Normal file
72
glibtop.h
Normal file
@@ -0,0 +1,72 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_H__
|
||||
#define __GLIBTOP_H__
|
||||
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||
#include <glibtop_machine.h>
|
||||
#endif
|
||||
|
||||
typedef struct _glibtop glibtop;
|
||||
|
||||
struct _glibtop
|
||||
{
|
||||
int fd; /* Server file descriptor */
|
||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||
glibtop_machine machine; /* Machine dependent data */
|
||||
#endif
|
||||
int input [2]; /* Pipe client <- server */
|
||||
int output [2]; /* Pipe client -> server */
|
||||
unsigned long os_version_code; /* Version code of the operating system */
|
||||
const char *name; /* Program name for error messages */
|
||||
pid_t pid; /* PID of the server */
|
||||
};
|
||||
|
||||
extern glibtop *glibtop_global_server;
|
||||
|
||||
#define glibtop_init() glibtop_init__r(&glibtop_global_server);
|
||||
|
||||
extern glibtop *glibtop_init__r __P((glibtop **));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern void glibtop_boot_guile __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern void glibtop_boot_guile_names __P((void));
|
||||
|
||||
#ifndef GLIBTOP_NAMES
|
||||
#define GLIBTOP_NAMES
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
17
gtopConf.sh.in
Normal file
17
gtopConf.sh.in
Normal file
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Configuration of the libgtop package
|
||||
#
|
||||
|
||||
GTOP_LIBDIR="@GTOP_LIBDIR@"
|
||||
GTOP_INCLUDEDIR="@GTOP_INCLUDEDIR@"
|
||||
|
||||
GTOP_LIBS="@GTOP_LIBS@"
|
||||
GTOP_INCS="@GTOP_INCS@"
|
||||
|
||||
GTOP_BINDIR="@GTOP_BINDIR@"
|
||||
GTOP_SERVER="@GTOP_SERVER@"
|
||||
|
||||
GTOP_SYSDEPS_DIR="@GTOP_SYSDEPS_DIR@"
|
||||
GTOP_NEED_SERVER="@GTOP_NEED_SERVER@"
|
||||
GTOP_USE_MACHINE_H="@GTOP_USE_MACHINE_H@"
|
||||
|
440
guile/header.scm
Normal file
440
guile/header.scm
Normal 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)
|
||||
)
|
||||
|
195
guile/make-header.scm
Normal file
195
guile/make-header.scm
Normal 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)
|
||||
)
|
||||
|
33
include/glibtop/close.h
Normal file
33
include/glibtop/close.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_CLOSE_H__
|
||||
#define __GLIBTOP_CLOSE_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern void glibtop_close __P((glibtop *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
67
include/glibtop/command.h
Normal file
67
include/glibtop/command.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_COMMAND_H__
|
||||
#define __GLIBTOP_COMMAND_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_CMND_QUIT 0
|
||||
#define GLIBTOP_CMND_SYSDEPS 1
|
||||
#define GLIBTOP_CMND_CPU 2
|
||||
#define GLIBTOP_CMND_MEM 3
|
||||
#define GLIBTOP_CMND_SWAP 4
|
||||
#define GLIBTOP_CMND_UPTIME 5
|
||||
#define GLIBTOP_CMND_LOADAVG 6
|
||||
#define GLIBTOP_CMND_SHM_LIMITS 7
|
||||
#define GLIBTOP_CMND_MSG_LIMITS 8
|
||||
#define GLIBTOP_CMND_SEM_LIMITS 9
|
||||
#define GLIBTOP_CMND_PROCLIST 10
|
||||
|
||||
#define GLIBTOP_CMND_PROC_STATE 11
|
||||
#define GLIBTOP_CMND_PROC_UID 12
|
||||
#define GLIBTOP_CMND_PROC_MEM 13
|
||||
#define GLIBTOP_CMND_PROC_TIME 14
|
||||
#define GLIBTOP_CMND_PROC_SIGNAL 15
|
||||
#define GLIBTOP_CMND_PROC_KERNEL 16
|
||||
#define GLIBTOP_CMND_PROC_SEGMENT 17
|
||||
|
||||
#define GLIBTOP_MAX_CMND 18
|
||||
|
||||
typedef struct _glibtop_command glibtop_command;
|
||||
|
||||
struct _glibtop_command
|
||||
{
|
||||
glibtop server;
|
||||
unsigned command;
|
||||
size_t size;
|
||||
};
|
||||
|
||||
#define glibtop_call(p1, p2, p3, p4) glibtop_call__r(glibtop_global_server, p1, p2, p3, p4)
|
||||
|
||||
extern void *glibtop_call__r __P((glibtop *, unsigned, size_t, void *, size_t, void *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
88
include/glibtop/cpu.h
Normal file
88
include/glibtop/cpu.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_CPU_H__
|
||||
#define __GLIBTOP_CPU_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_CPU_TOTAL 0
|
||||
#define GLIBTOP_CPU_USER 1
|
||||
#define GLIBTOP_CPU_NICE 2
|
||||
#define GLIBTOP_CPU_SYS 3
|
||||
#define GLIBTOP_CPU_IDLE 4
|
||||
#define GLIBTOP_CPU_FREQUENCY 5
|
||||
|
||||
#define GLIBTOP_MAX_CPU 6
|
||||
|
||||
typedef struct _glibtop_cpu glibtop_cpu;
|
||||
|
||||
struct _glibtop_cpu
|
||||
{
|
||||
unsigned long 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 */
|
||||
};
|
||||
|
||||
#define glibtop_get_cpu(cpu) glibtop_get_cpu__r(glibtop_global_server, cpu)
|
||||
|
||||
extern void glibtop_get_cpu__r __P((glibtop *, glibtop_cpu *));
|
||||
|
||||
#ifdef HAVE_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
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_cpu [];
|
||||
extern const char *glibtop_types_cpu [];
|
||||
extern const char *glibtop_labels_cpu [];
|
||||
extern const char *glibtop_descriptions_cpu [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
35
include/glibtop/error.h
Normal file
35
include/glibtop/error.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_ERROR_H__
|
||||
#define __GLIBTOP_ERROR_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define glibtop_error(p1, args...) glibtop_error__r(glibtop_global_server , p1 , ## args)
|
||||
|
||||
extern void glibtop_error__r __P((glibtop *, char *, ...));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
93
include/glibtop/global.h
Normal file
93
include/glibtop/global.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_GLOBAL_H__
|
||||
#define __GLIBTOP_GLOBAL_H__
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* __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_DECLS
|
||||
#undef __END_DECLS
|
||||
#ifdef __cplusplus
|
||||
# define __BEGIN_DECLS extern "C" {
|
||||
# define __END_DECLS }
|
||||
#else
|
||||
# define __BEGIN_DECLS /* empty */
|
||||
# define __END_DECLS /* empty */
|
||||
#endif
|
||||
|
||||
/* __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. */
|
||||
|
||||
#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
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
#include <guile/gh.h>
|
||||
#endif
|
||||
|
||||
#if (defined HAVE_LIBINTL_H) || (defined HAVE_GETTEXT)
|
||||
#include <libintl.h>
|
||||
#else
|
||||
#include <libgettext.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifdef HAVE_MEMORY_H
|
||||
#include <memory.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#ifndef _
|
||||
#define _(String) gettext (String)
|
||||
#define N_(String) (String)
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_STRERROR
|
||||
extern char *strerror __P((int));
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
78
include/glibtop/loadavg.h
Normal file
78
include/glibtop/loadavg.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_LOADAVG_H__
|
||||
#define __GLIBTOP_LOADAVG_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_LOADAVG_LOADAVG 0
|
||||
|
||||
#define GLIBTOP_MAX_LOADAVG 1
|
||||
|
||||
typedef struct _glibtop_loadavg glibtop_loadavg;
|
||||
|
||||
struct _glibtop_loadavg
|
||||
{
|
||||
unsigned long flags;
|
||||
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
|
||||
};
|
||||
|
||||
#define glibtop_get_loadavg(loadavg) glibtop_get_loadavg__r(glibtop_global_server, loadavg)
|
||||
|
||||
extern void glibtop_get_loadavg__r __P((glibtop *, glibtop_loadavg *));
|
||||
|
||||
#ifdef HAVE_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
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_loadavg [];
|
||||
extern const char *glibtop_types_loadavg [];
|
||||
extern const char *glibtop_labels_loadavg [];
|
||||
extern const char *glibtop_descriptions_loadavg [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
90
include/glibtop/mem.h
Normal file
90
include/glibtop/mem.h
Normal file
@@ -0,0 +1,90 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_MEM_H__
|
||||
#define __GLIBTOP_MEM_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_MEM_TOTAL 0
|
||||
#define GLIBTOP_MEM_USED 1
|
||||
#define GLIBTOP_MEM_FREE 2
|
||||
#define GLIBTOP_MEM_SHARED 3
|
||||
#define GLIBTOP_MEM_BUFFER 4
|
||||
#define GLIBTOP_MEM_CACHED 5
|
||||
#define GLIBTOP_MEM_USER 6
|
||||
|
||||
#define GLIBTOP_MAX_MEM 7
|
||||
|
||||
typedef struct _glibtop_mem glibtop_mem;
|
||||
|
||||
struct _glibtop_mem
|
||||
{
|
||||
unsigned long flags,
|
||||
total, /* GLIBTOP_MEM_TOTAL */
|
||||
used, /* GLIBTOP_MEM_USED */
|
||||
free, /* GLIBTOP_MEM_FREE */
|
||||
shared, /* GLIBTOP_MEM_SHARED */
|
||||
buffer, /* GLIBTOP_MEM_BUFFER */
|
||||
cached, /* GLIBTOP_MEM_CACHED */
|
||||
user; /* GLIBTOP_MEM_USER */
|
||||
};
|
||||
|
||||
#define glibtop_get_mem(mem) glibtop_get_mem__r(glibtop_global_server, mem)
|
||||
|
||||
extern void glibtop_get_mem__r __P((glibtop *, glibtop_mem *));
|
||||
|
||||
#ifdef HAVE_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
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_mem [];
|
||||
extern const char *glibtop_types_mem [];
|
||||
extern const char *glibtop_labels_mem [];
|
||||
extern const char *glibtop_descriptions_mem [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
90
include/glibtop/msg_limits.h
Normal file
90
include/glibtop/msg_limits.h
Normal file
@@ -0,0 +1,90 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_MSG_LIMITS_H__
|
||||
#define __GLIBTOP_MSG_LIMITS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_IPC_MSGPOOL 0
|
||||
#define GLIBTOP_IPC_MSGMAP 1
|
||||
#define GLIBTOP_IPC_MSGMAX 2
|
||||
#define GLIBTOP_IPC_MSGMNB 3
|
||||
#define GLIBTOP_IPC_MSGMNI 4
|
||||
#define GLIBTOP_IPC_MSGSSZ 5
|
||||
#define GLIBTOP_IPC_MSGTQL 6
|
||||
|
||||
#define GLIBTOP_MAX_MSG_LIMITS 7
|
||||
|
||||
typedef struct _glibtop_msg_limits glibtop_msg_limits;
|
||||
|
||||
struct _glibtop_msg_limits
|
||||
{
|
||||
unsigned long flags,
|
||||
msgpool, /* GLIBTOP_IPC_MSGPOOL */
|
||||
msgmap, /* GLIBTOP_IPC_MSGMAP */
|
||||
msgmax, /* GLIBTOP_IPC_MSGMAX */
|
||||
msgmnb, /* GLIBTOP_IPC_MSGMNB */
|
||||
msgmni, /* GLIBTOP_IPC_MSGMNI */
|
||||
msgssz, /* GLIBTOP_IPC_MSGSSZ */
|
||||
msgtql; /* GLIBTOP_IPC_MSGTQL */
|
||||
};
|
||||
|
||||
#define glibtop_get_msg_limits(msg) glibtop_get_msg_limits__r(glibtop_global_server, msg)
|
||||
|
||||
extern void glibtop_get_msg_limits__r __P((glibtop *, glibtop_msg_limits *));
|
||||
|
||||
#ifdef HAVE_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
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_msg_limits [];
|
||||
extern const char *glibtop_types_msg_limits [];
|
||||
extern const char *glibtop_labels_msg_limits [];
|
||||
extern const char *glibtop_descriptions_msg_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
33
include/glibtop/open.h
Normal file
33
include/glibtop/open.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/* 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. */
|
||||
|
||||
#ifndef __GLIBTOP_OPEN_H__
|
||||
#define __GLIBTOP_OPEN_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/read.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern void glibtop_open __P((glibtop *, const char *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
33
include/glibtop/output.h
Normal file
33
include/glibtop/output.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_OUTPUT_H__
|
||||
#define __GLIBTOP_OUTPUT_H__
|
||||
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern void glibtop_output __P((size_t, const void *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
99
include/glibtop/prockernel.h
Normal file
99
include/glibtop/prockernel.h
Normal file
@@ -0,0 +1,99 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCKERNEL_H__
|
||||
#define __GLIBTOP_PROCKERNEL_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0
|
||||
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1
|
||||
#define GLIBTOP_PROC_KERNEL_MAJ_FLT 2
|
||||
#define GLIBTOP_PROC_KERNEL_CMIN_FLT 3
|
||||
#define GLIBTOP_PROC_KERNEL_CMAJ_FLT 4
|
||||
#define GLIBTOP_PROC_KERNEL_KSTK_ESP 5
|
||||
#define GLIBTOP_PROC_KERNEL_KSTK_EIP 6
|
||||
#define GLIBTOP_PROC_KERNEL_WCHAN 7
|
||||
|
||||
#define GLIBTOP_MAX_PROC_KERNEL 8
|
||||
|
||||
typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
||||
|
||||
/* Kernel stuff */
|
||||
|
||||
struct _glibtop_proc_kernel
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long k_flags, /* kernel flags for the process */
|
||||
min_flt, /* number of minor page faults since
|
||||
* process start */
|
||||
maj_flt, /* number of major page faults since
|
||||
* process start */
|
||||
cmin_flt, /* cumulative min_flt of process and
|
||||
* child processes */
|
||||
cmaj_flt, /* cumulative maj_flt of process and
|
||||
* child processes */
|
||||
kstk_esp, /* kernel stack pointer */
|
||||
kstk_eip, /* kernel stack pointer */
|
||||
wchan; /* address of kernel wait channel
|
||||
* proc is sleeping in */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_kernel(p1, p2) glibtop_get_proc_kernel__r(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_get_proc_kernel__r __P((glibtop *, glibtop_proc_kernel *, pid_t));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_kernel __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_types_proc_kernel __P((void));
|
||||
extern SCM glibtop_guile_names_proc_kernel __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_kernel __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_kernel __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_types_proc_kernel [];
|
||||
extern const char *glibtop_names_proc_kernel [];
|
||||
extern const char *glibtop_labels_proc_kernel [];
|
||||
extern const char *glibtop_descriptions_proc_kernel [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
82
include/glibtop/proclist.h
Normal file
82
include/glibtop/proclist.h
Normal file
@@ -0,0 +1,82 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCLIST_H__
|
||||
#define __GLIBTOP_PROCLIST_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROCLIST_NUMBER 0
|
||||
#define GLIBTOP_PROCLIST_TOTAL 1
|
||||
#define GLIBTOP_PROCLIST_SIZE 2
|
||||
|
||||
#define GLIBTOP_MAX_PROCLIST 3
|
||||
|
||||
typedef struct _glibtop_proclist glibtop_proclist;
|
||||
|
||||
struct _glibtop_proclist
|
||||
{
|
||||
unsigned long flags,
|
||||
number, /* GLIBTOP_PROCLIST_NUMBER */
|
||||
total, /* GLIBTOP_PROCLIST_TOTAL */
|
||||
size; /* GLIBTOP_PROCLIST_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proclist(proclist) glibtop_get_proclist__r(glibtop_global_server, proclist)
|
||||
|
||||
extern unsigned *glibtop_get_proclist__r __P((glibtop *, glibtop_proclist *));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proclist __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_proclist __P((void));
|
||||
extern SCM glibtop_guile_types_proclist __P((void));
|
||||
extern SCM glibtop_guile_labels_proclist __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proclist __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proclist [];
|
||||
extern const char *glibtop_types_proclist [];
|
||||
extern const char *glibtop_labels_proclist [];
|
||||
extern const char *glibtop_descriptions_proclist [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
92
include/glibtop/procmem.h
Normal file
92
include/glibtop/procmem.h
Normal file
@@ -0,0 +1,92 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCMEM_H__
|
||||
#define __GLIBTOP_PROCMEM_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_MEM_SIZE 0
|
||||
#define GLIBTOP_PROC_MEM_VSIZE 1
|
||||
#define GLIBTOP_PROC_MEM_RESIDENT 2
|
||||
#define GLIBTOP_PROC_MEM_SHARE 3
|
||||
#define GLIBTOP_PROC_MEM_RSS 4
|
||||
#define GLIBTOP_PROC_MEM_RSS_RLIM 5
|
||||
|
||||
#define GLIBTOP_MAX_PROC_MEM 6
|
||||
|
||||
typedef struct _glibtop_proc_mem glibtop_proc_mem;
|
||||
|
||||
/* Memory section */
|
||||
|
||||
struct _glibtop_proc_mem
|
||||
{
|
||||
unsigned long flags;
|
||||
long size, /* total # of pages of memory */
|
||||
vsize, /* number of pages of virtual memory ... */
|
||||
resident, /* number of resident set
|
||||
* (non-swapped) pages (4k) */
|
||||
share, /* number of pages of shared (mmap'd) memory */
|
||||
rss, /* resident set size */
|
||||
rss_rlim; /* current limit (in bytes) of the rss
|
||||
* of the process; usually 2,147,483,647 */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_mem(p1, p2) glibtop_get_proc_mem__r(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_get_proc_mem__r __P((glibtop *, glibtop_proc_mem *, pid_t));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_mem __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_types_proc_mem __P((void));
|
||||
extern SCM glibtop_guile_names_proc_mem __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_mem __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_mem __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proc_mem [];
|
||||
extern const char *glibtop_types_proc_mem [];
|
||||
extern const char *glibtop_labels_proc_mem [];
|
||||
extern const char *glibtop_descriptions_proc_mem [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
93
include/glibtop/procsegment.h
Normal file
93
include/glibtop/procsegment.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCSEGMENT_H__
|
||||
#define __GLIBTOP_PROCSEGMENT_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_SEGMENT_TRS 0
|
||||
#define GLIBTOP_PROC_SEGMENT_LRS 1
|
||||
#define GLIBTOP_PROC_SEGMENT_DRS 2
|
||||
#define GLIBTOP_PROC_SEGMENT_DT 3
|
||||
#define GLIBTOP_PROC_SEGMENT_START_CODE 4
|
||||
#define GLIBTOP_PROC_SEGMENT_END_CODE 5
|
||||
#define GLIBTOP_PROC_SEGMENT_START_STACK 6
|
||||
|
||||
#define GLIBTOP_MAX_PROC_SEGMENT 7
|
||||
|
||||
typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
||||
|
||||
/* Segment stuff */
|
||||
|
||||
struct _glibtop_proc_segment
|
||||
{
|
||||
unsigned long flags;
|
||||
long trs, /* text resident set size */
|
||||
lrs, /* shared-lib resident set size */
|
||||
drs, /* data resident set size */
|
||||
dt; /* dirty pages */
|
||||
unsigned long start_code,
|
||||
/* address of beginning of code segment */
|
||||
end_code, /* address of end of code segment */
|
||||
start_stack; /* address of the bottom of stack segment */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_segment(p1, p2) glibtop_get_proc_segment__r(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_get_proc_segment__r __P((glibtop *, glibtop_proc_segment *, pid_t));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_segment __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_proc_segment __P((void));
|
||||
extern SCM glibtop_guile_types_proc_segment __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_segment __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_segment __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_types_proc_segment [];
|
||||
extern const char *glibtop_names_proc_segment [];
|
||||
extern const char *glibtop_labels_proc_segment [];
|
||||
extern const char *glibtop_descriptions_proc_segment [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
86
include/glibtop/procsignal.h
Normal file
86
include/glibtop/procsignal.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCSIGNAL_H__
|
||||
#define __GLIBTOP_PROCSIGNAL_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0
|
||||
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1
|
||||
#define GLIBTOP_PROC_SIGNAL_SIGIGNORE 2
|
||||
#define GLIBTOP_PROC_SIGNAL_SIGCATCH 3
|
||||
|
||||
#define GLIBTOP_MAX_PROC_SIGNAL 4
|
||||
|
||||
typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
||||
|
||||
/* Signals section */
|
||||
|
||||
struct _glibtop_proc_signal
|
||||
{
|
||||
unsigned long flags;
|
||||
int signal, /* mask of pending signals */
|
||||
blocked, /* mask of blocked signals */
|
||||
sigignore, /* mask of ignored signals */
|
||||
sigcatch; /* mask of caught signals */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_signal(p1, p2) glibtop_get_proc_signal__r(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_get_proc_signal__r __P((glibtop *, glibtop_proc_signal *, pid_t));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_signal __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_proc_signal __P((void));
|
||||
extern SCM glibtop_guile_types_proc_signal __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_signal __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_signal __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proc_signal [];
|
||||
extern const char *glibtop_types_proc_signal [];
|
||||
extern const char *glibtop_labels_proc_signal [];
|
||||
extern const char *glibtop_descriptions_proc_signal [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
93
include/glibtop/procstate.h
Normal file
93
include/glibtop/procstate.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCSTATE_H__
|
||||
#define __GLIBTOP_PROCSTATE_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_STATE_CMD 0
|
||||
#define GLIBTOP_PROC_STATE_STATE 1
|
||||
#define GLIBTOP_PROC_STATE_UID 2
|
||||
#define GLIBTOP_PROC_STATE_GID 3
|
||||
|
||||
#define GLIBTOP_MAX_PROC_STATE 4
|
||||
|
||||
typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||
|
||||
/* Name and status */
|
||||
|
||||
struct _glibtop_proc_state
|
||||
{
|
||||
unsigned long flags;
|
||||
char cmd[40], /* basename of executable file in
|
||||
* call to exec(2) */
|
||||
state; /* single-char code for process state
|
||||
* (S=sleeping) */
|
||||
/* NOTE: when porting the library, TRY HARD to implement the
|
||||
* following two fields. */
|
||||
/* IMPORTANT NOTICE: For security reasons, it is extremely important
|
||||
* only to set the flags value for those two
|
||||
* fields if their values are corrent ! */
|
||||
int uid, /* UID of process */
|
||||
gid; /* GID of process */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state__r(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_get_proc_state__r __P((glibtop *, glibtop_proc_state *, pid_t));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_state __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_proc_state __P((void));
|
||||
extern SCM glibtop_guile_types_proc_state __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_state __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_state __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proc_state [];
|
||||
extern const char *glibtop_types_proc_state [];
|
||||
extern const char *glibtop_labels_proc_state [];
|
||||
extern const char *glibtop_descriptions_proc_state [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
98
include/glibtop/proctime.h
Normal file
98
include/glibtop/proctime.h
Normal file
@@ -0,0 +1,98 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCTIME_H__
|
||||
#define __GLIBTOP_PROCTIME_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_TIME_START_TIME 0
|
||||
#define GLIBTOP_PROC_TIME_UTIME 1
|
||||
#define GLIBTOP_PROC_TIME_STIME 2
|
||||
#define GLIBTOP_PROC_TIME_CUTIME 3
|
||||
#define GLIBTOP_PROC_TIME_CSTIME 4
|
||||
#define GLIBTOP_PROC_TIME_TIMEOUT 5
|
||||
#define GLIBTOP_PROC_TIME_IT_REAL_VALUE 6
|
||||
|
||||
#define GLIBTOP_MAX_PROC_TIME 7
|
||||
|
||||
typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
/* Time section */
|
||||
|
||||
struct _glibtop_proc_time
|
||||
{
|
||||
unsigned long flags;
|
||||
long start_time, /* start time of process --
|
||||
* seconds since 1-1-70 */
|
||||
utime, /* user-mode CPU time accumulated by process */
|
||||
stime, /* kernel-mode CPU time accumulated by process */
|
||||
cutime, /* cumulative utime of process and
|
||||
* reaped children */
|
||||
cstime, /* cumulative stime of process and
|
||||
* reaped children */
|
||||
timeout, /* The time (in jiffies) of the process's
|
||||
* next timeout */
|
||||
it_real_value; /* The time (in jiffies) before the
|
||||
* next SIGALRM is sent to the process
|
||||
* due to an interval timer. */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_time(p1, p2) glibtop_get_proc_time__r(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_get_proc_time__r __P((glibtop *, glibtop_proc_time *, pid_t));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_time __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_proc_time __P((void));
|
||||
extern SCM glibtop_guile_types_proc_time __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_time __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_time __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proc_time [];
|
||||
extern const char *glibtop_types_proc_time [];
|
||||
extern const char *glibtop_labels_proc_time [];
|
||||
extern const char *glibtop_descriptions_proc_time [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
102
include/glibtop/procuid.h
Normal file
102
include/glibtop/procuid.h
Normal file
@@ -0,0 +1,102 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_PROCUID_H__
|
||||
#define __GLIBTOP_PROCUID_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_UID_UID 0
|
||||
#define GLIBTOP_PROC_UID_EUID 1
|
||||
#define GLIBTOP_PROC_UID_GID 2
|
||||
#define GLIBTOP_PROC_UID_EGID 3
|
||||
#define GLIBTOP_PROC_UID_PID 4
|
||||
#define GLIBTOP_PROC_UID_PPID 5
|
||||
#define GLIBTOP_PROC_UID_PGRP 6
|
||||
#define GLIBTOP_PROC_UID_SESSION 7
|
||||
#define GLIBTOP_PROC_UID_TTY 8
|
||||
#define GLIBTOP_PROC_UID_TPGID 9
|
||||
#define GLIBTOP_PROC_UID_PRIORITY 10
|
||||
#define GLIBTOP_PROC_UID_NICE 11
|
||||
|
||||
#define GLIBTOP_MAX_PROC_UID 12
|
||||
|
||||
typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
||||
|
||||
/* User, Group, Terminal and session */
|
||||
|
||||
struct _glibtop_proc_uid
|
||||
{
|
||||
unsigned long flags;
|
||||
int uid, /* user id */
|
||||
euid, /* effective user id */
|
||||
gid, /* group id */
|
||||
egid, /* effective group id */
|
||||
pid, /* process id */
|
||||
ppid, /* pid of parent process */
|
||||
pgrp, /* process group id */
|
||||
session, /* session id */
|
||||
tty, /* full device number of controlling terminal */
|
||||
tpgid, /* terminal process group id */
|
||||
priority, /* kernel scheduling priority */
|
||||
nice; /* standard unix nice level of process */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_uid(p1, p2) glibtop_get_proc_uid__r(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_get_proc_uid__r __P((glibtop *, glibtop_proc_uid *, pid_t));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_uid __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_proc_uid __P((void));
|
||||
extern SCM glibtop_guile_types_proc_uid __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_uid __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_uid __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proc_uid [];
|
||||
extern const char *glibtop_types_proc_uid [];
|
||||
extern const char *glibtop_labels_proc_uid [];
|
||||
extern const char *glibtop_descriptions_proc_uid [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
36
include/glibtop/read.h
Normal file
36
include/glibtop/read.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_READ_H__
|
||||
#define __GLIBTOP_READ_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define glibtop_read(p1, p2) glibtop_read(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_read__r __P((glibtop *, size_t, void *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
36
include/glibtop/read_data.h
Normal file
36
include/glibtop/read_data.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_READ_DATA_H__
|
||||
#define __GLIBTOP_READ_DATA_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define glibtop_read_data() glibtop_read_data__r(glibtop_global_server)
|
||||
|
||||
extern void *glibtop_read_data__r __P((glibtop *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
96
include/glibtop/sem_limits.h
Normal file
96
include/glibtop/sem_limits.h
Normal file
@@ -0,0 +1,96 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_SEM_LIMITS_H__
|
||||
#define __GLIBTOP_SEM_LIMITS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_IPC_SEMMAP 0
|
||||
#define GLIBTOP_IPC_SEMMNI 1
|
||||
#define GLIBTOP_IPC_SEMMNS 2
|
||||
#define GLIBTOP_IPC_SEMMNU 3
|
||||
#define GLIBTOP_IPC_SEMMSL 4
|
||||
#define GLIBTOP_IPC_SEMOPM 5
|
||||
#define GLIBTOP_IPC_SEMUME 6
|
||||
#define GLIBTOP_IPC_SEMUSZ 7
|
||||
#define GLIBTOP_IPC_SEMVMX 8
|
||||
#define GLIBTOP_IPC_SEMAEM 9
|
||||
|
||||
#define GLIBTOP_MAX_SEM_LIMITS 10
|
||||
|
||||
typedef struct _glibtop_sem_limits glibtop_sem_limits;
|
||||
|
||||
struct _glibtop_sem_limits
|
||||
{
|
||||
unsigned long flags,
|
||||
semmap, /* GLIBTOP_IPC_SEMMAP */
|
||||
semmni, /* GLIBTOP_IPC_SEMMNI */
|
||||
semmns, /* GLIBTOP_IPC_SEMMNS */
|
||||
semmnu, /* GLIBTOP_IPC_SEMMNU */
|
||||
semmsl, /* GLIBTOP_IPC_SEMMSL */
|
||||
semopm, /* GLIBTOP_IPC_SEMOPM */
|
||||
semume, /* GLIBTOP_IPC_SEMUME */
|
||||
semusz, /* GLIBTOP_IPC_SEMUSZ */
|
||||
semvmx, /* GLIBTOP_IPC_SEMVMX */
|
||||
semaem; /* GLIBTOP_IPC_SEMAEM */
|
||||
};
|
||||
|
||||
#define glibtop_get_sem_limits(sem) glibtop_get_sem_limits__r(glibtop_global_server, sem)
|
||||
|
||||
extern void glibtop_get_sem_limits__r __P((glibtop *, glibtop_sem_limits *));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_sem_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_sem_limits __P((void));
|
||||
extern SCM glibtop_guile_types_sem_limits __P((void));
|
||||
extern SCM glibtop_guile_labels_sem_limits __P((void));
|
||||
extern SCM glibtop_guile_descriptions_sem_limits __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_sem_limits [];
|
||||
extern const char *glibtop_types_sem_limits [];
|
||||
extern const char *glibtop_labels_sem_limits [];
|
||||
extern const char *glibtop_descriptions_sem_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
86
include/glibtop/shm_limits.h
Normal file
86
include/glibtop/shm_limits.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_SHM_LIMITS_H__
|
||||
#define __GLIBTOP_SHM_LIMITS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_IPC_SHMMAX 0
|
||||
#define GLIBTOP_IPC_SHMMIN 1
|
||||
#define GLIBTOP_IPC_SHMMNI 2
|
||||
#define GLIBTOP_IPC_SHMSEG 3
|
||||
#define GLIBTOP_IPC_SHMALL 4
|
||||
|
||||
#define GLIBTOP_MAX_SHM_LIMITS 5
|
||||
|
||||
typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||
|
||||
struct _glibtop_shm_limits
|
||||
{
|
||||
unsigned long flags,
|
||||
shmmax, /* GLIBTOP_IPC_SHMMAX */
|
||||
shmmin, /* GLIBTOP_IPC_SHMMIN */
|
||||
shmmni, /* GLIBTOP_IPC_SHMMNI */
|
||||
shmseg, /* GLIBTOP_IPC_SHMSEG */
|
||||
shmall; /* GLIBTOP_IPC_SHMALL */
|
||||
};
|
||||
|
||||
#define glibtop_get_shm_limits(shm) glibtop_get_shm_limits__r(glibtop_global_server, shm)
|
||||
|
||||
extern void glibtop_get_shm_limits__r __P((glibtop *, glibtop_shm_limits *));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_shm_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_shm_limits __P((void));
|
||||
extern SCM glibtop_guile_types_shm_limits __P((void));
|
||||
extern SCM glibtop_guile_labels_shm_limits __P((void));
|
||||
extern SCM glibtop_guile_descriptions_shm_limits __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_shm_limits [];
|
||||
extern const char *glibtop_types_shm_limits [];
|
||||
extern const char *glibtop_labels_shm_limits [];
|
||||
extern const char *glibtop_descriptions_shm_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
82
include/glibtop/swap.h
Normal file
82
include/glibtop/swap.h
Normal file
@@ -0,0 +1,82 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_SWAP_H__
|
||||
#define __GLIBTOP_SWAP_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SWAP_TOTAL 0
|
||||
#define GLIBTOP_SWAP_USED 1
|
||||
#define GLIBTOP_SWAP_FREE 2
|
||||
|
||||
#define GLIBTOP_MAX_SWAP 3
|
||||
|
||||
typedef struct _glibtop_swap glibtop_swap;
|
||||
|
||||
struct _glibtop_swap
|
||||
{
|
||||
unsigned long flags,
|
||||
total, /* GLIBTOP_SWAP_TOTAL */
|
||||
used, /* GLIBTOP_SWAP_USED */
|
||||
free; /* GLIBTOP_SWAP_FREE */
|
||||
};
|
||||
|
||||
#define glibtop_get_swap(swap) glibtop_get_swap__r(glibtop_global_server, swap)
|
||||
|
||||
extern void glibtop_get_swap__r __P((glibtop *, glibtop_swap *));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_swap __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_swap __P((void));
|
||||
extern SCM glibtop_guile_types_swap __P((void));
|
||||
extern SCM glibtop_guile_labels_swap __P((void));
|
||||
extern SCM glibtop_guile_descriptions_swap __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_swap [];
|
||||
extern const char *glibtop_types_swap [];
|
||||
extern const char *glibtop_labels_swap [];
|
||||
extern const char *glibtop_descriptions_swap [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
108
include/glibtop/sysdeps.h
Normal file
108
include/glibtop/sysdeps.h
Normal file
@@ -0,0 +1,108 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_SYSDEPS_H__
|
||||
#define __GLIBTOP_SYSDEPS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/union.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SYSDEPS_CPU 0
|
||||
#define GLIBTOP_SYSDEPS_MEM 1
|
||||
#define GLIBTOP_SYSDEPS_SWAP 2
|
||||
#define GLIBTOP_SYSDEPS_UPTIME 3
|
||||
#define GLIBTOP_SYSDEPS_LOADAVG 4
|
||||
#define GLIBTOP_SYSDEPS_SHM_LIMITS 5
|
||||
#define GLIBTOP_SYSDEPS_MSG_LIMITS 6
|
||||
#define GLIBTOP_SYSDEPS_SEM_LIMITS 7
|
||||
#define GLIBTOP_SYSDEPS_PROCLIST 8
|
||||
#define GLIBTOP_SYSDEPS_PROC_STATE 9
|
||||
#define GLIBTOP_SYSDEPS_PROC_UID 10
|
||||
#define GLIBTOP_SYSDEPS_PROC_MEM 11
|
||||
#define GLIBTOP_SYSDEPS_PROC_TIME 12
|
||||
#define GLIBTOP_SYSDEPS_PROC_SIGNAL 13
|
||||
#define GLIBTOP_SYSDEPS_PROC_KERNEL 14
|
||||
#define GLIBTOP_SYSDEPS_PROC_SEGMENT 15
|
||||
|
||||
#define GLIBTOP_MAX_SYSDEPS 16
|
||||
|
||||
typedef struct _glibtop_sysdeps glibtop_sysdeps;
|
||||
|
||||
struct _glibtop_sysdeps
|
||||
{
|
||||
unsigned long flags,
|
||||
cpu, /* glibtop_cpu */
|
||||
mem, /* glibtop_mem */
|
||||
swap, /* glibtop_swap */
|
||||
uptime, /* glibtop_uptime */
|
||||
loadavg, /* glibtop_loadavg */
|
||||
shm_limits, /* glibtop_shm_limits */
|
||||
msg_limits, /* glibtop_msg_limits */
|
||||
sem_limits, /* glibtop_sem_limits */
|
||||
proclist, /* glibtop_proclist */
|
||||
proc_state, /* glibtop_proc_state */
|
||||
proc_uid, /* glibtop_proc_uid */
|
||||
proc_mem, /* glibtop_proc_mem */
|
||||
proc_time, /* glibtop_proc_time */
|
||||
proc_signal, /* glibtop_proc_signal */
|
||||
proc_kernel, /* glibtop_proc_kernel */
|
||||
proc_segment; /* glibtop_proc_segment */
|
||||
};
|
||||
|
||||
#define glibtop_get_sysdeps(sysdeps) glibtop_get_sysdeps__r(glibtop_global_server,sysdeps)
|
||||
|
||||
extern void glibtop_get_sysdeps__r __P((glibtop *, glibtop_sysdeps *));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_sysdeps __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_sysdeps __P((void));
|
||||
extern SCM glibtop_guile_types_sysdeps __P((void));
|
||||
extern SCM glibtop_guile_labels_sysdeps __P((void));
|
||||
extern SCM glibtop_guile_descriptions_sysdeps __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_sysdeps [];
|
||||
extern const char *glibtop_types_sysdeps [];
|
||||
extern const char *glibtop_labels_sysdeps [];
|
||||
extern const char *glibtop_descriptions_sysdeps [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
69
include/glibtop/union.h
Normal file
69
include/glibtop/union.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_UNION_H__
|
||||
#define __GLIBTOP_UNION_H__
|
||||
|
||||
#include <glibtop/cpu.h>
|
||||
#include <glibtop/mem.h>
|
||||
#include <glibtop/swap.h>
|
||||
#include <glibtop/uptime.h>
|
||||
#include <glibtop/loadavg.h>
|
||||
#include <glibtop/shm_limits.h>
|
||||
#include <glibtop/msg_limits.h>
|
||||
#include <glibtop/sem_limits.h>
|
||||
#include <glibtop/proclist.h>
|
||||
|
||||
#include <glibtop/procstate.h>
|
||||
#include <glibtop/procuid.h>
|
||||
#include <glibtop/procmem.h>
|
||||
#include <glibtop/proctime.h>
|
||||
#include <glibtop/procsignal.h>
|
||||
#include <glibtop/prockernel.h>
|
||||
#include <glibtop/procsegment.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
typedef union _glibtop_union glibtop_union;
|
||||
|
||||
union _glibtop_union
|
||||
{
|
||||
glibtop_cpu cpu;
|
||||
glibtop_mem mem;
|
||||
glibtop_swap swap;
|
||||
glibtop_uptime uptime;
|
||||
glibtop_loadavg loadavg;
|
||||
glibtop_shm_limits shm_limits;
|
||||
glibtop_msg_limits msg_limits;
|
||||
glibtop_sem_limits sem_limits;
|
||||
glibtop_proclist proclist;
|
||||
glibtop_proc_state proc_state;
|
||||
glibtop_proc_uid proc_uid;
|
||||
glibtop_proc_mem proc_mem;
|
||||
glibtop_proc_time proc_time;
|
||||
glibtop_proc_signal proc_signal;
|
||||
glibtop_proc_kernel proc_kernel;
|
||||
glibtop_proc_segment proc_segment;
|
||||
};
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
80
include/glibtop/uptime.h
Normal file
80
include/glibtop/uptime.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_UPTIME_H__
|
||||
#define __GLIBTOP_UPTIME_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_UPTIME_UPTIME 0
|
||||
#define GLIBTOP_UPTIME_IDLETIME 1
|
||||
|
||||
#define GLIBTOP_MAX_UPTIME 2
|
||||
|
||||
typedef struct _glibtop_uptime glibtop_uptime;
|
||||
|
||||
struct _glibtop_uptime
|
||||
{
|
||||
unsigned long flags;
|
||||
double uptime, /* GLIBTOP_UPTIME_UPTIME */
|
||||
idletime; /* GLIBTOP_UPTIME_IDLETIME */
|
||||
};
|
||||
|
||||
#define glibtop_get_uptime(uptime) glibtop_get_uptime__r(glibtop_global_server, uptime)
|
||||
|
||||
extern void glibtop_get_uptime__r __P((glibtop *, glibtop_uptime *));
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_uptime __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_uptime __P((void));
|
||||
extern SCM glibtop_guile_types_uptime __P((void));
|
||||
extern SCM glibtop_guile_labels_uptime __P((void));
|
||||
extern SCM glibtop_guile_descriptions_uptime __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_uptime [];
|
||||
extern const char *glibtop_types_uptime [];
|
||||
extern const char *glibtop_labels_uptime [];
|
||||
extern const char *glibtop_descriptions_uptime [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
31
include/glibtop/version.h
Normal file
31
include/glibtop/version.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/* 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. */
|
||||
|
||||
#ifndef __GLIBTOP_VERSION_H__
|
||||
#define __GLIBTOP_VERSION_H__
|
||||
|
||||
#include <glibtop/output.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern void glibtop_version __P((void));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
36
include/glibtop/write.h
Normal file
36
include/glibtop/write.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_WRITE_H__
|
||||
#define __GLIBTOP_WRITE_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define glibtop_write(p1, p2) glibtop_write(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_write__r __P((glibtop *, size_t, void *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
42
include/glibtop/xmalloc.h
Normal file
42
include/glibtop/xmalloc.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/* $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. */
|
||||
|
||||
#ifndef __GLIBTOP_XMALLOC_H__
|
||||
#define __GLIBTOP_XMALLOC_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define glibtop_malloc(p1) glibtop_malloc__r(glibtop_global_server, p1)
|
||||
#define glibtop_calloc(p1, p2) glibtop_calloc__r(glibtop_global_server, p1, p2)
|
||||
#define glibtop_realloc(p1, p2) glibtop_realloc__r(glibtop_global_server, p1, p2)
|
||||
#define glibtop_free(p1) glibtop_free__r(glibtop_global_server, p1)
|
||||
|
||||
extern void *glibtop_malloc__r __P((glibtop *, size_t));
|
||||
extern void *glibtop_calloc__r __P((glibtop *, size_t, size_t));
|
||||
extern void *glibtop_realloc__r __P((glibtop *, void *, size_t));
|
||||
extern void glibtop_free__r __P((glibtop *, void *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
34
lib/.cvsignore
Normal file
34
lib/.cvsignore
Normal file
@@ -0,0 +1,34 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
close.lo
|
||||
command.lo
|
||||
cpu.lo
|
||||
error.lo
|
||||
init.lo
|
||||
ipc_limits.lo
|
||||
libgtop.la
|
||||
loadavg.lo
|
||||
mem.lo
|
||||
msg_limits.lo
|
||||
open.lo
|
||||
procdata.lo
|
||||
prockernel.lo
|
||||
proclist.lo
|
||||
procmem.lo
|
||||
procsegment.lo
|
||||
procsignal.lo
|
||||
procstate.lo
|
||||
proctime.lo
|
||||
procuid.lo
|
||||
read.lo
|
||||
read_data.lo
|
||||
sem_limits.lo
|
||||
shm_limits.lo
|
||||
so_locations
|
||||
swap.lo
|
||||
sysinfo.lo
|
||||
uptime.lo
|
||||
write.lo
|
||||
xmalloc.lo
|
15
lib/Makefile.am
Normal file
15
lib/Makefile.am
Normal file
@@ -0,0 +1,15 @@
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = @GTOP_INCS@
|
||||
|
||||
CFLAGS = -Wall -W @CFLAGS@ -DGTOP_SERVER=\""@GTOP_SERVER@"\"
|
||||
|
||||
lib_LTLIBRARIES = libgtop.la
|
||||
|
||||
libgtop_la_SOURCES = init.c open.c close.c read.c read_data.c \
|
||||
write.c command.c cpu.c mem.c swap.c uptime.c \
|
||||
loadavg.c shm_limits.c msg_limits.c \
|
||||
sem_limits.c proclist.c procstate.c procuid.c \
|
||||
proctime.c procmem.c procsignal.c prockernel.c \
|
||||
procsegment.c
|
||||
|
32
lib/close.c
Normal file
32
lib/close.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/close.h>
|
||||
|
||||
/* Closes pipe to gtop server. */
|
||||
|
||||
void
|
||||
glibtop_close (glibtop *server)
|
||||
{
|
||||
kill (server->pid, SIGKILL);
|
||||
close (server->input [0]);
|
||||
close (server->output [1]);
|
||||
}
|
54
lib/command.c
Normal file
54
lib/command.c
Normal file
@@ -0,0 +1,54 @@
|
||||
/* $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/read.h>
|
||||
#include <glibtop/write.h>
|
||||
#include <glibtop/read_data.h>
|
||||
|
||||
#include <glibtop/command.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
void *
|
||||
glibtop_call__r (glibtop *server, unsigned command, size_t send_size, void *send_buf,
|
||||
size_t recv_size, void *recv_buf)
|
||||
{
|
||||
glibtop_command *cmnd;
|
||||
void *ptr;
|
||||
|
||||
glibtop_init__r (&server);
|
||||
|
||||
cmnd = glibtop_calloc__r (server, 1, sizeof (glibtop_command));
|
||||
|
||||
memcpy (&cmnd->server, server, sizeof (glibtop));
|
||||
|
||||
cmnd->command = command;
|
||||
cmnd->size = send_size;
|
||||
|
||||
glibtop_write__r (server, sizeof (glibtop_command), cmnd);
|
||||
glibtop_write__r (server, send_size, send_buf);
|
||||
glibtop_read__r (server, recv_size, recv_buf);
|
||||
|
||||
ptr = glibtop_read_data__r (server);
|
||||
|
||||
glibtop_free__r (server, cmnd);
|
||||
|
||||
return ptr;
|
||||
}
|
32
lib/cpu.c
Normal file
32
lib/cpu.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/cpu.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides information about cpu usage. */
|
||||
|
||||
void
|
||||
glibtop_get_cpu__r (glibtop *server, glibtop_cpu *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_CPU, 0, NULL, sizeof (glibtop_cpu), buf);
|
||||
}
|
40
lib/init.c
Normal file
40
lib/init.c
Normal file
@@ -0,0 +1,40 @@
|
||||
/* $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 <glibtop/open.h>
|
||||
|
||||
static glibtop _glibtop_global_server;
|
||||
glibtop *glibtop_global_server = NULL;
|
||||
|
||||
glibtop *
|
||||
glibtop_init__r (glibtop **server)
|
||||
{
|
||||
if (*server != NULL)
|
||||
return *server;
|
||||
|
||||
if (glibtop_global_server == NULL) {
|
||||
glibtop_global_server = &_glibtop_global_server;
|
||||
glibtop_open (glibtop_global_server, "glibtop");
|
||||
}
|
||||
|
||||
return *server = glibtop_global_server;
|
||||
}
|
33
lib/loadavg.c
Normal file
33
lib/loadavg.c
Normal file
@@ -0,0 +1,33 @@
|
||||
/* $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 <config.h>
|
||||
#include <glibtop/loadavg.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides load averange. */
|
||||
|
||||
void
|
||||
glibtop_get_loadavg__r (glibtop *server, glibtop_loadavg *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_LOADAVG, 0, NULL, sizeof (glibtop_loadavg), buf);
|
||||
}
|
32
lib/mem.c
Normal file
32
lib/mem.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/mem.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides information about memory usage. */
|
||||
|
||||
void
|
||||
glibtop_get_mem__r (glibtop *server, glibtop_mem *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_MEM, 0, NULL, sizeof (glibtop_mem), buf);
|
||||
}
|
32
lib/msg_limits.c
Normal file
32
lib/msg_limits.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/msg_limits.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides information about sysv ipc limits. */
|
||||
|
||||
void
|
||||
glibtop_get_msg_limits__r (glibtop *server, glibtop_msg_limits *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_MSG_LIMITS, 0, NULL, sizeof (glibtop_msg_limits), buf);
|
||||
}
|
60
lib/open.c
Normal file
60
lib/open.c
Normal file
@@ -0,0 +1,60 @@
|
||||
/* $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/open.h>
|
||||
|
||||
/* Opens pipe to gtop server. Returns 0 on success and -1 on error. */
|
||||
|
||||
void
|
||||
glibtop_open (glibtop *server, const char *program_name)
|
||||
{
|
||||
char version [BUFSIZ], buffer [BUFSIZ];
|
||||
|
||||
memset (server, 0, sizeof (glibtop));
|
||||
|
||||
server->name = program_name;
|
||||
|
||||
if (pipe (server->input) || pipe (server->output))
|
||||
glibtop_error__r (server, _("cannot make a pipe: %s\n"), strerror (errno));
|
||||
|
||||
server->pid = fork ();
|
||||
|
||||
if (server->pid < 0) {
|
||||
glibtop_error__r (server, _("%s: fork failed: %s\n"), strerror (errno));
|
||||
} else if (server->pid == 0) {
|
||||
close (0); close (1); /* close (2); */
|
||||
close (server->input [0]); close (server->output [1]);
|
||||
dup2 (server->input [1], 1); /* dup2 (server->input [1], 2); */
|
||||
dup2 (server->output [0], 0);
|
||||
execl (GTOP_SERVER, NULL);
|
||||
_exit (2);
|
||||
}
|
||||
|
||||
close (server->input [1]);
|
||||
close (server->output [0]);
|
||||
|
||||
sprintf (version, "%s server %s ready.\n", PACKAGE, VERSION);
|
||||
|
||||
glibtop_read__r (server, strlen (version), buffer);
|
||||
|
||||
if (memcmp (version, buffer, strlen (version)))
|
||||
glibtop_error__r (server, _("server version is not %s"), VERSION);
|
||||
}
|
35
lib/prockernel.c
Normal file
35
lib/prockernel.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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 <glibtop/prockernel.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_kernel__r (glibtop *server, glibtop_proc_kernel *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_PROC_KERNEL, sizeof (pid_t),
|
||||
&pid, sizeof (glibtop_proc_kernel), buf);
|
||||
}
|
32
lib/proclist.c
Normal file
32
lib/proclist.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/proclist.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Fetch list of currently running processes. */
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist__r (glibtop *server, glibtop_proclist *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
return glibtop_call__r (server, GLIBTOP_CMND_PROCLIST, 0, NULL, sizeof (glibtop_proclist), buf);
|
||||
}
|
35
lib/procmem.c
Normal file
35
lib/procmem.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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 <glibtop/procmem.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_mem__r (glibtop *server, glibtop_proc_mem *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_PROC_MEM, sizeof (pid_t),
|
||||
&pid, sizeof (glibtop_proc_mem), buf);
|
||||
}
|
35
lib/procsegment.c
Normal file
35
lib/procsegment.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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 <glibtop/procsegment.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_segment__r (glibtop *server, glibtop_proc_segment *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_PROC_SEGMENT, sizeof (pid_t),
|
||||
&pid, sizeof (glibtop_proc_segment), buf);
|
||||
}
|
35
lib/procsignal.c
Normal file
35
lib/procsignal.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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 <glibtop/procsignal.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_signal__r (glibtop *server, glibtop_proc_signal *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_PROC_SIGNAL, sizeof (pid_t),
|
||||
&pid, sizeof (glibtop_proc_signal), buf);
|
||||
}
|
35
lib/procstate.c
Normal file
35
lib/procstate.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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 <glibtop/procstate.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_state__r (glibtop *server, glibtop_proc_state *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_PROC_STATE, sizeof (pid_t),
|
||||
&pid, sizeof (glibtop_proc_state), buf);
|
||||
}
|
35
lib/proctime.c
Normal file
35
lib/proctime.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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 <glibtop/proctime.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_time__r (glibtop *server, glibtop_proc_time *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_PROC_TIME, sizeof (pid_t),
|
||||
&pid, sizeof (glibtop_proc_time), buf);
|
||||
}
|
35
lib/procuid.c
Normal file
35
lib/procuid.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $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 <glibtop/procuid.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_uid__r (glibtop *server, glibtop_proc_uid *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_PROC_UID, sizeof (pid_t),
|
||||
&pid, sizeof (glibtop_proc_uid), buf);
|
||||
}
|
41
lib/read.c
Normal file
41
lib/read.c
Normal file
@@ -0,0 +1,41 @@
|
||||
/* $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/read.h>
|
||||
|
||||
/* Reads some data from server. */
|
||||
|
||||
void
|
||||
glibtop_read__r (glibtop *server, size_t size, void *buf)
|
||||
{
|
||||
size_t ssize;
|
||||
|
||||
glibtop_init__r (&server);
|
||||
|
||||
if (read (server->input [0], &ssize, sizeof (size_t)) < 0)
|
||||
glibtop_error__r (server, _("read size: %s"), strerror (errno));
|
||||
|
||||
if (size != ssize)
|
||||
glibtop_error__r (server, _("got %d bytes but requested %d"), ssize, size);
|
||||
|
||||
if (read (server->input [0], buf, size) < 0)
|
||||
glibtop_error__r (server, _("read %d bytes: %s"), size, strerror (errno));
|
||||
}
|
48
lib/read_data.c
Normal file
48
lib/read_data.c
Normal file
@@ -0,0 +1,48 @@
|
||||
/* $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/xmalloc.h>
|
||||
#include <glibtop/read_data.h>
|
||||
|
||||
/* Reads some data from server. */
|
||||
|
||||
void *
|
||||
glibtop_read_data__r (glibtop *server)
|
||||
{
|
||||
size_t size;
|
||||
void *ptr;
|
||||
|
||||
glibtop_init__r (&server);
|
||||
|
||||
if (read (server->input [0], &size, sizeof (size_t)) < 0)
|
||||
glibtop_error__r (server, _("read data size: %s"), strerror (errno));
|
||||
|
||||
if (!size) return NULL;
|
||||
|
||||
fprintf (stderr, "Server has %d bytes of data.\n", size);
|
||||
|
||||
ptr = glibtop_malloc__r (server, size);
|
||||
|
||||
if (read (server->input [0], ptr, size) < 0)
|
||||
glibtop_error__r (server, _("read data %d bytes: %s"), size, strerror (errno));
|
||||
|
||||
return ptr;
|
||||
}
|
32
lib/sem_limits.c
Normal file
32
lib/sem_limits.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/sem_limits.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides information about sysv ipc limits. */
|
||||
|
||||
void
|
||||
glibtop_get_sem_limits__r (glibtop *server, glibtop_sem_limits *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_SEM_LIMITS, 0, NULL, sizeof (glibtop_sem_limits), buf);
|
||||
}
|
32
lib/shm_limits.c
Normal file
32
lib/shm_limits.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/shm_limits.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides information about sysv ipc limits. */
|
||||
|
||||
void
|
||||
glibtop_get_shm_limits__r (glibtop *server, glibtop_shm_limits *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_SHM_LIMITS, 0, NULL, sizeof (glibtop_shm_limits), buf);
|
||||
}
|
32
lib/swap.c
Normal file
32
lib/swap.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/swap.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides information about swap usage. */
|
||||
|
||||
void
|
||||
glibtop_get_swap__r (glibtop *server, glibtop_swap *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_SWAP, 0, NULL, sizeof (glibtop_swap), buf);
|
||||
}
|
32
lib/sysdeps.c
Normal file
32
lib/sysdeps.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $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/sysdeps.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Checks which features are implemented. */
|
||||
|
||||
void
|
||||
glibtop_get_sysdeps__r (glibtop *server, glibtop_sysdeps *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_SYSDEPS, 0, NULL, sizeof (glibtop_sysdeps), buf);
|
||||
}
|
33
lib/uptime.c
Normal file
33
lib/uptime.c
Normal file
@@ -0,0 +1,33 @@
|
||||
/* $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 <config.h>
|
||||
#include <glibtop/uptime.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Provides uptime and idle time. */
|
||||
|
||||
void
|
||||
glibtop_get_uptime__r (glibtop *server, glibtop_uptime *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
glibtop_call__r (server, GLIBTOP_CMND_UPTIME, 0, NULL, sizeof (glibtop_uptime), buf);
|
||||
}
|
38
lib/write.c
Normal file
38
lib/write.c
Normal file
@@ -0,0 +1,38 @@
|
||||
/* $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/write.h>
|
||||
|
||||
/* Writes some data to server. */
|
||||
|
||||
void
|
||||
glibtop_write__r (glibtop *server, size_t size, void *buf)
|
||||
{
|
||||
glibtop_init__r (&server);
|
||||
|
||||
if (write (server->output [1], &size, sizeof (size_t)) < 0)
|
||||
glibtop_error__r (server, _("write size: %s"), strerror (errno));
|
||||
|
||||
if (!size) return;
|
||||
|
||||
if (write (server->output [1], buf, size) < 0)
|
||||
glibtop_error__r (server, _("write %d bytes: %s"), size, strerror (errno));
|
||||
}
|
47
libgtop-mirror.sh
Executable file
47
libgtop-mirror.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
AUTODIR=/home/norwegen/auto
|
||||
CVSROOT=/pub/master/home-of-linux
|
||||
CVSHOST=cvs:
|
||||
MODULE=libgtop
|
||||
|
||||
rm -rf $AUTODIR || exit 1
|
||||
mkdir $AUTODIR || exit 1
|
||||
cd $AUTODIR || exit 1
|
||||
|
||||
echo "Making cpio archive out of $CVSROOT/$MODULE ..."
|
||||
|
||||
find $CVSROOT/$MODULE | cpio -o --format=crc | gzip -9f > $MODULE-current-cvs.cpio.gz || exit 1
|
||||
|
||||
echo "Checking out $MODULE"
|
||||
|
||||
cvs -d $CVSHOST$CVSROOT co $MODULE || exit 1
|
||||
|
||||
echo "Making cpio archive out of checked out sources ..."
|
||||
|
||||
find $MODULE | cpio -o --format=crc | gzip -9f > $MODULE-current.cpio.gz || exit 1
|
||||
|
||||
for file in README LIESMICH NEWS ChangeLog ; do
|
||||
if [ -s $MODULE/$file ] ; then
|
||||
cp $MODULE/$file . || exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
tar cvf - $MODULE | gzip -9f > $MODULE-current.tar.gz || exit 1
|
||||
|
||||
find $MODULE/doc -maxdepth 1 -type f -exec cp {} . \;
|
||||
|
||||
# echo "Making documentation ..."
|
||||
# jade -D /usr/lib/sgml/jade_dsl -d libgtop.dsl -t sgml -V %no-make-index% libgtop.sgml > /dev/null || exit 1
|
||||
|
||||
# echo "Making TeX documentation ..."
|
||||
# jade -D /usr/lib/sgml/jade_dsl -D /usr/lib/sgml/stylesheets -d docbook.dsl -t tex libgtop.sgml || exit 1
|
||||
# jadetex libgtop.tex || exit 1
|
||||
# jadetex libgtop.tex || exit 1
|
||||
# dvips libgtop || exit 1
|
||||
|
||||
echo "Cleaning up ..."
|
||||
|
||||
rm -rf $MODULE
|
||||
|
||||
echo "Done."
|
5
po/.cvsignore
Normal file
5
po/.cvsignore
Normal file
@@ -0,0 +1,5 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
POTFILES
|
||||
cat-id-tbl.c
|
||||
libgtop.pot
|
78
po/POTFILES.in
Normal file
78
po/POTFILES.in
Normal file
@@ -0,0 +1,78 @@
|
||||
lib/close.c
|
||||
lib/command.c
|
||||
lib/cpu.c
|
||||
lib/mem.c
|
||||
lib/open.c
|
||||
lib/read.c
|
||||
lib/swap.c
|
||||
lib/write.c
|
||||
lib/sysdeps.c
|
||||
lib/uptime.c
|
||||
lib/loadavg.c
|
||||
lib/shm_limits.c
|
||||
lib/msg_limits.c
|
||||
lib/sem_limits.c
|
||||
lib/proclist.c
|
||||
lib/read_data.c
|
||||
acconfig.h
|
||||
glibtop.h
|
||||
include/glibtop/command.h
|
||||
include/glibtop/close.h
|
||||
include/glibtop/global.h
|
||||
include/glibtop/cpu.h
|
||||
include/glibtop/error.h
|
||||
include/glibtop/shm_limits.h
|
||||
include/glibtop/uptime.h
|
||||
include/glibtop/output.h
|
||||
include/glibtop/mem.h
|
||||
include/glibtop/open.h
|
||||
include/glibtop/sysdeps.h
|
||||
include/glibtop/union.h
|
||||
include/glibtop/read.h
|
||||
include/glibtop/swap.h
|
||||
include/glibtop/loadavg.h
|
||||
include/glibtop/version.h
|
||||
include/glibtop/write.h
|
||||
include/glibtop/xmalloc.h
|
||||
include/glibtop/msg_limits.h
|
||||
include/glibtop/proclist.h
|
||||
include/glibtop/sem_limits.h
|
||||
include/glibtop/read_data.h
|
||||
src/server/main.c
|
||||
src/server/output.c
|
||||
src/server/version.c
|
||||
sysdeps/linux/close.c
|
||||
sysdeps/linux/cpu.c
|
||||
sysdeps/linux/mem.c
|
||||
sysdeps/linux/open.c
|
||||
sysdeps/linux/swap.c
|
||||
sysdeps/linux/shm_limits.c
|
||||
sysdeps/linux/msg_limits.c
|
||||
sysdeps/linux/uptime.c
|
||||
sysdeps/linux/loadavg.c
|
||||
sysdeps/linux/sem_limits.c
|
||||
sysdeps/linux/proclist.c
|
||||
sysdeps/stub/proclist.c
|
||||
sysdeps/stub/close.c
|
||||
sysdeps/stub/cpu.c
|
||||
sysdeps/stub/mem.c
|
||||
sysdeps/stub/open.c
|
||||
sysdeps/stub/swap.c
|
||||
sysdeps/stub/loadavg.c
|
||||
sysdeps/stub/uptime.c
|
||||
sysdeps/stub/shm_limits.c
|
||||
sysdeps/stub/msg_limits.c
|
||||
sysdeps/stub/sem_limits.c
|
||||
sysdeps/common/sysdeps.c
|
||||
sysdeps/common/xmalloc.c
|
||||
sysdeps/common/error.c
|
||||
sysdeps/names/sysdeps.c
|
||||
sysdeps/names/cpu.c
|
||||
sysdeps/names/loadavg.c
|
||||
sysdeps/names/mem.c
|
||||
sysdeps/names/swap.c
|
||||
sysdeps/names/uptime.c
|
||||
sysdeps/names/shm_limits.c
|
||||
sysdeps/names/msg_limits.c
|
||||
sysdeps/names/sem_limits.c
|
||||
sysdeps/names/proclist.c
|
1
po/stamp-cat-id
Normal file
1
po/stamp-cat-id
Normal file
@@ -0,0 +1 @@
|
||||
timestamp
|
2
src/.cvsignore
Normal file
2
src/.cvsignore
Normal file
@@ -0,0 +1,2 @@
|
||||
Makefile
|
||||
Makefile.in
|
1
src/Makefile.am
Normal file
1
src/Makefile.am
Normal file
@@ -0,0 +1 @@
|
||||
SUBDIRS = server
|
5
src/server/.cvsignore
Normal file
5
src/server/.cvsignore
Normal file
@@ -0,0 +1,5 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
gtop_server
|
14
src/server/Makefile.am
Normal file
14
src/server/Makefile.am
Normal file
@@ -0,0 +1,14 @@
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = @GTOP_INCS@
|
||||
|
||||
CFLAGS = -Wall -W @CFLAGS@
|
||||
|
||||
bin_PROGRAMS = gtop_server
|
||||
|
||||
gtop_server_SOURCES = main.c output.c version.c
|
||||
gtop_server_LDADD = $(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
|
||||
@INTLLIBS@ @LIBSUPPORT@
|
||||
gtop_server_LDFLAGS = -static
|
||||
|
258
src/server/main.c
Normal file
258
src/server/main.c
Normal file
@@ -0,0 +1,258 @@
|
||||
/* $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/command.h>
|
||||
#include <glibtop/version.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/open.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
|
||||
#if defined(HAVE_GETDTABLESIZE)
|
||||
#define GET_MAX_FDS() getdtablesize()
|
||||
#else
|
||||
/* Fallthrough case - please add other #elif cases above
|
||||
for different OS's as necessary */
|
||||
#define GET_MAX_FDS() 256
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
pid_t pid;
|
||||
int fd, max_fd, nread;
|
||||
size_t size, dsize;
|
||||
char parameter [BUFSIZ];
|
||||
glibtop_union data;
|
||||
glibtop_command cmnd;
|
||||
glibtop_sysdeps sysdeps;
|
||||
glibtop server;
|
||||
void *ptr;
|
||||
|
||||
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
|
||||
|
||||
int uid, euid, gid, egid;
|
||||
|
||||
uid = getuid (); euid = geteuid ();
|
||||
gid = getgid (); egid = getegid ();
|
||||
|
||||
if (setreuid (euid, uid)) _exit (1);
|
||||
|
||||
if (setregid (egid, gid)) _exit (1);
|
||||
|
||||
/* !!! END OF SUID ROOT PART !!! */
|
||||
|
||||
/* For security reasons, we temporarily drop our priviledges
|
||||
* before doing the gettext stuff. */
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
|
||||
glibtop_version ();
|
||||
|
||||
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
|
||||
|
||||
setreuid (uid, euid); setreuid (gid, egid);
|
||||
|
||||
glibtop_open (&server, argv [0]);
|
||||
|
||||
if (setreuid (euid, uid)) _exit (1);
|
||||
|
||||
if (setregid (egid, gid)) _exit (1);
|
||||
|
||||
/* !!! END OF SUID ROOT PART !!! */
|
||||
|
||||
/* close all file descriptors except ones used by the pipes (0 and 1). */
|
||||
max_fd = GET_MAX_FDS();
|
||||
for(fd = 3 /* The first fd after the pipes */; fd < max_fd; fd++)
|
||||
close(fd);
|
||||
|
||||
while(1) {
|
||||
/* block on read from client */
|
||||
/* fprintf (stderr, "waiting for input ...\n"); */
|
||||
nread = read (0, &size, sizeof (size_t));
|
||||
|
||||
/* will return 0 if parent exits. */
|
||||
|
||||
if (nread == 0)
|
||||
_exit(0);
|
||||
|
||||
if (nread != sizeof (size_t))
|
||||
_exit(1);
|
||||
|
||||
if (size != sizeof (glibtop_command))
|
||||
_exit(2);
|
||||
|
||||
nread = read (0, &cmnd, size);
|
||||
|
||||
/* will return 0 if parent exits. */
|
||||
|
||||
if (nread == 0)
|
||||
_exit(0);
|
||||
|
||||
if (nread < 0)
|
||||
_exit(1);
|
||||
|
||||
nread = read (0, &dsize, sizeof (size_t));
|
||||
|
||||
/* will return 0 if parent exits. */
|
||||
|
||||
if (nread == 0)
|
||||
_exit(0);
|
||||
|
||||
if (nread < 0)
|
||||
_exit(1);
|
||||
|
||||
if (dsize >= BUFSIZ)
|
||||
_exit(3);
|
||||
|
||||
memset (parameter, 0, sizeof (parameter));
|
||||
|
||||
if (dsize) {
|
||||
nread = read (0, parameter, dsize);
|
||||
|
||||
/* will return 0 if parent exits. */
|
||||
|
||||
if (nread == 0)
|
||||
_exit(0);
|
||||
|
||||
if (nread < 0)
|
||||
_exit(1);
|
||||
}
|
||||
|
||||
switch (cmnd.command) {
|
||||
case GLIBTOP_CMND_SYSDEPS:
|
||||
glibtop_get_sysdeps__r (&server, &sysdeps);
|
||||
glibtop_output (sizeof (glibtop_sysdeps), &sysdeps);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_CPU:
|
||||
glibtop_get_cpu__r (&server, &data.cpu);
|
||||
glibtop_output (sizeof (glibtop_cpu), &data.cpu);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_MEM:
|
||||
glibtop_get_mem__r (&server, &data.mem);
|
||||
glibtop_output (sizeof (glibtop_mem), &data.mem);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_SWAP:
|
||||
glibtop_get_swap__r (&server, &data.swap);
|
||||
glibtop_output (sizeof (glibtop_swap), &data.swap);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_UPTIME:
|
||||
glibtop_get_uptime__r (&server, &data.uptime);
|
||||
glibtop_output (sizeof (glibtop_uptime), &data.uptime);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_LOADAVG:
|
||||
glibtop_get_loadavg__r (&server, &data.loadavg);
|
||||
glibtop_output (sizeof (glibtop_loadavg), &data.loadavg);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_SHM_LIMITS:
|
||||
glibtop_get_shm_limits__r (&server, &data.shm_limits);
|
||||
glibtop_output (sizeof (glibtop_shm_limits),
|
||||
&data.shm_limits);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_MSG_LIMITS:
|
||||
glibtop_get_msg_limits__r (&server, &data.msg_limits);
|
||||
glibtop_output (sizeof (glibtop_msg_limits),
|
||||
&data.msg_limits);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_SEM_LIMITS:
|
||||
glibtop_get_sem_limits__r (&server, &data.sem_limits);
|
||||
glibtop_output (sizeof (glibtop_sem_limits),
|
||||
&data.sem_limits);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROCLIST:
|
||||
ptr = glibtop_get_proclist__r (&server, &data.proclist);
|
||||
glibtop_output (sizeof (glibtop_proclist),
|
||||
&data.proclist);
|
||||
glibtop_output (data.proclist.total, ptr);
|
||||
glibtop_free__r (&server, ptr);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_STATE:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_state__r
|
||||
(&server, &data.proc_state, pid);
|
||||
glibtop_output (sizeof (glibtop_proc_state),
|
||||
&data.proc_state);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_UID:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_uid__r
|
||||
(&server, &data.proc_uid, pid);
|
||||
glibtop_output (sizeof (glibtop_proc_uid),
|
||||
&data.proc_uid);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_MEM:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_mem__r
|
||||
(&server, &data.proc_mem, pid);
|
||||
glibtop_output (sizeof (glibtop_proc_mem),
|
||||
&data.proc_mem);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_TIME:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_time__r
|
||||
(&server, &data.proc_time, pid);
|
||||
glibtop_output (sizeof (glibtop_proc_time),
|
||||
&data.proc_time);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_SIGNAL:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_signal__r
|
||||
(&server, &data.proc_signal, pid);
|
||||
glibtop_output (sizeof (glibtop_proc_signal),
|
||||
&data.proc_signal);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_KERNEL:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_kernel__r
|
||||
(&server, &data.proc_kernel, pid);
|
||||
glibtop_output (sizeof (glibtop_proc_kernel),
|
||||
&data.proc_kernel);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_SEGMENT:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_segment__r
|
||||
(&server, &data.proc_segment, pid);
|
||||
glibtop_output (sizeof (glibtop_proc_segment),
|
||||
&data.proc_segment);
|
||||
glibtop_output (0, NULL);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
_exit(0);
|
||||
}
|
31
src/server/output.c
Normal file
31
src/server/output.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/* $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/output.h>
|
||||
|
||||
void
|
||||
glibtop_output (size_t size, const void *buf)
|
||||
{
|
||||
if (write (1, &size, sizeof (size_t)) < 0)
|
||||
_exit (2);
|
||||
if (write (1, buf, size) < 0)
|
||||
_exit (2);
|
||||
}
|
31
src/server/version.c
Normal file
31
src/server/version.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/* $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/version.h>
|
||||
|
||||
void
|
||||
glibtop_version (void)
|
||||
{
|
||||
char buffer [BUFSIZ];
|
||||
|
||||
sprintf (buffer, "%s server %s ready.\n", PACKAGE, VERSION);
|
||||
glibtop_output (strlen (buffer), buffer);
|
||||
}
|
1
stamp-h.in
Normal file
1
stamp-h.in
Normal file
@@ -0,0 +1 @@
|
||||
timestamp
|
2
sysdeps/.cvsignore
Normal file
2
sysdeps/.cvsignore
Normal file
@@ -0,0 +1,2 @@
|
||||
Makefile
|
||||
Makefile.in
|
7
sysdeps/Makefile.am
Normal file
7
sysdeps/Makefile.am
Normal file
@@ -0,0 +1,7 @@
|
||||
if GUILE
|
||||
guile_SUBDIRS = guile
|
||||
else
|
||||
guile_SUBDIRS =
|
||||
endif
|
||||
|
||||
SUBDIRS = @sysdeps_dir@ common names $(guile_SUBDIRS)
|
12
sysdeps/common/.cvsignore
Normal file
12
sysdeps/common/.cvsignore
Normal file
@@ -0,0 +1,12 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
error.lo
|
||||
libgtop_common.la
|
||||
msg_limits.lo
|
||||
sem_limits.lo
|
||||
shm_limits.lo
|
||||
sysdeps.lo
|
||||
xmalloc.lo
|
||||
so_locations
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user