Compare commits
202 Commits
LIBGTOP_2_
...
affinity
Author | SHA1 | Date | |
---|---|---|---|
|
771f0848b3 | ||
|
fcee021a2d | ||
|
4c6b506488 | ||
|
ef34cfb38a | ||
|
1e0ba1d7aa | ||
|
6b0bafcafb | ||
|
c0856a39bd | ||
|
270820a05c | ||
|
358660837c | ||
|
e387c66aad | ||
|
e774440e77 | ||
|
c7295cd5f0 | ||
|
65fe248d66 | ||
|
5c479c9a45 | ||
|
6509ddff4c | ||
|
ee78aaf29c | ||
|
a5f59cb81a | ||
|
a99011fd5c | ||
|
598374bb1c | ||
|
b1acd4461e | ||
|
0e2fe6158c | ||
|
f8b9e6f7cc | ||
|
8fc7451000 | ||
|
aaab91cc20 | ||
|
cde89c59b1 | ||
|
0ce04dd037 | ||
|
8e4c6df830 | ||
|
da54431af5 | ||
|
ace68aa492 | ||
|
eee0cad2b6 | ||
|
785b30aeb6 | ||
|
3eb958dc6c | ||
|
cd389851b9 | ||
|
7ee8dae9c5 | ||
|
4b9bb4ee71 | ||
|
aa9fafe5c3 | ||
|
e0c1214cdd | ||
|
82612af053 | ||
|
2f6439a239 | ||
|
44ff5b7599 | ||
|
eb6c8b696f | ||
|
177d1aa841 | ||
|
021153bc49 | ||
|
89810a70ec | ||
|
504ff4ec59 | ||
|
04a5531a46 | ||
|
5a15e409cf | ||
|
747438e334 | ||
|
10211bf7da | ||
|
09f8aaec1e | ||
|
9f509067d4 | ||
|
a085c85db6 | ||
|
c6a7459bc9 | ||
|
3d06443c2c | ||
|
3f49e555fc | ||
|
e156172e7c | ||
|
c9385972bd | ||
|
b411ee115f | ||
|
63fb94127a | ||
|
37fc9c1544 | ||
|
9055b90aef | ||
|
3f25ae9b43 | ||
|
a288a086f7 | ||
|
25a398fc24 | ||
|
0b438b5250 | ||
|
0d2382e666 | ||
|
56b06c7433 | ||
|
84f690d318 | ||
|
fef76514ed | ||
|
1bc8ce6f23 | ||
|
920a936511 | ||
|
648c28b332 | ||
|
d9282f6102 | ||
|
1ca0e5c5e7 | ||
|
537bf34f94 | ||
|
5982287f48 | ||
|
24f5bb1e22 | ||
|
499f599e95 | ||
|
71ce0e790b | ||
|
05dfb867a3 | ||
|
2345eaf4ee | ||
|
7b3d57c9e9 | ||
|
9ebea04e19 | ||
|
0cefbb6df0 | ||
|
272a72d7bc | ||
|
75f11dc5d6 | ||
|
383b4c480e | ||
|
610c0071cc | ||
|
08887909fa | ||
|
6bd78a815b | ||
|
34e8fd7400 | ||
|
1f7f18b399 | ||
|
a7a9e7e9f8 | ||
|
c51a13bf0e | ||
|
d497c25081 | ||
|
3345ef1704 | ||
|
af52067b3a | ||
|
a3e3a224a2 | ||
|
b9e498c0b8 | ||
|
875df72edf | ||
|
c5e81bacbf | ||
|
8663fc3fda | ||
|
37487d4e62 | ||
|
d52fc3f868 | ||
|
bc79bf010a | ||
|
7f477561f0 | ||
|
c7e0a7ac59 | ||
|
bc6ff2cb59 | ||
|
1826be8ef6 | ||
|
739e9cac4a | ||
|
8c7e0e6f2e | ||
|
46c9f6ebeb | ||
|
e6d6b0bba7 | ||
|
8d60c52922 | ||
|
21f74a6427 | ||
|
05b94bd263 | ||
|
956527cb57 | ||
|
d8f9e265cf | ||
|
64fe5d591b | ||
|
12502c2673 | ||
|
5d2f45803b | ||
|
3c21c70b64 | ||
|
9e6115f322 | ||
|
cead508eae | ||
|
26d85d02fb | ||
|
afa9757a0e | ||
|
80855eabe2 | ||
|
3558c4d5c3 | ||
|
1870a03538 | ||
|
214e1decbd | ||
|
3c173b95b4 | ||
|
2083db6c34 | ||
|
a7cf016d67 | ||
|
ec7922c6bd | ||
|
c2104f2f0b | ||
|
47776e8f21 | ||
|
88cd202147 | ||
|
6226594f04 | ||
|
580558333e | ||
|
702e3775c3 | ||
|
a597640830 | ||
|
a956784797 | ||
|
e71023b362 | ||
|
89f9c1d43a | ||
|
29adf02352 | ||
|
35030c878b | ||
|
9b916ee402 | ||
|
23ca9669ae | ||
|
d66ae501f9 | ||
|
ccb10a7b33 | ||
|
9d2131a4b5 | ||
|
7d3059e732 | ||
|
d3add9e115 | ||
|
101fe5874f | ||
|
3afe2bf629 | ||
|
e296c3a37a | ||
|
2f3120d6c9 | ||
|
806a816026 | ||
|
ba7355df9e | ||
|
451f9f9d6c | ||
|
52fa57a39b | ||
|
aa5ac8fc10 | ||
|
a7db1f4dfd | ||
|
91a312768d | ||
|
d9a666470c | ||
|
79fc0e70c0 | ||
|
532f5ceb4f | ||
|
a326e2dcac | ||
|
8a626d9f97 | ||
|
a6513af1c6 | ||
|
95b2dfa326 | ||
|
ac3ad6d2aa | ||
|
4186c9a956 | ||
|
7770480ad2 | ||
|
50f20979df | ||
|
78ec6945df | ||
|
170b03f4f2 | ||
|
c183276e2b | ||
|
d7945bdc36 | ||
|
2930c9f092 | ||
|
fe6a33a5fd | ||
|
30ebfb45d0 | ||
|
b43a1e01c0 | ||
|
88d606d814 | ||
|
dd0d06898a | ||
|
3e77f3cf13 | ||
|
22a1120348 | ||
|
da4dc46b7a | ||
|
03bcc48da6 | ||
|
708285f0d2 | ||
|
a0493a0ff1 | ||
|
9f7d505d20 | ||
|
78cb7832c5 | ||
|
b3979e6942 | ||
|
92d3176303 | ||
|
e5c7f87f50 | ||
|
7e506a6c83 | ||
|
1645027004 | ||
|
8e656af060 | ||
|
4efcfb2cb3 | ||
|
59da1618b0 | ||
|
e9ce3ccc1c |
42
.cvsignore
42
.cvsignore
@@ -1,42 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
aclocal.m4
|
|
||||||
config.cache
|
|
||||||
config.h
|
|
||||||
config.h.in
|
|
||||||
config.log
|
|
||||||
config.sub
|
|
||||||
config.guess
|
|
||||||
config.status
|
|
||||||
configure
|
|
||||||
gtopConf.sh
|
|
||||||
i386-bsdi
|
|
||||||
i686-pc-linux-gnu
|
|
||||||
intl
|
|
||||||
libgtop-mirror.sh.swp
|
|
||||||
libgtopConf.sh
|
|
||||||
libtool
|
|
||||||
ltconfig
|
|
||||||
ltmain.sh
|
|
||||||
macros
|
|
||||||
stamp-h
|
|
||||||
stamp-h.in
|
|
||||||
sun4
|
|
||||||
sun4sol2
|
|
||||||
support
|
|
||||||
i386-freebsd
|
|
||||||
alpha-dec-osf3.0
|
|
||||||
i686-pc-linux-gnu-linux
|
|
||||||
libgtop-config
|
|
||||||
ABOUT-NLS
|
|
||||||
libgtop.spec
|
|
||||||
libgtop*.tar.gz
|
|
||||||
*-debstamp
|
|
||||||
libgtop*.pc
|
|
||||||
autom4te.cache
|
|
||||||
COPYING
|
|
||||||
INSTALL
|
|
||||||
install-sh
|
|
||||||
missing
|
|
||||||
mkinstalldirs
|
|
||||||
libgtopconfig.h
|
|
3
AUTHORS
3
AUTHORS
@@ -1,3 +0,0 @@
|
|||||||
Martin Baulig (martin@home-of-linux.org)
|
|
||||||
Drazen Kacar (dave@srce.hr)
|
|
||||||
Benoît Dejean (tazforever@dlfp.org)
|
|
@@ -1,3 +0,0 @@
|
|||||||
Email: martin@home-of-linux.org
|
|
||||||
Email: dave@srce.hr
|
|
||||||
Benoît Dejean (tazforever@dlfp.org)
|
|
20
Makefile.am
20
Makefile.am
@@ -1,20 +0,0 @@
|
|||||||
|
|
||||||
SUBDIRS = po misc include sysdeps lib src examples doc
|
|
||||||
|
|
||||||
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
|
|
||||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
|
||||||
|
|
||||||
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
|
|
||||||
features.def libgtopconfig.h.in \
|
|
||||||
libgtop-sysdeps.m4 README \
|
|
||||||
libgtop-2.0.pc.in acinclude.m4
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
cp libgtop.spec $(distdir)
|
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
pkgconfig_DATA = libgtop-2.0.pc
|
|
||||||
|
|
||||||
libgtop-features.def: features.def
|
|
||||||
@LN_S@ $< $@
|
|
||||||
|
|
188
NEWS
188
NEWS
@@ -1,188 +0,0 @@
|
|||||||
July &3, 2005: Overview of changes from 2.11.1 to 2.11.2
|
|
||||||
========================================================
|
|
||||||
* Linux:
|
|
||||||
- little improvements for 2.6.
|
|
||||||
|
|
||||||
July 3, 2005: Overview of changes from 2.11.0 to 2.11.1
|
|
||||||
=======================================================
|
|
||||||
* Linux:
|
|
||||||
- glibtop_get_swap : added page(in|out) for linux 2.6.
|
|
||||||
|
|
||||||
June 8, 2005: Overview of changes from 2.10.x to 2.11.0
|
|
||||||
=======================================================
|
|
||||||
* Replaced a lot of macros by functions
|
|
||||||
* Got rid of dozens of useless files.
|
|
||||||
* libgtop 2.11.x are and will stay API and ABI compatible with 2.10.x, i swear.
|
|
||||||
|
|
||||||
April 10, 2005: Overview of changes from 2.10.0 to 2.10.1
|
|
||||||
=========================================================
|
|
||||||
* Updated i18n.
|
|
||||||
* Little cleanup and fixed gcc-4.0 compilation.
|
|
||||||
* linux: fixed loadavg and uptime if locale != C.
|
|
||||||
Updated siglist.
|
|
||||||
* Tighter libgtop-2.0.pc.
|
|
||||||
|
|
||||||
Mars 7, 2005: Overview of Changes from 2.9.92 to 2.10.0
|
|
||||||
=======================================================
|
|
||||||
* Updated i18n.
|
|
||||||
|
|
||||||
February 28, 2005: Overview of Changes from 2.9.90 to 2.9.92
|
|
||||||
============================================================
|
|
||||||
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
|
|
||||||
* Removed a lot of dead files :)
|
|
||||||
* Don't build&install libgtop_daemon when it's never used.
|
|
||||||
|
|
||||||
February 6, 2004: Overview of Changes from 2.9.90 to 2.9.91
|
|
||||||
==========================================================
|
|
||||||
* Fixed typo in stub.
|
|
||||||
* Updated i18n.
|
|
||||||
|
|
||||||
January 24, 2004: Overview of Changes from 2.9.4 to 2.9.90
|
|
||||||
==========================================================
|
|
||||||
* Updated Linux support.
|
|
||||||
|
|
||||||
January 10, 2004: Overview of Changes from 2.9.3 to 2.9.4
|
|
||||||
=========================================================
|
|
||||||
* New glibtop_proc_open_files nick@reloco.com.ar (Nicolás Lichtmaier).
|
|
||||||
* Updated AIX support (Christophe Belle).
|
|
||||||
|
|
||||||
December 20, 2004: Overview of Changes from 2.9.0 to 2.9.3
|
|
||||||
==========================================================
|
|
||||||
* Removed libgtop_names.
|
|
||||||
* Fixed Argument passing between library and server. #139809.
|
|
||||||
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
|
|
||||||
* glibtop_get_mountlist(False) now ignores 'unknown' fs.
|
|
||||||
|
|
||||||
|
|
||||||
November 30, 2004: Overview of Changes from 2.8.1 to 2.9.0
|
|
||||||
=========================================================
|
|
||||||
* glibtop_get_netload : Fixed segfault on linux with ppp devices.
|
|
||||||
* NEW glibtop_get_netlist : retrieves the list of all available interfaces.
|
|
||||||
* NEW LIBGTOP_CHECK_VERSION(major, minor, micro)
|
|
||||||
* Removed dead kernel patch and implementation.
|
|
||||||
* Cleanups on Linux and Solaris.
|
|
||||||
|
|
||||||
October 11, 2004: Overview of Changes from 2.8.0 to 2.8.1
|
|
||||||
=========================================================
|
|
||||||
* Improved Solaris and AIX support.
|
|
||||||
|
|
||||||
|
|
||||||
August 13, 2004: Overview of Changes from 2.7.92 to 2.8.0
|
|
||||||
=========================================================
|
|
||||||
* No changes
|
|
||||||
|
|
||||||
|
|
||||||
August 30, 2004:
|
|
||||||
===============
|
|
||||||
* Applied some *BSD patches.
|
|
||||||
* Removed old files.
|
|
||||||
|
|
||||||
|
|
||||||
August 15, 2004:
|
|
||||||
===============
|
|
||||||
* Fixed compilation with C89-only compilers and old libc.
|
|
||||||
|
|
||||||
|
|
||||||
August 3, 2004:
|
|
||||||
==============
|
|
||||||
* Some cleanups.
|
|
||||||
* Fixed the behaviour of some linux proc_*() functions.
|
|
||||||
* Updated the documentation.
|
|
||||||
|
|
||||||
|
|
||||||
July 19, 2004: Overview of Changes from 2.6.1 to 2.7.4
|
|
||||||
======================================================
|
|
||||||
* Plenty of code cleanups. Uninlined a lot of functions. ~5-10KB object size
|
|
||||||
reduction.
|
|
||||||
* Glibify a bit more.
|
|
||||||
* API changes:
|
|
||||||
- glibtop_fsusage provides total read and writes since boot_time.
|
|
||||||
- glibtop_netload provides hardware address. IPv6 enable.
|
|
||||||
- Added glibtop_get_proc_argv.
|
|
||||||
|
|
||||||
Work in progress :
|
|
||||||
* Finish glibtop_fsusage implementation for Linux.
|
|
||||||
* Some fuctions don't conform to the documentation, e.g. proctime.
|
|
||||||
|
|
||||||
March 11, 2004:
|
|
||||||
===============
|
|
||||||
|
|
||||||
* Released LibGTop 2.5.99 "Gross Work", dedicated to people who do push-ups
|
|
||||||
in the loos.
|
|
||||||
|
|
||||||
- plenty of code cleanups
|
|
||||||
|
|
||||||
- removed the dependency on libgnome, only glib required now
|
|
||||||
|
|
||||||
- Linux 2.6 support, NetBSD support and better FreeBSD support
|
|
||||||
|
|
||||||
- Make the block size available for filesystem statistics
|
|
||||||
|
|
||||||
February 27, 2001:
|
|
||||||
=================
|
|
||||||
|
|
||||||
* Released LibGTop 1.0.12 "Gerolzhofen".
|
|
||||||
|
|
||||||
- fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).
|
|
||||||
|
|
||||||
- fix for FreeBSD 4.2 from Rolf Grossmann (FreeBSD now uses
|
|
||||||
`_KERNEL' instead of `KERNEL'). Bug #51334.
|
|
||||||
|
|
||||||
- for BSDI, comment out `subnet' field in netload; this should make
|
|
||||||
it compile, but there may be other problems. Bug #13345.
|
|
||||||
|
|
||||||
This release is for GNOME 1.4 Beta2.
|
|
||||||
|
|
||||||
February 14, 2001:
|
|
||||||
=================
|
|
||||||
|
|
||||||
* Released LibGTop 1.0.11 "Jasmin":
|
|
||||||
|
|
||||||
[The release which was supposed to be called "Gerolzhofen".]
|
|
||||||
|
|
||||||
- merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.
|
|
||||||
|
|
||||||
- minor OpenBSD fixes.
|
|
||||||
|
|
||||||
- again a bunch of updated translations.
|
|
||||||
|
|
||||||
Please test the Solaris stuff and report and bugs and
|
|
||||||
problems as soon as possible; I'll make a new release
|
|
||||||
for the 2nd beta of GNOME 1.4 if necessary.
|
|
||||||
|
|
||||||
November 20, 2000:
|
|
||||||
=================
|
|
||||||
|
|
||||||
* Released LibGTop 1.0.10 "November Rain":
|
|
||||||
|
|
||||||
- this release contains a bunch of updated translations.
|
|
||||||
|
|
||||||
May 25, 2000:
|
|
||||||
============
|
|
||||||
|
|
||||||
* Released LibGTop 1.0.9 "Stuttgart".
|
|
||||||
|
|
||||||
(LibGTop 1.0.8 "Frankfurt" was not publically released.)
|
|
||||||
|
|
||||||
February 15, 2000:
|
|
||||||
=================
|
|
||||||
|
|
||||||
* Released LibGTop 1.0.7 "Copenhagen":
|
|
||||||
|
|
||||||
- this is a bug fix release for the GUADEC CD-ROM;
|
|
||||||
it contains fixes in both the Linux and *BSD sysdeps
|
|
||||||
directory.
|
|
||||||
|
|
||||||
October 18, 1999:
|
|
||||||
================
|
|
||||||
|
|
||||||
* Released LibGTop 1.0.6 "October LibGTop":
|
|
||||||
|
|
||||||
- compilation fixes for FreeBSD.
|
|
||||||
- updated reference manual.
|
|
||||||
|
|
||||||
September 29, 1999:
|
|
||||||
==================
|
|
||||||
|
|
||||||
* Released LibGTop 1.0.5.
|
|
||||||
|
|
20
README
20
README
@@ -1,20 +0,0 @@
|
|||||||
LATEST NEWS:
|
|
||||||
===========
|
|
||||||
|
|
||||||
Please look also in the file 'NEWS' for latest news.
|
|
||||||
|
|
||||||
Martin
|
|
||||||
|
|
||||||
|
|
||||||
ChangeLogs:
|
|
||||||
==========
|
|
||||||
|
|
||||||
LibGTop has many ChangeLogs files. The following files are the the
|
|
||||||
most important :
|
|
||||||
|
|
||||||
- ChangeLog is the main ChangeLog.
|
|
||||||
- sysdeps/<arch>/ChangeLog is the ChangeLog for arch specific changes.
|
|
||||||
- sysdeps/common/ChangeLog is the ChangeLog for common changes (shared
|
|
||||||
implementation between archs).
|
|
||||||
|
|
||||||
Benoît
|
|
168
acconfig.h
168
acconfig.h
@@ -1,168 +0,0 @@
|
|||||||
|
|
||||||
/* Define if gethostname () must be declared. */
|
|
||||||
#undef NEED_DECLARATION_GETHOSTNAME
|
|
||||||
|
|
||||||
/* Define if setreuid () must be declared. */
|
|
||||||
#undef NEED_DECLARATION_SETREUID
|
|
||||||
|
|
||||||
/* Define if setregid () must be declared. */
|
|
||||||
#undef NEED_DECLARATION_SETREGID
|
|
||||||
|
|
||||||
/* Define if getpagesize () must be declared. */
|
|
||||||
#undef NEED_DECLARATION_GETPAGESIZE
|
|
||||||
|
|
||||||
/* Define if program_invocation_name must be declared. */
|
|
||||||
#undef NEED_DECLARATION_PROGRAM_INVOCATION_NAME
|
|
||||||
|
|
||||||
@TOP@
|
|
||||||
|
|
||||||
#undef ENABLE_NLS
|
|
||||||
#undef HAVE_CATGETS
|
|
||||||
#undef GETTEXT_PACKAGE
|
|
||||||
#undef HAVE_GETTEXT
|
|
||||||
#undef HAVE_LC_MESSAGES
|
|
||||||
#undef HAVE_STPCPY
|
|
||||||
#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
|
|
||||||
/* Define if you have the Andrew File System. */
|
|
||||||
#undef AFS
|
|
||||||
|
|
||||||
/* Define one of the following to indicate how a program can
|
|
||||||
get a list of mounted filesystems. */
|
|
||||||
|
|
||||||
/* Define if there is no specific function for reading the list of
|
|
||||||
mounted filesystems. fread will be used to read /etc/mnttab. [SVR2] */
|
|
||||||
#undef MOUNTED_FREAD
|
|
||||||
|
|
||||||
/* Define if (like SVR2) there is no specific function for reading the
|
|
||||||
list of mounted filesystems, and your system has these header files:
|
|
||||||
<sys/fstyp.h> and <sys/statfs.h>. [SVR3] */
|
|
||||||
#undef MOUNTED_FREAD_FSTYP
|
|
||||||
|
|
||||||
/* Define if there is a function named getfsstat for reading the list
|
|
||||||
of mounted filesystems. [DEC Alpha running OSF/1] */
|
|
||||||
#undef MOUNTED_GETFSSTAT
|
|
||||||
|
|
||||||
/* Define if there is a function named getmnt for reading the list of
|
|
||||||
mounted filesystems. [Ultrix] */
|
|
||||||
#undef MOUNTED_GETMNT
|
|
||||||
|
|
||||||
/* Define if there is a function named getmntent for reading the list
|
|
||||||
of mounted filesystems, and that function takes a single argument.
|
|
||||||
[4.3BSD, SunOS, HP-UX, Dynix, Irix] */
|
|
||||||
#undef MOUNTED_GETMNTENT1
|
|
||||||
|
|
||||||
/* Define if there is a function named getmntent for reading the list of
|
|
||||||
mounted filesystems, and that function takes two arguments. [SVR4] */
|
|
||||||
#undef MOUNTED_GETMNTENT2
|
|
||||||
|
|
||||||
/* Define if there is a function named getmntinfo for reading the list
|
|
||||||
of mounted filesystems. [4.4BSD] */
|
|
||||||
#undef MOUNTED_GETMNTINFO
|
|
||||||
|
|
||||||
/* Define if there is a function named listmntent that can be used to
|
|
||||||
list all mounted filesystems. [UNICOS] */
|
|
||||||
#undef MOUNTED_LISTMNTENT
|
|
||||||
|
|
||||||
/* Define if there is a function named mntctl that can be used to read
|
|
||||||
the list of mounted filesystems, and there is a system header file
|
|
||||||
that declares `struct vmount.' [AIX] */
|
|
||||||
#undef MOUNTED_VMOUNT
|
|
||||||
|
|
||||||
/* Define one of the following to indicate how a program can obtain
|
|
||||||
filesystems usage information. */
|
|
||||||
|
|
||||||
/* Define if statfs takes 3 args. [DEC Alpha running OSF/1] */
|
|
||||||
#undef STAT_STATFS3_OSF1
|
|
||||||
|
|
||||||
/* Define if there is no specific function for reading filesystems usage
|
|
||||||
information and you have the <sys/filsys.h> header file. [SVR2] */
|
|
||||||
#undef STAT_READ_FILSYS
|
|
||||||
|
|
||||||
/* Define if statfs takes 2 args and struct statfs has a field named f_bsize.
|
|
||||||
[4.3BSD, SunOS 4, HP-UX, AIX PS/2] */
|
|
||||||
#undef STAT_STATFS2_BSIZE
|
|
||||||
|
|
||||||
/* Define if statfs takes 2 args and struct statfs has a field named f_fsize.
|
|
||||||
[4.4BSD, NetBSD] */
|
|
||||||
#undef STAT_STATFS2_FSIZE
|
|
||||||
|
|
||||||
/* Define if statfs takes 2 args and the second argument has
|
|
||||||
type struct fs_data. [Ultrix] */
|
|
||||||
#undef STAT_STATFS2_FS_DATA
|
|
||||||
|
|
||||||
/* Define if statfs takes 4 args. [SVR3, Dynix, Irix, Dolphin] */
|
|
||||||
#undef STAT_STATFS4
|
|
||||||
|
|
||||||
/* Define if there is a function named statvfs. [SVR4] */
|
|
||||||
#undef STAT_STATVFS
|
|
||||||
|
|
||||||
/* Define if the block counts reported by statfs may be truncated to 2GB
|
|
||||||
and the correct values may be stored in the f_spare array.
|
|
||||||
[SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
|
|
||||||
SunOS 4.1.1 seems not to be affected.] */
|
|
||||||
#undef STATFS_TRUNCATES_BLOCK_COUNTS
|
|
||||||
|
|
||||||
|
|
||||||
/* to fix a bug in autoheader on DEC OSF1. */
|
|
||||||
#undef HAVE_PROGRAM_INVOCATION_NAME
|
|
||||||
|
|
||||||
#undef HAVE_SOCKETS
|
|
||||||
#undef HAVE_SOCKADDR_SUN_LEN
|
|
||||||
|
|
||||||
#undef HAVE_LIBJPEG
|
|
||||||
#undef HAVE_LIBGIF
|
|
||||||
#undef HAVE_LIBTIFF
|
|
||||||
#undef HAVE_LIBZ
|
|
||||||
#undef HAVE_LIBPNG
|
|
||||||
#undef HAVE_GMP2_INCLUDE_DIR
|
|
||||||
#undef HAVE_GUILE
|
|
||||||
|
|
||||||
#undef ssize_t
|
|
||||||
#undef guint64
|
|
||||||
#undef int64_t
|
|
||||||
|
|
||||||
#undef HAVE_GLIBTOP_MACHINE_H
|
|
||||||
|
|
||||||
#undef GLIBTOP_GUILE
|
|
||||||
#undef GLIBTOP_GUILE_NAMES
|
|
||||||
#undef GLIBTOP_EXAMPLES
|
|
||||||
#undef GLIBTOP_INODEDB
|
|
||||||
|
|
||||||
#undef NEED_LIBGTOP
|
|
||||||
|
|
||||||
#undef HAVE_LIBGTOP_SMP
|
|
||||||
|
|
||||||
#undef HAVE_XAUTH
|
|
||||||
|
|
||||||
/* Define if your have the I4B package. */
|
|
||||||
#undef HAVE_I4B
|
|
||||||
#undef HAVE_I4B_ACCT
|
|
||||||
|
|
||||||
/* Define to enable debugging. */
|
|
||||||
#undef LIBGTOP_ENABLE_DEBUG
|
|
||||||
#undef LIBGTOP_FATAL_WARNINGS
|
|
||||||
|
|
||||||
/* Same as LINUX_VERSION_CODE either from <linux/version.h> or from
|
|
||||||
* the running kernel (if we don't have configured kernel sources).
|
|
||||||
*/
|
|
||||||
#undef GLIBTOP_LINUX_VERSION_CODE
|
|
||||||
|
|
||||||
/* Solaris release code (eg. 251 for Solaris 2.5.1). */
|
|
||||||
#undef GLIBTOP_SOLARIS_RELEASE
|
|
||||||
|
|
||||||
/* Define if you want to use LibGTop without GNOME. */
|
|
||||||
#undef WITHOUT_GNOME
|
|
||||||
|
|
||||||
/* Define if you have the <procfs.h> header file */
|
|
||||||
#undef HAVE_PROCFS_H
|
|
||||||
|
|
||||||
/* Define if you have the <sys/procfs.h> header file */
|
|
||||||
#undef HAVE_SYS_PROCFS_H
|
|
754
acinclude.m4
754
acinclude.m4
@@ -1,754 +0,0 @@
|
|||||||
dnl This is just copied m4s from need-declaration.m4 gnome-fileutils.m4
|
|
||||||
dnl gnome-supprt-checks.m4 and a little from gnome-libgtop-check.m4
|
|
||||||
dnl and finally libgtop-sysdeps.m4
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl LIBGTOP_CHECK_TYPE
|
|
||||||
dnl
|
|
||||||
dnl Improved version of AC_CHECK_TYPE which takes into account
|
|
||||||
dnl that we need to #include some other header files on some
|
|
||||||
dnl systems to get some types.
|
|
||||||
|
|
||||||
dnl AC_LIBGTOP_CHECK_TYPE(TYPE, DEFAULT)
|
|
||||||
AC_DEFUN([AC_LIBGTOP_CHECK_TYPE],
|
|
||||||
[AC_REQUIRE([AC_HEADER_STDC])dnl
|
|
||||||
AC_MSG_CHECKING(for $1)
|
|
||||||
AC_CACHE_VAL(ac_cv_type_$1,
|
|
||||||
[AC_EGREP_CPP(dnl
|
|
||||||
changequote(<<,>>)dnl
|
|
||||||
<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
|
|
||||||
changequote([,]), [#include <sys/types.h>
|
|
||||||
#if STDC_HEADERS
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* For Tru64 */
|
|
||||||
#ifdef HAVE_SYS_BITYPES_H
|
|
||||||
#include <sys/bitypes.h>
|
|
||||||
#endif
|
|
||||||
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
|
|
||||||
AC_MSG_RESULT($ac_cv_type_$1)
|
|
||||||
if test $ac_cv_type_$1 = no; then
|
|
||||||
AC_DEFINE($1, $2)
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl GNOME_LIBGTOP_TYPES
|
|
||||||
dnl
|
|
||||||
dnl some typechecks for libgtop.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
AC_DEFUN([GNOME_LIBGTOP_TYPES],
|
|
||||||
[
|
|
||||||
AC_CHECK_HEADERS(sys/bitypes.h)
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl See whether we need a declaration for a function.
|
|
||||||
dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES])
|
|
||||||
AC_DEFUN([GCC_NEED_DECLARATION],
|
|
||||||
[AC_MSG_CHECKING([whether $1 must be declared])
|
|
||||||
AC_CACHE_VAL(gcc_cv_decl_needed_$1,
|
|
||||||
[AC_TRY_COMPILE([
|
|
||||||
#include <stdio.h>
|
|
||||||
#ifdef HAVE_STRING_H
|
|
||||||
#include <string.h>
|
|
||||||
#else
|
|
||||||
#ifdef HAVE_STRINGS_H
|
|
||||||
#include <strings.h>
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_STDLIB_H
|
|
||||||
#include <stdlib.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_UNISTD_H
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
$2],
|
|
||||||
[char *(*pfn) = (char *(*)) $1],
|
|
||||||
eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")])
|
|
||||||
if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
gcc_need_declarations="$gcc_need_declarations $1"
|
|
||||||
gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
||||||
AC_DEFINE_UNQUOTED($gcc_tr_decl)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
fi
|
|
||||||
])dnl
|
|
||||||
|
|
||||||
dnl Check multiple functions to see whether each needs a declaration.
|
|
||||||
dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES])
|
|
||||||
AC_DEFUN([GCC_NEED_DECLARATIONS],
|
|
||||||
[for ac_func in $1
|
|
||||||
do
|
|
||||||
GCC_NEED_DECLARATION($ac_func, $2)
|
|
||||||
done
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl GNOME_FILEUTILS_CHECKS
|
|
||||||
dnl
|
|
||||||
dnl checks that are needed for the diskusage applet.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
AC_DEFUN([GNOME_FILEUTILS_CHECKS],
|
|
||||||
[
|
|
||||||
AC_CHECK_HEADERS(fcntl.h sys/param.h sys/statfs.h sys/fstyp.h \
|
|
||||||
mnttab.h mntent.h sys/statvfs.h sys/vfs.h sys/mount.h \
|
|
||||||
sys/filsys.h sys/fs_types.h sys/fs/s5param.h)
|
|
||||||
|
|
||||||
AC_CHECK_FUNCS(bcopy endgrent endpwent fchdir ftime ftruncate \
|
|
||||||
getcwd getmntinfo gettimeofday isascii lchown \
|
|
||||||
listmntent memcpy mkfifo strchr strerror strrchr vprintf)
|
|
||||||
|
|
||||||
dnl Set some defaults when cross-compiling
|
|
||||||
|
|
||||||
if test x$cross_compiling = xyes ; then
|
|
||||||
case "$host_os" in
|
|
||||||
linux*)
|
|
||||||
fu_cv_sys_mounted_getmntent1=yes
|
|
||||||
fu_cv_sys_stat_statfs2_bsize=yes
|
|
||||||
;;
|
|
||||||
sunos*)
|
|
||||||
fu_cv_sys_stat_statfs4=yes
|
|
||||||
;;
|
|
||||||
freebsd*)
|
|
||||||
fu_cv_sys_stat_statfs2_bsize=yes
|
|
||||||
;;
|
|
||||||
osf*)
|
|
||||||
fu_cv_sys_stat_statfs3_osf1=yes
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Determine how to get the list of mounted filesystems.
|
|
||||||
list_mounted_fs=
|
|
||||||
|
|
||||||
# If the getmntent function is available but not in the standard library,
|
|
||||||
# make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
|
|
||||||
AC_FUNC_GETMNTENT
|
|
||||||
|
|
||||||
# This test must precede the ones for getmntent because Unicos-9 is
|
|
||||||
# reported to have the getmntent function, but its support is incompatible
|
|
||||||
# with other getmntent implementations.
|
|
||||||
|
|
||||||
# NOTE: Normally, I wouldn't use a check for system type as I've done for
|
|
||||||
# `CRAY' below since that goes against the whole autoconf philosophy. But
|
|
||||||
# I think there is too great a chance that some non-Cray system has a
|
|
||||||
# function named listmntent to risk the false positive.
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# Cray UNICOS 9
|
|
||||||
AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
|
|
||||||
[fu_cv_sys_mounted_cray_listmntent=no
|
|
||||||
AC_EGREP_CPP(yes,
|
|
||||||
[#ifdef _CRAY
|
|
||||||
yes
|
|
||||||
#endif
|
|
||||||
], [test $ac_cv_func_listmntent = yes \
|
|
||||||
&& fu_cv_sys_mounted_cray_listmntent=yes]
|
|
||||||
)
|
|
||||||
]
|
|
||||||
)
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
|
|
||||||
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_LISTMNTENT)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $ac_cv_func_getmntent = yes; then
|
|
||||||
|
|
||||||
# This system has the getmntent function.
|
|
||||||
# Determine whether it's the one-argument variant or the two-argument one.
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# 4.3BSD, SunOS, HP-UX, Dynix, Irix
|
|
||||||
AC_MSG_CHECKING([for one-argument getmntent function])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
|
|
||||||
[test $ac_cv_header_mntent_h = yes \
|
|
||||||
&& fu_cv_sys_mounted_getmntent1=yes \
|
|
||||||
|| fu_cv_sys_mounted_getmntent1=no])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
|
|
||||||
if test $fu_cv_sys_mounted_getmntent1 = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_GETMNTENT1)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# SVR4
|
|
||||||
AC_MSG_CHECKING([for two-argument getmntent function])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
|
|
||||||
[AC_EGREP_HEADER(getmntent, sys/mnttab.h,
|
|
||||||
fu_cv_sys_mounted_getmntent2=yes,
|
|
||||||
fu_cv_sys_mounted_getmntent2=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
|
|
||||||
if test $fu_cv_sys_mounted_getmntent2 = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_GETMNTENT2)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# DEC Alpha running OSF/1.
|
|
||||||
AC_MSG_CHECKING([for getfsstat function])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_getsstat,
|
|
||||||
[AC_TRY_LINK([
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/mount.h>
|
|
||||||
#include <sys/fs_types.h>],
|
|
||||||
[struct statfs *stats;
|
|
||||||
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
|
|
||||||
fu_cv_sys_mounted_getsstat=yes,
|
|
||||||
fu_cv_sys_mounted_getsstat=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
|
|
||||||
if test $fu_cv_sys_mounted_getsstat = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_GETFSSTAT)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# AIX.
|
|
||||||
AC_MSG_CHECKING([for mntctl function and struct vmount])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
|
|
||||||
[AC_TRY_CPP([#include <fshelp.h>],
|
|
||||||
fu_cv_sys_mounted_vmount=yes,
|
|
||||||
fu_cv_sys_mounted_vmount=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
|
|
||||||
if test $fu_cv_sys_mounted_vmount = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_VMOUNT)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# SVR3
|
|
||||||
AC_MSG_CHECKING([for FIXME existence of three headers])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
|
|
||||||
[AC_TRY_CPP([
|
|
||||||
#include <sys/statfs.h>
|
|
||||||
#include <sys/fstyp.h>
|
|
||||||
#include <mnttab.h>],
|
|
||||||
fu_cv_sys_mounted_fread_fstyp=yes,
|
|
||||||
fu_cv_sys_mounted_fread_fstyp=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
|
|
||||||
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_FREAD_FSTYP)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# 4.4BSD and DEC OSF/1.
|
|
||||||
AC_MSG_CHECKING([for getmntinfo function])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
|
|
||||||
[
|
|
||||||
ok=
|
|
||||||
if test $ac_cv_func_getmntinfo = yes; then
|
|
||||||
AC_EGREP_HEADER(f_type;, sys/mount.h,
|
|
||||||
ok=yes)
|
|
||||||
fi
|
|
||||||
test -n "$ok" \
|
|
||||||
&& fu_cv_sys_mounted_getmntinfo=yes \
|
|
||||||
|| fu_cv_sys_mounted_getmntinfo=no
|
|
||||||
])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
|
|
||||||
if test $fu_cv_sys_mounted_getmntinfo = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_GETMNTINFO)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# FIXME: add a test for netbsd-1.1 here
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# Ultrix
|
|
||||||
AC_MSG_CHECKING([for getmnt function])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
|
|
||||||
[AC_TRY_CPP([
|
|
||||||
#include <sys/fs_types.h>
|
|
||||||
#include <sys/mount.h>],
|
|
||||||
fu_cv_sys_mounted_getmnt=yes,
|
|
||||||
fu_cv_sys_mounted_getmnt=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
|
|
||||||
if test $fu_cv_sys_mounted_getmnt = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_GETMNT)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
# SVR2
|
|
||||||
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_mounted_fread,
|
|
||||||
[AC_TRY_CPP([#include <mnttab.h>],
|
|
||||||
fu_cv_sys_mounted_fread=yes,
|
|
||||||
fu_cv_sys_mounted_fread=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
|
|
||||||
if test $fu_cv_sys_mounted_fread = yes; then
|
|
||||||
list_mounted_fs=found
|
|
||||||
AC_DEFINE(MOUNTED_FREAD)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$list_mounted_fs"; then
|
|
||||||
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
|
|
||||||
# FIXME -- no need to abort building the whole package
|
|
||||||
# Cannot build mountlist.c or anything that needs its functions
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECKING(how to get filesystem space usage)
|
|
||||||
space=no
|
|
||||||
|
|
||||||
# Perform only the link test since it seems there are no variants of the
|
|
||||||
# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
|
|
||||||
# because that got a false positive on SCO OSR5. Adding the declaration
|
|
||||||
# of a `struct statvfs' causes this test to fail (as it should) on such
|
|
||||||
# systems. That system is reported to work fine with STAT_STATFS4 which
|
|
||||||
# is what it gets when this test fails.
|
|
||||||
if test $space = no; then
|
|
||||||
# SVR4
|
|
||||||
AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
|
|
||||||
[AC_TRY_LINK([#include <sys/types.h>
|
|
||||||
#include <sys/statvfs.h>],
|
|
||||||
[struct statvfs fsd; statvfs (0, &fsd);],
|
|
||||||
fu_cv_sys_stat_statvfs=yes,
|
|
||||||
fu_cv_sys_stat_statvfs=no)])
|
|
||||||
if test $fu_cv_sys_stat_statvfs = yes; then
|
|
||||||
space=yes
|
|
||||||
AC_DEFINE(STAT_STATVFS)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $space = no; then
|
|
||||||
# DEC Alpha running OSF/1
|
|
||||||
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
|
|
||||||
[AC_TRY_RUN([
|
|
||||||
#include <sys/param.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/mount.h>
|
|
||||||
int main ()
|
|
||||||
{
|
|
||||||
struct statfs fsd;
|
|
||||||
fsd.f_fsize = 0;
|
|
||||||
return (statfs (".", &fsd, sizeof (struct statfs)));
|
|
||||||
}],
|
|
||||||
fu_cv_sys_stat_statfs3_osf1=yes,
|
|
||||||
fu_cv_sys_stat_statfs3_osf1=no,
|
|
||||||
fu_cv_sys_stat_statfs3_osf1=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
|
|
||||||
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
|
|
||||||
space=yes
|
|
||||||
AC_DEFINE(STAT_STATFS3_OSF1)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $space = no; then
|
|
||||||
# AIX
|
|
||||||
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
|
|
||||||
member (AIX, 4.3BSD)])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
|
|
||||||
[AC_TRY_RUN([
|
|
||||||
#ifdef HAVE_SYS_PARAM_H
|
|
||||||
#include <sys/param.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_MOUNT_H
|
|
||||||
#include <sys/mount.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_VFS_H
|
|
||||||
#include <sys/vfs.h>
|
|
||||||
#endif
|
|
||||||
int main ()
|
|
||||||
{
|
|
||||||
struct statfs fsd;
|
|
||||||
fsd.f_bsize = 0;
|
|
||||||
return (statfs (".", &fsd));
|
|
||||||
}],
|
|
||||||
fu_cv_sys_stat_statfs2_bsize=yes,
|
|
||||||
fu_cv_sys_stat_statfs2_bsize=no,
|
|
||||||
fu_cv_sys_stat_statfs2_bsize=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
|
|
||||||
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
|
|
||||||
space=yes
|
|
||||||
AC_DEFINE(STAT_STATFS2_BSIZE)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $space = no; then
|
|
||||||
# SVR3
|
|
||||||
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
|
|
||||||
[AC_TRY_RUN([#include <sys/types.h>
|
|
||||||
#include <sys/statfs.h>
|
|
||||||
int main ()
|
|
||||||
{
|
|
||||||
struct statfs fsd;
|
|
||||||
return (statfs (".", &fsd, sizeof fsd, 0));
|
|
||||||
}],
|
|
||||||
fu_cv_sys_stat_statfs4=yes,
|
|
||||||
fu_cv_sys_stat_statfs4=no,
|
|
||||||
fu_cv_sys_stat_statfs4=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
|
|
||||||
if test $fu_cv_sys_stat_statfs4 = yes; then
|
|
||||||
space=yes
|
|
||||||
AC_DEFINE(STAT_STATFS4)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $space = no; then
|
|
||||||
# 4.4BSD and NetBSD
|
|
||||||
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
|
|
||||||
member (4.4BSD and NetBSD)])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
|
|
||||||
[AC_TRY_RUN([#include <sys/types.h>
|
|
||||||
#ifdef HAVE_SYS_PARAM_H
|
|
||||||
#include <sys/param.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_MOUNT_H
|
|
||||||
#include <sys/mount.h>
|
|
||||||
#endif
|
|
||||||
int main ()
|
|
||||||
{
|
|
||||||
struct statfs fsd;
|
|
||||||
fsd.f_fsize = 0;
|
|
||||||
return (statfs (".", &fsd));
|
|
||||||
}],
|
|
||||||
fu_cv_sys_stat_statfs2_fsize=yes,
|
|
||||||
fu_cv_sys_stat_statfs2_fsize=no,
|
|
||||||
fu_cv_sys_stat_statfs2_fsize=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
|
|
||||||
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
|
|
||||||
space=yes
|
|
||||||
AC_DEFINE(STAT_STATFS2_FSIZE)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $space = no; then
|
|
||||||
# Ultrix
|
|
||||||
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
|
|
||||||
[AC_TRY_RUN([#include <sys/types.h>
|
|
||||||
#ifdef HAVE_SYS_PARAM_H
|
|
||||||
#include <sys/param.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_MOUNT_H
|
|
||||||
#include <sys/mount.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_FS_TYPES_H
|
|
||||||
#include <sys/fs_types.h>
|
|
||||||
#endif
|
|
||||||
int main ()
|
|
||||||
{
|
|
||||||
struct fs_data fsd;
|
|
||||||
/* Ultrix's statfs returns 1 for success,
|
|
||||||
0 for not mounted, -1 for failure. */
|
|
||||||
return (statfs (".", &fsd) != 1);
|
|
||||||
}],
|
|
||||||
fu_cv_sys_stat_fs_data=yes,
|
|
||||||
fu_cv_sys_stat_fs_data=no,
|
|
||||||
fu_cv_sys_stat_fs_data=no)])
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
|
|
||||||
if test $fu_cv_sys_stat_fs_data = yes; then
|
|
||||||
space=yes
|
|
||||||
AC_DEFINE(STAT_STATFS2_FS_DATA)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $space = no; then
|
|
||||||
# SVR2
|
|
||||||
AC_TRY_CPP([#include <sys/filsys.h>],
|
|
||||||
AC_DEFINE(STAT_READ_FILSYS) space=yes)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$list_mounted_fs" && test $space != no; then
|
|
||||||
DF_PROG="df"
|
|
||||||
# AC_LIBOBJ(fsusage)
|
|
||||||
# AC_LIBOBJ(mountlist)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
|
|
||||||
# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
|
|
||||||
# enable the work-around code in fsusage.c.
|
|
||||||
AC_MSG_CHECKING([for statfs that truncates block counts])
|
|
||||||
AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
|
|
||||||
[AC_TRY_COMPILE([
|
|
||||||
#if !defined(sun) && !defined(__sun)
|
|
||||||
choke -- this is a workaround for a Sun-specific problem
|
|
||||||
#endif
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/vfs.h>],
|
|
||||||
[struct statfs t; long c = *(t.f_spare);],
|
|
||||||
fu_cv_sys_truncating_statfs=yes,
|
|
||||||
fu_cv_sys_truncating_statfs=no,
|
|
||||||
)])
|
|
||||||
if test $fu_cv_sys_truncating_statfs = yes; then
|
|
||||||
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS)
|
|
||||||
fi
|
|
||||||
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
|
|
||||||
|
|
||||||
AC_CHECKING(for AFS)
|
|
||||||
test -d /afs && AC_DEFINE(AFS)
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl This file is intended for use both internally in libgtop and in every program
|
|
||||||
dnl that wants to use it.
|
|
||||||
dnl
|
|
||||||
dnl It defines the following variables:
|
|
||||||
dnl
|
|
||||||
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
|
||||||
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
|
|
||||||
dnl their own header file. In this case we need to
|
|
||||||
dnl define 'HAVE_GLIBTOP_MACHINE_H'.
|
|
||||||
dnl * 'libgtop_need_server' - is the server really needed? Defines 'NEED_LIBGTOP'
|
|
||||||
dnl if true; defines conditional 'NEED_LIBGTOP'.
|
|
||||||
|
|
||||||
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
||||||
|
|
||||||
AC_SUBST(libgtop_sysdeps_dir)
|
|
||||||
AC_SUBST(libgtop_use_machine_h)
|
|
||||||
AC_SUBST(libgtop_need_server)
|
|
||||||
|
|
||||||
AC_ARG_WITH(libgtop-examples,
|
|
||||||
[ --with-libgtop-examples Build the libgtop examples (default=no)],[
|
|
||||||
build_examples="$withval"], [build_examples=no])
|
|
||||||
|
|
||||||
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(hacker-mode,
|
|
||||||
[ --enable-hacker-mode Enable building of unstable sysdeps],
|
|
||||||
[hacker_mode="$enableval"], [hacker_mode=no])
|
|
||||||
|
|
||||||
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
|
|
||||||
|
|
||||||
if test x$hacker_mode = xyes ; then
|
|
||||||
LIBGTOP_HACKER_TESTS
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH(libgtop-smp,
|
|
||||||
[ --with-libgtop-smp Enable SMP support (default-auto)],[
|
|
||||||
libgtop_smp="$withval"],[libgtop_smp=auto])
|
|
||||||
|
|
||||||
if test $libgtop_smp = auto ; then
|
|
||||||
AC_MSG_CHECKING(whether to enable SMP support)
|
|
||||||
case "$host_os" in
|
|
||||||
linux*)
|
|
||||||
libgtop_smp=yes
|
|
||||||
;;
|
|
||||||
aix*)
|
|
||||||
libgtop_smp=yes
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
libgtop_smp=no
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_MSG_RESULT($libgtop_smp)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $libgtop_smp = yes ; then
|
|
||||||
AC_DEFINE(HAVE_LIBGTOP_SMP)
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for libgtop sysdeps directory)
|
|
||||||
|
|
||||||
case "$host_os" in
|
|
||||||
linux*)
|
|
||||||
libgtop_sysdeps_dir=linux
|
|
||||||
libgtop_use_machine_h=no
|
|
||||||
libgtop_have_sysinfo=yes
|
|
||||||
libgtop_need_server=no
|
|
||||||
;;
|
|
||||||
freebsd*|netbsd*|openbsd*|bsdi*)
|
|
||||||
libgtop_sysdeps_dir=freebsd
|
|
||||||
libgtop_use_machine_h=yes
|
|
||||||
libgtop_need_server=yes
|
|
||||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
|
||||||
;;
|
|
||||||
solaris*)
|
|
||||||
libgtop_sysdeps_dir=solaris
|
|
||||||
libgtop_use_machine_h=yes
|
|
||||||
libgtop_need_server=yes
|
|
||||||
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
|
||||||
;;
|
|
||||||
aix*)
|
|
||||||
libgtop_sysdeps_dir=aix
|
|
||||||
libgtop_use_machine_h=yes
|
|
||||||
libgtop_need_server=yes
|
|
||||||
libgtop_have_sysinfo=yes
|
|
||||||
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if test x$hacker_mode = xyes ; then
|
|
||||||
case "$host_os" in
|
|
||||||
sunos4*)
|
|
||||||
#Please note that this port is obsolete and not working at
|
|
||||||
#all. It is only useful for people who want to fix it ... :-)
|
|
||||||
libgtop_sysdeps_dir=sun4
|
|
||||||
libgtop_use_machine_h=yes
|
|
||||||
libgtop_need_server=yes
|
|
||||||
;;
|
|
||||||
osf*)
|
|
||||||
libgtop_sysdeps_dir=osf1
|
|
||||||
libgtop_use_machine_h=yes
|
|
||||||
libgtop_need_server=yes
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
libgtop_sysdeps_dir=stub
|
|
||||||
libgtop_use_machine_h=no
|
|
||||||
libgtop_need_server=no
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
libgtop_sysdeps_dir=stub
|
|
||||||
libgtop_use_machine_h=no
|
|
||||||
libgtop_need_server=no
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
test -z "$libgtop_postinstall" && libgtop_postinstall=:
|
|
||||||
|
|
||||||
AC_MSG_RESULT($libgtop_sysdeps_dir)
|
|
||||||
|
|
||||||
AC_SUBST(libgtop_sysdeps_dir)
|
|
||||||
AC_SUBST(libgtop_postinstall)
|
|
||||||
AC_SUBST(libgtop_have_sysinfo)
|
|
||||||
|
|
||||||
case "$host_os" in
|
|
||||||
*bsd*)
|
|
||||||
AC_CHECK_HEADERS(net/if_var.h)
|
|
||||||
AC_MSG_CHECKING([for I4B])
|
|
||||||
AC_TRY_COMPILE([
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
|
|
||||||
#include <net/if.h>
|
|
||||||
#include <net/if_types.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_NET_IF_VAR_H
|
|
||||||
#include <net/if_var.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <net/netisr.h>
|
|
||||||
#include <net/route.h>
|
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
|
||||||
#include <net/if_sppp.h>
|
|
||||||
#else
|
|
||||||
#include <i4b/sppp/if_sppp.h>
|
|
||||||
#endif
|
|
||||||
],[
|
|
||||||
size_t size = sizeof (struct sppp);
|
|
||||||
], have_i4b=yes, have_i4b=no)
|
|
||||||
AC_MSG_RESULT($have_i4b)
|
|
||||||
if test x$have_i4b = xyes; then
|
|
||||||
AC_DEFINE(HAVE_I4B)
|
|
||||||
AC_MSG_CHECKING([for I4B accounting])
|
|
||||||
AC_TRY_COMPILE([
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
|
|
||||||
#include <net/if.h>
|
|
||||||
#include <net/if_types.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_NET_IF_VAR_H
|
|
||||||
#include <net/if_var.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <net/netisr.h>
|
|
||||||
#include <net/route.h>
|
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
|
||||||
#include <net/if_sppp.h>
|
|
||||||
#else
|
|
||||||
#include <i4b/sppp/if_sppp.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <machine/i4b_acct.h>
|
|
||||||
],[
|
|
||||||
size_t size = sizeof (struct i4bisppp_softc);
|
|
||||||
], have_i4b_acct=yes, have_i4b_acct=no)
|
|
||||||
AC_MSG_RESULT($have_i4b_acct)
|
|
||||||
if test x$have_i4b_acct = xyes ; then
|
|
||||||
AC_DEFINE(HAVE_I4B_ACCT)
|
|
||||||
else
|
|
||||||
AC_WARN([
|
|
||||||
*** I4B accounting disabled - you won't get any PPP statistics.
|
|
||||||
*** Read "misc/i4b_acct.txt" in the LibGTop source directory
|
|
||||||
*** to see how to enable it.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
linux*)
|
|
||||||
os_major_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
|
||||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
|
||||||
os_minor_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
|
||||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
|
||||||
os_micro_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
|
||||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
|
||||||
os_version_expr="$os_major_version 65536 * $os_minor_version 256 * + $os_micro_version + p q"
|
|
||||||
|
|
||||||
AC_CHECK_HEADERS(linux/version.h, have_linux_version_h=yes,
|
|
||||||
have_linux_version_h=no)
|
|
||||||
|
|
||||||
if test x$have_linux_version_h = xyes ; then
|
|
||||||
version_code=`cat /usr/include/linux/version.h | \
|
|
||||||
grep \#define | grep LINUX_VERSION_CODE`
|
|
||||||
os_version_code=`echo $version_code | \
|
|
||||||
sed 's/^.*LINUX_VERSION_CODE[[ \t]]*\([[0-9]]*\).*$/\1/'`
|
|
||||||
else
|
|
||||||
os_version_code=`echo "$os_version_expr" | dc`
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for Linux kernel version code)
|
|
||||||
AC_DEFINE_UNQUOTED(GLIBTOP_LINUX_VERSION_CODE, $os_version_code)
|
|
||||||
AC_MSG_RESULT($os_version_code)
|
|
||||||
;;
|
|
||||||
solaris*)
|
|
||||||
os_major_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\1/'`
|
|
||||||
os_minor_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\2/'`
|
|
||||||
os_micro_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\3/'`
|
|
||||||
test -z "$os_micro_version" && os_micro_version=0
|
|
||||||
os_version_expr="$os_major_version 100 * $os_minor_version 10 * + $os_micro_version + p q"
|
|
||||||
os_version_code=`echo "$os_version_expr" | dc`
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for Solaris release code)
|
|
||||||
AC_DEFINE_UNQUOTED(GLIBTOP_SOLARIS_RELEASE, $os_version_code)
|
|
||||||
AC_MSG_RESULT($os_version_code)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
|
|
||||||
AC_MSG_RESULT($libgtop_use_machine_h)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(whether we need libgtop)
|
|
||||||
AC_MSG_RESULT($libgtop_need_server)
|
|
||||||
|
|
||||||
if test x$libgtop_need_server = xyes ; then
|
|
||||||
AC_DEFINE(NEED_LIBGTOP)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$libgtop_use_machine_h = xyes ; then
|
|
||||||
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H)
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
21
autogen.sh
21
autogen.sh
@@ -1,21 +0,0 @@
|
|||||||
#!/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
|
|
||||||
}
|
|
||||||
|
|
||||||
which gnome-autogen.sh || {
|
|
||||||
echo "You need to install gnome-common from the GNOME CVS"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
USE_GNOME2_MACROS=1 . gnome-autogen.sh
|
|
410
configure.in
410
configure.in
@@ -1,410 +0,0 @@
|
|||||||
dnl
|
|
||||||
dnl Configure script for the Gnome library
|
|
||||||
dnl
|
|
||||||
|
|
||||||
AC_INIT(copyright.txt)
|
|
||||||
AM_CONFIG_HEADER(config.h)
|
|
||||||
AC_CANONICAL_SYSTEM
|
|
||||||
|
|
||||||
LIBGTOP_MAJOR_VERSION=2
|
|
||||||
LIBGTOP_MINOR_VERSION=11
|
|
||||||
LIBGTOP_MICRO_VERSION=2
|
|
||||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
|
||||||
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
|
|
||||||
|
|
||||||
dnl increment if the interface has additions, changes, removals.
|
|
||||||
LIBGTOP_CURRENT=6
|
|
||||||
|
|
||||||
dnl increment any time the source changes; set to
|
|
||||||
dnl 0 if you increment CURRENT
|
|
||||||
LIBGTOP_REVISION=0
|
|
||||||
|
|
||||||
dnl increment if any interfaces have been added; set to 0
|
|
||||||
dnl if any interfaces have been removed. removal has
|
|
||||||
dnl precedence over adding, so set to 0 if both happened.
|
|
||||||
LIBGTOP_AGE=1
|
|
||||||
|
|
||||||
# you can set this to `-snap' for instance to create
|
|
||||||
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
|
||||||
LIBGTOP_VERSION_SUFFIX=
|
|
||||||
|
|
||||||
# Increase each time you change the client/server protocol.
|
|
||||||
LIBGTOP_SERVER_VERSION=5
|
|
||||||
|
|
||||||
# Version code calculation
|
|
||||||
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_VERSION`
|
|
||||||
|
|
||||||
AC_SUBST(LIBGTOP_MAJOR_VERSION)
|
|
||||||
AC_SUBST(LIBGTOP_MINOR_VERSION)
|
|
||||||
AC_SUBST(LIBGTOP_MICRO_VERSION)
|
|
||||||
AC_SUBST(LIBGTOP_INTERFACE_AGE)
|
|
||||||
AC_SUBST(LIBGTOP_BINARY_AGE)
|
|
||||||
AC_SUBST(LIBGTOP_SERVER_VERSION)
|
|
||||||
AC_SUBST(LIBGTOP_VERSION)
|
|
||||||
AC_SUBST(LIBGTOP_VERSION_CODE)
|
|
||||||
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
|
|
||||||
|
|
||||||
# libtool versioning
|
|
||||||
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
|
|
||||||
LT_CURRENT=$LIBGTOP_CURRENT
|
|
||||||
LT_REVISION=$LIBGTOP_REVISION
|
|
||||||
LT_AGE=$LIBGTOP_AGE
|
|
||||||
LT_VERSION_INFO="-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}"
|
|
||||||
AC_SUBST(LT_VERSION_INFO)
|
|
||||||
AC_SUBST(LT_RELEASE)
|
|
||||||
AC_SUBST(LT_CURRENT)
|
|
||||||
AC_SUBST(LT_REVISION)
|
|
||||||
AC_SUBST(LT_AGE)
|
|
||||||
|
|
||||||
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
|
|
||||||
|
|
||||||
AC_ISC_POSIX
|
|
||||||
AC_PROG_CC
|
|
||||||
AC_STDC_HEADERS
|
|
||||||
dnl AC_ARG_PROGRAM
|
|
||||||
|
|
||||||
dnl We need this at some places.
|
|
||||||
libgtop_top_builddir=`pwd`
|
|
||||||
AC_SUBST(libgtop_top_builddir)
|
|
||||||
|
|
||||||
dnl We don't use `AC_PROG_AWK' since it checks for mawk first which
|
|
||||||
dnl does not work for libgtop.
|
|
||||||
AC_CHECK_PROGS(AWK, gawk awk, )
|
|
||||||
test -z "$AWK" && AC_MSG_ERROR([Sorry, you need a working awk interpreter.])
|
|
||||||
|
|
||||||
dnl Most people should have a working perl interpreter on their system
|
|
||||||
AC_CHECK_PROGS(PERL, perl5 perl)
|
|
||||||
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
|
|
||||||
|
|
||||||
AC_CHECK_TOOL(CC,gcc)
|
|
||||||
AC_CHECK_TOOL(RANLIB,ranlib)
|
|
||||||
AC_CHECK_TOOL(AS,as)
|
|
||||||
AC_CHECK_TOOL(AR,ar)
|
|
||||||
|
|
||||||
export CC CXX RANLIB LD AS AR
|
|
||||||
|
|
||||||
AC_PROG_INSTALL
|
|
||||||
AC_PROG_LN_S
|
|
||||||
AC_PROG_MAKE_SET
|
|
||||||
|
|
||||||
export cross_compiling
|
|
||||||
|
|
||||||
AM_PROG_LIBTOOL
|
|
||||||
|
|
||||||
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
|
||||||
|
|
||||||
GNOME_LIBGTOP_SYSDEPS
|
|
||||||
GNOME_LIBGTOP_TYPES
|
|
||||||
|
|
||||||
AC_ARG_WITH(libgtop-inodedb,
|
|
||||||
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
|
|
||||||
[build_inodedb="$withval"], [build_inodedb=no])
|
|
||||||
|
|
||||||
LIBGTOP_EXTRA_LIBS=
|
|
||||||
|
|
||||||
if test x$build_inodedb = xyes ; then
|
|
||||||
AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no)
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
|
|
||||||
|
|
||||||
if test x$build_inodedb = xyes ; then
|
|
||||||
AC_DEFINE(GLIBTOP_INODEDB)
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if test x$libgtop_smp = xyes ; then
|
|
||||||
smp_examples='smp'
|
|
||||||
smp_static_examples='smp_static'
|
|
||||||
else
|
|
||||||
smp_examples=
|
|
||||||
smp_static_examples=
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$enable_static" != xno; then
|
|
||||||
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $smp_static_examples pprint_static procargs_static df_static netlist netlist_static openfiles_static"
|
|
||||||
else
|
|
||||||
static_targets=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
|
|
||||||
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
|
|
||||||
|
|
||||||
AC_SUBST(static_targets)
|
|
||||||
AC_SUBST(smp_examples)
|
|
||||||
|
|
||||||
GLIB_REQUIRED=2.6.0
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
|
||||||
AC_SUBST(GLIB_CFLAGS)
|
|
||||||
AC_SUBST(GLIB_LIBS)
|
|
||||||
|
|
||||||
AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no])
|
|
||||||
AC_MSG_CHECKING(for popt.h)
|
|
||||||
if test x$POPT = xyes ; then
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([libgtop requires the popt development libraries])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
|
|
||||||
if test x$HAVE_IFADDRS_H = xyes ; then
|
|
||||||
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
|
||||||
fi
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
dnl dlopen() and dlsym()
|
|
||||||
DL_LIB=
|
|
||||||
AC_CHECK_FUNCS(dlopen,,[
|
|
||||||
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
|
|
||||||
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
|
|
||||||
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
|
|
||||||
])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
oLIBS="$LIBS"
|
|
||||||
LIBS="$LIBS $DL_LIB"
|
|
||||||
AC_CHECK_FUNCS(dlerror,,)
|
|
||||||
LIBS="$oLIBS"
|
|
||||||
AC_SUBST(DL_LIB)
|
|
||||||
|
|
||||||
dnl Linux
|
|
||||||
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
|
|
||||||
if test x$HAVE_ISDN_H = xyes ; then
|
|
||||||
AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl AIX
|
|
||||||
AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the 'vmgetinfo' function in libperfstat])
|
|
||||||
AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO))
|
|
||||||
|
|
||||||
dnl Solaris
|
|
||||||
case "$host_os" in
|
|
||||||
solaris*)
|
|
||||||
AC_CHECK_LIB(kstat, kstat_open)
|
|
||||||
AC_CHECK_FUNCS(getloadavg swapctl)
|
|
||||||
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
|
|
||||||
|
|
||||||
|
|
||||||
dnl Some versions of Solaris require -lelf for -lkvm
|
|
||||||
AC_CHECK_LIB(kvm, kvm_open,[
|
|
||||||
LIBS="-lkvm $LIBS"
|
|
||||||
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
|
|
||||||
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
|
|
||||||
[ac_save_LIBS="$LIBS"
|
|
||||||
LIBS="-lkvm -lelf $LIBS"
|
|
||||||
AC_TRY_LINK([char kvm_open();], [kvm_open()],
|
|
||||||
ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
|
|
||||||
LIBS="$ac_save_LIBS"
|
|
||||||
])
|
|
||||||
if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
LIBS="-lkvm -lelf $LIBS"
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
dnl For DEC OSF1
|
|
||||||
AC_CHECK_LIB(mach, vm_statistics)
|
|
||||||
|
|
||||||
dnl For some broken libc5 systems (Debian 1.3)
|
|
||||||
saved_CFLAGS=$CFLAGS
|
|
||||||
CFLAGS="$CFLAGS -D_GNU_SOURCE"
|
|
||||||
GCC_NEED_DECLARATION(program_invocation_name, [
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
])
|
|
||||||
|
|
||||||
CFLAGS=$saved_CFLAGS
|
|
||||||
|
|
||||||
AC_CHECK_FUNC(socket,
|
|
||||||
[AC_CHECK_HEADER(netinet/in.h,
|
|
||||||
[AC_CHECK_HEADER(arpa/inet.h, [
|
|
||||||
AC_DEFINE(HAVE_SOCKETS)
|
|
||||||
AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
|
|
||||||
AC_TRY_LINK([
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/un.h>
|
|
||||||
],
|
|
||||||
[static struct sockaddr_un x; x.sun_len = 1;],
|
|
||||||
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
|
|
||||||
[AC_MSG_RESULT(no)])])])])
|
|
||||||
|
|
||||||
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 ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id it ja ko lt lv mi mk ml mn ms nb ne nl nn no or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sv ta tr uk vi xh zh_CN zh_TW"
|
|
||||||
|
|
||||||
GETTEXT_PACKAGE=libgtop-2.0
|
|
||||||
AC_SUBST(GETTEXT_PACKAGE)
|
|
||||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
|
|
||||||
|
|
||||||
AM_GLIB_GNU_GETTEXT
|
|
||||||
|
|
||||||
AC_PATH_XTRA
|
|
||||||
|
|
||||||
dnl For Solaris
|
|
||||||
dnl Please don't move this before AC_PATH_XTRA
|
|
||||||
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
|
|
||||||
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
|
|
||||||
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
|
|
||||||
|
|
||||||
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
|
|
||||||
dnl So we use the following instead.
|
|
||||||
dnl XE_SPACE(var, words)
|
|
||||||
define([XE_SPACE],[
|
|
||||||
T=""
|
|
||||||
for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
|
|
||||||
$1="$T"
|
|
||||||
])dnl
|
|
||||||
|
|
||||||
dnl Autodetect Xauth
|
|
||||||
dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
|
|
||||||
saved_CPPFLAGS="$CPPFLAGS"
|
|
||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
|
||||||
test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
|
|
||||||
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
|
|
||||||
test -z "$with_xauth" && with_xauth=yes
|
|
||||||
if test "$with_xauth" = "yes"; then
|
|
||||||
AC_DEFINE(HAVE_XAUTH)
|
|
||||||
XE_SPACE(libs_xauth, $X_LIBS -lXau)
|
|
||||||
fi
|
|
||||||
CPPFLAGS="$saved_CPPFLAGS"
|
|
||||||
AC_SUBST(libs_xauth)
|
|
||||||
|
|
||||||
dnl For diskusage stuff
|
|
||||||
GNOME_FILEUTILS_CHECKS
|
|
||||||
|
|
||||||
dnl Debugging
|
|
||||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
|
|
||||||
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
|
|
||||||
|
|
||||||
dnl These definitions are expanded in make.
|
|
||||||
LIBGTOP_LIBS='-L$(libdir)'
|
|
||||||
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
|
|
||||||
|
|
||||||
if test x$libgtop_use_machine_h = xyes ; then
|
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$build_inodedb = xyes ; then
|
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$libgtop_smp = xyes ; then
|
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$libgtop_have_sysinfo = xyes ; then
|
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS"
|
|
||||||
|
|
||||||
LIBGTOP_BINDIR='$(bindir)'
|
|
||||||
LIBGTOP_SERVER='$(bindir)/libgtop_server2'
|
|
||||||
|
|
||||||
sysdeps_dir="$libgtop_sysdeps_dir"
|
|
||||||
AC_SUBST(sysdeps_dir)
|
|
||||||
|
|
||||||
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
|
|
||||||
LIBGTOP_EXTRA_LIBS="$libs_xauth"
|
|
||||||
else
|
|
||||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
|
|
||||||
|
|
||||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
|
||||||
|
|
||||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
|
||||||
|
|
||||||
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
|
||||||
|
|
||||||
AC_SUBST(machine_incs)
|
|
||||||
|
|
||||||
if test "$GCC" = "yes" ; then
|
|
||||||
CFLAGS="\
|
|
||||||
-Winline \
|
|
||||||
-Wall \
|
|
||||||
-std=gnu89 \
|
|
||||||
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
|
||||||
-Wnested-externs -Wpointer-arith \
|
|
||||||
-Wcast-align -Wsign-compare \
|
|
||||||
-fno-strict-aliasing \
|
|
||||||
$CFLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
|
|
||||||
|
|
||||||
AC_SUBST(INCLUDES)
|
|
||||||
|
|
||||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
|
||||||
AC_SUBST(GLIB_LIBS)
|
|
||||||
AC_SUBST(LIBGTOP_LIBS)
|
|
||||||
AC_SUBST(LIBGTOP_INCS)
|
|
||||||
AC_SUBST(LIBGTOP_BINDIR)
|
|
||||||
AC_SUBST(LIBGTOP_SERVER)
|
|
||||||
|
|
||||||
if test x$libgtop_need_server = xyes ; then
|
|
||||||
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
|
|
||||||
server_programs='libgtop_server2'
|
|
||||||
else
|
|
||||||
sysdeps_suid_lib=
|
|
||||||
server_programs=
|
|
||||||
fi
|
|
||||||
AC_SUBST(sysdeps_suid_lib)
|
|
||||||
AC_SUBST(server_programs)
|
|
||||||
|
|
||||||
AC_OUTPUT([
|
|
||||||
Makefile
|
|
||||||
libgtop.spec
|
|
||||||
po/Makefile.in
|
|
||||||
misc/Makefile
|
|
||||||
include/Makefile
|
|
||||||
include/glibtop/Makefile
|
|
||||||
sysdeps/Makefile
|
|
||||||
sysdeps/common/Makefile
|
|
||||||
sysdeps/stub/Makefile
|
|
||||||
sysdeps/stub_suid/Makefile
|
|
||||||
sysdeps/sun4/Makefile
|
|
||||||
sysdeps/osf1/Makefile
|
|
||||||
sysdeps/linux/Makefile
|
|
||||||
sysdeps/freebsd/Makefile
|
|
||||||
sysdeps/solaris/Makefile
|
|
||||||
sysdeps/aix/Makefile
|
|
||||||
src/Makefile
|
|
||||||
src/daemon/Makefile
|
|
||||||
src/inodedb/Makefile
|
|
||||||
lib/Makefile
|
|
||||||
examples/Makefile
|
|
||||||
doc/Makefile
|
|
||||||
libgtop-2.0.pc
|
|
||||||
libgtopconfig.h
|
|
||||||
])
|
|
@@ -1,22 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 2.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
Contributed by Benoît Dejean <TazForEver@dlfp.org>, 2004.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
9
debian/.cvsignore
vendored
9
debian/.cvsignore
vendored
@@ -1,9 +0,0 @@
|
|||||||
control
|
|
||||||
rules
|
|
||||||
build
|
|
||||||
tmp
|
|
||||||
*.postinst
|
|
||||||
*.debhelper
|
|
||||||
*.files
|
|
||||||
files
|
|
||||||
substvars
|
|
9
debian/README.Debian
vendored
9
debian/README.Debian
vendored
@@ -1,9 +0,0 @@
|
|||||||
LibGTop CVS snapshots for Debian
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
This is a debian package made from a stable release of LibGTop, but it
|
|
||||||
should be considered "unofficial" since I'm not a Debian Maintainer.
|
|
||||||
|
|
||||||
|
|
||||||
Martin Baulig <martin@home-of-linux.org>, Wed, 16 Feb 2000 16:40:50 +0100
|
|
||||||
|
|
121
debian/changelog
vendored
121
debian/changelog
vendored
@@ -1,121 +0,0 @@
|
|||||||
libgtop (1.0.7-1) unstable; urgency=low
|
|
||||||
* New upstream source (1.0.7 "Copenhagen" release)
|
|
||||||
* Non-maintainer upload; since I'm not a Debian maintainer, this is some
|
|
||||||
kind of "unofficial" debian package for LibGTop 1.0.7 - but I think it
|
|
||||||
can be considered stable and working.
|
|
||||||
|
|
||||||
-- Martin Baulig <martin@home-of-linux.org> Wed, 16 Feb 2000 16:40:50 +0100
|
|
||||||
|
|
||||||
libgtop (1.0.6-1) unstable; urgency=low
|
|
||||||
* New upstream source
|
|
||||||
|
|
||||||
-- Ian Lynagh (wibble) <igloo@debian.org> Wed, 20 Oct 1999 16:16:27 +0100
|
|
||||||
|
|
||||||
libgtop (1.0.4.5pre1-1) frozen unstable; urgency=low
|
|
||||||
* New upstream source (1.0.5 pre release)
|
|
||||||
* Maintainer e-mail address changed to igloo@debian.org
|
|
||||||
|
|
||||||
-- Ian Lynagh (wibble) <igloo@debian.org> Thu, 30 Sep 1999 22:37:33 +0100
|
|
||||||
|
|
||||||
libgtop (1.0.4-1) frozen unstable; urgency=low
|
|
||||||
* New upstream source
|
|
||||||
* Removed nasty sed stuff from the rules in favour of make install prefix=...
|
|
||||||
* Added .la files to libgtop-dev
|
|
||||||
* Added info to the copyright file
|
|
||||||
* Wrote simple man page for libgtop-config.
|
|
||||||
* Recompiled with later debhelper so docs go to /usr/share/doc as per FHS
|
|
||||||
* changed infodir to /usr/share/info
|
|
||||||
|
|
||||||
-- Ian Lynagh (wibble) <igloo@debian.org> Mon, 20 Sep 1999 00:06:16 +0100
|
|
||||||
|
|
||||||
libgtop (1.0.1-2) frozen unstable; urgency=low
|
|
||||||
|
|
||||||
* Didn't actually use wildcards in libgtop-dev.files because tar complained
|
|
||||||
* Set section names properly
|
|
||||||
|
|
||||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
|
|
||||||
|
|
||||||
libgtop (1.0.1-1) frozen unstable; urgency=low
|
|
||||||
|
|
||||||
* SONAME changed back to 1. Fun fun fun.
|
|
||||||
* Added RELNOTES-1.0 to debian/libgtop1.docs and debian/rules
|
|
||||||
* Changed libgtop1.README.Debian to at least make sense
|
|
||||||
* Used wildcards in libgtop-dev.files
|
|
||||||
|
|
||||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
|
|
||||||
|
|
||||||
libgtop (1.0.1-0.1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Non-maintainer upload for GNOME 1.0
|
|
||||||
|
|
||||||
-- Jules Bean <jules@debian.org> Thu, 4 Mar 1999 22:34:12 +0000
|
|
||||||
|
|
||||||
libgtop (0.99.2-0.2) unstable; urgency=low
|
|
||||||
|
|
||||||
* Oops, forgot some files.
|
|
||||||
|
|
||||||
-- Jim Pick <jim@jimpick.com> Sun, 24 Jan 1999 02:12:24 -0800
|
|
||||||
|
|
||||||
libgtop (0.99.2-0.1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Non-maintainer upload.
|
|
||||||
* New upstream source.
|
|
||||||
* SONAME is now 0 again. Hmmm.
|
|
||||||
|
|
||||||
-- Jim Pick <jim@jimpick.com> Sat, 23 Jan 1999 20:21:38 -0800
|
|
||||||
|
|
||||||
libgtop (0.26.2-4) frozen unstable; urgency=low
|
|
||||||
|
|
||||||
* Upstream changelog installed as changelog
|
|
||||||
* debian/shlibs.local removed in favour of the LD_LIBRARY_PATH line
|
|
||||||
|
|
||||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Thu, 26 Nov 1998 17:20:24 +0000
|
|
||||||
|
|
||||||
libgtop (0.26.2-3.1) frozen unstable; urgency=low
|
|
||||||
|
|
||||||
* Non-maintainer upload.
|
|
||||||
* Upload to frozen, corrects Bug #29110, Bug #29111, which were
|
|
||||||
already fixed.
|
|
||||||
* Noticed that guile option is no longer being used, so I removed
|
|
||||||
the dependency.
|
|
||||||
* Added changelog (to fix lintian error).
|
|
||||||
* Changed control file to use macro substitutions. This is a much
|
|
||||||
less error-prone way of building dependencies than doing them by
|
|
||||||
hand.
|
|
||||||
* Added -V option to dh_makeshlibs to put version number on shlibs
|
|
||||||
file.
|
|
||||||
* Added shlibs.local file with null entry for "libgtop 1" (and
|
|
||||||
others) so libgtop1 doesn't declare a relationship on itself.
|
|
||||||
|
|
||||||
-- Jim Pick <jim@jimpick.com> Wed, 25 Nov 1998 12:03:12 -0800
|
|
||||||
|
|
||||||
libgtop (0.26.2-3) frozen unstable; urgency=low
|
|
||||||
|
|
||||||
* libgtop0 changed to libgtop1
|
|
||||||
* Added an #ifndef strstr around the prototype of strstr in
|
|
||||||
sysdeps/common/mountlist.c as this is a macro under glibc 2.1.
|
|
||||||
|
|
||||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 8 Nov 1998 12:06:09 +0000
|
|
||||||
|
|
||||||
libgtop (0.26.2-2) frozen unstable; urgency=low
|
|
||||||
|
|
||||||
* Fixes minor bugs in debian/rules
|
|
||||||
|
|
||||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Fri, 16 Oct 1998 05:30:16 +0200
|
|
||||||
|
|
||||||
libgtop (0.26.2-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream version
|
|
||||||
* Non-maintainer release
|
|
||||||
|
|
||||||
-- Martin Schulze <joey@finlandia.infodrom.north.de> Fri, 16 Oct 1998 05:30:16 +0200
|
|
||||||
|
|
||||||
libgtop (0.26.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Initial Release.
|
|
||||||
|
|
||||||
-- Jim Pick <jim@jimpick.com> Thu, 24 Sep 1998 18:42:48 -0700
|
|
||||||
|
|
||||||
Local variables:
|
|
||||||
mode: debian-changelog
|
|
||||||
End:
|
|
33
debian/control.in
vendored
33
debian/control.in
vendored
@@ -1,33 +0,0 @@
|
|||||||
Source: libgtop@SUFFIX@
|
|
||||||
Maintainer: Martin Baulig <martin@home-of-linux.org>
|
|
||||||
Section: libs
|
|
||||||
Priority: optional
|
|
||||||
Standards-Version: 3.0.0
|
|
||||||
|
|
||||||
Package: libgtop1@SUFFIX@
|
|
||||||
Architecture: any
|
|
||||||
Section: libs
|
|
||||||
Depends: ${shlibs:Depends}
|
|
||||||
Description: Portable system access library (part of Gnome)
|
|
||||||
Gnome is the "GNU Network Object Model Environment"
|
|
||||||
.
|
|
||||||
It is a project to build a complete, user-friendly desktop based
|
|
||||||
entirely on free software.
|
|
||||||
.
|
|
||||||
This package contains the gtop libraries which read information about
|
|
||||||
processes and the running systems.
|
|
||||||
|
|
||||||
Package: libgtop-dev@SUFFIX@
|
|
||||||
Architecture: any
|
|
||||||
Section: devel
|
|
||||||
Depends: libgtop1@SUFFIX@ (= ${Source-Version})
|
|
||||||
Description: Dev libraries for the portable system access library (part of Gnome)
|
|
||||||
Gnome is the "GNU Network Object Model Environment"
|
|
||||||
.
|
|
||||||
It is a project to build a complete, user-friendly desktop based
|
|
||||||
entirely on free software.
|
|
||||||
.
|
|
||||||
This package contains the include files and static library for the
|
|
||||||
gtop libraries which read information about processes and the running
|
|
||||||
systems.
|
|
||||||
|
|
109
debian/debconfigure
vendored
109
debian/debconfigure
vendored
@@ -1,109 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
#
|
|
||||||
# debconfigure
|
|
||||||
#
|
|
||||||
# A script to generate a debian/rules file, with options.
|
|
||||||
#
|
|
||||||
# By Jim Pick <jim@jimpick.com>, GPL'd of course.
|
|
||||||
# Adjusted for LibGTop by Martin Baulig <martin@home-of-linux.org>
|
|
||||||
#
|
|
||||||
|
|
||||||
if [ ! -r rules.in ]; then
|
|
||||||
echo "Please run the debconfigure script in the debian directory" 1>&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
debtype='official'
|
|
||||||
prefix='/usr'
|
|
||||||
gnomeprefix='/usr'
|
|
||||||
localstatedir='/var/lib'
|
|
||||||
pkgsuffix=''
|
|
||||||
|
|
||||||
for dc_option
|
|
||||||
do
|
|
||||||
case "$dc_option" in
|
|
||||||
-*=*) dc_optarg=`echo "$dc_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
|
||||||
*) dc_optarg= ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$dc_option" in
|
|
||||||
|
|
||||||
--clean)
|
|
||||||
rm -f control rules *~ core *files *menu *substvars *.postinst *.debhelper
|
|
||||||
exit ;;
|
|
||||||
|
|
||||||
--prefix=*)
|
|
||||||
prefix="$dc_optarg" ;;
|
|
||||||
|
|
||||||
--localstatedir=*)
|
|
||||||
prefix="$dc_optarg" ;;
|
|
||||||
|
|
||||||
--pkgsuffix=*)
|
|
||||||
pkgsuffix="$dc_optarg" ;;
|
|
||||||
|
|
||||||
--gnome-prefix=*)
|
|
||||||
gnomeprefix="$dc_optarg" ;;
|
|
||||||
|
|
||||||
--debtype=*)
|
|
||||||
debtype="$dc_optarg" ;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
cat <<EOF 1>&2
|
|
||||||
Usage: debconfigure [options]
|
|
||||||
Options: [defaults in brackets after descriptions]
|
|
||||||
--help print this message
|
|
||||||
--clean remove generated files
|
|
||||||
--prefix=PREFIX install files under under PREFIX dir [/usr]
|
|
||||||
--gnome-prefix=PREFIX look for GNOME under PREFIX dir [/usr]
|
|
||||||
--localstatedir=DIR directory for things like game scores [/var/lib]
|
|
||||||
--pkgsuffix=SUFFIX append SUFFIX onto package names []
|
|
||||||
--debtype=DEBTYPE enable macros with the name of DEBTYPE [official]
|
|
||||||
EOF
|
|
||||||
exit ;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Strip leading slash
|
|
||||||
prefix=`expr $prefix : '/\(.*\)'`
|
|
||||||
gnomeprefix=`expr $gnomeprefix : '/\(.*\)'`
|
|
||||||
localstatedir=`expr $localstatedir : '/\(.*\)'`
|
|
||||||
|
|
||||||
for infile in `ls control.in rules.in`
|
|
||||||
do
|
|
||||||
tofile=`expr $infile : '\(.*\)\.in'`
|
|
||||||
cat $infile | \
|
|
||||||
sed "s,@SUFFIX@,$pkgsuffix,g" | \
|
|
||||||
sed "s,@PREFIX@,$prefix,g" | \
|
|
||||||
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
|
|
||||||
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
|
|
||||||
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
|
|
||||||
done
|
|
||||||
chmod +x rules
|
|
||||||
|
|
||||||
for filesfile in `ls *.files.in`
|
|
||||||
do
|
|
||||||
tofile=`expr $filesfile : '\(.*\)\.files\.in'`
|
|
||||||
tofile=`echo $tofile$pkgsuffix.files`
|
|
||||||
cat $filesfile | \
|
|
||||||
sed "s,@SUFFIX@,$pkgsuffix,g" | \
|
|
||||||
sed "s,@PREFIX@,$prefix,g" | \
|
|
||||||
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
|
|
||||||
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
|
|
||||||
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
|
|
||||||
done
|
|
||||||
|
|
||||||
for postinst in libgtop1$pkgsuffix
|
|
||||||
do
|
|
||||||
|
|
||||||
cat > $postinst.postinst <<EOF
|
|
||||||
#! /bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
ldconfig
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
EOF
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
34
debian/libgtop-config.1
vendored
34
debian/libgtop-config.1
vendored
@@ -1,34 +0,0 @@
|
|||||||
.TH GTOP l "15 September 1999"
|
|
||||||
.SH NAME
|
|
||||||
\fBlibgtop-config\fP \- libgtop libraries and component information retrieval.
|
|
||||||
.SH SYNTAX
|
|
||||||
.B libgtop-config
|
|
||||||
.RI [ --version ]
|
|
||||||
.RI [ --config ]
|
|
||||||
.RI [ --features-def-file ]
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.B libgtop-config
|
|
||||||
is used to retrieve information from installed libraries in the system.
|
|
||||||
|
|
||||||
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
|
|
||||||
.LP
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
.B \-\-version
|
|
||||||
.PD
|
|
||||||
Prints the version of libgtop that you're using.
|
|
||||||
.TP
|
|
||||||
.B \-\-config
|
|
||||||
.PD
|
|
||||||
Prints the location of libgtopConf.sh.
|
|
||||||
.TP
|
|
||||||
.B \-\-version
|
|
||||||
.PD
|
|
||||||
Prints the location of libgtop-features.def.
|
|
||||||
.SH BUGS
|
|
||||||
None known
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
Martin Baulig (martin@home-of-linux.org)
|
|
||||||
.TP
|
|
||||||
Josh Sled (jsled@scam.XCF.Berkeley.EDU)
|
|
21
debian/libgtop-dev.files.in
vendored
21
debian/libgtop-dev.files.in
vendored
@@ -1,21 +0,0 @@
|
|||||||
@PREFIX@/lib/libgtop.a
|
|
||||||
@PREFIX@/lib/libgtop_common.a
|
|
||||||
@PREFIX@/lib/libgtop_suid_common.a
|
|
||||||
@PREFIX@/lib/libgtop_sysdeps.a
|
|
||||||
@PREFIX@/lib/libgtop.la
|
|
||||||
@PREFIX@/lib/libgtop_common.la
|
|
||||||
@PREFIX@/lib/libgtop_suid_common.la
|
|
||||||
@PREFIX@/lib/libgtop_sysdeps.la
|
|
||||||
@PREFIX@/lib/libgtopConf.sh
|
|
||||||
@PREFIX@/lib/libgtop.so
|
|
||||||
@PREFIX@/lib/libgtop_common.so
|
|
||||||
@PREFIX@/lib/libgtop_suid_common.so
|
|
||||||
@PREFIX@/lib/libgtop_sysdeps.so
|
|
||||||
@PREFIX@/lib/libgtop-features.def
|
|
||||||
@PREFIX@/lib/libgtop/include/*.h
|
|
||||||
@PREFIX@/include/glibtop/*.h
|
|
||||||
@PREFIX@/include/glibtop.h
|
|
||||||
@PREFIX@/include/glibtop_server.h
|
|
||||||
@PREFIX@/include/glibtop_machine.h
|
|
||||||
@PREFIX@/info/libgtop.info
|
|
||||||
@PREFIX@/bin/libgtop-config
|
|
5
debian/libgtop1.README.Debian
vendored
5
debian/libgtop1.README.Debian
vendored
@@ -1,5 +0,0 @@
|
|||||||
|
|
||||||
The Debian package of libgtop, a GNOME library.
|
|
||||||
|
|
||||||
--
|
|
||||||
Martin Baulig <martin@home-of-linux.org>
|
|
12
debian/libgtop1.copyright
vendored
12
debian/libgtop1.copyright
vendored
@@ -1,12 +0,0 @@
|
|||||||
|
|
||||||
libgtop is released under the GPL.
|
|
||||||
On Debian GNU/Linux systems, the complete text of the GNU General
|
|
||||||
Public License can be found in /usr/share/common-licenses/GPL
|
|
||||||
|
|
||||||
Original authors: Martin Baulig <martin@home-of-linux.org>
|
|
||||||
Drazen Kacar <dave@srce.hr>
|
|
||||||
|
|
||||||
Originally Debianised by Jim Pick <jim@jimpick.com>
|
|
||||||
Then re-Debianised in October 1998 by Martin Schulze
|
|
||||||
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
|
|
||||||
<ian@lynagh.demon.co.uk> in November 1998.
|
|
5
debian/libgtop1.docs
vendored
5
debian/libgtop1.docs
vendored
@@ -1,5 +0,0 @@
|
|||||||
RELNOTES-0.25
|
|
||||||
RELNOTES-1.0.x
|
|
||||||
NEWS
|
|
||||||
AUTHORS
|
|
||||||
debian/changelog
|
|
4
debian/libgtop1.files.in
vendored
4
debian/libgtop1.files.in
vendored
@@ -1,4 +0,0 @@
|
|||||||
@PREFIX@/lib/libgtop*.so.[0-9].[0-9][0-9].[0-9]
|
|
||||||
@PREFIX@/lib/libgtop*.so.[0-9].[0-9].[0-9]
|
|
||||||
@PREFIX@/lib/libgtop*.so.[0-9]
|
|
||||||
@PREFIX@/share/locale/*/*/libgtop.mo
|
|
5
debian/libgtop2.README.Debian
vendored
5
debian/libgtop2.README.Debian
vendored
@@ -1,5 +0,0 @@
|
|||||||
|
|
||||||
The Debian package of libgtop, a GNOME library.
|
|
||||||
|
|
||||||
--
|
|
||||||
Ian Lynagh <ian@lynagh.demon.co.uk>
|
|
12
debian/libgtop2.copyright
vendored
12
debian/libgtop2.copyright
vendored
@@ -1,12 +0,0 @@
|
|||||||
|
|
||||||
libgtop is released under the GPL.
|
|
||||||
On Debian GNU/Linux systems, the complete text of the GNU General
|
|
||||||
Public License can be found in /usr/share/common-licenses/GPL
|
|
||||||
|
|
||||||
Original authors: Martin Baulig <martin@home-of-linux.org>
|
|
||||||
Drazen Kacar <dave@srce.hr>
|
|
||||||
|
|
||||||
Originally Debianised by Jim Pick <jim@jimpick.com>
|
|
||||||
Then re-Debianised in October 1998 by Martin Schulze
|
|
||||||
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
|
|
||||||
<ian@lynagh.demon.co.uk> in November 1998.
|
|
7
debian/libgtop2.docs
vendored
7
debian/libgtop2.docs
vendored
@@ -1,7 +0,0 @@
|
|||||||
RELNOTES-0.25
|
|
||||||
RELNOTES-1.0
|
|
||||||
RELNOTES-1.1.x
|
|
||||||
NEWS
|
|
||||||
AUTHORS
|
|
||||||
TODO
|
|
||||||
debian/changelog
|
|
2
debian/libgtop2.files.in
vendored
2
debian/libgtop2.files.in
vendored
@@ -1,2 +0,0 @@
|
|||||||
@PREFIX@/lib/libgtop*-1.1.so.*.*
|
|
||||||
@PREFIX@/lib/libgtop*-1.1.so.*
|
|
115
debian/rules.in
vendored
115
debian/rules.in
vendored
@@ -1,115 +0,0 @@
|
|||||||
#!/usr/bin/make -f
|
|
||||||
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
|
|
||||||
# This version is for a hypothetical package that builds an
|
|
||||||
# architecture-dependant package, as well as an architecture-independent
|
|
||||||
# package.
|
|
||||||
|
|
||||||
# Uncomment this to turn on verbose mode.
|
|
||||||
#export DH_VERBOSE=1
|
|
||||||
|
|
||||||
i=$(shell pwd)/debian/tmp
|
|
||||||
b=$(shell pwd)/debian/build
|
|
||||||
|
|
||||||
configure: configure.in
|
|
||||||
@echo "--- Making configure script and configuring"
|
|
||||||
chmod +x autogen.sh
|
|
||||||
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
|
||||||
--localstatedir=/@LOCALSTATEDIR@
|
|
||||||
|
|
||||||
Makefile: configure
|
|
||||||
@echo "--- Configuring"
|
|
||||||
./configure --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
|
||||||
--localstatedir=/@LOCALSTATEDIR@
|
|
||||||
|
|
||||||
build: configure Makefile build-debstamp
|
|
||||||
build-debstamp:
|
|
||||||
@echo "--- Compiling"
|
|
||||||
dh_testdir
|
|
||||||
$(MAKE) all
|
|
||||||
touch build-debstamp
|
|
||||||
|
|
||||||
clean: Makefile
|
|
||||||
@echo "--- Cleaning"
|
|
||||||
dh_testdir
|
|
||||||
dh_clean
|
|
||||||
-rm -rf static shared
|
|
||||||
-rm -f build-debstamp install-debstamp
|
|
||||||
-make -k distclean
|
|
||||||
-rm -f `find . -name "*~"`
|
|
||||||
-rm -f `find . -name "*\.la"`
|
|
||||||
-rm -rf `find . -name "\.deps"`
|
|
||||||
-rm -rf `find . -name "\.libs"`
|
|
||||||
-rm -rf `find . -name "*\.rej"`
|
|
||||||
-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
|
|
||||||
-rm -f debian/*substvars
|
|
||||||
|
|
||||||
install: build install-debstamp
|
|
||||||
install-debstamp:
|
|
||||||
@echo "--- Installing"
|
|
||||||
dh_testdir
|
|
||||||
dh_testroot
|
|
||||||
rm -rf $(b)
|
|
||||||
$(MAKE) install prefix=$(i)/@PREFIX@ exec_prefix=$(i)/@PREFIX@ \
|
|
||||||
localstatedir=$(i)/@LOCALSTATEDIR@
|
|
||||||
touch install-debstamp
|
|
||||||
|
|
||||||
install-save: install
|
|
||||||
rm -rf $(i).saved
|
|
||||||
cp -a $(i) $(i).saved
|
|
||||||
|
|
||||||
install-saved:
|
|
||||||
rm -rf $(i)
|
|
||||||
cp -a $(i).saved $(i)
|
|
||||||
rm -rf $(b)
|
|
||||||
touch install-debstamp
|
|
||||||
|
|
||||||
binary-indep: build install
|
|
||||||
|
|
||||||
binary-arch: build install \
|
|
||||||
libgtop1@SUFFIX@ \
|
|
||||||
libgtop-dev@SUFFIX@
|
|
||||||
|
|
||||||
#
|
|
||||||
# libgtop1@SUFFIX@
|
|
||||||
#
|
|
||||||
|
|
||||||
libgtop1@SUFFIX@: install
|
|
||||||
@echo "--- Building: $@"
|
|
||||||
dh_installdocs -p$@ -P$(b)/$@ README NEWS AUTHORS
|
|
||||||
dh_installchangelogs -p$@ -P$(b)/$@ ChangeLog
|
|
||||||
dh_movefiles -p$@ -P$(b)/$@
|
|
||||||
dh_strip -p$@ -P$(b)/$@
|
|
||||||
dh_compress -p$@ -P$(b)/$@
|
|
||||||
dh_fixperms -p$@ -P$(b)/$@
|
|
||||||
dh_installdeb -p$@ -P$(b)/$@
|
|
||||||
dh_shlibdeps -p$@ -P$(b)/$@
|
|
||||||
dh_gencontrol -p$@ -P$(b)/$@
|
|
||||||
dh_makeshlibs -p$@ -P$(b)/$@ -V
|
|
||||||
dh_md5sums -p$@ -P$(b)/$@
|
|
||||||
dh_builddeb -p$@ -P$(b)/$@
|
|
||||||
|
|
||||||
#
|
|
||||||
# libgtop-dev
|
|
||||||
#
|
|
||||||
|
|
||||||
libgtop-dev@SUFFIX@: install
|
|
||||||
@echo "--- Building: $@"
|
|
||||||
mkdir -p $(b)/$@/usr/doc
|
|
||||||
cd $(b)/$@/usr/doc; ln -s libgtop1@SUFFIX@ $@
|
|
||||||
dh_movefiles -p$@ -P$(b)/$@
|
|
||||||
dh_strip -p$@ -P$(b)/$@
|
|
||||||
dh_compress -p$@ -P$(b)/$@
|
|
||||||
dh_fixperms -p$@ -P$(b)/$@
|
|
||||||
dh_installdeb -p$@ -P$(b)/$@
|
|
||||||
dh_shlibdeps -p$@ -P$(b)/$@
|
|
||||||
dh_gencontrol -p$@ -P$(b)/$@
|
|
||||||
dh_makeshlibs -p$@ -P$(b)/$@ -V
|
|
||||||
dh_undocumented -p$@ -P$(b)/$@ \
|
|
||||||
libgtop-config.1
|
|
||||||
dh_md5sums -p$@ -P$(b)/$@
|
|
||||||
dh_builddeb -p$@ -P$(b)/$@
|
|
||||||
|
|
||||||
binary: binary-indep binary-arch
|
|
||||||
.PHONY: binary clean binary-indep binary-arch build install install-save install-saved
|
|
||||||
|
|
||||||
|
|
@@ -1,11 +0,0 @@
|
|||||||
texinfo.tex
|
|
||||||
*.info
|
|
||||||
Makefile.in
|
|
||||||
Makefile
|
|
||||||
*.log *.toc *.dvi *.aux *.cp *.fn *.vr *.tp *.ky *.pg
|
|
||||||
*.ps
|
|
||||||
auto-macros.texi
|
|
||||||
version.texi
|
|
||||||
stamp-vti
|
|
||||||
*.html *.pdf
|
|
||||||
mdate-sh
|
|
@@ -1,79 +0,0 @@
|
|||||||
2005-01-03 Benoît Dejean <TazForEver@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: Updated.
|
|
||||||
|
|
||||||
2004-12-04 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: Updated.
|
|
||||||
|
|
||||||
2004-08-03 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: Updated.
|
|
||||||
|
|
||||||
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: updated.
|
|
||||||
Added glibtop_get_proc_argv.
|
|
||||||
Added glibtop_fsusage.block_size.
|
|
||||||
|
|
||||||
2004-03-05 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* reference.texi: update for new API
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* reference.texi: s/u_int64_t/guint64/
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
|
|
||||||
|
|
||||||
2002-03-12 James Henstridge <james@daa.com.au>
|
|
||||||
|
|
||||||
* Makefile.am (MAKEINFO): using += seems to screw up the build
|
|
||||||
with newer automakes. Set it explicitly (using @MAKEINFO@) seems
|
|
||||||
to be compatible with both.
|
|
||||||
|
|
||||||
2001-11-26 Abel Cheung <maddog@linux.org.hk>
|
|
||||||
|
|
||||||
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
|
|
||||||
* about.texi: Very minor update.
|
|
||||||
|
|
||||||
1999-10-18 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* about.texi: Added a note about LibGTop and GNOME.
|
|
||||||
|
|
||||||
* reference.texi (glibtop_proc_state): Fix description of the `state'
|
|
||||||
field for LibGTop 1.0.x.
|
|
||||||
|
|
||||||
1999-09-29 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* Makefile.am (MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here.
|
|
||||||
|
|
||||||
1999-05-16 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* main.texi: This is now the main file which will @include all
|
|
||||||
chapter files so we can use `texinfo-multiple-files-update'.
|
|
||||||
|
|
||||||
* reference.texi: Added all missing sections with a "not yet written"
|
|
||||||
notice.
|
|
||||||
|
|
||||||
1999-05-16 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* white-paper.texi: Initial version of the LibGTop White Paper.
|
|
||||||
|
|
||||||
* Makefile.am: Create `auto-macros.texi' from `auto-macros.texi.in'
|
|
||||||
which will contain some `@set' commands for the LibGTop version etc.
|
|
||||||
|
|
||||||
* auto-macros.texi.in: New file. This is a template for
|
|
||||||
`auto-macros.texi' which will be automatically generated.
|
|
||||||
|
|
||||||
1999-05-09 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* about.texi: Split the `libgtop.texi' into one file pro chapter,
|
|
||||||
this is the "About LibGTop".
|
|
||||||
|
|
||||||
* reference.texi: The "LibGTop Reference Manual".
|
|
||||||
|
|
||||||
* libgtop.texi: Initial version of the new LibGTop Manual.
|
|
||||||
|
|
@@ -1,38 +0,0 @@
|
|||||||
info_TEXINFOS = libgtop2.texi
|
|
||||||
|
|
||||||
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
|
|
||||||
auto-macros.texi version.texi main.texi \
|
|
||||||
white-paper.texi
|
|
||||||
|
|
||||||
MAKEINFO = @MAKEINFO@ -I @libgtop_top_builddir@/doc
|
|
||||||
|
|
||||||
EXTRA_DIST = auto-macros.texi.in
|
|
||||||
|
|
||||||
auto-macros.texi: auto-macros.texi.in Makefile
|
|
||||||
## Use sed and then mv to avoid problems if the user interrupts.
|
|
||||||
sed -e 's#\%LIBGTOP_LIBDIR\%#$(libdir)#g' \
|
|
||||||
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)/libgtop-2.0#g' \
|
|
||||||
-e 's#\%LIBGTOP_DATADIR\%#$(datadir)#g' \
|
|
||||||
-e 's#\%LIBGTOP_EXTRA_LIBS\%#$(LIBGTOP_EXTRA_LIBS)#g' \
|
|
||||||
-e 's#\%LIBGTOP_LIBS\%#$(LIBGTOP_LIBS)#g' \
|
|
||||||
-e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \
|
|
||||||
-e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \
|
|
||||||
-e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \
|
|
||||||
-e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \
|
|
||||||
-e 's#\%LIBGTOP_MINOR_VERSION\%#$(LIBGTOP_MINOR_VERSION)#g' \
|
|
||||||
-e 's#\%LIBGTOP_MICRO_VERSION\%#$(LIBGTOP_MICRO_VERSION)#g' \
|
|
||||||
-e 's#\%LIBGTOP_VERSION\%#$(LIBGTOP_VERSION)#g' \
|
|
||||||
-e 's#\%LIBGTOP_VERSION_CODE\%#$(LIBGTOP_VERSION_CODE)#g' \
|
|
||||||
-e 's#\%LIBGTOP_SERVER_VERSION\%#$(LIBGTOP_SERVER_VERSION)#g' \
|
|
||||||
-e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \
|
|
||||||
-e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \
|
|
||||||
-e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \
|
|
||||||
-e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \
|
|
||||||
< $(srcdir)/auto-macros.texi.in > auto-macros.tmp
|
|
||||||
echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp
|
|
||||||
if [ $(LIBGTOP_VERSION_CODE) -ge 1001000 ] ; then \
|
|
||||||
echo '@set LIBGTOP-1-1' >> auto-macros.tmp ; \
|
|
||||||
else \
|
|
||||||
echo '@clear LIBGTOP-1-1' >> auto-macros.tmp ; \
|
|
||||||
fi
|
|
||||||
mv auto-macros.tmp auto-macros.texi
|
|
123
doc/about.texi
123
doc/about.texi
@@ -1,123 +0,0 @@
|
|||||||
@node About, White Paper, Top, Top
|
|
||||||
@chapter About LibGTop
|
|
||||||
|
|
||||||
LibGTop is a library to get system specific data such as CPU and Memory Usage
|
|
||||||
and information about running Processes.
|
|
||||||
|
|
||||||
On Systems like Solaris or Digital Unix where you need special privileges to
|
|
||||||
get those data, it uses a setuid/setgid server to do so.
|
|
||||||
|
|
||||||
Even if LibGTop is a part of the GNOME desktop environment
|
|
||||||
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
|
|
||||||
independent from any particular desktop environment, so you can also use it
|
|
||||||
as a standalone library in any piece of GPLed software.
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* Availability:: Where to get LibGTop
|
|
||||||
* Supported Platforms:: Supported Platforms
|
|
||||||
* Mailing List:: Helping with LibGTop development
|
|
||||||
* Thanks:: People who contributed to LibGTop
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node Availability, Supported Platforms, About, About
|
|
||||||
@section Availability
|
|
||||||
|
|
||||||
The master source of LibGTop is the GNOME CVS tree
|
|
||||||
(see @uref{http://www.gnome.org} for details), but you can also get the
|
|
||||||
latest release tarballs from
|
|
||||||
|
|
||||||
@display
|
|
||||||
@uref{ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/}
|
|
||||||
@end display
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
or any of its mirror sites.
|
|
||||||
|
|
||||||
The latest stable version of LibGTop is 1.0.12 which is also the one that comes
|
|
||||||
together with GNOME 1.0. It belongs to @code{LIBGTOP_STABLE_1_0} branch in CVS.
|
|
||||||
Actual development occurs in the @code{libgtop-GNOME-2-0-port} which is
|
|
||||||
currently versioned 1.90.0.
|
|
||||||
|
|
||||||
@node Supported Platforms, Mailing List, Availability, About
|
|
||||||
@section Supported Platforms
|
|
||||||
|
|
||||||
The stable branch currently supports the following platforms:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item All versions of Linux
|
|
||||||
|
|
||||||
LibGTop was tested under Linux 2.0.x and 2.2.x on the ix86 and the alpha, but
|
|
||||||
it should also work without problems on SparcLinux or Linux 2.4.x.
|
|
||||||
|
|
||||||
Note: I'm speaking of the Linux kernel here, not the GNU/Linux operating system.
|
|
||||||
|
|
||||||
@item FreeBSD, NetBSD and OpenBSD
|
|
||||||
|
|
||||||
LibGTop was tested under FreeBSD 2.2.6 and 3.0, NetBSD 1.3.2 and OpenBSD 2.4.
|
|
||||||
Support for NetBSD 1.4 was added in LibGTop 1.0.2.
|
|
||||||
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
The platforms listed above are known to be stable and working. However, if
|
|
||||||
you're using the latest development version, you can use it on the following
|
|
||||||
platforms as well:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item BSD/OS
|
|
||||||
|
|
||||||
There is a port for BSD/OS (aka BSDI) 2.x and 3.x from Timur Bakeyev which
|
|
||||||
should also work with 4.x. This isn't tested very well, but it should be
|
|
||||||
working.
|
|
||||||
|
|
||||||
@item Digital Unix
|
|
||||||
|
|
||||||
There is some basic support for Digital Unix (formerly DEC OSF/1) V3.2C, but
|
|
||||||
this may still be a bit unstable. I'm currently working on this port as time
|
|
||||||
permits so it should be fully supported soon.
|
|
||||||
|
|
||||||
@item Solaris
|
|
||||||
|
|
||||||
The Solaris port currently works on Solaris 7 and maybe also on other releases.
|
|
||||||
Thanks a lot to Drazen Kacar and everyone who helped working on this port. They
|
|
||||||
have really done excellent work here and I'm pretty sure that this port will be
|
|
||||||
fully functional on most Solaris versions in near future.
|
|
||||||
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@node Mailing List, Thanks, Supported Platforms, About
|
|
||||||
@section Mailing List
|
|
||||||
|
|
||||||
There is a @email{libgtop-devel-list@@egroups.com} mailing list for people who
|
|
||||||
want to help with the development of LibGTop.
|
|
||||||
|
|
||||||
It is meant as a low-traffic, but high content-list where we can discuss
|
|
||||||
technical details such as adding new sysdeps ports etc.
|
|
||||||
|
|
||||||
Especially, I'd like to see people with a deeper knowledge of operating systems
|
|
||||||
internals joining my list so we can discuss technical details of the sysdeps
|
|
||||||
code.
|
|
||||||
|
|
||||||
It is *not* for users that want to know how to compile LibGTop etc.
|
|
||||||
|
|
||||||
You can subscribe to this mailing list and view the mailing list archives
|
|
||||||
on the LibGTop Page at @uref{http://www.home-of-linux.org/gnome/libgtop}.
|
|
||||||
|
|
||||||
@node Thanks, , Mailing List, About
|
|
||||||
@section Thanks
|
|
||||||
|
|
||||||
At the place I'd like to thank the following people who contributed to
|
|
||||||
LibGTop (listed in chronological order):
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item Sebastian Wilhelmi who had the initial idea of LibGTop and helped
|
|
||||||
me a lot in the early beginning.
|
|
||||||
@item Josh Sled for the initial FreeBSD port.
|
|
||||||
@item Jeremy Lea for his BSD patches.
|
|
||||||
@item Timur Bakeyev for the BSDI port.
|
|
||||||
@item Drazen Kacar and the other people on the LibGTop development mailing
|
|
||||||
list for the Solaris port.
|
|
||||||
@item Kevin Vandersloot for the effort to port to GNOME 2.0.
|
|
||||||
@item All people sending me patches, having good ideas, ...
|
|
||||||
@item Everyone I have forgotten in this list ...
|
|
||||||
@end itemize
|
|
||||||
|
|
@@ -1,12 +0,0 @@
|
|||||||
@c LibGTop major, minor and micro version.
|
|
||||||
@set LIBGTOP_MAJOR_VERSION %LIBGTOP_MAJOR_VERSION%
|
|
||||||
@set LIBGTOP_MINOR_VERSION %LIBGTOP_MINOR_VERSION%
|
|
||||||
@set LIBGTOP_MICRO_VERSION %LIBGTOP_MICRO_VERSION%
|
|
||||||
|
|
||||||
@c LibGTop version and numerical version code ("1.234.567" -> 1234567).
|
|
||||||
@set LIBGTOP_VERSION "%LIBGTOP_VERSION%"
|
|
||||||
@set LIBGTOP_VERSION_CODE %LIBGTOP_VERSION_CODE%
|
|
||||||
|
|
||||||
@c LibGTop server version, increased each time the protocol changes.
|
|
||||||
@set LIBGTOP_SERVER_VERSION %LIBGTOP_SERVER_VERSION%
|
|
||||||
|
|
@@ -1,107 +0,0 @@
|
|||||||
@node LibGTop Internals, , Reference Manual, Top
|
|
||||||
@chapter LibGTop Internals
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* General Internals:: General Internals
|
|
||||||
* Sysdeps Internals:: Sysdeps Internals
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node General Internals, Sysdeps Internals, LibGTop Internals, LibGTop Internals
|
|
||||||
@section General Internals
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* glibtop:: The server structure
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node glibtop, , General Internals, General Internals
|
|
||||||
@subsection The server structure - @code{glibtop}
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
typedef struct _glibtop glibtop;
|
|
||||||
|
|
||||||
struct _glibtop
|
|
||||||
@{
|
|
||||||
unsigned flags;
|
|
||||||
unsigned method;
|
|
||||||
unsigned error_method;
|
|
||||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
|
||||||
glibtop_machine machine;
|
|
||||||
#endif
|
|
||||||
int input [2];
|
|
||||||
int output [2];
|
|
||||||
int socket;
|
|
||||||
int ncpu;
|
|
||||||
unsigned long os_version_code;
|
|
||||||
const char *name;
|
|
||||||
const char *server_command;
|
|
||||||
const char *server_host;
|
|
||||||
const char *server_user;
|
|
||||||
const char *server_rsh;
|
|
||||||
unsigned long features;
|
|
||||||
unsigned long server_port;
|
|
||||||
glibtop_sysdeps sysdeps;
|
|
||||||
glibtop_sysdeps required;
|
|
||||||
glibtop_sysdeps wanted;
|
|
||||||
pid_t pid;
|
|
||||||
@};
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@node Sysdeps Internals, , General Internals, LibGTop Internals
|
|
||||||
@section Sysdeps Internals
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* glibtop_open_s:: Non-privileged initializations
|
|
||||||
* glibtop_close_s:: Non-privileged cleanups
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node glibtop_open_s, glibtop_close_s, Sysdeps Internals, Sysdeps Internals
|
|
||||||
@subsection glibtop_open_s
|
|
||||||
|
|
||||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
|
|
||||||
initialize a server. It should do all initializations that do not need any
|
|
||||||
privileges.
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
void
|
|
||||||
glibtop_open_s (glibtop *server, const char *program_name,
|
|
||||||
const unsigned long features,
|
|
||||||
const unsigned flags);
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
@item server
|
|
||||||
Pointer to the @code{glibtop} server structure.
|
|
||||||
@item program_name
|
|
||||||
Name of the calling program; the implementation will usually
|
|
||||||
set @samp{server->name} to this so it'll be used as the program
|
|
||||||
name in error messages.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
Typically, this function will set @code{server->name}, @code{server->ncpu} and
|
|
||||||
@code{server->os_version_code} and initialize any of the @code{server->machine}
|
|
||||||
fields which do not need any privileges.
|
|
||||||
|
|
||||||
It is normally implemented in @file{open.c} in the sysdeps directory.
|
|
||||||
|
|
||||||
@node glibtop_close_s, , glibtop_open_s, Sysdeps Internals
|
|
||||||
@subsection glibtop_close_s
|
|
||||||
|
|
||||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
|
|
||||||
clean-up a server when it's no longer used.
|
|
||||||
|
|
||||||
It must free all resources that were allocated in @code{glibtop_open_s}.
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
void
|
|
||||||
glibtop_close_s (glibtop *server);
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
It is normally implemented in @file{close.c} in the sysdeps directory, but may
|
|
||||||
be empty.
|
|
||||||
|
|
@@ -1,89 +0,0 @@
|
|||||||
\input texinfo @c -*-texinfo-*-
|
|
||||||
@c %**start of header
|
|
||||||
@setfilename libgtop2.info
|
|
||||||
@settitle LibGTop Reference Manual
|
|
||||||
@setchapternewpage odd
|
|
||||||
@c %**end of header
|
|
||||||
|
|
||||||
@include auto-macros.texi
|
|
||||||
@include version.texi
|
|
||||||
|
|
||||||
@ifinfo
|
|
||||||
This is the LibGTop Reference Manual version @value{VERSION}
|
|
||||||
(last modified @value{UPDATED}).
|
|
||||||
|
|
||||||
Copyright 1999 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Permission is granted to make and distribute verbatim
|
|
||||||
copies of this manual provided the copyright notice and
|
|
||||||
this permission notice are preserved on all copies.
|
|
||||||
|
|
||||||
@ignore
|
|
||||||
Permission is granted to process this file through TeX
|
|
||||||
and print the results, provided the printed document
|
|
||||||
carries a copying permission notice identical to this
|
|
||||||
one except for the removal of this paragraph (this
|
|
||||||
paragraph not being relevant to the printed manual).
|
|
||||||
|
|
||||||
@end ignore
|
|
||||||
Permission is granted to copy and distribute modified
|
|
||||||
versions of this manual under the conditions for
|
|
||||||
verbatim copying, provided also that the sections
|
|
||||||
entitled ``Copying'' and ``GNU General Public License''
|
|
||||||
are included exactly as in the original, and provided
|
|
||||||
that the entire resulting derived work is distributed
|
|
||||||
under the terms of a permission notice identical to this
|
|
||||||
one.
|
|
||||||
|
|
||||||
Permission is granted to copy and distribute
|
|
||||||
translations of this manual into another language,
|
|
||||||
under the above conditions for modified versions,
|
|
||||||
except that this permission notice may be stated in a
|
|
||||||
translation approved by the Free Software Foundation.
|
|
||||||
|
|
||||||
@format
|
|
||||||
@dircategory Libraries:
|
|
||||||
@direntry
|
|
||||||
* LibGTop2: (libgtop2). Library to get system specific data
|
|
||||||
such as cpu and memory usage, active
|
|
||||||
processes
|
|
||||||
@end direntry
|
|
||||||
@end format
|
|
||||||
|
|
||||||
@end ifinfo
|
|
||||||
|
|
||||||
@titlepage
|
|
||||||
@title LibGTop Reference Manual
|
|
||||||
@subtitle Version @value{VERSION} - @value{UPDATED}
|
|
||||||
@author Martin Baulig
|
|
||||||
|
|
||||||
@page
|
|
||||||
@vskip 0pt plus 1filll
|
|
||||||
Copyright @copyright{} 1999 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Permission is granted to make and distribute verbatim
|
|
||||||
copies of this manual provided the copyright notice and
|
|
||||||
this permission notice are preserved on all copies.
|
|
||||||
|
|
||||||
Permission is granted to copy and distribute modified
|
|
||||||
versions of this manual under the conditions for
|
|
||||||
verbatim copying, provided also that the sections
|
|
||||||
entitled ``Copying'' and ``GNU General Public License''
|
|
||||||
are included exactly as in the original, and provided
|
|
||||||
that the entire resulting derived work is distributed
|
|
||||||
under the terms of a permission notice identical to this
|
|
||||||
one.
|
|
||||||
|
|
||||||
Permission is granted to copy and distribute
|
|
||||||
translations of this manual into another language,
|
|
||||||
under the above conditions for modified versions,
|
|
||||||
except that this permission notice may be stated in a
|
|
||||||
translation approved by the Free Software Foundation.
|
|
||||||
@end titlepage
|
|
||||||
|
|
||||||
@contents
|
|
||||||
|
|
||||||
@include main.texi
|
|
||||||
|
|
||||||
@bye
|
|
||||||
|
|
@@ -1,68 +0,0 @@
|
|||||||
@node Top, About, (dir), (dir)
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* About:: About LibGTop
|
|
||||||
* White Paper:: LibGTop White Paper
|
|
||||||
* Reference Manual:: LibGTop Reference Manual
|
|
||||||
|
|
||||||
--- The Detailed Node Listing ---
|
|
||||||
|
|
||||||
About LibGTop
|
|
||||||
|
|
||||||
* Availability:: Where to get LibGTop
|
|
||||||
* Supported Platforms:: Supported Platforms
|
|
||||||
* Mailing List:: Helping with LibGTop development
|
|
||||||
* Thanks:: People who contributed to LibGTop
|
|
||||||
|
|
||||||
LibGTop White Paper
|
|
||||||
|
|
||||||
* Introduction:: Introduction
|
|
||||||
* Overview:: Overview
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
* Interface Design:: Things that need to be considered
|
|
||||||
* Server Implementation:: The LibGTop "server"
|
|
||||||
|
|
||||||
LibGTop Reference Manual
|
|
||||||
|
|
||||||
* System Dependent:: System Dependent Functions.
|
|
||||||
* Common Functions:: Common Functions.
|
|
||||||
* Library Functions:: Library Functions.
|
|
||||||
|
|
||||||
System Dependent Functions
|
|
||||||
|
|
||||||
* glibtop_cpu:: CPU Usage.
|
|
||||||
* glibtop_mem:: Memory Usage.
|
|
||||||
* glibtop_swap:: Swap Usage.
|
|
||||||
* glibtop_uptime:: System Uptime.
|
|
||||||
* glibtop_loadavg:: Load Average.
|
|
||||||
* glibtop_proclist:: Process List.
|
|
||||||
* glibtop_proc_state:: Process State.
|
|
||||||
* glibtop_proc_uid:: Process UID and TTY Information.
|
|
||||||
* glibtop_proc_mem:: Process Memory Information.
|
|
||||||
* glibtop_proc_time:: Process Time Information.
|
|
||||||
* glibtop_proc_signal:: Process Signal Information.
|
|
||||||
* glibtop_proc_kernel:: Process Kernel Data Information.
|
|
||||||
* glibtop_proc_segment:: Process Segment Information.
|
|
||||||
* glibtop_proc_args:: Process Arguments.
|
|
||||||
* glibtop_proc_map:: Process Memory Maps.
|
|
||||||
* glibtop_netload:: Network Load.
|
|
||||||
* glibtop_ppp:: PPP Usage.
|
|
||||||
|
|
||||||
Common Functions
|
|
||||||
|
|
||||||
* glibtop_mountlist:: Mount List.
|
|
||||||
* glibtop_fsusage:: File System Usage.
|
|
||||||
|
|
||||||
Library Functions
|
|
||||||
|
|
||||||
* glibtop_init:: Server Initialization.
|
|
||||||
* glibtop_sysdeps:: Server Sysdeps.
|
|
||||||
* Library Parameters:: Library Parameters.
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@include about.texi
|
|
||||||
@include white-paper.texi
|
|
||||||
@include reference.texi
|
|
||||||
|
|
1852
doc/reference.texi
1852
doc/reference.texi
File diff suppressed because it is too large
Load Diff
@@ -1,90 +0,0 @@
|
|||||||
@node White Paper, Reference Manual, About, Top
|
|
||||||
@chapter LibGTop White Paper
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* Introduction:: Introduction
|
|
||||||
* Overview:: Overview
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node Introduction, Overview, White Paper, White Paper
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
Many modern UNIX systems like Solaris, BSD or Digitial Unix only allow
|
|
||||||
priviledged processes to read information like CPU and Memory Usage or
|
|
||||||
information about running processes.
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item
|
|
||||||
BSD, for instance, doesn't have any other way to get those data than reading
|
|
||||||
directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
|
|
||||||
be able to read this.
|
|
||||||
|
|
||||||
@item
|
|
||||||
Other systems, like Digital Unix, allow all users to get things like CPU and
|
|
||||||
Memory statistics, but only root may read information about any process other
|
|
||||||
than the current one (you may not even get information about your own processes
|
|
||||||
if you're not root).
|
|
||||||
|
|
||||||
@item
|
|
||||||
Linux has a very nice @file{/proc} filesystem, but reading and parsing
|
|
||||||
@file{/proc} is very slow and inefficient.
|
|
||||||
|
|
||||||
@item
|
|
||||||
Solaris is a bit better, but you still need to be in the @code{sys} group or
|
|
||||||
even root to get some data.
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
|
|
||||||
often are setgid kmem or setuid root. Usually, they're also very specific to
|
|
||||||
the system they're written for and not easily portable to other systems without
|
|
||||||
a lot of work.
|
|
||||||
|
|
||||||
This, of cause, becomes a problem for graphical tools like @code{gtop} - making
|
|
||||||
a GTK+ program setgid or even setuid would be a security hole as big as you can
|
|
||||||
drive the entire X11 source code through. For the GNOME project, we also needed
|
|
||||||
some kind of library which provides all the required information in a portable
|
|
||||||
since there's more than just one single program that wants to use them - for
|
|
||||||
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
|
|
||||||
@code{netload} panel applets.
|
|
||||||
|
|
||||||
@node Overview, , Introduction, White Paper
|
|
||||||
@section Overview
|
|
||||||
|
|
||||||
This section should give you a short overview on how LibGTop was developed, which
|
|
||||||
things needed to be considered and how it works.
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* Interface Design:: Things that need to be considered
|
|
||||||
* Server Implementation:: The LibGTop "server"
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node Interface Design, Server Implementation, Overview, Overview
|
|
||||||
@subsection Interface Design
|
|
||||||
|
|
||||||
At the very beginning, it was necessary to collect all the data the library part
|
|
||||||
should provide and put them into some C structures. This was not that easiy as it
|
|
||||||
might sound since LibGTop should be portable to any modern UNIX system with a common
|
|
||||||
library part on all those systems, but the data that should be returned vary from
|
|
||||||
system to system. For instance some systems support shared memory, but some others
|
|
||||||
may not.
|
|
||||||
|
|
||||||
The header files where we define these C structures (which are system-independent) are
|
|
||||||
shared between client and server. This way we can call the system dependent code
|
|
||||||
directly where we do not need any special privileges to do so.
|
|
||||||
|
|
||||||
All of those structures contain a @code{flags} member which is interpreted as a bit
|
|
||||||
mask and tells the caller of the library functions which of the fields in the returned
|
|
||||||
structure are valid and which are not.
|
|
||||||
|
|
||||||
@node Server Implementation, , Interface Design, Overview
|
|
||||||
@subsection Server Implementation
|
|
||||||
|
|
||||||
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
|
|
||||||
dependent code which needs special privileges. It is only build if it's required
|
|
||||||
on the current system (for instance, the Linux kernel provides all the required
|
|
||||||
data via its @file{/proc} filesystem so we do not need the server at all) and it
|
|
||||||
only contains the @dfn{features} which need privileges.
|
|
||||||
|
|
||||||
Whenever we do not need any privileges to get all the data for some of the requested
|
|
||||||
structures (here called @dfn{features}) the library calls the sysdeps code directly
|
|
||||||
rather than using the server.
|
|
@@ -1,26 +0,0 @@
|
|||||||
.deps
|
|
||||||
.libs
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
first
|
|
||||||
first_linux
|
|
||||||
first_static
|
|
||||||
second
|
|
||||||
third
|
|
||||||
third_linux
|
|
||||||
third_static
|
|
||||||
second_static
|
|
||||||
second_linux
|
|
||||||
smp_static sysdeps_static netload_static procmap_static mountlist_static
|
|
||||||
smp sysdeps netload procmap mountlist
|
|
||||||
timings timings_static
|
|
||||||
pprint
|
|
||||||
pprint_static
|
|
||||||
procargs
|
|
||||||
procargs_static
|
|
||||||
df
|
|
||||||
df_static
|
|
||||||
netlist
|
|
||||||
netlist_static
|
|
||||||
openfiles
|
|
||||||
openfiles_static
|
|
@@ -1,203 +0,0 @@
|
|||||||
2005-01-22 Benoît Dejean <TazForEver@dlfp.org>
|
|
||||||
|
|
||||||
* openfiles.c: (show_open_files): Updated.
|
|
||||||
|
|
||||||
2004-12-23 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* netload.c: (main):
|
|
||||||
* procmap.c: (main): s/glibtop_error/g_error/g
|
|
||||||
|
|
||||||
2004-11-15 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* netload.c: (hwaddress_format_for_display), (main): Updated.
|
|
||||||
|
|
||||||
2004-11-13 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_fsusage), (pprint_get_mountlist),
|
|
||||||
(pprint_get_netload), (pprint_get_netlist), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-25 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (main): Re-added pprint_get_msg_limits()
|
|
||||||
|
|
||||||
i2004-09-25 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* df.c: (main):
|
|
||||||
* pprint.c: (main):
|
|
||||||
* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
|
|
||||||
|
|
||||||
2004-09-24 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* .cvsignore:
|
|
||||||
* Makefile.am:
|
|
||||||
* ../configure.in
|
|
||||||
* df.c: (print_fsusage), (main): Added new example, just like 'df'.
|
|
||||||
|
|
||||||
2004-09-22 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_swap), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* procargs.c: (show_args), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
|
|
||||||
(pprint_get_uptime), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_mountlist): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* procargs.c: (show_args), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-20 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* .cvsignore:
|
|
||||||
* Makefile.am:
|
|
||||||
* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
|
|
||||||
(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
|
|
||||||
(pprint_get_msg_limits), (main): Added new example : pretty prints
|
|
||||||
the result of glibtop_*. Work in progress.
|
|
||||||
|
|
||||||
Now builds procargs.
|
|
||||||
|
|
||||||
* ../configure.in: Added to static list.
|
|
||||||
|
|
||||||
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* procargs.c: Added glibtop_get_proc_argv demo.
|
|
||||||
|
|
||||||
2003-12-27 Ole Laursen <olau@hardworking.dk>
|
|
||||||
|
|
||||||
* mountlist.c: Updated to display block size too.
|
|
||||||
|
|
||||||
2004-03-04 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* smp.c: use libgtop-i18n.h
|
|
||||||
|
|
||||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* Makefile.am:
|
|
||||||
* smp.c:
|
|
||||||
* sysdeps.c: (main): install only one library, libgtop-2.0
|
|
||||||
Fix build-time warnings due to the redefinition of guint64
|
|
||||||
Fix building smp.c and sysdeps.c
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* first.c:
|
|
||||||
* mountlist.c:
|
|
||||||
* netload.c:
|
|
||||||
* procmap.c:
|
|
||||||
* second.c:
|
|
||||||
* smp.c:
|
|
||||||
* sysdeps.c:
|
|
||||||
* third.c:
|
|
||||||
* timings.c: fixed compilation
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
|
|
||||||
|
|
||||||
2001-01-14 Abel Cheung <maddog@linux.org.hk>
|
|
||||||
|
|
||||||
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
|
|
||||||
|
|
||||||
* Makefile.am, first.c, second.c, sysdeps.c: Make them at least
|
|
||||||
compile for now, by disabling chunks which should belong to
|
|
||||||
HEAD branch.
|
|
||||||
|
|
||||||
1999-05-28 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* first.c, second.c, sysdeps.c: Use LibGTop version conditionals
|
|
||||||
so we can more easily merge the code into LIBGTOP_STABLE_1_0.
|
|
||||||
|
|
||||||
1999-05-07 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* timings.c (timersub): Renamed this to `libgtop_timersub' and define
|
|
||||||
it on all systems.
|
|
||||||
|
|
||||||
Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
|
|
||||||
|
|
||||||
* timings.c: Added timersub defenition, to make code compilable on
|
|
||||||
BSDI.
|
|
||||||
|
|
||||||
1999-03-24 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* timings.c: New example.
|
|
||||||
|
|
||||||
1999-03-17 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* first.c, second.c: Fixed a bug that caused a core dump when
|
|
||||||
the sysdeps code does not return all data.
|
|
||||||
|
|
||||||
1998-11-22 Martin Baulig <baulig@taurus.uni-trier.de>
|
|
||||||
|
|
||||||
* netload.c: Call inet_ntoa () to get address and subnet
|
|
||||||
in quatted dot notation (like 136.199.14.201) and not just
|
|
||||||
as a number (like 0xc90ec788).
|
|
||||||
|
|
||||||
1998-11-02 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* sysdeps.c: New example.
|
|
||||||
|
|
||||||
1998-10-26 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* netload.c: New file. Gets network load for the interface
|
|
||||||
given as command line argument.
|
|
||||||
|
|
||||||
1998-10-26 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* first.c (glibtop_get_proc_args): Get command line arguments.
|
|
||||||
* second.c: Likewise.
|
|
||||||
|
|
||||||
1998-10-25 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* first.c (glibtop_get_ppp): Get PPP/ISDN statistics.
|
|
||||||
|
|
||||||
1998-09-28 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* Makefile.am: Install everything in $(libexecdir)/libgtop.
|
|
||||||
|
|
||||||
1998-09-09 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
|
|
||||||
|
|
||||||
* smp.c: New file. Nice tool to show CPU statistics on SMP systems.
|
|
||||||
|
|
||||||
1998-08-25 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* first.c, second.c, procmap.c: Fixed some compiler warnings.
|
|
||||||
|
|
||||||
1998-08-18 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* procmap.c: We now display filenames when compiled
|
|
||||||
`--with-libgtop-inodedb'.
|
|
||||||
|
|
||||||
1998-08-12 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* second.c: Works a little bit more like `ps' - you can
|
|
||||||
give an optional command line argument to get information
|
|
||||||
about a single process.
|
|
||||||
|
|
||||||
1998-07-22 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* mountlist.c: New file.
|
|
||||||
|
|
||||||
1998-06-12 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* test.scm: New file.
|
|
||||||
|
|
||||||
1998-06-07 Martin Baulig <martin@home-of-linux.org>
|
|
||||||
|
|
||||||
* Makefile.am (CFLAGS): Disable optimize.
|
|
||||||
|
|
||||||
* first.c (PROFILE_COUNT): Number of times each function
|
|
||||||
should be called. Defaults to 1; to profile the code, you
|
|
||||||
can increase this when compiling.
|
|
@@ -1,119 +0,0 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
|
||||||
|
|
||||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
|
||||||
|
|
||||||
INCLUDES = @INCLUDES@
|
|
||||||
|
|
||||||
DEFS = @DEFS@
|
|
||||||
|
|
||||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
|
||||||
mountlist procmap netload sysdeps timings \
|
|
||||||
openfiles \
|
|
||||||
@static_targets@ @smp_examples@
|
|
||||||
|
|
||||||
EXTRA_PROGRAMS = first_static second_static \
|
|
||||||
mountlist_static procmap_static \
|
|
||||||
smp smp_static openfiles_static \
|
|
||||||
netload_static sysdeps_static \
|
|
||||||
timings_static pprint_static procargs_static \
|
|
||||||
df_static netlist_static
|
|
||||||
|
|
||||||
first_SOURCES = first.c
|
|
||||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
first_static_SOURCES = $(first_SOURCES)
|
|
||||||
first_static_LDADD = $(first_LDADD)
|
|
||||||
first_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
second_SOURCES = second.c
|
|
||||||
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
|
||||||
|
|
||||||
second_static_SOURCES = $(second_SOURCES)
|
|
||||||
second_static_LDADD = $(second_LDADD)
|
|
||||||
second_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
procmap_SOURCES = procmap.c
|
|
||||||
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
procmap_static_SOURCES = $(procmap_SOURCES)
|
|
||||||
procmap_static_LDADD = $(procmap_LDADD)
|
|
||||||
procmap_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
netload_SOURCES = netload.c
|
|
||||||
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
netload_static_SOURCES = $(netload_SOURCES)
|
|
||||||
netload_static_LDADD = $(netload_LDADD)
|
|
||||||
netload_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
sysdeps_SOURCES = sysdeps.c
|
|
||||||
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
sysdeps_static_SOURCES = $(sysdeps_SOURCES)
|
|
||||||
sysdeps_static_LDADD = $(sysdeps_LDADD)
|
|
||||||
sysdeps_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
|
|
||||||
mountlist_SOURCES = mountlist.c
|
|
||||||
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
mountlist_static_SOURCES= $(mountlist_SOURCES)
|
|
||||||
mountlist_static_LDADD = $(mountlist_LDADD)
|
|
||||||
mountlist_static_LDFLAGS= -static
|
|
||||||
|
|
||||||
|
|
||||||
smp_SOURCES = smp.c
|
|
||||||
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
|
||||||
|
|
||||||
smp_static_SOURCES = $(smp_SOURCES)
|
|
||||||
smp_static_LDADD = $(smp_LDADD)
|
|
||||||
smp_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
timings_SOURCES = timings.c
|
|
||||||
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
timings_static_SOURCES = $(timings_SOURCES)
|
|
||||||
timings_static_LDADD = $(timings_LDADD)
|
|
||||||
timings_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
|
|
||||||
pprint_SOURCES = pprint.c
|
|
||||||
pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
pprint_static_SOURCES = $(pprint_SOURCES)
|
|
||||||
pprint_static_LDADD = $(pprint_LDADD)
|
|
||||||
pprint_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
|
|
||||||
procargs_SOURCES = procargs.c
|
|
||||||
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
procargs_static_SOURCES = $(procargs_SOURCES)
|
|
||||||
procargs_static_LDADD = $(procargs_LDADD)
|
|
||||||
procargs_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
|
|
||||||
df_SOURCES = df.c
|
|
||||||
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
df_static_SOURCES = $(df_SOURCES)
|
|
||||||
df_static_LDADD = $(df_LDADD)
|
|
||||||
df_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
|
|
||||||
netlist_SOURCES = netlist.c
|
|
||||||
netlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
netlist_static_SOURCES = $(netlist_SOURCES)
|
|
||||||
netlist_static_LDADD = $(netlist_LDADD)
|
|
||||||
netlist_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
|
|
||||||
openfiles_SOURCES = openfiles.c
|
|
||||||
openfiles_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
openfiles_static_SOURCES = $(openfiles_SOURCES)
|
|
||||||
openfiles_static_LDADD = $(openfiles_LDADD)
|
|
||||||
openfiles_static_LDFLAGS = -static
|
|
||||||
|
|
||||||
|
|
@@ -1,48 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
#include <glibtop/fsusage.h>
|
|
||||||
#include <glibtop/mountlist.h>
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
|
|
||||||
static void print_fsusage(const char *mountpoint)
|
|
||||||
{
|
|
||||||
glibtop_fsusage buf;
|
|
||||||
|
|
||||||
glibtop_get_fsusage(&buf, mountpoint);
|
|
||||||
|
|
||||||
printf("%-20s %-10llu %-10llu %-10llu %.1f\n",
|
|
||||||
mountpoint,
|
|
||||||
buf.blocks * buf.block_size >> 20,
|
|
||||||
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
|
||||||
buf.bavail * buf.block_size >> 20,
|
|
||||||
(buf.blocks - buf.bavail) * 100.0 / buf.blocks
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
glibtop_mountlist buf;
|
|
||||||
glibtop_mountentry *entries;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
printf("%-20s %-10s %-10s %-10s %-10s\n",
|
|
||||||
"Filesystem", "Size", "Used", "Avail", "Use%");
|
|
||||||
|
|
||||||
entries = glibtop_get_mountlist(&buf, FALSE);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
print_fsusage(entries[i].mountdir);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free(entries);
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
576
examples/first.c
576
examples/first.c
@@ -1,576 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/open.h>
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
|
||||||
#include <glibtop/sysdeps.h>
|
|
||||||
|
|
||||||
#include <sys/resource.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
|
||||||
#define PROFILE_COUNT 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_union data;
|
|
||||||
glibtop_sysdeps sysdeps;
|
|
||||||
unsigned c, method, count, port, i, *ptr;
|
|
||||||
char buffer [BUFSIZ];
|
|
||||||
pid_t pid, ppid;
|
|
||||||
char *args;
|
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
|
||||||
|
|
||||||
printf ("Method = %d\n", method);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
printf ("Command = '%s'\n", buffer);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
|
||||||
|
|
||||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_cpu (&data.cpu);
|
|
||||||
|
|
||||||
printf ("CPU (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.cpu.flags,
|
|
||||||
(unsigned long) data.cpu.total,
|
|
||||||
(unsigned long) data.cpu.user,
|
|
||||||
(unsigned long) data.cpu.nice,
|
|
||||||
(unsigned long) data.cpu.sys,
|
|
||||||
(unsigned long) data.cpu.idle,
|
|
||||||
(unsigned long) data.cpu.frequency);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_mem (&data.mem);
|
|
||||||
|
|
||||||
printf ("Memory (0x%08lx): "
|
|
||||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.mem.flags,
|
|
||||||
(unsigned long) data.mem.total,
|
|
||||||
(unsigned long) data.mem.used,
|
|
||||||
(unsigned long) data.mem.free,
|
|
||||||
(unsigned long) data.mem.shared,
|
|
||||||
(unsigned long) data.mem.buffer,
|
|
||||||
(unsigned long) data.mem.cached,
|
|
||||||
(unsigned long) data.mem.user,
|
|
||||||
(unsigned long) data.mem.locked);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_swap (&data.swap);
|
|
||||||
|
|
||||||
printf ("Swap (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.swap.flags,
|
|
||||||
(unsigned long) data.swap.total,
|
|
||||||
(unsigned long) data.swap.used,
|
|
||||||
(unsigned long) data.swap.free,
|
|
||||||
(unsigned long) data.swap.pagein,
|
|
||||||
(unsigned long) data.swap.pageout);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_uptime (&data.uptime);
|
|
||||||
|
|
||||||
printf ("Uptime (0x%08lx): %f, %f\n",
|
|
||||||
(unsigned long) data.uptime.flags,
|
|
||||||
data.uptime.uptime, data.uptime.idletime);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_loadavg (&data.loadavg);
|
|
||||||
|
|
||||||
printf ("Loadavg (0x%08lx): %f, %f, %f - %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.loadavg.flags,
|
|
||||||
(double) data.loadavg.loadavg [0],
|
|
||||||
(double) data.loadavg.loadavg [1],
|
|
||||||
(double) data.loadavg.loadavg [2],
|
|
||||||
(unsigned long) data.loadavg.nr_running,
|
|
||||||
(unsigned long) data.loadavg.nr_tasks,
|
|
||||||
(unsigned long) data.loadavg.last_pid);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_shm_limits (&data.shm_limits);
|
|
||||||
|
|
||||||
printf ("Shm Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.shm_limits.flags,
|
|
||||||
(unsigned long) data.shm_limits.shmmax,
|
|
||||||
(unsigned long) data.shm_limits.shmmin,
|
|
||||||
(unsigned long) data.shm_limits.shmmni,
|
|
||||||
(unsigned long) data.shm_limits.shmseg,
|
|
||||||
(unsigned long) data.shm_limits.shmall);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_msg_limits (&data.msg_limits);
|
|
||||||
|
|
||||||
printf ("Msg Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.msg_limits.flags,
|
|
||||||
(unsigned long) data.msg_limits.msgpool,
|
|
||||||
(unsigned long) data.msg_limits.msgmap,
|
|
||||||
(unsigned long) data.msg_limits.msgmax,
|
|
||||||
(unsigned long) data.msg_limits.msgmnb,
|
|
||||||
(unsigned long) data.msg_limits.msgmni,
|
|
||||||
(unsigned long) data.msg_limits.msgssz,
|
|
||||||
(unsigned long) data.msg_limits.msgtql);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_sem_limits (&data.sem_limits);
|
|
||||||
|
|
||||||
printf ("Sem Limits (0x%08lx): "
|
|
||||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.sem_limits.flags,
|
|
||||||
(unsigned long) data.sem_limits.semmap,
|
|
||||||
(unsigned long) data.sem_limits.semmni,
|
|
||||||
(unsigned long) data.sem_limits.semmns,
|
|
||||||
(unsigned long) data.sem_limits.semmnu,
|
|
||||||
(unsigned long) data.sem_limits.semmsl,
|
|
||||||
(unsigned long) data.sem_limits.semopm,
|
|
||||||
(unsigned long) data.sem_limits.semume,
|
|
||||||
(unsigned long) data.sem_limits.semusz,
|
|
||||||
(unsigned long) data.sem_limits.semvmx,
|
|
||||||
(unsigned long) data.sem_limits.semaem);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_ppp (&data.ppp, 0);
|
|
||||||
|
|
||||||
printf ("PPP (0x%08lx): %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.ppp.flags,
|
|
||||||
(unsigned long) data.ppp.state,
|
|
||||||
(unsigned long) data.ppp.bytes_in,
|
|
||||||
(unsigned long) data.ppp.bytes_out);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
glibtop_get_sysdeps (&sysdeps);
|
|
||||||
|
|
||||||
printf ("Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
|
||||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, "
|
|
||||||
"%lu, %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) sysdeps.flags,
|
|
||||||
(unsigned long) sysdeps.cpu,
|
|
||||||
(unsigned long) sysdeps.mem,
|
|
||||||
(unsigned long) sysdeps.swap,
|
|
||||||
(unsigned long) sysdeps.uptime,
|
|
||||||
(unsigned long) sysdeps.loadavg,
|
|
||||||
(unsigned long) sysdeps.shm_limits,
|
|
||||||
(unsigned long) sysdeps.msg_limits,
|
|
||||||
(unsigned long) sysdeps.sem_limits,
|
|
||||||
(unsigned long) sysdeps.proclist,
|
|
||||||
(unsigned long) sysdeps.proc_state,
|
|
||||||
(unsigned long) sysdeps.proc_uid,
|
|
||||||
(unsigned long) sysdeps.proc_mem,
|
|
||||||
(unsigned long) sysdeps.proc_time,
|
|
||||||
(unsigned long) sysdeps.proc_signal,
|
|
||||||
(unsigned long) sysdeps.proc_kernel,
|
|
||||||
(unsigned long) sysdeps.proc_segment,
|
|
||||||
(unsigned long) sysdeps.proc_args,
|
|
||||||
(unsigned long) sysdeps.proc_map,
|
|
||||||
(unsigned long) sysdeps.mountlist,
|
|
||||||
(unsigned long) sysdeps.fsusage,
|
|
||||||
(unsigned long) sysdeps.netload,
|
|
||||||
(unsigned long) sysdeps.ppp);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
|
||||||
|
|
||||||
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) data.proclist.flags,
|
|
||||||
(unsigned long) data.proclist.number,
|
|
||||||
(unsigned long) data.proclist.size,
|
|
||||||
(unsigned long) data.proclist.total);
|
|
||||||
|
|
||||||
if (ptr) {
|
|
||||||
printf ("\nProcess: ");
|
|
||||||
for (i = 0; i < data.proclist.number; i++)
|
|
||||||
printf ("%s%u", i ? ", " : "", ptr [i]);
|
|
||||||
printf ("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free (ptr);
|
|
||||||
|
|
||||||
pid = getpid ();
|
|
||||||
ppid = getppid ();
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_state (&data.proc_state, pid);
|
|
||||||
|
|
||||||
printf ("Proc_State PID %5d (0x%08lx): '%s', %c, %lu, %lu\n",
|
|
||||||
(int) pid, (unsigned long) data.proc_state.flags,
|
|
||||||
data.proc_state.cmd, data.proc_state.state,
|
|
||||||
(unsigned long) data.proc_state.uid,
|
|
||||||
(unsigned long) data.proc_state.gid);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Uid PID %5d (0x%08lx): "
|
|
||||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_uid.flags,
|
|
||||||
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);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Mem PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_mem.flags,
|
|
||||||
(unsigned long) data.proc_mem.size,
|
|
||||||
(unsigned long) data.proc_mem.vsize,
|
|
||||||
(unsigned long) data.proc_mem.resident,
|
|
||||||
(unsigned long) data.proc_mem.share,
|
|
||||||
(unsigned long) data.proc_mem.rss,
|
|
||||||
(unsigned long) data.proc_mem.rss_rlim);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Segment PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_segment.flags,
|
|
||||||
(unsigned long) data.proc_segment.text_rss,
|
|
||||||
(unsigned long) data.proc_segment.shlib_rss,
|
|
||||||
(unsigned long) data.proc_segment.data_rss,
|
|
||||||
(unsigned long) data.proc_segment.stack_rss,
|
|
||||||
(unsigned long) data.proc_segment.dirty_size,
|
|
||||||
(unsigned long) data.proc_segment.start_code,
|
|
||||||
(unsigned long) data.proc_segment.end_code,
|
|
||||||
(unsigned long) data.proc_segment.start_stack);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Time PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_time.flags,
|
|
||||||
(unsigned long) data.proc_time.start_time,
|
|
||||||
(unsigned long) data.proc_time.rtime,
|
|
||||||
(unsigned long) data.proc_time.utime,
|
|
||||||
(unsigned long) data.proc_time.stime,
|
|
||||||
(unsigned long) data.proc_time.cutime,
|
|
||||||
(unsigned long) data.proc_time.cstime,
|
|
||||||
(unsigned long) data.proc_time.timeout,
|
|
||||||
(unsigned long) data.proc_time.it_real_value,
|
|
||||||
(unsigned long) data.proc_time.frequency);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Signal PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_signal.flags,
|
|
||||||
(unsigned long) data.proc_signal.signal,
|
|
||||||
(unsigned long) data.proc_signal.blocked,
|
|
||||||
(unsigned long) data.proc_signal.sigignore,
|
|
||||||
(unsigned long) data.proc_signal.sigcatch);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Kernel PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_kernel.flags,
|
|
||||||
(unsigned long) data.proc_kernel.k_flags,
|
|
||||||
(unsigned long) data.proc_kernel.min_flt,
|
|
||||||
(unsigned long) data.proc_kernel.maj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmin_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_esp,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_eip,
|
|
||||||
(unsigned long) data.proc_kernel.nwchan,
|
|
||||||
data.proc_kernel.wchan);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
|
|
||||||
|
|
||||||
for (i = 0; i < data.proc_args.size; i++) {
|
|
||||||
if (args [i]) continue;
|
|
||||||
args [i] = '|';
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_args.flags,
|
|
||||||
(unsigned long) data.proc_args.size,
|
|
||||||
args ? args : "");
|
|
||||||
|
|
||||||
g_free (args);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_state (&data.proc_state, ppid);
|
|
||||||
|
|
||||||
printf ("Proc_State PPID %5d (0x%08lx): '%s', %c, %lu, %lu\n",
|
|
||||||
(int) ppid, (unsigned long) data.proc_state.flags,
|
|
||||||
data.proc_state.cmd, data.proc_state.state,
|
|
||||||
(unsigned long) data.proc_state.uid,
|
|
||||||
(unsigned long) data.proc_state.gid);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_uid (&data.proc_uid, ppid);
|
|
||||||
|
|
||||||
printf ("Proc_Uid PPID %5d (0x%08lx): "
|
|
||||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) ppid,
|
|
||||||
(unsigned long) data.proc_uid.flags,
|
|
||||||
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);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_mem (&data.proc_mem, ppid);
|
|
||||||
|
|
||||||
printf ("Proc_Mem PPID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu\n", (int) ppid,
|
|
||||||
(unsigned long) data.proc_mem.flags,
|
|
||||||
(unsigned long) data.proc_mem.size,
|
|
||||||
(unsigned long) data.proc_mem.vsize,
|
|
||||||
(unsigned long) data.proc_mem.resident,
|
|
||||||
(unsigned long) data.proc_mem.share,
|
|
||||||
(unsigned long) data.proc_mem.rss,
|
|
||||||
(unsigned long) data.proc_mem.rss_rlim);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_segment (&data.proc_segment, ppid);
|
|
||||||
|
|
||||||
printf ("Proc_Segment PPID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
|
|
||||||
(unsigned long) data.proc_segment.flags,
|
|
||||||
(unsigned long) data.proc_segment.text_rss,
|
|
||||||
(unsigned long) data.proc_segment.shlib_rss,
|
|
||||||
(unsigned long) data.proc_segment.data_rss,
|
|
||||||
(unsigned long) data.proc_segment.stack_rss,
|
|
||||||
(unsigned long) data.proc_segment.dirty_size,
|
|
||||||
(unsigned long) data.proc_segment.start_code,
|
|
||||||
(unsigned long) data.proc_segment.end_code,
|
|
||||||
(unsigned long) data.proc_segment.start_stack);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_time (&data.proc_time, ppid);
|
|
||||||
|
|
||||||
printf ("Proc_Time PPID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
|
|
||||||
(unsigned long) data.proc_time.flags,
|
|
||||||
(unsigned long) data.proc_time.start_time,
|
|
||||||
(unsigned long) data.proc_time.rtime,
|
|
||||||
(unsigned long) data.proc_time.utime,
|
|
||||||
(unsigned long) data.proc_time.stime,
|
|
||||||
(unsigned long) data.proc_time.cutime,
|
|
||||||
(unsigned long) data.proc_time.cstime,
|
|
||||||
(unsigned long) data.proc_time.timeout,
|
|
||||||
(unsigned long) data.proc_time.it_real_value,
|
|
||||||
(unsigned long) data.proc_time.frequency);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_signal (&data.proc_signal, ppid);
|
|
||||||
|
|
||||||
printf ("Proc_Signal PPID %5d (0x%08lx): %lu %lu %lu %lu\n",
|
|
||||||
(int) ppid, (unsigned long) data.proc_signal.flags,
|
|
||||||
(unsigned long) data.proc_signal.signal,
|
|
||||||
(unsigned long) data.proc_signal.blocked,
|
|
||||||
(unsigned long) data.proc_signal.sigignore,
|
|
||||||
(unsigned long) data.proc_signal.sigcatch);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_kernel (&data.proc_kernel, ppid);
|
|
||||||
|
|
||||||
printf ("Proc_Kernel PPID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) ppid,
|
|
||||||
(unsigned long) data.proc_kernel.flags,
|
|
||||||
(unsigned long) data.proc_kernel.k_flags,
|
|
||||||
(unsigned long) data.proc_kernel.min_flt,
|
|
||||||
(unsigned long) data.proc_kernel.maj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmin_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_esp,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_eip,
|
|
||||||
(unsigned long) data.proc_kernel.nwchan,
|
|
||||||
data.proc_kernel.wchan);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
args = glibtop_get_proc_args (&data.proc_args, ppid, 0);
|
|
||||||
|
|
||||||
for (i = 0; i < data.proc_args.size; i++) {
|
|
||||||
if (args [i]) continue;
|
|
||||||
args [i] = '|';
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) ppid,
|
|
||||||
(unsigned long) data.proc_args.flags,
|
|
||||||
(unsigned long) data.proc_args.size,
|
|
||||||
args ? args : "");
|
|
||||||
|
|
||||||
g_free (args);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_state (&data.proc_state, 1);
|
|
||||||
|
|
||||||
printf ("Proc_State INIT %5d (0x%08lx): '%s', %c, %lu, %lu\n", 1,
|
|
||||||
(unsigned long) data.proc_state.flags,
|
|
||||||
data.proc_state.cmd, data.proc_state.state,
|
|
||||||
(unsigned long) data.proc_state.uid,
|
|
||||||
(unsigned long) data.proc_state.gid);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_uid (&data.proc_uid, 1);
|
|
||||||
|
|
||||||
printf ("Proc_Uid INIT %5d (0x%08lx): "
|
|
||||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", 1,
|
|
||||||
(unsigned long) data.proc_uid.flags,
|
|
||||||
data.proc_uid.uid, data.proc_uid.euid,
|
|
||||||
data.proc_uid.gid, data.proc_uid.egid,
|
|
||||||
data.proc_uid.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);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_mem (&data.proc_mem, 1);
|
|
||||||
|
|
||||||
printf ("Proc_Mem INIT %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu\n", 1,
|
|
||||||
(unsigned long) data.proc_mem.flags,
|
|
||||||
(unsigned long) data.proc_mem.size,
|
|
||||||
(unsigned long) data.proc_mem.vsize,
|
|
||||||
(unsigned long) data.proc_mem.resident,
|
|
||||||
(unsigned long) data.proc_mem.share,
|
|
||||||
(unsigned long) data.proc_mem.rss,
|
|
||||||
(unsigned long) data.proc_mem.rss_rlim);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_segment (&data.proc_segment, 1);
|
|
||||||
|
|
||||||
printf ("Proc_Segment INIT %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
|
|
||||||
(unsigned long) data.proc_segment.flags,
|
|
||||||
(unsigned long) data.proc_segment.text_rss,
|
|
||||||
(unsigned long) data.proc_segment.shlib_rss,
|
|
||||||
(unsigned long) data.proc_segment.data_rss,
|
|
||||||
(unsigned long) data.proc_segment.stack_rss,
|
|
||||||
(unsigned long) data.proc_segment.dirty_size,
|
|
||||||
(unsigned long) data.proc_segment.start_code,
|
|
||||||
(unsigned long) data.proc_segment.end_code,
|
|
||||||
(unsigned long) data.proc_segment.start_stack);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_time (&data.proc_time, 1);
|
|
||||||
|
|
||||||
printf ("Proc_Time INIT %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
|
|
||||||
(unsigned long) data.proc_time.flags,
|
|
||||||
(unsigned long) data.proc_time.start_time,
|
|
||||||
(unsigned long) data.proc_time.rtime,
|
|
||||||
(unsigned long) data.proc_time.utime,
|
|
||||||
(unsigned long) data.proc_time.stime,
|
|
||||||
(unsigned long) data.proc_time.cutime,
|
|
||||||
(unsigned long) data.proc_time.cstime,
|
|
||||||
(unsigned long) data.proc_time.timeout,
|
|
||||||
(unsigned long) data.proc_time.it_real_value,
|
|
||||||
(unsigned long) data.proc_time.frequency);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_signal (&data.proc_signal, 1);
|
|
||||||
|
|
||||||
printf ("Proc_Signal INIT %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu\n", 1,
|
|
||||||
(unsigned long) data.proc_signal.flags,
|
|
||||||
(unsigned long) data.proc_signal.signal,
|
|
||||||
(unsigned long) data.proc_signal.blocked,
|
|
||||||
(unsigned long) data.proc_signal.sigignore,
|
|
||||||
(unsigned long) data.proc_signal.sigcatch);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_kernel (&data.proc_kernel, 1);
|
|
||||||
|
|
||||||
printf ("Proc_Kernel INIT %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", 1,
|
|
||||||
(unsigned long) data.proc_kernel.flags,
|
|
||||||
(unsigned long) data.proc_kernel.k_flags,
|
|
||||||
(unsigned long) data.proc_kernel.min_flt,
|
|
||||||
(unsigned long) data.proc_kernel.maj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmin_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_esp,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_eip,
|
|
||||||
(unsigned long) data.proc_kernel.nwchan,
|
|
||||||
data.proc_kernel.wchan);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
args = glibtop_get_proc_args (&data.proc_args, 1, 0);
|
|
||||||
|
|
||||||
for (i = 0; i < data.proc_args.size; i++) {
|
|
||||||
if (args [i]) continue;
|
|
||||||
args [i] = '|';
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", 1,
|
|
||||||
(unsigned long) data.proc_args.flags,
|
|
||||||
(unsigned long) data.proc_args.size,
|
|
||||||
args ? args : "");
|
|
||||||
|
|
||||||
g_free (args);
|
|
||||||
|
|
||||||
glibtop_close ();
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -1,114 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/open.h>
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
|
||||||
|
|
||||||
#include <glibtop/mountlist.h>
|
|
||||||
#include <glibtop/fsusage.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
|
||||||
#define PROFILE_COUNT 1000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_fsusage fsusage;
|
|
||||||
glibtop_mountlist mount_list;
|
|
||||||
glibtop_mountentry *mount_entries;
|
|
||||||
unsigned c, index, method, count, port;
|
|
||||||
char buffer [BUFSIZ];
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
|
||||||
|
|
||||||
printf ("Method = %d\n", method);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
printf ("Command = '%s'\n", buffer);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
|
||||||
|
|
||||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
|
||||||
|
|
||||||
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++) {
|
|
||||||
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
|
||||||
|
|
||||||
g_free (mount_entries);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
|
||||||
|
|
||||||
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
|
||||||
|
|
||||||
if (mount_entries == NULL)
|
|
||||||
_exit (1);
|
|
||||||
|
|
||||||
for (index = 0; index < mount_list.number; index++)
|
|
||||||
printf ("Mount_Entry: %-30s %-10s %-20s\n",
|
|
||||||
mount_entries [index].mountdir,
|
|
||||||
mount_entries [index].type,
|
|
||||||
mount_entries [index].devname);
|
|
||||||
|
|
||||||
printf ("\n\n%-16s %9s %9s %9s %9s %9s %9s\n",
|
|
||||||
"Mount", "Blocks", "Free", "Avail", "Files", "Free", "BlockSz");
|
|
||||||
|
|
||||||
for (index = 0; index < mount_list.number; index++) {
|
|
||||||
glibtop_get_fsusage (&fsusage,
|
|
||||||
mount_entries [index].mountdir);
|
|
||||||
|
|
||||||
printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n",
|
|
||||||
mount_entries [index].mountdir,
|
|
||||||
fsusage.blocks, fsusage.bfree,
|
|
||||||
fsusage.bavail, fsusage.files,
|
|
||||||
fsusage.ffree, fsusage.block_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free (mount_entries);
|
|
||||||
|
|
||||||
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
|
|
||||||
|
|
||||||
glibtop_close ();
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -1,46 +0,0 @@
|
|||||||
/* Copyright (C) 2004 Benoît Dejean
|
|
||||||
This file is part of LibGTop 2.0.
|
|
||||||
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/netlist.h>
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_netlist buf;
|
|
||||||
char **devices;
|
|
||||||
guint32 i;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
devices = glibtop_get_netlist(&buf);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("net device '%s'\n", devices[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_strfreev(devices);
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
return 0;
|
|
||||||
}
|
|
@@ -1,160 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/open.h>
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
|
||||||
|
|
||||||
#include <glibtop/netload.h>
|
|
||||||
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
|
||||||
#define PROFILE_COUNT 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static char* hwaddress_format_for_display(glibtop_netload *buf)
|
|
||||||
{
|
|
||||||
unsigned i;
|
|
||||||
GString *repr = g_string_new("");
|
|
||||||
char *str;
|
|
||||||
|
|
||||||
for(i = 0; i < sizeof buf->hwaddress; ++i)
|
|
||||||
g_string_append_printf(repr, "%02X:",
|
|
||||||
(unsigned) ((char*)buf->hwaddress)[i]);
|
|
||||||
|
|
||||||
repr->str [ repr->len - 1] = ' ';
|
|
||||||
str = g_string_free(repr, FALSE);
|
|
||||||
g_strstrip(str);
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_netload netload;
|
|
||||||
unsigned method, count, port;
|
|
||||||
struct in_addr addr, subnet;
|
|
||||||
char *address_string, *subnet_string;
|
|
||||||
char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
|
|
||||||
char *hwaddress_string;
|
|
||||||
char buffer [BUFSIZ];
|
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
|
||||||
|
|
||||||
printf ("Method = %d\n", method);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
printf ("Command = '%s'\n", buffer);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
|
||||||
|
|
||||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
|
||||||
|
|
||||||
if (argc != 2)
|
|
||||||
g_error ("Usage: %s interface", argv [0]);
|
|
||||||
|
|
||||||
glibtop_get_netload (&netload, argv [1]);
|
|
||||||
|
|
||||||
addr.s_addr = netload.address;
|
|
||||||
subnet.s_addr = netload.subnet;
|
|
||||||
|
|
||||||
address_string = g_strdup (inet_ntoa (addr));
|
|
||||||
subnet_string = g_strdup (inet_ntoa (subnet));
|
|
||||||
|
|
||||||
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
|
|
||||||
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
|
|
||||||
|
|
||||||
hwaddress_string = hwaddress_format_for_display(&netload);
|
|
||||||
|
|
||||||
printf ("Network Load (0x%016llx):\n\n"
|
|
||||||
"\tInterface Flags:\t0x%016llx\n"
|
|
||||||
"\tAddress:\t\t0x%08x - %s\n"
|
|
||||||
"\tSubnet:\t\t\t0x%08x - %s\n\n"
|
|
||||||
"\tMTU:\t\t\t%d\n"
|
|
||||||
"\tCollisions:\t\t%llu\n\n"
|
|
||||||
"\tPackets In:\t\t%llu\n"
|
|
||||||
"\tPackets Out:\t\t%llu\n"
|
|
||||||
"\tPackets Total:\t\t%llu\n\n"
|
|
||||||
"\tBytes In:\t\t%llu\n"
|
|
||||||
"\tBytes Out:\t\t%llu\n"
|
|
||||||
"\tBytes Total:\t\t%llu\n\n"
|
|
||||||
"\tErrors In:\t\t%llu\n"
|
|
||||||
"\tErrors Out:\t\t%llu\n"
|
|
||||||
"\tErrors Total:\t\t%llu\n\n"
|
|
||||||
"\tAddress6:\t\t%s\n"
|
|
||||||
"\tPrefix6:\t\t%s\n"
|
|
||||||
"\tScope6:\t\t\t%#03x\n\n"
|
|
||||||
"\tHarware Address:\t%s\n\n",
|
|
||||||
netload.flags,
|
|
||||||
netload.if_flags,
|
|
||||||
(guint32) netload.address, address_string,
|
|
||||||
(guint32) netload.subnet, subnet_string,
|
|
||||||
netload.mtu,
|
|
||||||
netload.collisions,
|
|
||||||
netload.packets_in,
|
|
||||||
netload.packets_out,
|
|
||||||
netload.packets_total,
|
|
||||||
netload.bytes_in,
|
|
||||||
netload.bytes_out,
|
|
||||||
netload.bytes_total,
|
|
||||||
netload.errors_in,
|
|
||||||
netload.errors_out,
|
|
||||||
netload.errors_total,
|
|
||||||
address6_string,
|
|
||||||
prefix6_string,
|
|
||||||
(int) netload.scope6,
|
|
||||||
hwaddress_string);
|
|
||||||
|
|
||||||
|
|
||||||
g_free (address_string);
|
|
||||||
g_free (subnet_string);
|
|
||||||
|
|
||||||
glibtop_close ();
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -1,64 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procopenfiles.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static void show_open_files(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_open_files buf;
|
|
||||||
glibtop_open_files_entry *files;
|
|
||||||
unsigned i;
|
|
||||||
|
|
||||||
files = glibtop_get_proc_open_files(&buf, pid);
|
|
||||||
|
|
||||||
printf("<%ld>\n", (long)pid);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("\tfd = %d\t", files[i].fd);
|
|
||||||
|
|
||||||
switch(files[i].type)
|
|
||||||
{
|
|
||||||
case GLIBTOP_FILE_TYPE_FILE:
|
|
||||||
printf("file \"%s\"\n", files[i].info.file.name);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_PIPE:
|
|
||||||
printf("pipe\n");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_INETSOCKET:
|
|
||||||
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
|
|
||||||
printf("localsocket %s\n", files[i].info.localsock.name);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
g_free(files);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
show_open_files(getpid());
|
|
||||||
|
|
||||||
while(*++argv)
|
|
||||||
{
|
|
||||||
pid_t pid = strtol(*argv, NULL, 10);
|
|
||||||
show_open_files(pid);
|
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -1,281 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
|
|
||||||
#define buf_offsetof(MEMBER) ((ptrdiff_t)&(buf.MEMBER) - (ptrdiff_t)&buf)
|
|
||||||
|
|
||||||
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
|
|
||||||
(unsigned long) sizeof buf)
|
|
||||||
|
|
||||||
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
|
|
||||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
|
||||||
|
|
||||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
|
||||||
size_t i; \
|
|
||||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
|
||||||
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
|
|
||||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
|
||||||
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
|
|
||||||
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define FOOTER_PPRINT() putchar('\n');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_cpu()
|
|
||||||
{
|
|
||||||
glibtop_cpu buf;
|
|
||||||
|
|
||||||
glibtop_get_cpu(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_cpu);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(user, "%llu");
|
|
||||||
PPRINT(nice, "%llu");
|
|
||||||
PPRINT(sys, "%llu");
|
|
||||||
PPRINT(idle, "%llu");
|
|
||||||
PPRINT(iowait, "%llu");
|
|
||||||
PPRINT(irq, "%llu");
|
|
||||||
PPRINT(softirq, "%llu");
|
|
||||||
PPRINT(frequency, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT(xcpu_flags, "%llx");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_fsusage(const char *mountpoint)
|
|
||||||
{
|
|
||||||
glibtop_fsusage buf;
|
|
||||||
|
|
||||||
glibtop_get_fsusage(&buf, mountpoint);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_fsusage);
|
|
||||||
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(blocks, "%llu");
|
|
||||||
PPRINT(bfree, "%llu");
|
|
||||||
PPRINT(bavail, "%llu");
|
|
||||||
PPRINT(files, "%llu");
|
|
||||||
PPRINT(ffree, "%llu");
|
|
||||||
PPRINT(block_size, "%u");
|
|
||||||
PPRINT(read, "%llu");
|
|
||||||
PPRINT(write, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_loadavg()
|
|
||||||
{
|
|
||||||
glibtop_loadavg buf;
|
|
||||||
|
|
||||||
glibtop_get_loadavg(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_loadavg);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT_ARRAY(loadavg, 3, "%f");
|
|
||||||
PPRINT(nr_running, "%llu");
|
|
||||||
PPRINT(nr_tasks, "%llu");
|
|
||||||
PPRINT(last_pid, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_mem()
|
|
||||||
{
|
|
||||||
glibtop_mem buf;
|
|
||||||
|
|
||||||
glibtop_get_mem(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_mem);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(used, "%llu");
|
|
||||||
PPRINT(free, "%llu");
|
|
||||||
PPRINT(shared, "%llu");
|
|
||||||
PPRINT(buffer, "%llu");
|
|
||||||
PPRINT(cached, "%llu");
|
|
||||||
PPRINT(user, "%llu");
|
|
||||||
PPRINT(locked, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_mountlist(gboolean allfs)
|
|
||||||
{
|
|
||||||
glibtop_mountlist buf;
|
|
||||||
glibtop_mountentry *entries;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
entries = glibtop_get_mountlist(&buf, allfs);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_mountlist);
|
|
||||||
printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(number, "%llu");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(size, "%llu");
|
|
||||||
|
|
||||||
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("\t\t .%lu = { .dev = %#llx,"
|
|
||||||
" .devname = \"%s\","
|
|
||||||
" .mountir = \"%s\","
|
|
||||||
" .type = \"%s\" }\n",
|
|
||||||
(unsigned long) i, entries[i].dev,
|
|
||||||
entries[i].devname,
|
|
||||||
entries[i].mountdir,
|
|
||||||
entries[i].type);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("\t\t}\n");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
|
|
||||||
g_free(entries);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_msg_limits()
|
|
||||||
{
|
|
||||||
glibtop_msg_limits buf;
|
|
||||||
|
|
||||||
glibtop_get_msg_limits(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_msg_limits);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(msgpool, "%llu");
|
|
||||||
PPRINT(msgmap, "%llu");
|
|
||||||
PPRINT(msgmax, "%llu");
|
|
||||||
PPRINT(msgmnb, "%llu");
|
|
||||||
PPRINT(msgmni, "%llu");
|
|
||||||
PPRINT(msgssz, "%llu");
|
|
||||||
PPRINT(msgtql, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_netload(const char *iface)
|
|
||||||
{
|
|
||||||
glibtop_netload buf;
|
|
||||||
|
|
||||||
glibtop_get_netload(&buf, iface);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_netload);
|
|
||||||
printf("glibtop_get_netload (iface = \"%s\")\n", iface);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_netlist()
|
|
||||||
{
|
|
||||||
glibtop_netlist buf;
|
|
||||||
char **devices;
|
|
||||||
guint32 i;
|
|
||||||
|
|
||||||
devices = glibtop_get_netlist(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_netlist);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("\t%s\n", devices[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
|
|
||||||
g_strfreev(devices);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_swap()
|
|
||||||
{
|
|
||||||
glibtop_swap buf;
|
|
||||||
|
|
||||||
glibtop_get_swap(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_swap);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(used, "%llu");
|
|
||||||
PPRINT(free, "%llu");
|
|
||||||
PPRINT(pagein, "%llu");
|
|
||||||
PPRINT(pageout, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_uptime()
|
|
||||||
{
|
|
||||||
glibtop_uptime buf;
|
|
||||||
|
|
||||||
glibtop_get_uptime(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_uptime);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(uptime, "%f");
|
|
||||||
PPRINT(idletime, "%f");
|
|
||||||
PPRINT(boot_time, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
pprint_get_cpu();
|
|
||||||
|
|
||||||
pprint_get_fsusage("/");
|
|
||||||
|
|
||||||
pprint_get_loadavg();
|
|
||||||
|
|
||||||
pprint_get_mem();
|
|
||||||
|
|
||||||
pprint_get_mountlist(TRUE);
|
|
||||||
pprint_get_mountlist(FALSE);
|
|
||||||
|
|
||||||
pprint_get_msg_limits();
|
|
||||||
|
|
||||||
pprint_get_swap();
|
|
||||||
|
|
||||||
pprint_get_netlist();
|
|
||||||
|
|
||||||
pprint_get_netload("eth0");
|
|
||||||
pprint_get_netload("ppp0");
|
|
||||||
pprint_get_netload("<unknown>");
|
|
||||||
/* pprint_get_sysinfo(); */
|
|
||||||
|
|
||||||
pprint_get_uptime();
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@@ -1,47 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procargs.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static void show_args(pid_t pid, unsigned max_len)
|
|
||||||
{
|
|
||||||
glibtop_proc_args buf;
|
|
||||||
char ** const pargv = glibtop_get_proc_argv(&buf, pid, max_len);
|
|
||||||
|
|
||||||
char **parg = pargv;
|
|
||||||
|
|
||||||
printf("<%ld>\t", (long)pid);
|
|
||||||
|
|
||||||
while(*parg)
|
|
||||||
{
|
|
||||||
printf("\"%s\" ", *parg);
|
|
||||||
parg++;
|
|
||||||
}
|
|
||||||
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
g_strfreev(pargv);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
show_args(getpid(), 0);
|
|
||||||
show_args(getpid(), 15);
|
|
||||||
|
|
||||||
while(*++argv)
|
|
||||||
{
|
|
||||||
pid_t pid = strtol(*argv, NULL, 10);
|
|
||||||
show_args(pid, 0);
|
|
||||||
show_args(pid, 15);
|
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -1,165 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/open.h>
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
|
||||||
|
|
||||||
#include <glibtop/procmap.h>
|
|
||||||
|
|
||||||
#ifdef GLIBTOP_INODEDB
|
|
||||||
#include <glibtop/inodedb.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <sys/resource.h>
|
|
||||||
#include <sys/mman.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
|
||||||
#define PROFILE_COUNT 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
#ifdef GLIBTOP_INODEDB
|
|
||||||
glibtop_inodedb *inodedb;
|
|
||||||
#endif
|
|
||||||
glibtop_proc_map procmap;
|
|
||||||
glibtop_map_entry *maps;
|
|
||||||
unsigned method, count, port, i;
|
|
||||||
char buffer [BUFSIZ];
|
|
||||||
pid_t pid;
|
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
|
||||||
|
|
||||||
printf ("Method = %d\n", method);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
printf ("Command = '%s'\n", buffer);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
|
||||||
|
|
||||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
|
||||||
|
|
||||||
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
|
||||||
g_error ("Usage: %s pid", argv [0]);
|
|
||||||
|
|
||||||
#ifdef GLIBTOP_INODEDB
|
|
||||||
inodedb = glibtop_inodedb_open (0, 0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
|
||||||
|
|
||||||
maps = glibtop_get_proc_map (&procmap, pid);
|
|
||||||
|
|
||||||
for (i = 0; i < procmap.number; i++) {
|
|
||||||
const char *filename = NULL;
|
|
||||||
unsigned device, device_major, device_minor;
|
|
||||||
char perm [5];
|
|
||||||
|
|
||||||
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
|
|
||||||
filename = maps [i].filename;
|
|
||||||
|
|
||||||
#ifdef GLIBTOP_INODEDB
|
|
||||||
if (inodedb && !filename)
|
|
||||||
filename = glibtop_inodedb_lookup
|
|
||||||
(inodedb, maps [i].device, maps [i].inode);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-';
|
|
||||||
perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-';
|
|
||||||
perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-';
|
|
||||||
perm [3] = (maps [i].perm & GLIBTOP_MAP_PERM_SHARED) ? 's' : '-';
|
|
||||||
perm [4] = (maps [i].perm & GLIBTOP_MAP_PERM_PRIVATE) ? 'p' : '-';
|
|
||||||
|
|
||||||
device = (unsigned long) maps [i].device;
|
|
||||||
device_minor = (device & 255);
|
|
||||||
device_major = ((device >> 8) & 255);
|
|
||||||
|
|
||||||
if (filename) {
|
|
||||||
char *format;
|
|
||||||
|
|
||||||
if (sizeof (void*) == 8)
|
|
||||||
format = "%016lx-%016lx %016lx - "
|
|
||||||
"%02x:%02x %08lu - %4s - %s\n";
|
|
||||||
else
|
|
||||||
format = "%08lx-%08lx %08lx - "
|
|
||||||
"%02x:%02x %08lu - %4s - %s\n";
|
|
||||||
|
|
||||||
fprintf (stderr, format,
|
|
||||||
(unsigned long) maps [i].start,
|
|
||||||
(unsigned long) maps [i].end,
|
|
||||||
(unsigned long) maps [i].offset,
|
|
||||||
device_major, device_minor,
|
|
||||||
(unsigned long) maps [i].inode,
|
|
||||||
perm, filename);
|
|
||||||
} else {
|
|
||||||
char * format;
|
|
||||||
|
|
||||||
if (sizeof (void*) == 8)
|
|
||||||
format = "%016lx-%016lx %016lx - "
|
|
||||||
"%02x:%02x %08lu - %4s\n";
|
|
||||||
else
|
|
||||||
format = "%08lx-%08lx %08lx - "
|
|
||||||
"%02x:%02x %08lu - %4s\n";
|
|
||||||
|
|
||||||
fprintf (stderr, format,
|
|
||||||
(unsigned long) maps [i].start,
|
|
||||||
(unsigned long) maps [i].end,
|
|
||||||
(unsigned long) maps [i].offset,
|
|
||||||
device_major, device_minor,
|
|
||||||
(unsigned long) maps [i].inode,
|
|
||||||
perm);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (filename && (filename != maps [i].filename))
|
|
||||||
g_free ((void*)filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free (maps);
|
|
||||||
|
|
||||||
glibtop_close ();
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -1,301 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/open.h>
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
|
||||||
#include <glibtop/sysdeps.h>
|
|
||||||
|
|
||||||
static void
|
|
||||||
output (pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_union data;
|
|
||||||
char *args;
|
|
||||||
unsigned i;
|
|
||||||
|
|
||||||
#if HAVE_LIBGTOP_SMP
|
|
||||||
unsigned long total;
|
|
||||||
double p_total, p_utime, p_stime;
|
|
||||||
double b_total, b_utime, b_stime;
|
|
||||||
double s_total, s_utime, s_stime;
|
|
||||||
double my_utime, my_stime;
|
|
||||||
unsigned int ncpu;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
glibtop_get_proc_state (&data.proc_state, pid);
|
|
||||||
|
|
||||||
printf ("Proc_State PID %5d (0x%08lx): "
|
|
||||||
"'%s', %c, %lu, %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_state.flags,
|
|
||||||
data.proc_state.cmd, data.proc_state.state,
|
|
||||||
(unsigned long) data.proc_state.uid,
|
|
||||||
(unsigned long) data.proc_state.gid);
|
|
||||||
|
|
||||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Uid PID %5d (0x%08lx): "
|
|
||||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_uid.flags,
|
|
||||||
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);
|
|
||||||
|
|
||||||
printf ("Proc_Mem PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_mem.flags,
|
|
||||||
(unsigned long) data.proc_mem.size,
|
|
||||||
(unsigned long) data.proc_mem.vsize,
|
|
||||||
(unsigned long) data.proc_mem.resident,
|
|
||||||
(unsigned long) data.proc_mem.share,
|
|
||||||
(unsigned long) data.proc_mem.rss,
|
|
||||||
(unsigned long) data.proc_mem.rss_rlim);
|
|
||||||
|
|
||||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Segment PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_segment.flags,
|
|
||||||
(unsigned long) data.proc_segment.text_rss,
|
|
||||||
(unsigned long) data.proc_segment.shlib_rss,
|
|
||||||
(unsigned long) data.proc_segment.data_rss,
|
|
||||||
(unsigned long) data.proc_segment.stack_rss,
|
|
||||||
(unsigned long) data.proc_segment.dirty_size,
|
|
||||||
(unsigned long) data.proc_segment.start_code,
|
|
||||||
(unsigned long) data.proc_segment.end_code,
|
|
||||||
(unsigned long) data.proc_segment.start_stack);
|
|
||||||
|
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Time PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_time.flags,
|
|
||||||
(unsigned long) data.proc_time.start_time,
|
|
||||||
(unsigned long) data.proc_time.rtime,
|
|
||||||
(unsigned long) data.proc_time.utime,
|
|
||||||
(unsigned long) data.proc_time.stime,
|
|
||||||
(unsigned long) data.proc_time.cutime,
|
|
||||||
(unsigned long) data.proc_time.cstime,
|
|
||||||
(unsigned long) data.proc_time.timeout,
|
|
||||||
(unsigned long) data.proc_time.it_real_value,
|
|
||||||
(unsigned long) data.proc_time.frequency);
|
|
||||||
|
|
||||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Signal PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_signal.flags,
|
|
||||||
(unsigned long) data.proc_signal.signal,
|
|
||||||
(unsigned long) data.proc_signal.blocked,
|
|
||||||
(unsigned long) data.proc_signal.sigignore,
|
|
||||||
(unsigned long) data.proc_signal.sigcatch);
|
|
||||||
|
|
||||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
|
||||||
|
|
||||||
printf ("Proc_Kernel PID %5d (0x%08lx): "
|
|
||||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_kernel.flags,
|
|
||||||
(unsigned long) data.proc_kernel.k_flags,
|
|
||||||
(unsigned long) data.proc_kernel.min_flt,
|
|
||||||
(unsigned long) data.proc_kernel.maj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmin_flt,
|
|
||||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_esp,
|
|
||||||
(unsigned long) data.proc_kernel.kstk_eip,
|
|
||||||
(unsigned long) data.proc_kernel.nwchan,
|
|
||||||
data.proc_kernel.wchan);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
|
|
||||||
|
|
||||||
for (i = 0; i < data.proc_args.size; i++) {
|
|
||||||
if (args [i]) continue;
|
|
||||||
args [i] = '|';
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_args.flags,
|
|
||||||
(unsigned long) data.proc_args.size,
|
|
||||||
args ? args : "");
|
|
||||||
|
|
||||||
g_free (args);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
#if HAVE_LIBGTOP_SMP
|
|
||||||
ncpu = glibtop_global_server->ncpu;
|
|
||||||
|
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
|
||||||
|
|
||||||
total = (unsigned long) data.proc_time.utime +
|
|
||||||
(unsigned long) data.proc_time.stime;
|
|
||||||
|
|
||||||
p_total = total ? (double) total : 1.0;
|
|
||||||
|
|
||||||
p_utime = (double) data.proc_time.utime * 100.0 / p_total;
|
|
||||||
p_stime = (double) data.proc_time.stime * 100.0 / p_total;
|
|
||||||
|
|
||||||
b_total = p_total / ncpu;
|
|
||||||
b_utime = (double) data.proc_time.utime / ncpu;
|
|
||||||
b_stime = (double) data.proc_time.stime / ncpu;
|
|
||||||
|
|
||||||
s_total = 0.0; s_utime = 0.0; s_stime = 0.0;
|
|
||||||
|
|
||||||
printf ("Proc_Time PID %5d (0x%08lx): %12lu %12lu %12lu\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_time.flags, total,
|
|
||||||
(unsigned long) data.proc_time.utime,
|
|
||||||
(unsigned long) data.proc_time.stime);
|
|
||||||
|
|
||||||
for (i = 0; i < ncpu; i++) {
|
|
||||||
unsigned long this_total;
|
|
||||||
|
|
||||||
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
|
|
||||||
(unsigned long) data.proc_time.xcpu_stime [i];
|
|
||||||
|
|
||||||
printf ("CPU %3d PID %5d (0x%08lx): %12lu %12lu %12lu\n", i,
|
|
||||||
(int) pid, (unsigned long) data.proc_time.flags, this_total,
|
|
||||||
(unsigned long) data.proc_time.xcpu_utime [i],
|
|
||||||
(unsigned long) data.proc_time.xcpu_stime [i]);
|
|
||||||
|
|
||||||
s_total += fabs (((double) this_total) - b_total);
|
|
||||||
s_utime += fabs (((double) data.proc_time.xcpu_utime [i]) - b_utime);
|
|
||||||
s_stime += fabs (((double) data.proc_time.xcpu_stime [i]) - b_stime);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
printf ("Proc_Time PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", (int) pid,
|
|
||||||
(unsigned long) data.proc_time.flags, 100.0, p_utime, p_stime);
|
|
||||||
|
|
||||||
for (i = 0; i < ncpu; i++) {
|
|
||||||
double this_p_total, this_p_utime, this_p_stime;
|
|
||||||
unsigned long this_total;
|
|
||||||
|
|
||||||
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
|
|
||||||
(unsigned long) data.proc_time.xcpu_stime [i];
|
|
||||||
|
|
||||||
this_p_total = (double) this_total * 100.0 / p_total;
|
|
||||||
|
|
||||||
this_p_utime = (double) data.proc_time.xcpu_utime [i] * 100.0 / p_total;
|
|
||||||
this_p_stime = (double) data.proc_time.xcpu_stime [i] * 100.0 / p_total;
|
|
||||||
|
|
||||||
printf ("CPU %3d PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", i,
|
|
||||||
(int) pid, (unsigned long) data.proc_time.flags,
|
|
||||||
this_p_total, this_p_utime, this_p_stime);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
my_utime = (unsigned long) data.proc_time.utime ?
|
|
||||||
(double) data.proc_time.utime : 1.0;
|
|
||||||
my_stime = (unsigned long) data.proc_time.stime ?
|
|
||||||
(double) data.proc_time.stime : 1.0;
|
|
||||||
|
|
||||||
printf ("SPIN: %31s %12.3f %12.3f %12.3f\n", "", s_total * 100.0 / p_total,
|
|
||||||
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_proclist proclist;
|
|
||||||
glibtop_sysdeps sysdeps;
|
|
||||||
unsigned *ptr, pid, i;
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
|
|
||||||
glibtop_init ();
|
|
||||||
|
|
||||||
glibtop_get_sysdeps (&sysdeps);
|
|
||||||
|
|
||||||
printf ("Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
|
||||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) sysdeps.flags,
|
|
||||||
(unsigned long) sysdeps.cpu,
|
|
||||||
(unsigned long) sysdeps.mem,
|
|
||||||
(unsigned long) sysdeps.swap,
|
|
||||||
(unsigned long) sysdeps.uptime,
|
|
||||||
(unsigned long) sysdeps.loadavg,
|
|
||||||
(unsigned long) sysdeps.shm_limits,
|
|
||||||
(unsigned long) sysdeps.msg_limits,
|
|
||||||
(unsigned long) sysdeps.sem_limits,
|
|
||||||
(unsigned long) sysdeps.proclist,
|
|
||||||
(unsigned long) sysdeps.proc_state,
|
|
||||||
(unsigned long) sysdeps.proc_uid,
|
|
||||||
(unsigned long) sysdeps.proc_mem,
|
|
||||||
(unsigned long) sysdeps.proc_time,
|
|
||||||
(unsigned long) sysdeps.proc_signal,
|
|
||||||
(unsigned long) sysdeps.proc_kernel,
|
|
||||||
(unsigned long) sysdeps.proc_segment);
|
|
||||||
|
|
||||||
if ((argc == 2) && (sscanf (argv [1], "%d", &pid) == 1)) {
|
|
||||||
output (pid);
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
ptr = glibtop_get_proclist (&proclist, 0, 0);
|
|
||||||
|
|
||||||
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
|
|
||||||
(unsigned long) proclist.flags,
|
|
||||||
(unsigned long) proclist.number,
|
|
||||||
(unsigned long) proclist.size,
|
|
||||||
(unsigned long) proclist.total);
|
|
||||||
|
|
||||||
if (!ptr) exit (1);
|
|
||||||
|
|
||||||
for (i = 0; i < proclist.number; i++) {
|
|
||||||
|
|
||||||
pid = ptr [i];
|
|
||||||
|
|
||||||
output (pid);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free (ptr);
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
126
examples/smp.c
126
examples/smp.c
@@ -1,126 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, September 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/cpu.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_cpu cpu;
|
|
||||||
unsigned long frequency;
|
|
||||||
double total, user, nice, sys, idle;
|
|
||||||
double b_total, b_user, b_nice, b_sys, b_idle;
|
|
||||||
double s_total, s_user, s_nice, s_sys, s_idle;
|
|
||||||
char separator [BUFSIZ], buffer [BUFSIZ];
|
|
||||||
int ncpu, i;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
glibtop_get_cpu (&cpu);
|
|
||||||
|
|
||||||
ncpu = glibtop_global_server->ncpu ? glibtop_global_server->ncpu : 1;
|
|
||||||
|
|
||||||
frequency = (unsigned long) cpu.frequency;
|
|
||||||
|
|
||||||
total = ((unsigned long) cpu.total) ? ((double) cpu.total) : 1.0;
|
|
||||||
user = ((unsigned long) cpu.user) ? ((double) cpu.user) : 1.0;
|
|
||||||
nice = ((unsigned long) cpu.nice) ? ((double) cpu.nice) : 1.0;
|
|
||||||
sys = ((unsigned long) cpu.sys) ? ((double) cpu.sys) : 1.0;
|
|
||||||
idle = ((unsigned long) cpu.idle) ? ((double) cpu.idle) : 1.0;
|
|
||||||
|
|
||||||
s_total = s_user = s_nice = s_sys = s_idle = 0.0;
|
|
||||||
|
|
||||||
b_total = total / ncpu;
|
|
||||||
b_user = user / ncpu;
|
|
||||||
b_nice = nice / ncpu;
|
|
||||||
b_sys = sys / ncpu;
|
|
||||||
b_idle = idle / ncpu;
|
|
||||||
|
|
||||||
memset (separator, '-', 91);
|
|
||||||
separator [92] = '\0';
|
|
||||||
|
|
||||||
sprintf (buffer, "Ticks (%ld per second):", frequency);
|
|
||||||
|
|
||||||
printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
|
|
||||||
"Total", "User", "Nice", "Sys", "Idle", separator);
|
|
||||||
|
|
||||||
printf ("CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n",
|
|
||||||
(unsigned long) cpu.flags, total, user, nice, sys, idle);
|
|
||||||
|
|
||||||
for (i = 0; i < glibtop_global_server->ncpu; i++) {
|
|
||||||
printf ("CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n", i,
|
|
||||||
(unsigned long) cpu.flags,
|
|
||||||
(unsigned long) cpu.xcpu_total [i],
|
|
||||||
(unsigned long) cpu.xcpu_user [i],
|
|
||||||
(unsigned long) cpu.xcpu_nice [i],
|
|
||||||
(unsigned long) cpu.xcpu_sys [i],
|
|
||||||
(unsigned long) cpu.xcpu_idle [i]);
|
|
||||||
|
|
||||||
s_total += fabs (((double) cpu.xcpu_total [i]) - b_total);
|
|
||||||
s_user += fabs (((double) cpu.xcpu_user [i]) - b_user);
|
|
||||||
s_nice += fabs (((double) cpu.xcpu_nice [i]) - b_nice);
|
|
||||||
s_sys += fabs (((double) cpu.xcpu_sys [i]) - b_sys);
|
|
||||||
s_idle += fabs (((double) cpu.xcpu_idle [i]) - b_idle);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("%s\n\n\n", separator);
|
|
||||||
|
|
||||||
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", "Percent:",
|
|
||||||
"Total (%)", "User (%)", "Nice (%)", "Sys (%)",
|
|
||||||
"Idle (%)", separator);
|
|
||||||
|
|
||||||
printf ("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n",
|
|
||||||
(unsigned long) cpu.flags, (double) total * 100.0 / total,
|
|
||||||
(double) user * 100.0 / total,
|
|
||||||
(double) nice * 100.0 / total,
|
|
||||||
(double) sys * 100.0 / total,
|
|
||||||
(double) idle * 100.0 / total);
|
|
||||||
|
|
||||||
for (i = 0; i < glibtop_global_server->ncpu; i++) {
|
|
||||||
double p_total, p_user, p_nice, p_sys, p_idle;
|
|
||||||
|
|
||||||
p_total = ((double) cpu.xcpu_total [i]) * 100.0 / total;
|
|
||||||
p_user = ((double) cpu.xcpu_user [i]) * 100.0 / user;
|
|
||||||
p_nice = ((double) cpu.xcpu_nice [i]) * 100.0 / nice;
|
|
||||||
p_sys = ((double) cpu.xcpu_sys [i]) * 100.0 / sys;
|
|
||||||
p_idle = ((double) cpu.xcpu_idle [i]) * 100.0 / idle;
|
|
||||||
|
|
||||||
printf ("CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n",
|
|
||||||
i, (unsigned long) cpu.flags, p_total, p_user, p_nice,
|
|
||||||
p_sys, p_idle);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("%s\n%-26s %12.3f %12.3f %12.3f %12.3f %12.3f\n\n", separator,
|
|
||||||
"Spin:", s_total * 100.0 / total, s_user * 100.0 / user,
|
|
||||||
s_nice * 100.0 / nice, s_sys * 100.0 / sys, s_idle * 100.0 / idle);
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -1,150 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/open.h>
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
#include <glibtop/sysdeps.h>
|
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
|
||||||
#define PROFILE_COUNT 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_sysdeps sysdeps;
|
|
||||||
unsigned method, count, port;
|
|
||||||
char buffer [BUFSIZ];
|
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
|
||||||
|
|
||||||
printf ("Method = %d\n", method);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
printf ("Command = '%s'\n", buffer);
|
|
||||||
|
|
||||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
|
||||||
buffer [count] = 0;
|
|
||||||
|
|
||||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
|
||||||
|
|
||||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
|
||||||
|
|
||||||
glibtop_get_sysdeps (&sysdeps);
|
|
||||||
|
|
||||||
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
|
|
||||||
|
|
||||||
printf ("Sysdeps (0x%08lx):\n\n"
|
|
||||||
"\tfeatures:\t\t0x%08lx\n\n"
|
|
||||||
"\tcpu:\t\t%d\t0x%08lx\n"
|
|
||||||
"\tmem:\t\t%d\t0x%08lx\n"
|
|
||||||
"\tswap:\t\t%d\t0x%08lx\n\n"
|
|
||||||
"\tuptime:\t\t%d\t0x%08lx\n"
|
|
||||||
"\tloadavg:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tshm_limits:\t%d\t0x%08lx\n"
|
|
||||||
"\tmsg_limits:\t%d\t0x%08lx\n"
|
|
||||||
"\tsem_limits:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tproclist:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tproc_state:\t%d\t0x%08lx\n"
|
|
||||||
"\tproc_uid:\t%d\t0x%08lx\n"
|
|
||||||
"\tproc_mem:\t%d\t0x%08lx\n"
|
|
||||||
"\tproc_time:\t%d\t0x%08lx\n"
|
|
||||||
"\tproc_signal:\t%d\t0x%08lx\n"
|
|
||||||
"\tproc_kernel:\t%d\t0x%08lx\n"
|
|
||||||
"\tproc_segment:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tproc_args:\t%d\t0x%08lx\n"
|
|
||||||
"\tproc_map:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tmountlist:\t%d\t0x%08lx\n"
|
|
||||||
"\tfsusage:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tnetload:\t%d\t0x%08lx\n"
|
|
||||||
"\tppp:\t\t%d\t0x%08lx\n\n",
|
|
||||||
(unsigned long) sysdeps.flags,
|
|
||||||
(unsigned long) sysdeps.features,
|
|
||||||
FEATURE_CHECK(CPU),
|
|
||||||
(unsigned long) sysdeps.cpu,
|
|
||||||
FEATURE_CHECK(MEM),
|
|
||||||
(unsigned long) sysdeps.mem,
|
|
||||||
FEATURE_CHECK(SWAP),
|
|
||||||
(unsigned long) sysdeps.swap,
|
|
||||||
FEATURE_CHECK(UPTIME),
|
|
||||||
(unsigned long) sysdeps.uptime,
|
|
||||||
FEATURE_CHECK(LOADAVG),
|
|
||||||
(unsigned long) sysdeps.loadavg,
|
|
||||||
FEATURE_CHECK(SHM_LIMITS),
|
|
||||||
(unsigned long) sysdeps.shm_limits,
|
|
||||||
FEATURE_CHECK(MSG_LIMITS),
|
|
||||||
(unsigned long) sysdeps.msg_limits,
|
|
||||||
FEATURE_CHECK(SEM_LIMITS),
|
|
||||||
(unsigned long) sysdeps.sem_limits,
|
|
||||||
FEATURE_CHECK(PROCLIST),
|
|
||||||
(unsigned long) sysdeps.proclist,
|
|
||||||
FEATURE_CHECK(PROC_STATE),
|
|
||||||
(unsigned long) sysdeps.proc_state,
|
|
||||||
FEATURE_CHECK(PROC_UID),
|
|
||||||
(unsigned long) sysdeps.proc_uid,
|
|
||||||
FEATURE_CHECK(PROC_MEM),
|
|
||||||
(unsigned long) sysdeps.proc_mem,
|
|
||||||
FEATURE_CHECK(PROC_TIME),
|
|
||||||
(unsigned long) sysdeps.proc_time,
|
|
||||||
FEATURE_CHECK(PROC_SIGNAL),
|
|
||||||
(unsigned long) sysdeps.proc_signal,
|
|
||||||
FEATURE_CHECK(PROC_KERNEL),
|
|
||||||
(unsigned long) sysdeps.proc_kernel,
|
|
||||||
FEATURE_CHECK(PROC_SEGMENT),
|
|
||||||
(unsigned long) sysdeps.proc_segment,
|
|
||||||
FEATURE_CHECK(PROC_ARGS),
|
|
||||||
(unsigned long) sysdeps.proc_args,
|
|
||||||
FEATURE_CHECK(PROC_MAP),
|
|
||||||
(unsigned long) sysdeps.proc_map,
|
|
||||||
FEATURE_CHECK(MOUNTLIST),
|
|
||||||
(unsigned long) sysdeps.mountlist,
|
|
||||||
FEATURE_CHECK(FSUSAGE),
|
|
||||||
(unsigned long) sysdeps.fsusage,
|
|
||||||
FEATURE_CHECK(NETLOAD),
|
|
||||||
(unsigned long) sysdeps.netload,
|
|
||||||
FEATURE_CHECK(PPP),
|
|
||||||
(unsigned long) sysdeps.ppp);
|
|
||||||
|
|
||||||
glibtop_close ();
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -1,80 +0,0 @@
|
|||||||
(display (glibtop-names-sysdeps)) (newline)
|
|
||||||
(display (glibtop-labels-sysdeps)) (newline)
|
|
||||||
(display (glibtop-descriptions-sysdeps)) (newline)
|
|
||||||
(display (glibtop-types-sysdeps)) (newline)
|
|
||||||
|
|
||||||
(newline)
|
|
||||||
|
|
||||||
(display (glibtop-names-cpu)) (newline)
|
|
||||||
(display (glibtop-names-mem)) (newline)
|
|
||||||
(display (glibtop-names-swap)) (newline)
|
|
||||||
(display (glibtop-names-uptime)) (newline)
|
|
||||||
(display (glibtop-names-loadavg)) (newline)
|
|
||||||
(display (glibtop-names-shm_limits)) (newline)
|
|
||||||
(display (glibtop-names-msg_limits)) (newline)
|
|
||||||
(display (glibtop-names-sem_limits)) (newline)
|
|
||||||
(display (glibtop-names-proclist)) (newline)
|
|
||||||
(display (glibtop-names-proc_state)) (newline)
|
|
||||||
(display (glibtop-names-proc_uid)) (newline)
|
|
||||||
(display (glibtop-names-proc_mem)) (newline)
|
|
||||||
(display (glibtop-names-proc_time)) (newline)
|
|
||||||
(display (glibtop-names-proc_signal)) (newline)
|
|
||||||
(display (glibtop-names-proc_kernel)) (newline)
|
|
||||||
(display (glibtop-names-proc_segment)) (newline)
|
|
||||||
|
|
||||||
(newline)
|
|
||||||
|
|
||||||
(display (glibtop-labels-cpu)) (newline)
|
|
||||||
(display (glibtop-labels-mem)) (newline)
|
|
||||||
(display (glibtop-labels-swap)) (newline)
|
|
||||||
(display (glibtop-labels-uptime)) (newline)
|
|
||||||
(display (glibtop-labels-loadavg)) (newline)
|
|
||||||
(display (glibtop-labels-shm_limits)) (newline)
|
|
||||||
(display (glibtop-labels-msg_limits)) (newline)
|
|
||||||
(display (glibtop-labels-sem_limits)) (newline)
|
|
||||||
(display (glibtop-labels-proclist)) (newline)
|
|
||||||
(display (glibtop-labels-proc_state)) (newline)
|
|
||||||
(display (glibtop-labels-proc_uid)) (newline)
|
|
||||||
(display (glibtop-labels-proc_mem)) (newline)
|
|
||||||
(display (glibtop-labels-proc_time)) (newline)
|
|
||||||
(display (glibtop-labels-proc_signal)) (newline)
|
|
||||||
(display (glibtop-labels-proc_kernel)) (newline)
|
|
||||||
(display (glibtop-labels-proc_segment)) (newline)
|
|
||||||
|
|
||||||
(newline)
|
|
||||||
|
|
||||||
(display (glibtop-descriptions-cpu)) (newline)
|
|
||||||
(display (glibtop-descriptions-mem)) (newline)
|
|
||||||
(display (glibtop-descriptions-swap)) (newline)
|
|
||||||
(display (glibtop-descriptions-uptime)) (newline)
|
|
||||||
(display (glibtop-descriptions-loadavg)) (newline)
|
|
||||||
(display (glibtop-descriptions-shm_limits)) (newline)
|
|
||||||
(display (glibtop-descriptions-msg_limits)) (newline)
|
|
||||||
(display (glibtop-descriptions-sem_limits)) (newline)
|
|
||||||
(display (glibtop-descriptions-proclist)) (newline)
|
|
||||||
(display (glibtop-descriptions-proc_state)) (newline)
|
|
||||||
(display (glibtop-descriptions-proc_uid)) (newline)
|
|
||||||
(display (glibtop-descriptions-proc_mem)) (newline)
|
|
||||||
(display (glibtop-descriptions-proc_time)) (newline)
|
|
||||||
(display (glibtop-descriptions-proc_signal)) (newline)
|
|
||||||
(display (glibtop-descriptions-proc_kernel)) (newline)
|
|
||||||
(display (glibtop-descriptions-proc_segment)) (newline)
|
|
||||||
|
|
||||||
(newline)
|
|
||||||
|
|
||||||
(display (glibtop-types-cpu)) (newline)
|
|
||||||
(display (glibtop-types-mem)) (newline)
|
|
||||||
(display (glibtop-types-swap)) (newline)
|
|
||||||
(display (glibtop-types-uptime)) (newline)
|
|
||||||
(display (glibtop-types-loadavg)) (newline)
|
|
||||||
(display (glibtop-types-shm_limits)) (newline)
|
|
||||||
(display (glibtop-types-msg_limits)) (newline)
|
|
||||||
(display (glibtop-types-sem_limits)) (newline)
|
|
||||||
(display (glibtop-types-proclist)) (newline)
|
|
||||||
(display (glibtop-types-proc_state)) (newline)
|
|
||||||
(display (glibtop-types-proc_uid)) (newline)
|
|
||||||
(display (glibtop-types-proc_mem)) (newline)
|
|
||||||
(display (glibtop-types-proc_time)) (newline)
|
|
||||||
(display (glibtop-types-proc_signal)) (newline)
|
|
||||||
(display (glibtop-types-proc_kernel)) (newline)
|
|
||||||
(display (glibtop-types-proc_segment)) (newline)
|
|
@@ -1,358 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/open.h>
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
|
||||||
#include <glibtop/sysdeps.h>
|
|
||||||
|
|
||||||
#include <sys/times.h>
|
|
||||||
#include <sys/resource.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
|
||||||
#define PROFILE_COUNT 100000L
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT_EXPENSIVE
|
|
||||||
#define PROFILE_COUNT_EXPENSIVE 10000L
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
|
||||||
#define ELAPSED_STIME ((unsigned long) elapsed_stime.tv_sec * 1000000 + (unsigned long) elapsed_stime.tv_usec)
|
|
||||||
|
|
||||||
#define libgtop_timeradd(tvp, uvp, vvp) \
|
|
||||||
do { \
|
|
||||||
(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
|
|
||||||
(vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \
|
|
||||||
if ((vvp)->tv_usec >= 1000000) { \
|
|
||||||
(vvp)->tv_sec++; \
|
|
||||||
(vvp)->tv_usec -= 1000000; \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
#define libgtop_timersub(tvp, uvp, vvp) \
|
|
||||||
do { \
|
|
||||||
(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
|
|
||||||
(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
|
|
||||||
if ((vvp)->tv_usec < 0) { \
|
|
||||||
(vvp)->tv_sec--; \
|
|
||||||
(vvp)->tv_usec += 1000000; \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_union data;
|
|
||||||
unsigned c, count, *ptr;
|
|
||||||
struct rusage total_start, total_end;
|
|
||||||
struct rusage rusage_start, rusage_end;
|
|
||||||
struct timeval elapsed_utime, elapsed_stime;
|
|
||||||
pid_t pid;
|
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
|
|
||||||
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
|
|
||||||
"Feature", "Flags", "Count", "utime", "stime");
|
|
||||||
printf ("-------------------------------------------"
|
|
||||||
"---------------\n");
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &total_start);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_cpu (&data.cpu);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("CPU (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.cpu.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
|
|
||||||
glibtop_get_mem (&data.mem);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Memory (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.mem.flags, PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
|
|
||||||
glibtop_get_swap (&data.swap);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Swap (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.swap.flags, PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_uptime (&data.uptime);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Uptime (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.uptime.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_loadavg (&data.loadavg);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Loadavg (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.loadavg.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
|
||||||
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
|
||||||
g_free (ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proclist (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proclist.flags,
|
|
||||||
PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
|
||||||
|
|
||||||
pid = getpid ();
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_state (&data.proc_state, pid);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_State (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_state.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Uid (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_uid.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Mem (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_mem.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Segment (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_segment.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Time (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_time.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Signal (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_signal.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Kernel (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_kernel.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &total_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&total_end.ru_stime, &total_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("-------------------------------------------"
|
|
||||||
"---------------\n");
|
|
||||||
|
|
||||||
printf ("%-36s %9lu - %9lu\n\n", "TOTAL",
|
|
||||||
ELAPSED_UTIME, ELAPSED_STIME);
|
|
||||||
|
|
||||||
printf ("All timings are in clock ticks "
|
|
||||||
"(1000000 ticks per second).\n\n");
|
|
||||||
|
|
||||||
glibtop_close ();
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
25
features.def
25
features.def
@@ -1,25 +0,0 @@
|
|||||||
void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4])
|
|
||||||
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
|
||||||
void|swap|ulong(total,used,free,pagein,pageout)
|
|
||||||
void|uptime|double(uptime,idletime)
|
|
||||||
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
|
||||||
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
|
||||||
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
|
||||||
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
|
||||||
unsigned *|proclist|ulong(number,size,total)|long(which,arg)
|
|
||||||
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
|
||||||
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
|
|
||||||
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
|
||||||
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid)
|
|
||||||
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
|
|
||||||
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid)
|
|
||||||
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
|
|
||||||
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
|
|
||||||
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
|
|
||||||
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
|
|
||||||
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
|
|
||||||
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
|
|
||||||
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
|
|
||||||
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
|
||||||
char **|netlist|unsigned(number)
|
|
||||||
|
|
110
glibtop.h
110
glibtop.h
@@ -1,110 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_H__
|
|
||||||
#define __GLIBTOP_H__
|
|
||||||
|
|
||||||
typedef struct _glibtop glibtop;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* LIBGTOP_CHECK_VERSION
|
|
||||||
* @major: Major version number
|
|
||||||
* @minor: Minor version number
|
|
||||||
* @micro: Micro version number
|
|
||||||
*
|
|
||||||
* Checks if the version given is compatable with this version of the
|
|
||||||
* library. For example, LIBGTOP_CHECK_VERSION(1.2.3) would return TRUE
|
|
||||||
* if the version is 1.2.5, and FALSE if 1.1.0. This can be used in
|
|
||||||
* build tests.
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
|
|
||||||
#include <libgtopconfig.h>
|
|
||||||
|
|
||||||
#define LIBGTOP_CHECK_VERSION(major, minor, micro) \
|
|
||||||
(LIBGTOP_MAJOR_VERSION > (major) || \
|
|
||||||
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION > (minor)) || \
|
|
||||||
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION == (minor) && \
|
|
||||||
LIBGTOP_MICRO_VERSION >= (micro)))
|
|
||||||
|
|
||||||
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
#include <glibtop_server.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
|
||||||
#include <glibtop_machine.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
|
||||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#include <glibtop/sysdeps.h>
|
|
||||||
|
|
||||||
#include <glibtop/close.h>
|
|
||||||
|
|
||||||
struct _glibtop
|
|
||||||
{
|
|
||||||
unsigned flags;
|
|
||||||
unsigned method; /* Server Method */
|
|
||||||
unsigned error_method; /* Error Method */
|
|
||||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
|
||||||
glibtop_machine machine; /* Machine dependent data */
|
|
||||||
#endif
|
|
||||||
int input [2]; /* Pipe client <- server */
|
|
||||||
int output [2]; /* Pipe client -> server */
|
|
||||||
int socket; /* Accepted connection of a socket */
|
|
||||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
|
||||||
unsigned long os_version_code; /* Version code of the operating system */
|
|
||||||
const char *name; /* Program name for error messages */
|
|
||||||
const char *server_command; /* Command used to invoke server */
|
|
||||||
const char *server_host; /* Host the server should run on */
|
|
||||||
const char *server_user; /* Name of the user on the target host */
|
|
||||||
const char *server_rsh; /* Command used to connect to the target host */
|
|
||||||
unsigned long features; /* Server is required for this features */
|
|
||||||
unsigned long server_port; /* Port on which daemon is listening */
|
|
||||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
|
||||||
glibtop_sysdeps required; /* Required feature list */
|
|
||||||
pid_t pid; /* PID of the server */
|
|
||||||
};
|
|
||||||
|
|
||||||
extern glibtop *glibtop_global_server;
|
|
||||||
|
|
||||||
extern const unsigned long glibtop_server_features;
|
|
||||||
|
|
||||||
glibtop *
|
|
||||||
glibtop_init (void);
|
|
||||||
|
|
||||||
glibtop *
|
|
||||||
glibtop_init_r (glibtop **server_ptr,
|
|
||||||
unsigned long features,
|
|
||||||
unsigned flags);
|
|
||||||
|
|
||||||
glibtop *
|
|
||||||
glibtop_init_s (glibtop **server_ptr,
|
|
||||||
unsigned long features,
|
|
||||||
unsigned flags);
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
@@ -1,2 +0,0 @@
|
|||||||
SUBDIRS = glibtop
|
|
||||||
|
|
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
@@ -1,13 +0,0 @@
|
|||||||
glibtopdir = $(includedir)/libgtop-2.0/glibtop
|
|
||||||
|
|
||||||
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
|
||||||
sem_limits.h uptime.h command.h mem.h proclist.h \
|
|
||||||
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
|
|
||||||
procmem.h procuid.h swap.h \
|
|
||||||
procsegment.h sysdeps.h global.h \
|
|
||||||
procsignal.h union.h gnuserv.h \
|
|
||||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
|
||||||
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
|
|
||||||
netlist.h procopenfiles.h open.h
|
|
||||||
|
|
||||||
noinst_HEADERS = error.h write.h read_data.h read.h
|
|
@@ -1,43 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
@@AUTOGEN_COMMENT@@
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CALL_VECTOR_H__
|
|
||||||
#define __GLIBTOP_CALL_VECTOR_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/union.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
struct _glibtop_call_vector
|
|
||||||
{
|
|
||||||
@@GLIBTOP_CALL_VECTOR@@
|
|
||||||
};
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,116 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
|
|
||||||
require 'c_types.pl';
|
|
||||||
|
|
||||||
die "Usage: $0 features.def call-vector.h.in" unless $#ARGV == 1;
|
|
||||||
|
|
||||||
$[ = 1; # set array base to 1
|
|
||||||
$, = ' '; # set output field separator
|
|
||||||
$\ = "\n"; # set output record separator
|
|
||||||
|
|
||||||
sub toupper {
|
|
||||||
local($_) = @_;
|
|
||||||
tr/a-z/A-Z/;
|
|
||||||
return $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub tolower {
|
|
||||||
local($_) = @_;
|
|
||||||
tr/A-Z/a-z/;
|
|
||||||
return $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
$func_decl_code = '';
|
|
||||||
|
|
||||||
open FEATURESDEF, $ARGV[1] or
|
|
||||||
die "open ($ARGV[1]): $!";
|
|
||||||
|
|
||||||
while (<FEATURESDEF>) {
|
|
||||||
chop; # strip record separator
|
|
||||||
|
|
||||||
if (/^[^\#]/) {
|
|
||||||
&parse_features_def ($_);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
close FEATURESDEF;
|
|
||||||
|
|
||||||
sub parse_features_def {
|
|
||||||
local($line) = @_;
|
|
||||||
@line_fields = split(/\|/, $line, 9999);
|
|
||||||
$retval = $line_fields[1];
|
|
||||||
$element_def = $line_fields[3];
|
|
||||||
$feature = $line_fields[2];
|
|
||||||
$param_def = $line_fields[4];
|
|
||||||
|
|
||||||
$orig = $feature;
|
|
||||||
$feature =~ s/^@//;
|
|
||||||
$space = $feature;
|
|
||||||
$space =~ s/./ /g;
|
|
||||||
|
|
||||||
if ($retval eq 'retval') {
|
|
||||||
$retval_param = '&retval';
|
|
||||||
$retval = 'int';
|
|
||||||
}
|
|
||||||
elsif ($retval !~ /^void$/) {
|
|
||||||
$retval_param = 'NULL';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$retval_param = 'NULL';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
|
||||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
|
||||||
}
|
|
||||||
|
|
||||||
$param_decl = '';
|
|
||||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
|
||||||
for ($param = 1; $param <= $nr_params; $param++) {
|
|
||||||
$list = $params[$param];
|
|
||||||
$type = $params[$param];
|
|
||||||
$type =~ s/\(.*//;
|
|
||||||
$list =~ s/^.*\(//;
|
|
||||||
$list =~ s/\)$//;
|
|
||||||
$count = (@fields = split(/,/, $list, 9999));
|
|
||||||
for ($field = 1; $field <= $count; $field++) {
|
|
||||||
my $c_type = $typeinfo->{$type}->[1];
|
|
||||||
|
|
||||||
$param_decl = $param_decl . ', ';
|
|
||||||
$param_decl = $param_decl . $c_type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($line_fields[3] eq '') {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *%s);\n], $retval, $feature, $param_decl);
|
|
||||||
} elsif ($line_fields[3] eq 'array') {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *%s);\n], $retval, $feature, $param_decl);
|
|
||||||
} elsif ($line_fields[3] =~ /^array/) {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
|
|
||||||
} else {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
chop $func_decl_code;
|
|
||||||
|
|
||||||
$auto_gen_comment = sprintf
|
|
||||||
(qq[/*\n * This file is automatically generated.\n * Please modify `call-vector.pl' and `call-vector.h.in'.\n */]);
|
|
||||||
|
|
||||||
open CALLVECTOR, $ARGV[2] or
|
|
||||||
die "open ($ARGV[2]): $!";
|
|
||||||
|
|
||||||
while (<CALLVECTOR>) {
|
|
||||||
chop;
|
|
||||||
|
|
||||||
s/^\s*\@\@GLIBTOP_CALL_VECTOR\@\@\s*$/$func_decl_code/;
|
|
||||||
|
|
||||||
s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/;
|
|
||||||
} continue {
|
|
||||||
print $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
close CALLVECTOR;
|
|
@@ -1,40 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CLOSE_H__
|
|
||||||
#define __GLIBTOP_CLOSE_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
void glibtop_close (void);
|
|
||||||
|
|
||||||
void glibtop_close_r (glibtop *server);
|
|
||||||
|
|
||||||
void glibtop_close_s (glibtop *server);
|
|
||||||
void glibtop_close_p (glibtop *server);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,104 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_COMMAND_H__
|
|
||||||
#define __GLIBTOP_COMMAND_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/sysdeps.h>
|
|
||||||
#include <glibtop/union.h>
|
|
||||||
|
|
||||||
G_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_CMND_PROC_ARGS 18
|
|
||||||
#define GLIBTOP_CMND_PROC_MAP 19
|
|
||||||
|
|
||||||
#define GLIBTOP_CMND_MOUNTLIST 20
|
|
||||||
#define GLIBTOP_CMND_FSUSAGE 21
|
|
||||||
#define GLIBTOP_CMND_NETLOAD 22
|
|
||||||
#define GLIBTOP_CMND_PPP 23
|
|
||||||
#define GLIBTOP_CMND_NETLIST 24
|
|
||||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_CMND 26
|
|
||||||
|
|
||||||
#define _GLIBTOP_PARAM_SIZE 16
|
|
||||||
|
|
||||||
typedef struct _glibtop_command glibtop_command;
|
|
||||||
|
|
||||||
typedef struct _glibtop_response glibtop_response;
|
|
||||||
typedef union _glibtop_response_union glibtop_response_union;
|
|
||||||
|
|
||||||
struct _glibtop_command
|
|
||||||
{
|
|
||||||
guint64 command;
|
|
||||||
guint64 size, data_size;
|
|
||||||
char parameter [_GLIBTOP_PARAM_SIZE];
|
|
||||||
};
|
|
||||||
|
|
||||||
union _glibtop_response_union
|
|
||||||
{
|
|
||||||
glibtop_union data;
|
|
||||||
glibtop_sysdeps sysdeps;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_response
|
|
||||||
{
|
|
||||||
gint64 offset;
|
|
||||||
guint64 size, data_size;
|
|
||||||
glibtop_response_union u;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define glibtop_call(p1, p2, p3, p4) glibtop_call_r(glibtop_global_server, p1, p2, p3, p4)
|
|
||||||
|
|
||||||
void *
|
|
||||||
glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
|
||||||
const void *send_buf, size_t recv_size, void *recv_buf);
|
|
||||||
|
|
||||||
void *
|
|
||||||
glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
|
|
||||||
const void *send_buf, size_t recv_size, void *recv_buf);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,104 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CPU_H__
|
|
||||||
#define __GLIBTOP_CPU_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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_XCPU_TOTAL 6
|
|
||||||
#define GLIBTOP_XCPU_USER 7
|
|
||||||
#define GLIBTOP_XCPU_NICE 8
|
|
||||||
#define GLIBTOP_XCPU_SYS 9
|
|
||||||
#define GLIBTOP_XCPU_IDLE 10
|
|
||||||
#define GLIBTOP_XCPU_FLAGS 11
|
|
||||||
|
|
||||||
#define GLIBTOP_CPU_IOWAIT 12
|
|
||||||
#define GLIBTOP_CPU_IRQ 13
|
|
||||||
#define GLIBTOP_CPU_SOFTIRQ 14
|
|
||||||
#define GLIBTOP_XCPU_IOWAIT 15
|
|
||||||
#define GLIBTOP_XCPU_IRQ 16
|
|
||||||
#define GLIBTOP_XCPU_SOFTIRQ 17
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_CPU 18
|
|
||||||
|
|
||||||
/* Nobody should really be using more than 4 processors. */
|
|
||||||
#define GLIBTOP_NCPU 4
|
|
||||||
|
|
||||||
typedef struct _glibtop_cpu glibtop_cpu;
|
|
||||||
|
|
||||||
struct _glibtop_cpu
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
total, /* GLIBTOP_CPU_TOTAL */
|
|
||||||
user, /* GLIBTOP_CPU_USER */
|
|
||||||
nice, /* GLIBTOP_CPU_NICE */
|
|
||||||
sys, /* GLIBTOP_CPU_SYS */
|
|
||||||
idle, /* GLIBTOP_CPU_IDLE */
|
|
||||||
iowait, /* GLIBTOP_CPU_IOWAIT */
|
|
||||||
irq, /* GLIBTOP_CPU_IRQ */
|
|
||||||
softirq, /* GLIBTOP_CPU_SOFTIRQ */
|
|
||||||
frequency, /* GLIBTOP_CPU_FREQUENCY */
|
|
||||||
xcpu_total [GLIBTOP_NCPU], /* GLIBTOP_XCPU_TOTAL */
|
|
||||||
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
|
|
||||||
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
|
|
||||||
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
|
|
||||||
xcpu_idle [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IDLE */
|
|
||||||
xcpu_iowait [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IOWAIT */
|
|
||||||
xcpu_irq [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IRQ */
|
|
||||||
xcpu_softirq [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SOFTIRQ */
|
|
||||||
xcpu_flags; /* GLIBTOP_XCPU_IDLE */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_cpu(glibtop_cpu *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_CPU
|
|
||||||
#define glibtop_get_cpu_r glibtop_get_cpu_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_cpu_r glibtop_get_cpu_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_CPU
|
|
||||||
void glibtop_init_cpu_p (glibtop *server);
|
|
||||||
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
|
|
||||||
#else
|
|
||||||
void glibtop_init_cpu_s (glibtop *server);
|
|
||||||
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,53 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is private API
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_ERROR_H__
|
|
||||||
#define __GLIBTOP_ERROR_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL;
|
|
||||||
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL;
|
|
||||||
|
|
||||||
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
|
|
||||||
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
|
|
||||||
|
|
||||||
void glibtop_error (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
|
|
||||||
void glibtop_error_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,66 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_FSUSAGE_H__
|
|
||||||
#define __GLIBTOP_FSUSAGE_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_FSUSAGE_BLOCKS 0
|
|
||||||
#define GLIBTOP_FSUSAGE_BFREE 1
|
|
||||||
#define GLIBTOP_FSUSAGE_BAVAIL 2
|
|
||||||
#define GLIBTOP_FSUSAGE_FILES 3
|
|
||||||
#define GLIBTOP_FSUSAGE_FFREE 4
|
|
||||||
#define GLIBTOP_FSUSAGE_BLOCK_SIZE 5
|
|
||||||
#define GLIBTOP_FSUSAGE_READ 6
|
|
||||||
#define GLIBTOP_FSUSAGE_WRITE 7
|
|
||||||
#define GLIBTOP_MAX_FSUSAGE 8
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _glibtop_fsusage glibtop_fsusage;
|
|
||||||
|
|
||||||
struct _glibtop_fsusage
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
blocks, /* Total number of blocks. */
|
|
||||||
bfree, /* Free blocks available to superuser. */
|
|
||||||
bavail, /* Free blocks available to non-superuser. */
|
|
||||||
files, /* Total file nodes. */
|
|
||||||
ffree; /* Free file nodes. */
|
|
||||||
guint32 block_size; /* Size of a block in bytes. */
|
|
||||||
guint64 read, write; /* Total blocks read and written */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_fsusage(glibtop_fsusage *buf, const char *mount_dir);
|
|
||||||
|
|
||||||
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
|
|
||||||
|
|
||||||
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
|
||||||
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,102 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_BACKEND_INFO_H__
|
|
||||||
#define __GLIBTOP_BACKEND_INFO_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
#include <glibtop/glibtop-server.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
typedef struct _glibtop_backend_info glibtop_backend_info;
|
|
||||||
typedef struct _glibtop_backend_entry glibtop_backend_entry;
|
|
||||||
typedef struct _glibtop_backend_module glibtop_backend_module;
|
|
||||||
|
|
||||||
typedef struct _glibtop_call_vector glibtop_call_vector;
|
|
||||||
|
|
||||||
typedef int (*glibtop_backend_open_func_t) (glibtop_server *, glibtop_backend *,
|
|
||||||
guint64, const char **);
|
|
||||||
typedef int (*glibtop_backend_close_func_t) (glibtop_server *, glibtop_backend *,
|
|
||||||
glibtop_closure *);
|
|
||||||
|
|
||||||
struct _glibtop_backend_info
|
|
||||||
{
|
|
||||||
const char *name;
|
|
||||||
glibtop_backend_open_func_t open;
|
|
||||||
glibtop_backend_close_func_t close;
|
|
||||||
glibtop_call_vector *call_vector;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef _IN_LIBGTOP
|
|
||||||
|
|
||||||
#include <gmodule.h>
|
|
||||||
|
|
||||||
/* private structure */
|
|
||||||
struct _glibtop_backend_module
|
|
||||||
{
|
|
||||||
int refcount;
|
|
||||||
GModule *module;
|
|
||||||
GSList *extra_modules;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_backend_entry
|
|
||||||
{
|
|
||||||
char *name;
|
|
||||||
char *libtool_name;
|
|
||||||
char *shlib_name;
|
|
||||||
|
|
||||||
GSList *extra_libs;
|
|
||||||
|
|
||||||
/* This is const since you must not attempt to
|
|
||||||
* write into gmodule loaded memory. */
|
|
||||||
const glibtop_backend_info *info;
|
|
||||||
|
|
||||||
/* private pointer */
|
|
||||||
glibtop_backend_module *_priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _IN_LIBGTOP */
|
|
||||||
|
|
||||||
long
|
|
||||||
glibtop_register_backend (glibtop_backend_entry *entry);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_unregister_backend (long id);
|
|
||||||
|
|
||||||
glibtop_backend_entry *
|
|
||||||
glibtop_backend_by_id (long id);
|
|
||||||
|
|
||||||
glibtop_backend_entry *
|
|
||||||
glibtop_backend_by_name (const char *backend_name);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_init_backends (void);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,85 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 2.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_BACKEND_H__
|
|
||||||
#define __GLIBTOP_BACKEND_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glib-object.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_TYPE_BACKEND (glibtop_backend_get_type ())
|
|
||||||
#define GLIBTOP_BACKEND(backend) (G_TYPE_CHECK_INSTANCE_CAST ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend))
|
|
||||||
#define GLIBTOP_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_BACKEND, glibtop_backend_class))
|
|
||||||
#define GLIBTOP_IS_BACKEND(backend) (G_TYPE_CHECK_INSTANCE_TYPE ((backend), GLIBTOP_TYPE_BACKEND))
|
|
||||||
#define GLIBTOP_IS_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_BACKEND))
|
|
||||||
#define GLIBTOP_BACKEND_GET_CLASS(backend)(G_TYPE_INSTANCE_GET_CLASS ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend_class))
|
|
||||||
|
|
||||||
#define GLIBTOP_BACKEND_TYPE(backend) (G_TYPE_FROM_INSTANCE (backend))
|
|
||||||
#define GLIBTOP_BACKEND_TYPE_NAME(backend)(g_type_name (GLIBTOP_BACKEND_TYPE (backend)))
|
|
||||||
|
|
||||||
/* --- typedefs & structures --- */
|
|
||||||
typedef struct _glibtop_backend glibtop_backend;
|
|
||||||
typedef struct _glibtop_backend_class glibtop_backend_class;
|
|
||||||
typedef struct _glibtop_backend_private glibtop_backend_private;
|
|
||||||
|
|
||||||
#include <glibtop/glibtop-backend-info.h>
|
|
||||||
|
|
||||||
struct _glibtop_backend
|
|
||||||
{
|
|
||||||
GObject object;
|
|
||||||
|
|
||||||
/* <private> */
|
|
||||||
glibtop_backend_private *_priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_backend_class
|
|
||||||
{
|
|
||||||
GObjectClass parent_class;;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType
|
|
||||||
glibtop_backend_get_type (void);
|
|
||||||
|
|
||||||
glibtop_backend *
|
|
||||||
glibtop_backend_get (const char *backend_name, guint64 features,
|
|
||||||
const char **backend_args, GError **error);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_backend_set_closure_data (glibtop_backend *backend, glibtop_closure *closure);
|
|
||||||
|
|
||||||
glibtop_closure *
|
|
||||||
glibtop_backend_get_closure_data (glibtop_backend *backend);
|
|
||||||
|
|
||||||
glibtop_call_vector *
|
|
||||||
glibtop_backend_get_call_vector (glibtop_backend *backend);
|
|
||||||
|
|
||||||
glibtop_server *
|
|
||||||
glibtop_backend_get_server (glibtop_backend *backend);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,97 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 2.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CLIENT_H__
|
|
||||||
#define __GLIBTOP_CLIENT_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
#include <glib-object.h>
|
|
||||||
|
|
||||||
#include <glibtop/glibtop-backend.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_TYPE_CLIENT (glibtop_client_get_type ())
|
|
||||||
#define GLIBTOP_CLIENT(client) (G_TYPE_CHECK_INSTANCE_CAST ((client), GLIBTOP_TYPE_CLIENT, glibtop_client))
|
|
||||||
#define GLIBTOP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_CLIENT, glibtop_client_class))
|
|
||||||
#define GLIBTOP_IS_CLIENT(client) (G_TYPE_CHECK_INSTANCE_TYPE ((client), GLIBTOP_TYPE_CLIENT))
|
|
||||||
#define GLIBTOP_IS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_CLIENT))
|
|
||||||
#define GLIBTOP_CLIENT_GET_CLASS(client)(G_TYPE_INSTANCE_GET_CLASS ((client), GLIBTOP_TYPE_CLIENT, glibtop_client_class))
|
|
||||||
|
|
||||||
#define GLIBTOP_CLIENT_TYPE(client) (G_TYPE_FROM_INSTANCE (client))
|
|
||||||
#define GLIBTOP_CLIENT_TYPE_NAME(client)(g_type_name (GLIBTOP_CLIENT_TYPE (client)))
|
|
||||||
|
|
||||||
/* --- typedefs & structures --- */
|
|
||||||
typedef struct _glibtop_client glibtop_client;
|
|
||||||
typedef struct _glibtop_client_class glibtop_client_class;
|
|
||||||
typedef struct _glibtop_client_private glibtop_client_private;
|
|
||||||
|
|
||||||
struct _glibtop_client
|
|
||||||
{
|
|
||||||
GObject object;
|
|
||||||
|
|
||||||
/* <public> */
|
|
||||||
GError *error;
|
|
||||||
|
|
||||||
/* <private> */
|
|
||||||
glibtop_client_private *_priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_client_class
|
|
||||||
{
|
|
||||||
GObjectClass parent_class;;
|
|
||||||
|
|
||||||
void (*error) (glibtop_client *client, GError *error);
|
|
||||||
void (*warning) (glibtop_client *client, GError *error);
|
|
||||||
};
|
|
||||||
|
|
||||||
GType
|
|
||||||
glibtop_client_get_type (void);
|
|
||||||
|
|
||||||
glibtop_client *
|
|
||||||
glibtop_client_new (void);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_client_propagate_error (glibtop_client *client, GError *error);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_client_propagate_warning (glibtop_client *client, GError *error);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_client_open_backend (glibtop_client *client, const char *backend_name,
|
|
||||||
guint64 features, const char **backend_args);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_client_add_backend (glibtop_client *client,
|
|
||||||
glibtop_backend *backend);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_client_remove_backend (glibtop_client *client,
|
|
||||||
glibtop_backend *backend);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,75 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 2.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SERVER_H__
|
|
||||||
#define __GLIBTOP_SERVER_H__
|
|
||||||
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
#include <glibtop/sysdeps.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
typedef struct _glibtop_server glibtop_server;
|
|
||||||
typedef struct _glibtop_server_info glibtop_server_info;
|
|
||||||
|
|
||||||
typedef struct _glibtop_closure glibtop_closure;
|
|
||||||
|
|
||||||
typedef int (*glibtop_init_func_t) (glibtop_server *, glibtop_closure *);
|
|
||||||
|
|
||||||
extern glibtop_init_func_t _glibtop_init_hook_s [];
|
|
||||||
extern glibtop_init_func_t _glibtop_init_hook_p [];
|
|
||||||
|
|
||||||
struct _glibtop_server_info
|
|
||||||
{
|
|
||||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
|
||||||
unsigned long features; /* Server is required for this features */
|
|
||||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
|
||||||
glibtop_sysdeps required; /* Required feature list */
|
|
||||||
glibtop_sysdeps wanted; /* We only want this features */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_server
|
|
||||||
{
|
|
||||||
glibtop_server_info *info;
|
|
||||||
|
|
||||||
int refcount;
|
|
||||||
unsigned flags;
|
|
||||||
const char *name;
|
|
||||||
|
|
||||||
void *_priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
glibtop_server *
|
|
||||||
glibtop_server_new (void);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_server_ref (glibtop_server *server);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_server_unref (glibtop_server *server);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,87 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_GLOBAL_H__
|
|
||||||
#define __GLIBTOP_GLOBAL_H__
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
|
|
||||||
#ifdef _IN_LIBGTOP
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _IN_LIBGTOP
|
|
||||||
|
|
||||||
#endif /* _IN_LIBGTOP */
|
|
||||||
|
|
||||||
#if TIME_WITH_SYS_TIME
|
|
||||||
# include <sys/time.h>
|
|
||||||
# include <time.h>
|
|
||||||
#else
|
|
||||||
# if HAVE_SYS_TIME_H
|
|
||||||
# include <sys/time.h>
|
|
||||||
# else
|
|
||||||
# include <time.h>
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_UNISTD_H
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_MEMORY_H
|
|
||||||
#include <memory.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#ifdef _IN_LIBGTOP
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
#endif /* _IN_LIBGTOP */
|
|
||||||
|
|
||||||
#include <signal.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
#ifdef _IN_LIBGTOP
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#ifndef HAVE_STRERROR
|
|
||||||
char *strerror (int errno);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif /* _IN_LIBGTOP */
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,160 +0,0 @@
|
|||||||
/* -*-C-*-
|
|
||||||
|
|
||||||
Header file for the GNU Emacs server and client C code.
|
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
|
||||||
|
|
||||||
Copying is permitted under those conditions described by the GNU
|
|
||||||
General Public License.
|
|
||||||
|
|
||||||
Copyright (C) 1989 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Author: Andy Norman (ange@hplb.hpl.hp.com), based on
|
|
||||||
'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU
|
|
||||||
Emacs distribution.
|
|
||||||
|
|
||||||
Please mail bugs and suggestions to the author at the above address.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* HISTORY
|
|
||||||
* 11-Nov-1990 bristor@simba
|
|
||||||
* Added EOT stuff.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file incorporates new features added by Bob Weiner <weiner@mot.com>,
|
|
||||||
* Darrell Kindred <dkindred@cmu.edu> and Arup Mukherjee <arup@cmu.edu>.
|
|
||||||
* Please see the note at the end of the README file for details.
|
|
||||||
*
|
|
||||||
* (If gnuserv came bundled with your emacs, the README file is probably
|
|
||||||
* ../etc/gnuserv.README relative to the directory containing this file)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup alpha !";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NO_SHORTNAMES
|
|
||||||
|
|
||||||
#define PATCHLEVEL 2
|
|
||||||
|
|
||||||
#define NO_SHORTNAMES
|
|
||||||
/* gnuserv should not be compiled using SOCKS */
|
|
||||||
#define DO_NOT_SOCKSIFY
|
|
||||||
#include <glibtop.h>
|
|
||||||
#undef read
|
|
||||||
#undef write
|
|
||||||
#undef open
|
|
||||||
#undef close
|
|
||||||
#undef signal
|
|
||||||
|
|
||||||
/* Define the communication method between server and clients:
|
|
||||||
* You can have either or both kinds of sockets, but you can't mix
|
|
||||||
* sockets with sysv ipc
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define INTERNET_DOMAIN_SOCKETS
|
|
||||||
#define UNIX_DOMAIN_SOCKETS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define additional authentication protocols to be used. These methods will
|
|
||||||
* be tried before falling back to the default gnuserv protocol (based on
|
|
||||||
* the GNU_SECURE environment variable). Currently, only MIT-MAGIC-COOKIE-1
|
|
||||||
* is also supported.
|
|
||||||
*
|
|
||||||
* Comment out the next line(s) if you don't want to enable the
|
|
||||||
* appropriate authentication protocol.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined (HAVE_XAUTH)
|
|
||||||
#define AUTH_MAGIC_COOKIE
|
|
||||||
#endif /* HAVE_XAUTH */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* stuff related to supporting MIT-MAGIC-COOKIE-1
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
|
|
||||||
#endif
|
|
||||||
#define MCOOKIE_NAME "MAGIC-1" /* authentication protocol name */
|
|
||||||
#define MCOOKIE_X_NAME "MIT-MAGIC-COOKIE-1" /* as needed by X */
|
|
||||||
|
|
||||||
|
|
||||||
#define DEFAUTH_NAME "GNU-SECURE" /* name of default auth protocol */
|
|
||||||
#define AUTH_TIMEOUT 15 /* # seconds to wait for auth data */
|
|
||||||
#define AUTH_NAMESZ 15 /* max allows auth protocol name size */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Pick a default communication scheme, if none was specified.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if !defined(UNIX_DOMAIN_SOCKETS) && !defined(INTERNET_DOMAIN_SOCKETS)
|
|
||||||
|
|
||||||
/* BSD systems use Unix Domain sockets by default */
|
|
||||||
|
|
||||||
#ifdef BSD
|
|
||||||
#define UNIX_DOMAIN_SOCKETS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* No communication method pre-defined */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If you are using SYSV_IPC, you might want to make the buffer size bigger
|
|
||||||
* since it limits the size of requests and responses. Don't make it bigger
|
|
||||||
* than your system's max message size though (usually a couple of k) or else
|
|
||||||
* msgsend will start failing. For sockets, using the system BUFSIZ is usually
|
|
||||||
* what you want.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */
|
|
||||||
|
|
||||||
#ifdef INTERNET_DOMAIN_SOCKETS
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#define TABLE_SIZE 101 /* The number of entries in the hash table */
|
|
||||||
#define HASH(host) host /* Rather simplistic hash function */
|
|
||||||
#define DEFAULT_PORT 21490 /* default port number to use is
|
|
||||||
* DEFAULT_PORT + uid */
|
|
||||||
#endif /* INTERNET_DOMAIN_SOCKETS */
|
|
||||||
|
|
||||||
#ifdef UNIX_DOMAIN_SOCKETS
|
|
||||||
#include <sys/un.h>
|
|
||||||
#define HIDE_UNIX_SOCKET /* put the unix socket in a protected dir */
|
|
||||||
#endif /* UNIX_DOMAIN_SOCKETS */
|
|
||||||
|
|
||||||
#define HOSTNAMSZ 255 /* max size of a hostname */
|
|
||||||
#define REPLYSIZ 300 /* max size of reply from server to client */
|
|
||||||
#undef FALSE
|
|
||||||
#define FALSE 0
|
|
||||||
#undef TRUE
|
|
||||||
#define TRUE 1
|
|
||||||
|
|
||||||
/* The casts shut Sun's compiler up and are safe in the context these
|
|
||||||
are actually used. */
|
|
||||||
#define max2(x,y) (((int) (x) > (int) (y)) ? (x) : (y))
|
|
||||||
#define min2(x,y) (((int) (x) < (int) (y)) ? (x) : (y))
|
|
||||||
|
|
||||||
#ifndef _NFILE /* rough guess at maximum number of open files */
|
|
||||||
#define _NFILE 20
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define EOT_STR "\004"
|
|
||||||
#define EOT_CHR '\004'
|
|
||||||
|
|
||||||
/* connection types */
|
|
||||||
#define CONN_UNIX 0
|
|
||||||
#define CONN_INTERNET 1
|
|
||||||
#define CONN_IPC 2
|
|
||||||
|
|
||||||
/* function declarations */
|
|
||||||
int glibtop_make_connection (const char *hostarg, int portarg, int *s);
|
|
||||||
|
|
||||||
#ifdef INTERNET_DOMAIN_SOCKETS
|
|
||||||
long glibtop_internet_addr (const char *host);
|
|
||||||
#endif
|
|
||||||
|
|
@@ -1,67 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_INODEDB_H__
|
|
||||||
#define __GLIBTOP_INODEDB_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <gdbm.h>
|
|
||||||
|
|
||||||
#define GLIBTOP_INODEDB_SYSTEM 1
|
|
||||||
#define GLIBTOP_INODEDB_USER 2
|
|
||||||
#define GLIBTOP_INODEDB_CACHE 4
|
|
||||||
|
|
||||||
#define GLIBTOP_INODEDB_ALL 7
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
typedef struct _glibtop_inodedb glibtop_inodedb;
|
|
||||||
|
|
||||||
typedef struct _glibtop_inodedb_key glibtop_inodedb_key;
|
|
||||||
|
|
||||||
struct _glibtop_inodedb_key
|
|
||||||
{
|
|
||||||
guint64 device, inode;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_inodedb
|
|
||||||
{
|
|
||||||
GDBM_FILE system_dbf, user_dbf;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define glibtop_inodedb_open(p1,p2) glibtop_inodedb_open_s(glibtop_global_server, p1, p2)
|
|
||||||
#define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3)
|
|
||||||
#define glibtop_inodedb_close(p1) glibtop_inodedb_close_s(glibtop_global_server)
|
|
||||||
|
|
||||||
glibtop_inodedb *
|
|
||||||
glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size);
|
|
||||||
|
|
||||||
const char *
|
|
||||||
glibtop_inodedb_lookup_s (glibtop *server,
|
|
||||||
glibtop_inodedb *inodedb,
|
|
||||||
guint64 device, guint64 inode);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,56 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_LIMITS_H__
|
|
||||||
#define __GLIBTOP_LIMITS_H__
|
|
||||||
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
/* Nobody should really be using more than 64 processors. */
|
|
||||||
#define GLIBTOP_NCPU 64
|
|
||||||
|
|
||||||
/* Maximum number of process groups in glibtop_proc_uid. */
|
|
||||||
#define GLIBTOP_MAX_GROUPS 32
|
|
||||||
|
|
||||||
/* Maximum length of a mountpoint/device name in glibtop_mountlist. */
|
|
||||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
|
||||||
|
|
||||||
/* Maximum length of a network interface name. */
|
|
||||||
#define GLIBTOP_INTERFACE_LEN 32
|
|
||||||
|
|
||||||
/* Length of a network interface address in bytes. */
|
|
||||||
#define GLIBTOP_IFADDR_LEN 16
|
|
||||||
|
|
||||||
/* This is ((guint64)-1) */
|
|
||||||
#define GLIBTOP_UNLIMITED (~(guint64)0)
|
|
||||||
|
|
||||||
/* Maximum length of a backend name. */
|
|
||||||
#define GLIBTOP_BACKEND_NAME_LEN 40
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,71 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_LOADAVG_H__
|
|
||||||
#define __GLIBTOP_LOADAVG_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_LOADAVG_LOADAVG 0
|
|
||||||
#define GLIBTOP_LOADAVG_NR_RUNNING 1
|
|
||||||
#define GLIBTOP_LOADAVG_NR_TASKS 2
|
|
||||||
#define GLIBTOP_LOADAVG_LAST_PID 3
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_LOADAVG 4
|
|
||||||
|
|
||||||
typedef struct _glibtop_loadavg glibtop_loadavg;
|
|
||||||
|
|
||||||
struct _glibtop_loadavg
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
|
|
||||||
guint64 nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
|
|
||||||
nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */
|
|
||||||
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_loadavg(glibtop_loadavg *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_LOADAVG
|
|
||||||
#define glibtop_get_loadavg_r glibtop_get_loadavg_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_loadavg_r glibtop_get_loadavg_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_LOADAVG
|
|
||||||
void glibtop_init_loadavg_p (glibtop *server);
|
|
||||||
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
|
|
||||||
#else
|
|
||||||
void glibtop_init_loadavg_s (glibtop *server);
|
|
||||||
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,79 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MEM_H__
|
|
||||||
#define __GLIBTOP_MEM_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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_MEM_LOCKED 7
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_MEM 8
|
|
||||||
|
|
||||||
typedef struct _glibtop_mem glibtop_mem;
|
|
||||||
|
|
||||||
struct _glibtop_mem
|
|
||||||
{
|
|
||||||
guint64 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 */
|
|
||||||
locked; /* GLIBTOP_MEM_LOCKED */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_mem(glibtop_mem *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MEM
|
|
||||||
#define glibtop_get_mem_r glibtop_get_mem_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_mem_r glibtop_get_mem_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MEM
|
|
||||||
void glibtop_init_mem_p (glibtop *server);
|
|
||||||
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
|
|
||||||
#else
|
|
||||||
void glibtop_init_mem_s (glibtop *server);
|
|
||||||
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,72 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MOUNTLIST_H__
|
|
||||||
#define __GLIBTOP_MOUNTLIST_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_MOUNTLIST_NUMBER 0
|
|
||||||
#define GLIBTOP_MOUNTLIST_TOTAL 1
|
|
||||||
#define GLIBTOP_MOUNTLIST_SIZE 2
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_MOUNTLIST 3
|
|
||||||
|
|
||||||
typedef struct _glibtop_mountentry glibtop_mountentry;
|
|
||||||
|
|
||||||
typedef struct _glibtop_mountlist glibtop_mountlist;
|
|
||||||
|
|
||||||
struct _glibtop_mountentry
|
|
||||||
{
|
|
||||||
guint64 dev;
|
|
||||||
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
|
||||||
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
|
||||||
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_mountlist
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
number, /* GLIBTOP_MOUNTLIST_NUMBER */
|
|
||||||
total, /* GLIBTOP_MOUNTLIST_TOTAL */
|
|
||||||
size; /* GLIBTOP_MOUNTLIST_SIZE */
|
|
||||||
};
|
|
||||||
|
|
||||||
glibtop_mountentry *
|
|
||||||
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
|
|
||||||
|
|
||||||
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
|
|
||||||
|
|
||||||
glibtop_mountentry *
|
|
||||||
glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
|
||||||
|
|
||||||
glibtop_mountentry *
|
|
||||||
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,78 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MSG_LIMITS_H__
|
|
||||||
#define __GLIBTOP_MSG_LIMITS_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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
|
|
||||||
{
|
|
||||||
guint64 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 */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_msg_limits(glibtop_msg_limits *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MSG_LIMITS
|
|
||||||
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MSG_LIMITS
|
|
||||||
void glibtop_init_msg_limits_p (glibtop *server);
|
|
||||||
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
|
|
||||||
#else
|
|
||||||
void glibtop_init_msg_limits_s (glibtop *server);
|
|
||||||
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@@ -1,61 +0,0 @@
|
|||||||
/* Copyright (C) 2004 Benoît Dejean
|
|
||||||
This file is part of LibGTop 2.0.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_NETLIST_H__
|
|
||||||
#define __GLIBTOP_NETLIST_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_NETLIST_NUMBER 0
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_NETLIST 1
|
|
||||||
|
|
||||||
typedef struct _glibtop_netlist glibtop_netlist;
|
|
||||||
|
|
||||||
struct _glibtop_netlist
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
guint32 number;
|
|
||||||
};
|
|
||||||
|
|
||||||
char** glibtop_get_netlist(glibtop_netlist *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
|
||||||
#define glibtop_get_netlist_r glibtop_get_netlist_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_netlist_r glibtop_get_netlist_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
|
||||||
void glibtop_init_netlist_p (glibtop *server);
|
|
||||||
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
|
|
||||||
#else
|
|
||||||
void glibtop_init_netlist_s (glibtop *server);
|
|
||||||
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,131 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_NETLOAD_H__
|
|
||||||
#define __GLIBTOP_NETLOAD_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_NETLOAD_IF_FLAGS 0
|
|
||||||
#define GLIBTOP_NETLOAD_MTU 1
|
|
||||||
#define GLIBTOP_NETLOAD_SUBNET 2
|
|
||||||
#define GLIBTOP_NETLOAD_ADDRESS 3
|
|
||||||
#define GLIBTOP_NETLOAD_PACKETS_IN 4
|
|
||||||
#define GLIBTOP_NETLOAD_PACKETS_OUT 5
|
|
||||||
#define GLIBTOP_NETLOAD_PACKETS_TOTAL 6
|
|
||||||
#define GLIBTOP_NETLOAD_BYTES_IN 7
|
|
||||||
#define GLIBTOP_NETLOAD_BYTES_OUT 8
|
|
||||||
#define GLIBTOP_NETLOAD_BYTES_TOTAL 9
|
|
||||||
#define GLIBTOP_NETLOAD_ERRORS_IN 10
|
|
||||||
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
|
|
||||||
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
|
|
||||||
#define GLIBTOP_NETLOAD_COLLISIONS 13
|
|
||||||
#define GLIBTOP_NETLOAD_ADDRESS6 14
|
|
||||||
#define GLIBTOP_NETLOAD_PREFIX6 15
|
|
||||||
#define GLIBTOP_NETLOAD_SCOPE6 16
|
|
||||||
#define GLIBTOP_NETLOAD_HWADDRESS 17
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_NETLOAD 18
|
|
||||||
|
|
||||||
typedef struct _glibtop_netload glibtop_netload;
|
|
||||||
|
|
||||||
enum {
|
|
||||||
GLIBTOP_IF_FLAGS_UP = 1,
|
|
||||||
GLIBTOP_IF_FLAGS_BROADCAST,
|
|
||||||
GLIBTOP_IF_FLAGS_DEBUG,
|
|
||||||
GLIBTOP_IF_FLAGS_LOOPBACK,
|
|
||||||
GLIBTOP_IF_FLAGS_POINTOPOINT,
|
|
||||||
GLIBTOP_IF_FLAGS_RUNNING,
|
|
||||||
GLIBTOP_IF_FLAGS_NOARP,
|
|
||||||
GLIBTOP_IF_FLAGS_PROMISC,
|
|
||||||
GLIBTOP_IF_FLAGS_ALLMULTI,
|
|
||||||
GLIBTOP_IF_FLAGS_OACTIVE,
|
|
||||||
GLIBTOP_IF_FLAGS_SIMPLEX,
|
|
||||||
GLIBTOP_IF_FLAGS_LINK0,
|
|
||||||
GLIBTOP_IF_FLAGS_LINK1,
|
|
||||||
GLIBTOP_IF_FLAGS_LINK2,
|
|
||||||
GLIBTOP_IF_FLAGS_ALTPHYS,
|
|
||||||
GLIBTOP_IF_FLAGS_MULTICAST
|
|
||||||
};
|
|
||||||
|
|
||||||
enum GLIBTOP_IF_IN6_SCOPE
|
|
||||||
{
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_UNKNOWN = 0,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_LINK = 1,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_SITE = 2,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_GLOBAL = 4,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_HOST = 8
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_netload
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
if_flags; /* GLIBTOP_NETLOAD_IF_FLAGS */
|
|
||||||
|
|
||||||
guint32 mtu, /* GLIBTOP_NETLOAD_MTU */
|
|
||||||
subnet, /* GLIBTOP_NETLOAD_SUBNET */
|
|
||||||
address; /* GLIBTOP_NETLOAD_ADDRESS */
|
|
||||||
|
|
||||||
guint64 packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
|
|
||||||
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
|
|
||||||
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
|
|
||||||
bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */
|
|
||||||
bytes_out, /* GLIBTOP_NETLOAD_BYTES_OUT */
|
|
||||||
bytes_total, /* GLIBTOP_NETLOAD_BYTES_TOTAL */
|
|
||||||
errors_in, /* GLIBTOP_NETLOAD_ERRORS_IN */
|
|
||||||
errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */
|
|
||||||
errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
|
|
||||||
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
|
|
||||||
|
|
||||||
guint8 address6[16]; /* GLIBTOP_NETLOAD_ADDRESS6 */
|
|
||||||
guint8 prefix6[16]; /* GLIBTOP_NETLOAD_PREXIF6 */
|
|
||||||
guint8 scope6; /* GLIBTOP_NETLOAD_SCOPE6 */
|
|
||||||
|
|
||||||
guint8 hwaddress[8]; /* GLIBTOP_NETLOAD_HWADDRESS */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_netload(glibtop_netload *buf, const char *interface);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLOAD
|
|
||||||
#define glibtop_get_netload_r glibtop_get_netload_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_netload_r glibtop_get_netload_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLOAD
|
|
||||||
void glibtop_init_netload_p (glibtop *server);
|
|
||||||
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
|
|
||||||
#else
|
|
||||||
void glibtop_init_netload_s (glibtop *server);
|
|
||||||
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,71 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_OPEN_H__
|
|
||||||
#define __GLIBTOP_OPEN_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define _GLIBTOP_INIT_STATE_INIT 0x10000
|
|
||||||
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
|
|
||||||
#define _GLIBTOP_INIT_STATE_SERVER 0x40000
|
|
||||||
#define _GLIBTOP_INIT_STATE_SYSDEPS 0x80000
|
|
||||||
|
|
||||||
#define GLIBTOP_INIT_NO_OPEN 1
|
|
||||||
#define GLIBTOP_INIT_NO_INIT 2
|
|
||||||
|
|
||||||
#define GLIBTOP_FEATURES_NO_SERVER 4
|
|
||||||
#define GLIBTOP_FEATURES_EXCEPT 8
|
|
||||||
|
|
||||||
#define GLIBTOP_METHOD_DIRECT 1
|
|
||||||
#define GLIBTOP_METHOD_PIPE 2
|
|
||||||
#define GLIBTOP_METHOD_INET 3
|
|
||||||
#define GLIBTOP_METHOD_UNIX 4
|
|
||||||
|
|
||||||
#define GLIBTOP_ERROR_METHOD_IGNORE 0
|
|
||||||
#define GLIBTOP_ERROR_METHOD_WARN_ONCE 1
|
|
||||||
#define GLIBTOP_ERROR_METHOD_WARN 2
|
|
||||||
#define GLIBTOP_ERROR_METHOD_ABORT 3
|
|
||||||
|
|
||||||
#define GLIBTOP_ERROR_METHOD_DEFAULT GLIBTOP_ERROR_METHOD_WARN_ONCE
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_open_l (glibtop *server, const char *program_name,
|
|
||||||
const unsigned long features, const unsigned flags);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_init_p (glibtop *server, const unsigned long features,
|
|
||||||
const unsigned flags);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_open_p (glibtop *server, const char *program_name,
|
|
||||||
const unsigned long features, const unsigned flags);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_open_s (glibtop *server, const char *program_name,
|
|
||||||
const unsigned long features, const unsigned flags);
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,50 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PARAMETER_H__
|
|
||||||
#define __GLIBTOP_PARAMETER_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PARAM_METHOD 1
|
|
||||||
#define GLIBTOP_PARAM_FEATURES 2
|
|
||||||
#define GLIBTOP_PARAM_COMMAND 3
|
|
||||||
#define GLIBTOP_PARAM_HOST 4
|
|
||||||
#define GLIBTOP_PARAM_PORT 5
|
|
||||||
#define GLIBTOP_PARAM_ERROR_METHOD 6
|
|
||||||
#define GLIBTOP_PARAM_REQUIRED 7
|
|
||||||
|
|
||||||
#define glibtop_get_parameter(p1,p2,p3) glibtop_get_parameter_l(glibtop_global_server,p1,p2,p3)
|
|
||||||
#define glibtop_set_parameter(p1,p2,p3) glibtop_set_parameter_l(glibtop_global_server,p1,p2,p3)
|
|
||||||
|
|
||||||
size_t
|
|
||||||
glibtop_get_parameter_l (glibtop *server, const unsigned parameter,
|
|
||||||
void *data_ptr, size_t data_size);
|
|
||||||
|
|
||||||
void
|
|
||||||
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
|
|
||||||
const void *data_ptr, size_t data_size);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,75 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PPP_H__
|
|
||||||
#define __GLIBTOP_PPP_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PPP_STATE 0
|
|
||||||
#define GLIBTOP_PPP_BYTES_IN 1
|
|
||||||
#define GLIBTOP_PPP_BYTES_OUT 2
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PPP 3
|
|
||||||
|
|
||||||
typedef struct _glibtop_ppp glibtop_ppp;
|
|
||||||
|
|
||||||
enum {
|
|
||||||
GLIBTOP_PPP_STATE_UNKNOWN = 0,
|
|
||||||
GLIBTOP_PPP_STATE_HANGUP,
|
|
||||||
GLIBTOP_PPP_STATE_ONLINE
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_ppp
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
state, /* GLIBTOP_PPP_STATE */
|
|
||||||
bytes_in, /* GLIBTOP_PPP_BYTES_IN */
|
|
||||||
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PPP
|
|
||||||
#define glibtop_get_ppp_r glibtop_get_ppp_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_ppp_r glibtop_get_ppp_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PPP
|
|
||||||
void glibtop_init_ppp_p (glibtop *server);
|
|
||||||
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
|
||||||
#else
|
|
||||||
void glibtop_init_ppp_s (glibtop *server);
|
|
||||||
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,90 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_ARGS_H__
|
|
||||||
#define __GLIBTOP_PROC_ARGS_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_ARGS_SIZE 0
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_ARGS 1
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_args glibtop_proc_args;
|
|
||||||
|
|
||||||
struct _glibtop_proc_args
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
size; /* GLIBTOP_PROC_ARGS_SIZE */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
char *
|
|
||||||
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
|
|
||||||
pid_t pid, unsigned max_len);
|
|
||||||
|
|
||||||
char *
|
|
||||||
glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_ARGS
|
|
||||||
|
|
||||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
|
||||||
|
|
||||||
void glibtop_init_proc_args_p (glibtop *server);
|
|
||||||
|
|
||||||
char *
|
|
||||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
|
||||||
pid_t pid, unsigned max_len);
|
|
||||||
|
|
||||||
|
|
||||||
#else /* !GLIBTOP_SUID_PROC_ARGS */
|
|
||||||
|
|
||||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
|
||||||
|
|
||||||
void glibtop_init_proc_args_s (glibtop *server);
|
|
||||||
|
|
||||||
char *
|
|
||||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
|
||||||
pid_t pid, unsigned max_len);
|
|
||||||
#endif /* GLIBTOP_SUID_PROC_ARGS */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* NEW functions
|
|
||||||
*/
|
|
||||||
|
|
||||||
char **
|
|
||||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
|
||||||
pid_t pid, unsigned max_len);
|
|
||||||
|
|
||||||
char **
|
|
||||||
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,88 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCKERNEL_H__
|
|
||||||
#define __GLIBTOP_PROCKERNEL_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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_NWCHAN 7
|
|
||||||
#define GLIBTOP_PROC_KERNEL_WCHAN 8
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_KERNEL 9
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
|
||||||
|
|
||||||
/* Kernel stuff */
|
|
||||||
|
|
||||||
struct _glibtop_proc_kernel
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
guint64 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 */
|
|
||||||
nwchan; /* address of kernel wait channel
|
|
||||||
* proc is sleeping in */
|
|
||||||
char wchan [40];
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_KERNEL
|
|
||||||
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_KERNEL
|
|
||||||
void glibtop_init_proc_kernel_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_kernel_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,95 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCLIST_H__
|
|
||||||
#define __GLIBTOP_PROCLIST_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROCLIST_NUMBER 0
|
|
||||||
#define GLIBTOP_PROCLIST_TOTAL 1
|
|
||||||
#define GLIBTOP_PROCLIST_SIZE 2
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROCLIST 3
|
|
||||||
|
|
||||||
/* You can use the folowing constants as the `which' member of
|
|
||||||
* glibtop_get_proclist () to specify which processes to fetch. */
|
|
||||||
|
|
||||||
#define GLIBTOP_KERN_PROC_ALL 0 /* all processes */
|
|
||||||
#define GLIBTOP_KERN_PROC_PID 1
|
|
||||||
#define GLIBTOP_KERN_PROC_PGRP 2
|
|
||||||
#define GLIBTOP_KERN_PROC_SESSION 3
|
|
||||||
#define GLIBTOP_KERN_PROC_TTY 4
|
|
||||||
#define GLIBTOP_KERN_PROC_UID 5
|
|
||||||
#define GLIBTOP_KERN_PROC_RUID 6
|
|
||||||
|
|
||||||
#define GLIBTOP_KERN_PROC_MASK 15
|
|
||||||
|
|
||||||
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
|
||||||
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
|
||||||
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
|
||||||
|
|
||||||
typedef struct _glibtop_proclist glibtop_proclist;
|
|
||||||
|
|
||||||
struct _glibtop_proclist
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
number, /* GLIBTOP_PROCLIST_NUMBER */
|
|
||||||
total, /* GLIBTOP_PROCLIST_TOTAL */
|
|
||||||
size; /* GLIBTOP_PROCLIST_SIZE */
|
|
||||||
};
|
|
||||||
|
|
||||||
unsigned *
|
|
||||||
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROCLIST
|
|
||||||
#define glibtop_get_proclist_r glibtop_get_proclist_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
unsigned *
|
|
||||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
|
||||||
gint64 which, gint64 arg);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROCLIST
|
|
||||||
void glibtop_init_proclist_p (glibtop *server);
|
|
||||||
|
|
||||||
unsigned *
|
|
||||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
|
||||||
gint64 which, gint64 arg);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proclist_s (glibtop *server);
|
|
||||||
|
|
||||||
unsigned *
|
|
||||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
|
||||||
gint64 which, gint64 arg);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,101 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_MAP_H__
|
|
||||||
#define __GLIBTOP_PROC_MAP_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_MAP_NUMBER 0
|
|
||||||
#define GLIBTOP_PROC_MAP_TOTAL 1
|
|
||||||
#define GLIBTOP_PROC_MAP_SIZE 2
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_MAP 3
|
|
||||||
|
|
||||||
#define GLIBTOP_MAP_ENTRY_START 0
|
|
||||||
#define GLIBTOP_MAP_ENTRY_END 1
|
|
||||||
#define GLIBTOP_MAP_ENTRY_OFFSET 2
|
|
||||||
#define GLIBTOP_MAP_ENTRY_PERM 3
|
|
||||||
#define GLIBTOP_MAP_ENTRY_INODE 4
|
|
||||||
#define GLIBTOP_MAP_ENTRY_DEVICE 5
|
|
||||||
#define GLIBTOP_MAP_ENTRY_FILENAME 6
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_MAP_ENTRY 7
|
|
||||||
|
|
||||||
#define GLIBTOP_MAP_FILENAME_LEN 215
|
|
||||||
|
|
||||||
#define GLIBTOP_MAP_PERM_READ 1
|
|
||||||
#define GLIBTOP_MAP_PERM_WRITE 2
|
|
||||||
#define GLIBTOP_MAP_PERM_EXECUTE 4
|
|
||||||
#define GLIBTOP_MAP_PERM_SHARED 8
|
|
||||||
#define GLIBTOP_MAP_PERM_PRIVATE 16
|
|
||||||
|
|
||||||
typedef struct _glibtop_map_entry glibtop_map_entry;
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_map glibtop_proc_map;
|
|
||||||
|
|
||||||
struct _glibtop_map_entry
|
|
||||||
{
|
|
||||||
guint64 flags, start, end, offset, perm, inode, device;
|
|
||||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_proc_map
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
number, /* GLIBTOP_PROC_MAP_NUMBER */
|
|
||||||
total, /* GLIBTOP_PROC_MAP_TOTAL */
|
|
||||||
size; /* GLIBTOP_PROC_MAP_SIZE */
|
|
||||||
};
|
|
||||||
glibtop_map_entry *
|
|
||||||
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
|
|
||||||
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MAP
|
|
||||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
glibtop_map_entry *
|
|
||||||
glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MAP
|
|
||||||
void glibtop_init_proc_map_p (glibtop *server);
|
|
||||||
|
|
||||||
glibtop_map_entry *
|
|
||||||
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_map_s (glibtop *server);
|
|
||||||
|
|
||||||
glibtop_map_entry *
|
|
||||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,79 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCMEM_H__
|
|
||||||
#define __GLIBTOP_PROCMEM_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
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 */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MEM
|
|
||||||
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MEM
|
|
||||||
void glibtop_init_proc_mem_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_mem_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,123 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
Copyright (C) 2004 Nicolás Lichtmaier
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
Modified by Nicolás Lichtmaier to give open process files.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
|
|
||||||
#define __GLIBTOP_PROC_OPEN_FILES_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_OPEN_FILES_NUMBER 0
|
|
||||||
#define GLIBTOP_PROC_OPEN_FILES_TOTAL 1
|
|
||||||
#define GLIBTOP_PROC_OPEN_FILES_SIZE 2
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_OPEN_FILES 3
|
|
||||||
|
|
||||||
#define GLIBTOP_FILE_ENTRY_FD 0
|
|
||||||
#define GLIBTOP_FILE_ENTRY_NAME 1
|
|
||||||
#define GLIBTOP_FILE_ENTRY_TYPE 2
|
|
||||||
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST 3
|
|
||||||
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT 4
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_OPEN_FILE_ENTRY 5
|
|
||||||
|
|
||||||
#define GLIBTOP_OPEN_FILENAME_LEN 215
|
|
||||||
/* ready for IPv6 */
|
|
||||||
#define GLIBTOP_OPEN_DEST_HOST_LEN 46
|
|
||||||
|
|
||||||
enum glibtop_file_type {
|
|
||||||
GLIBTOP_FILE_TYPE_FILE = 1,
|
|
||||||
GLIBTOP_FILE_TYPE_PIPE = 2,
|
|
||||||
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
|
||||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_open_files glibtop_proc_open_files;
|
|
||||||
|
|
||||||
struct _glibtop_open_files_entry
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
guint16 type; /* An "enum glibtop_file_type" value. */
|
|
||||||
union {
|
|
||||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
|
|
||||||
struct {
|
|
||||||
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
|
||||||
int dest_port;
|
|
||||||
} sock;
|
|
||||||
|
|
||||||
/* When type == GLIBTOP_FILE_TYPE_FILE */
|
|
||||||
struct {
|
|
||||||
char name[GLIBTOP_OPEN_FILENAME_LEN+1];
|
|
||||||
} file;
|
|
||||||
|
|
||||||
/* When type == GLIBTOP_FILE_TYPE_LOCALSOCKET */
|
|
||||||
struct {
|
|
||||||
char name[GLIBTOP_OPEN_FILENAME_LEN+1];
|
|
||||||
} localsock;
|
|
||||||
|
|
||||||
} info;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_proc_open_files
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
number, /* GLIBTOP_PROC_OPEN_FILES_NUMBER */
|
|
||||||
total, /* GLIBTOP_PROC_OPEN_FILES_TOTAL */
|
|
||||||
size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
|
||||||
};
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_FILE
|
|
||||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_FILE
|
|
||||||
void glibtop_init_proc_open_files_p (glibtop *server);
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_open_files_s (glibtop *server);
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,82 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSEGMENT_H__
|
|
||||||
#define __GLIBTOP_PROCSEGMENT_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_DATA_RSS 2
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_STACK_RSS 3
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_DIRTY_SIZE 4
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_START_CODE 5
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_END_CODE 6
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_START_STACK 7
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_SEGMENT 8
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
|
||||||
|
|
||||||
/* Segment stuff */
|
|
||||||
|
|
||||||
struct _glibtop_proc_segment
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
text_rss, /* text resident set size */
|
|
||||||
shlib_rss, /* shared-lib resident set size */
|
|
||||||
data_rss, /* data resident set size */
|
|
||||||
stack_rss, /* stack resident set size */
|
|
||||||
dirty_size, /* size of dirty pages */
|
|
||||||
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 */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
|
||||||
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
|
||||||
void glibtop_init_proc_segment_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_segment_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,73 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSIGNAL_H__
|
|
||||||
#define __GLIBTOP_PROCSIGNAL_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
signal [2], /* mask of pending signals */
|
|
||||||
blocked [2], /* mask of blocked signals */
|
|
||||||
sigignore [2], /* mask of ignored signals */
|
|
||||||
sigcatch [2]; /* mask of caught signals */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
|
||||||
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
|
||||||
void glibtop_init_proc_signal_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_signal_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,98 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSTATE_H__
|
|
||||||
#define __GLIBTOP_PROCSTATE_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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_PROC_STATE_RUID 4
|
|
||||||
#define GLIBTOP_PROC_STATE_RGID 5
|
|
||||||
#define GLIBTOP_PROC_STATE_HAS_CPU 6
|
|
||||||
#define GLIBTOP_PROC_STATE_PROCESSOR 7
|
|
||||||
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_STATE 9
|
|
||||||
|
|
||||||
#define GLIBTOP_PROCESS_RUNNING 1
|
|
||||||
#define GLIBTOP_PROCESS_INTERRUPTIBLE 2
|
|
||||||
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE 4
|
|
||||||
#define GLIBTOP_PROCESS_ZOMBIE 8
|
|
||||||
#define GLIBTOP_PROCESS_STOPPED 16
|
|
||||||
#define GLIBTOP_PROCESS_SWAPPING 32
|
|
||||||
#define GLIBTOP_PROCESS_DEAD 64
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_state glibtop_proc_state;
|
|
||||||
|
|
||||||
/* Name and status */
|
|
||||||
|
|
||||||
struct _glibtop_proc_state
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
char cmd[40]; /* basename of executable file in
|
|
||||||
* call to exec(2) */
|
|
||||||
unsigned 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 */
|
|
||||||
ruid,
|
|
||||||
rgid;
|
|
||||||
int has_cpu,
|
|
||||||
processor,
|
|
||||||
last_processor;
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_STATE
|
|
||||||
#define glibtop_get_proc_state_r glibtop_get_proc_state_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_state_r glibtop_get_proc_state_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_STATE
|
|
||||||
void glibtop_init_proc_state_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_state_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,95 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCTIME_H__
|
|
||||||
#define __GLIBTOP_PROCTIME_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/cpu.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_TIME_START_TIME 0
|
|
||||||
#define GLIBTOP_PROC_TIME_RTIME 1
|
|
||||||
#define GLIBTOP_PROC_TIME_UTIME 2
|
|
||||||
#define GLIBTOP_PROC_TIME_STIME 3
|
|
||||||
#define GLIBTOP_PROC_TIME_CUTIME 4
|
|
||||||
#define GLIBTOP_PROC_TIME_CSTIME 5
|
|
||||||
#define GLIBTOP_PROC_TIME_TIMEOUT 6
|
|
||||||
#define GLIBTOP_PROC_TIME_IT_REAL_VALUE 7
|
|
||||||
#define GLIBTOP_PROC_TIME_FREQUENCY 8
|
|
||||||
#define GLIBTOP_PROC_TIME_XCPU_UTIME 9
|
|
||||||
#define GLIBTOP_PROC_TIME_XCPU_STIME 10
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_TIME 11
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_time glibtop_proc_time;
|
|
||||||
|
|
||||||
/* Time section */
|
|
||||||
|
|
||||||
struct _glibtop_proc_time
|
|
||||||
{
|
|
||||||
guint64 flags,
|
|
||||||
start_time, /* start time of process --
|
|
||||||
* seconds since 1-1-70 */
|
|
||||||
rtime, /* real time accumulated by process */
|
|
||||||
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. */
|
|
||||||
frequency, /* Tick frequency. */
|
|
||||||
xcpu_utime [GLIBTOP_NCPU], /* utime and stime for all CPUs on */
|
|
||||||
xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_TIME
|
|
||||||
#define glibtop_get_proc_time_r glibtop_get_proc_time_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_time_r glibtop_get_proc_time_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_TIME
|
|
||||||
void glibtop_init_proc_time_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_time_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,104 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCUID_H__
|
|
||||||
#define __GLIBTOP_PROCUID_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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_SUID 4
|
|
||||||
#define GLIBTOP_PROC_UID_SGID 5
|
|
||||||
#define GLIBTOP_PROC_UID_FSUID 6
|
|
||||||
#define GLIBTOP_PROC_UID_FSGID 7
|
|
||||||
#define GLIBTOP_PROC_UID_PID 8
|
|
||||||
#define GLIBTOP_PROC_UID_PPID 9
|
|
||||||
#define GLIBTOP_PROC_UID_PGRP 10
|
|
||||||
#define GLIBTOP_PROC_UID_SESSION 11
|
|
||||||
#define GLIBTOP_PROC_UID_TTY 12
|
|
||||||
#define GLIBTOP_PROC_UID_TPGID 13
|
|
||||||
#define GLIBTOP_PROC_UID_PRIORITY 14
|
|
||||||
#define GLIBTOP_PROC_UID_NICE 15
|
|
||||||
#define GLIBTOP_PROC_UID_NGROUPS 16
|
|
||||||
#define GLIBTOP_PROC_UID_GROUPS 17
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_UID 18
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_GROUPS 64
|
|
||||||
|
|
||||||
/* User, Group, Terminal and session */
|
|
||||||
|
|
||||||
struct _glibtop_proc_uid
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
gint32 uid, /* user id */
|
|
||||||
euid, /* effective user id */
|
|
||||||
gid, /* group id */
|
|
||||||
egid, /* effective group id */
|
|
||||||
suid, /* set user id */
|
|
||||||
sgid, /* set group id */
|
|
||||||
fsuid, /* ??? user id */
|
|
||||||
fsgid, /* ??? 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 */
|
|
||||||
ngroups,
|
|
||||||
groups [GLIBTOP_MAX_GROUPS];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_UID
|
|
||||||
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_UID
|
|
||||||
void glibtop_init_proc_uid_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void glibtop_init_proc_uid_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,38 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_READ_H__
|
|
||||||
#define __GLIBTOP_READ_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define glibtop_read(p1, p2) glibtop_read(glibtop_global_server, p1, p2)
|
|
||||||
|
|
||||||
void glibtop_read_l (glibtop *server, size_t size, void *buf);
|
|
||||||
void glibtop_read_s (glibtop *server, size_t size, void *buf);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,38 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_READ_DATA_H__
|
|
||||||
#define __GLIBTOP_READ_DATA_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define glibtop_read_data() glibtop_read_data_r(glibtop_global_server)
|
|
||||||
|
|
||||||
void *glibtop_read_data_l (glibtop *server);
|
|
||||||
void *glibtop_read_data_s (glibtop *server);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,83 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License,
|
|
||||||
or (at your option) any later version.
|
|
||||||
|
|
||||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
|
||||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SEM_LIMITS_H__
|
|
||||||
#define __GLIBTOP_SEM_LIMITS_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_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
|
|
||||||
{
|
|
||||||
guint64 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 */
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_sem_limits(glibtop_sem_limits *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SEM_LIMITS
|
|
||||||
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SEM_LIMITS
|
|
||||||
void glibtop_init_sem_limits_p (glibtop *server);
|
|
||||||
void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
|
|
||||||
#else
|
|
||||||
void glibtop_init_sem_limits_s (glibtop *server);
|
|
||||||
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user