Compare commits
8 Commits
master
...
LIBGTOP_2_
Author | SHA1 | Date | |
---|---|---|---|
|
b64a6914f2 | ||
|
5526454790 | ||
|
d07192b5c9 | ||
|
b6464a97ec | ||
|
89aac22fac | ||
|
935d321bf0 | ||
|
9ea7201e24 | ||
|
f4089fa71f |
97
.gitignore
vendored
97
.gitignore
vendored
@@ -1,97 +0,0 @@
|
|||||||
*.a
|
|
||||||
*.bak
|
|
||||||
*.core
|
|
||||||
*.diff
|
|
||||||
*.gmo
|
|
||||||
*.header
|
|
||||||
*.in
|
|
||||||
*.la
|
|
||||||
*.lo
|
|
||||||
*.new
|
|
||||||
*.o
|
|
||||||
*.old
|
|
||||||
*.out
|
|
||||||
*.patch
|
|
||||||
*.pot
|
|
||||||
*.s
|
|
||||||
*.sed
|
|
||||||
*.sin
|
|
||||||
*.stamp
|
|
||||||
*.swp
|
|
||||||
*~
|
|
||||||
.deps
|
|
||||||
.libs
|
|
||||||
ABOUT-NLS
|
|
||||||
INSTALL
|
|
||||||
Makefile
|
|
||||||
Makevars.template
|
|
||||||
Rules-quot
|
|
||||||
\#*\#
|
|
||||||
aclocal.m4
|
|
||||||
autom4te.cache/
|
|
||||||
compile
|
|
||||||
config.guess
|
|
||||||
config.h
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.sub
|
|
||||||
configure
|
|
||||||
depcomp
|
|
||||||
doc/libgtop2.info
|
|
||||||
doc/mdate-sh
|
|
||||||
doc/reference/html/
|
|
||||||
doc/reference/libgtop-decl-list.txt
|
|
||||||
doc/reference/libgtop-decl.txt
|
|
||||||
doc/reference/libgtop-undeclared.txt
|
|
||||||
doc/reference/libgtop-undocumented.txt
|
|
||||||
doc/reference/libgtop-unused.txt
|
|
||||||
doc/reference/libgtop.args
|
|
||||||
doc/reference/libgtop.hierarchy
|
|
||||||
doc/reference/libgtop.interfaces
|
|
||||||
doc/reference/libgtop.prerequisites
|
|
||||||
doc/reference/libgtop.signals
|
|
||||||
doc/reference/tmpl/
|
|
||||||
doc/reference/version.xml
|
|
||||||
doc/reference/xml/
|
|
||||||
doc/stamp-vti
|
|
||||||
doc/texinfo.tex
|
|
||||||
doc/version.texi
|
|
||||||
examples/affinity
|
|
||||||
examples/df
|
|
||||||
examples/disk
|
|
||||||
examples/diskio
|
|
||||||
examples/first
|
|
||||||
examples/free
|
|
||||||
examples/mountlist
|
|
||||||
examples/netlist
|
|
||||||
examples/netload
|
|
||||||
examples/openfiles
|
|
||||||
examples/pprint
|
|
||||||
examples/procargs
|
|
||||||
examples/proclist
|
|
||||||
examples/procmap
|
|
||||||
examples/second
|
|
||||||
examples/smp
|
|
||||||
examples/sysdeps
|
|
||||||
examples/timings
|
|
||||||
examples/wd
|
|
||||||
examples/sysinfo
|
|
||||||
gtk-doc.make
|
|
||||||
install-sh
|
|
||||||
lib/GTop-2.0.gir
|
|
||||||
lib/GTop-2.0.typelib
|
|
||||||
lib/lib.c
|
|
||||||
libgtop-2.0.pc
|
|
||||||
libgtop.spec
|
|
||||||
libgtopconfig.h
|
|
||||||
libtool
|
|
||||||
ltmain.sh
|
|
||||||
m4/
|
|
||||||
missing
|
|
||||||
po/POTFILES
|
|
||||||
po/stamp-it
|
|
||||||
src/daemon/libgtop_daemon2
|
|
||||||
src/daemon/libgtop_server2
|
|
||||||
stamp-h1
|
|
||||||
stamp-po
|
|
||||||
tmp-*
|
|
@@ -1,69 +0,0 @@
|
|||||||
stages:
|
|
||||||
- build
|
|
||||||
- abi
|
|
||||||
|
|
||||||
variables:
|
|
||||||
FEDORA_DEPENDENCIES:
|
|
||||||
gettext-devel
|
|
||||||
gobject-introspection-devel
|
|
||||||
gtk-doc
|
|
||||||
util-linux
|
|
||||||
texinfo-tex
|
|
||||||
FEDORA_DEPENDENCIES_ABI_CHECK:
|
|
||||||
libabigail
|
|
||||||
intltool
|
|
||||||
LAST_ABI_BREAK: "d4ac1eda0752d559db8737773d6894aadc700ce3"
|
|
||||||
UBUNTU_DEPENDENCIES:
|
|
||||||
automake
|
|
||||||
autopoint
|
|
||||||
gettext
|
|
||||||
gtk-doc-tools
|
|
||||||
libgirepository1.0-dev
|
|
||||||
libtool
|
|
||||||
make
|
|
||||||
texinfo
|
|
||||||
texlive
|
|
||||||
|
|
||||||
build-fedora:
|
|
||||||
image: fedora:latest
|
|
||||||
stage: build
|
|
||||||
except:
|
|
||||||
- tags
|
|
||||||
before_script:
|
|
||||||
- dnf update -y --nogpgcheck
|
|
||||||
- dnf install -y --nogpgcheck $FEDORA_DEPENDENCIES
|
|
||||||
script:
|
|
||||||
- mkdir _build
|
|
||||||
- cd _build
|
|
||||||
- ../autogen.sh --disable-dependency-tracking
|
|
||||||
- make
|
|
||||||
- make install
|
|
||||||
- make distcheck
|
|
||||||
|
|
||||||
abi-fedora:
|
|
||||||
image: fedora:latest
|
|
||||||
stage: abi
|
|
||||||
needs:
|
|
||||||
- build-fedora
|
|
||||||
before_script:
|
|
||||||
- dnf update -y --nogpgcheck
|
|
||||||
- dnf install -y --nogpgcheck $FEDORA_DEPENDENCIES $FEDORA_DEPENDENCIES_ABI_CHECK
|
|
||||||
script:
|
|
||||||
- curl https://gitlab.freedesktop.org/hadess/check-abi/-/raw/main/contrib/check-abi-fedora.sh | bash
|
|
||||||
- check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
|
|
||||||
|
|
||||||
build-ubuntu:
|
|
||||||
image: ubuntu:latest
|
|
||||||
stage: build
|
|
||||||
except:
|
|
||||||
- tags
|
|
||||||
before_script:
|
|
||||||
- apt-get update
|
|
||||||
- DEBIAN_FRONTEND=noninteractive apt-get install -y $UBUNTU_DEPENDENCIES
|
|
||||||
script:
|
|
||||||
- mkdir _build
|
|
||||||
- cd _build
|
|
||||||
- ../autogen.sh
|
|
||||||
- make
|
|
||||||
- make install
|
|
||||||
- make distcheck
|
|
3
AUTHORS
3
AUTHORS
@@ -1,4 +1,3 @@
|
|||||||
Martin Baulig (martin@home-of-linux.org)
|
Martin Baulig (martin@home-of-linux.org)
|
||||||
Drazen Kacar (dave@srce.hr)
|
Drazen Kacar (dave@srce.hr)
|
||||||
Benoît Dejean (bdejean@gmail.com)
|
Benoît Dejean (tazforever@dlfp.org)
|
||||||
Robert Roth (robert.roth.off@gmail.com)
|
|
||||||
|
23
COPYING
23
COPYING
@@ -1,7 +1,7 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||||||
General Public License applies to most of the Free Software
|
General Public License applies to most of the Free Software
|
||||||
Foundation's software and to any other program whose authors commit to
|
Foundation's software and to any other program whose authors commit to
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
the GNU Library General Public License instead.) You can apply it to
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
your programs, too.
|
your programs, too.
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
When we speak of free software, we are referring to freedom, not
|
||||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
The precise terms and conditions for copying, distribution and
|
||||||
modification follow.
|
modification follow.
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||||||
License. (Exception: if the Program itself is interactive but
|
License. (Exception: if the Program itself is interactive but
|
||||||
does not normally print such an announcement, your work based on
|
does not normally print such an announcement, your work based on
|
||||||
the Program is not required to print an announcement.)
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
These requirements apply to the modified work as a whole. If
|
||||||
identifiable sections of that work are not derived from the Program,
|
identifiable sections of that work are not derived from the Program,
|
||||||
and can be reasonably considered independent and separate works in
|
and can be reasonably considered independent and separate works in
|
||||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||||||
access to copy the source code from the same place counts as
|
access to copy the source code from the same place counts as
|
||||||
distribution of the source code, even though third parties are not
|
distribution of the source code, even though third parties are not
|
||||||
compelled to copy the source along with the object code.
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
except as expressly provided under this License. Any attempt
|
except as expressly provided under this License. Any attempt
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
@@ -225,7 +225,7 @@ impose that choice.
|
|||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
This section is intended to make thoroughly clear what is believed to
|
||||||
be a consequence of the rest of this License.
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
original copyright holder who places the Program under this License
|
original copyright holder who places the Program under this License
|
||||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|||||||
POSSIBILITY OF SUCH DAMAGES.
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
If you develop a new program, and you want it to be of the greatest
|
||||||
@@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License along
|
||||||
along with this program; if not, write to the Free Software
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
|||||||
This General Public License does not permit incorporating your program into
|
This General Public License does not permit incorporating your program into
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
consider it more useful to permit linking proprietary applications with the
|
consider it more useful to permit linking proprietary applications with the
|
||||||
library. If this is what you want to do, use the GNU Library General
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
Public License instead of this License.
|
Public License instead of this License.
|
||||||
|
13
Makefile.am
13
Makefile.am
@@ -1,4 +1,3 @@
|
|||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
if EXAMPLES
|
if EXAMPLES
|
||||||
EXAMPLES_DIR = examples
|
EXAMPLES_DIR = examples
|
||||||
@@ -15,8 +14,14 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
|
|||||||
features.def libgtopconfig.h.in \
|
features.def libgtopconfig.h.in \
|
||||||
libgtop-sysdeps.m4 README \
|
libgtop-sysdeps.m4 README \
|
||||||
libgtop-2.0.pc.in acinclude.m4 \
|
libgtop-2.0.pc.in acinclude.m4 \
|
||||||
libgtop.doap \
|
intltool-extract.in \
|
||||||
m4/introspection.m4
|
intltool-merge.in \
|
||||||
|
intltool-update.in
|
||||||
|
|
||||||
|
DISTCLEANFILES = \
|
||||||
|
intltool-extract \
|
||||||
|
intltool-merge \
|
||||||
|
intltool-update
|
||||||
|
|
||||||
dist-hook:
|
dist-hook:
|
||||||
cp libgtop.spec $(distdir)
|
cp libgtop.spec $(distdir)
|
||||||
@@ -27,4 +32,4 @@ pkgconfig_DATA = libgtop-2.0.pc
|
|||||||
libgtop-features.def: features.def
|
libgtop-features.def: features.def
|
||||||
@LN_S@ $< $@
|
@LN_S@ $< $@
|
||||||
|
|
||||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection
|
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
|
||||||
|
280
NEWS
280
NEWS
@@ -1,283 +1,3 @@
|
|||||||
16 February 2024: Overview of changes in 2.41.3
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Fixed daemon buffer overflow #72
|
|
||||||
* Updated translations
|
|
||||||
|
|
||||||
15 October 2023: Overview of changes in 2.41.2
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Solaris
|
|
||||||
- Fix build #47
|
|
||||||
* Linux
|
|
||||||
- Change disk example read/write unit to bytes
|
|
||||||
- Fixed potential Buffer overflow when reading disk stats
|
|
||||||
- Changed disk read/write unit to bytes in example
|
|
||||||
* CI
|
|
||||||
- Fixed CI by adding missing dependency
|
|
||||||
|
|
||||||
|
|
||||||
10 January 2023 : Overview of changes in 2.41.1
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* FreeBSD
|
|
||||||
- Build fixes
|
|
||||||
- Support FreeBSD 13.0-CURRENT >= 1300062 vm_map_entry
|
|
||||||
* OpenBSD
|
|
||||||
- Build fixes
|
|
||||||
* Linux
|
|
||||||
- skip loop and rom devices
|
|
||||||
* Allow building with gettext >= 0.20
|
|
||||||
* Updated translations
|
|
||||||
* CI build setup
|
|
||||||
|
|
||||||
|
|
||||||
11 March 2019: Overview of changes in 2.40.0
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Fixed array and transfer annotations for documentation
|
|
||||||
|
|
||||||
18 February 2019: Overview of changes in 2.39.91
|
|
||||||
|
|
||||||
* Replace deprecated gnome-common with autoreconf
|
|
||||||
|
|
||||||
04 February 2019: Overview of changes in 2.39.90
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
* FreeBSD:
|
|
||||||
- added support for laundry memory
|
|
||||||
- added support for ZFS ARC
|
|
||||||
* Fixed compile warnings
|
|
||||||
* Fix build on FreeBSD and darwin
|
|
||||||
* Linux:
|
|
||||||
- get procmap doesn't need suid
|
|
||||||
|
|
||||||
11 September 2017: Overview of changes in 2.38.0
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
|
|
||||||
04 September 2017: Overview of changes in 2.37.92
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
* Code cleanup
|
|
||||||
|
|
||||||
07 August 2017: Overview of changes in 2.37.90
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Added reserved fields to the sysdeps struct
|
|
||||||
* Updated translations
|
|
||||||
* Fixed build failure in FreeBSD 11
|
|
||||||
|
|
||||||
22 May 2017: Overview of changes in 2.37.2
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Added support for per-process io monitoring
|
|
||||||
* Linux
|
|
||||||
* FreeBSD
|
|
||||||
* Updated translations
|
|
||||||
* Added nullpointer check
|
|
||||||
* Use unicode in translatable strings
|
|
||||||
|
|
||||||
20 March 2017: Overview of changes in 2.36.0
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Version bumped
|
|
||||||
|
|
||||||
13 March 2017: Overview of changes in 2.35.92
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Better output format for arrays
|
|
||||||
|
|
||||||
13 February 2017: Overview of changes in 2.35.90
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Linux:
|
|
||||||
- Use dynamically allocated cpu buffer
|
|
||||||
- Do not cache getpagesize()
|
|
||||||
- Use faster g_ascii_isspace in tokenization
|
|
||||||
- Ignore paragraphs not describing a CPU/core
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
* Added more gettext options
|
|
||||||
|
|
||||||
16 January 2017: Overview of changes in 2.34.2
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Linux:
|
|
||||||
- fill last_processor member
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
* Added more gettext options
|
|
||||||
|
|
||||||
20 August 2016: Overview of changes in 2.34.1
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* FreeBSD:
|
|
||||||
- rewrite netload to use official APIs
|
|
||||||
- mark wireless interfaces as such
|
|
||||||
|
|
||||||
* All
|
|
||||||
- rename --with-libgtop-examples to --with-examples
|
|
||||||
- use gettext instead of intltool/glib-gettext
|
|
||||||
- added Language headers to the translations
|
|
||||||
|
|
||||||
|
|
||||||
Special thanks to Gleb Smirnoff, Antoine Brodin, Koop Mast and Ting-Wei Lan for
|
|
||||||
the FreeBSD fixes, to Javier Jardón for the gettext migration and to Piotr Drąg
|
|
||||||
for adding the Language headers.
|
|
||||||
|
|
||||||
22 March 2016: Overview of changes in 2.34.0
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Stable release
|
|
||||||
|
|
||||||
29 February 2016: Overview of changes in 2.33.91
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
* Fix building on must-libc
|
|
||||||
|
|
||||||
18 January 2016: Overview of changes in 2.33.4
|
|
||||||
|
|
||||||
* On OpenBSD only PID 1 is special
|
|
||||||
* Call setlocale in main
|
|
||||||
|
|
||||||
14 December: Overview of changes in 2.33.3
|
|
||||||
|
|
||||||
* Fixed borken compilation on OpenBSD
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
21 September 2015: Overview of changes in 2.32.0
|
|
||||||
|
|
||||||
* Stable release
|
|
||||||
|
|
||||||
14 September 2015: Overview of changes in 2.31.91
|
|
||||||
================================================
|
|
||||||
* Darwin:
|
|
||||||
- Fixed build.
|
|
||||||
|
|
||||||
* All
|
|
||||||
- GI docs fixes
|
|
||||||
- include fixes
|
|
||||||
- Updated translations
|
|
||||||
|
|
||||||
16 August 2015: Overview of changes in 2.31.90
|
|
||||||
=============================================
|
|
||||||
* ABI changes:
|
|
||||||
- ABI was inconsistent on platforms like FreeBSD which make use of
|
|
||||||
glibtop_machine. The ABI was actually different between the
|
|
||||||
library and the server. Fixed this by simply always defining
|
|
||||||
glibtop_machine in glibtop struct.
|
|
||||||
- Add Pss and Swap members in glibtop_proc_mem.
|
|
||||||
- This is the second ABI breakage in since 2.28 (the first one was
|
|
||||||
bumping NCPU), there were no release for 2.30.
|
|
||||||
|
|
||||||
* FreeBSD:
|
|
||||||
- proclist: exclude the "idle" kernel process when GLIBTOP_EXCLUDE_IDLE.
|
|
||||||
- Remove extraneous glibtop_init() calls.
|
|
||||||
|
|
||||||
* Linux:
|
|
||||||
- proc_mem: implement Pss and Swap.
|
|
||||||
- Remove extraneous glibtop_init() calls.
|
|
||||||
|
|
||||||
* All:
|
|
||||||
- Propagate the change that machine in struct glibtop is now a
|
|
||||||
pointer. Hope that change doesn't break build on other platforms,
|
|
||||||
I can only test Linux and FreeBSD.
|
|
||||||
|
|
||||||
|
|
||||||
5 August 2015: Overview of changes in 2.31.4
|
|
||||||
=============================================
|
|
||||||
* 71 commits !
|
|
||||||
* Implement a proper --enable-debug mode.
|
|
||||||
* FreeBSD:
|
|
||||||
- procstate: set process name for kernel (pid=0)
|
|
||||||
- procmap: get dev/inode for ZFS (no filename yet)
|
|
||||||
- mem: rework memory usage to something more meaningful
|
|
||||||
- proclist: don't report threads
|
|
||||||
- proctime: fix CPU times
|
|
||||||
* Linux:
|
|
||||||
- mem: use MemAvailable when available
|
|
||||||
- mem: match `free`, report Slab as Cached.
|
|
||||||
- support for x.y versionsmemory to match `free`
|
|
||||||
* Fix a lot of GI tags: it now works without crashing.
|
|
||||||
* Server and daemon binaries are now dynamically linked against their libgtop.
|
|
||||||
* Update a lot of examples/.
|
|
||||||
* Clean up some very old code.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
Special thanks to Ting-Wei Lan for providing patches and feedback on FreeBSD.
|
|
||||||
|
|
||||||
22 June 2015: Overview of changes in 2.31.3
|
|
||||||
=============================================
|
|
||||||
* Numerous OpenBSD backend fixes.
|
|
||||||
* Fixed FreeBSD build issues.
|
|
||||||
* Implemented procaffinity support for NetBSD.
|
|
||||||
* Updated translations
|
|
||||||
|
|
||||||
19 August 2013: Overview of changes in 2.28.5
|
|
||||||
=============================================
|
|
||||||
* Fix numerous bugs in the OpenBSD backend.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
30 August 2011: Overview of changes in 2.28.4
|
|
||||||
=============================================
|
|
||||||
* Fix numerous bugs in the FreeBSD backend.
|
|
||||||
* Split off OpenBSD code in its own backend, and fixes.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
25 March 2011: Overview of changes in 2.28.3
|
|
||||||
================================================
|
|
||||||
* Fix build issue for strict linkers.
|
|
||||||
* Add Introspection support
|
|
||||||
* Cygwin fixes.
|
|
||||||
* FreeBSD: Fix get_mem() on 64-bit systems.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
28 September 2010: Overview of changes in 2.28.2
|
|
||||||
================================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
30 March 2010: Overview of changes in 2.28.1
|
|
||||||
============================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
21 September 2009: Overview of changes in 2.28.0
|
|
||||||
================================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
25 May 2009: Overview of changes in 2.27.3
|
|
||||||
==========================================
|
|
||||||
* linux:
|
|
||||||
- fixed format error.
|
|
||||||
|
|
||||||
3 May 2009: Overview of changes in 2.27.2
|
|
||||||
=========================================
|
|
||||||
* linux:
|
|
||||||
- glibtop_get_proc_map: oops, fixed segfault.
|
|
||||||
|
|
||||||
3 May 2009: Overview of changes in 2.27.1
|
|
||||||
=========================================
|
|
||||||
* linux:
|
|
||||||
- glibtop_get_proc_map is ~40% faster. This should be noticeable
|
|
||||||
in system-monitor.
|
|
||||||
* New cygwin support.
|
|
||||||
|
|
||||||
13 April 2009: Overview of changes in 2.26.1
|
|
||||||
============================================
|
|
||||||
* linux:
|
|
||||||
- glibtop_get_mounlist(...): also hide "none" fs.
|
|
||||||
|
|
||||||
1 Mars 2009: Overview of changes in 2.26.0
|
|
||||||
==========================================
|
|
||||||
* Nothing.
|
|
||||||
|
|
||||||
17 February 2009: Overview of changes in 2.25.91
|
|
||||||
================================================
|
|
||||||
* Synced with gnome-2-24.
|
|
||||||
|
|
||||||
19 January 2009: Overview of changes in 2.24.4
|
19 January 2009: Overview of changes in 2.24.4
|
||||||
==============================================
|
==============================================
|
||||||
* Fixed license: libgtop is GPL-2.
|
* Fixed license: libgtop is GPL-2.
|
||||||
|
@@ -263,7 +263,8 @@ AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
|
|||||||
[
|
[
|
||||||
ok=
|
ok=
|
||||||
if test $ac_cv_func_getmntinfo = yes; then
|
if test $ac_cv_func_getmntinfo = yes; then
|
||||||
AC_EGREP_HEADER(getmntinfo, sys/mount.h, ok=yes)
|
AC_EGREP_HEADER(f_type;, sys/mount.h,
|
||||||
|
ok=yes)
|
||||||
fi
|
fi
|
||||||
test -n "$ok" \
|
test -n "$ok" \
|
||||||
&& fu_cv_sys_mounted_getmntinfo=yes \
|
&& fu_cv_sys_mounted_getmntinfo=yes \
|
||||||
|
74
autogen.sh
74
autogen.sh
@@ -1,68 +1,22 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Run this to generate all the initial makefiles, etc.
|
# Run this to generate all the initial makefiles, etc.
|
||||||
RED='\033[0;31m'
|
|
||||||
NC='\033[0m' # No Color
|
|
||||||
|
|
||||||
case "$(uname -s)" in
|
srcdir=`dirname $0`
|
||||||
Linux)
|
test -z "$srcdir" && srcdir=.
|
||||||
if ! [ -x "$(command -v lsblk)" ]; then
|
|
||||||
echo '' >&2
|
|
||||||
echo -e "${RED}*** ERROR:${NC} lsblk cannot be found. Try installing util-linux or util-linux-ng ${RED}***${NC}" >&2
|
|
||||||
echo '' >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if ! [ -x "$(command -v sed)" ]; then
|
|
||||||
echo '' >&2
|
|
||||||
echo -e "${RED}*** ERROR:${NC} sed cannot be found. ***" >&2
|
|
||||||
echo '' >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if ! [ -x "$(command -v tr)" ]; then
|
|
||||||
echo '' >&2
|
|
||||||
echo -e "${RED}*** ERROR:${NC} tr cannot be found. ***" >&2
|
|
||||||
echo '' >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
test -n "$srcdir" || srcdir=$(dirname "$0")
|
PKG_NAME="Gnome Top Library"
|
||||||
test -n "$srcdir" || srcdir=.
|
|
||||||
|
|
||||||
olddir=$(pwd)
|
(test -f $srcdir/configure.in \
|
||||||
|
&& test -f $srcdir/copyright.txt \
|
||||||
cd $srcdir
|
&& test -d $srcdir/sysdeps) || {
|
||||||
|
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||||
(test -f configure.ac) || {
|
echo " top-level gnome directory"
|
||||||
echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
|
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# shellcheck disable=SC2016
|
which gnome-autogen.sh || {
|
||||||
PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
|
echo "You need to install gnome-common from the GNOME CVS"
|
||||||
|
exit 1
|
||||||
if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
|
}
|
||||||
echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
|
REQUIRED_AUTOMAKE_VERSION=1.9
|
||||||
echo "*** If you wish to pass any to it, please specify them on the" >&2
|
. gnome-autogen.sh
|
||||||
echo "*** '$0' command line." >&2
|
|
||||||
echo "" >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
aclocal --install || exit 1
|
|
||||||
gtkdocize --copy || exit 1
|
|
||||||
autoreconf --verbose --force --install || exit 1
|
|
||||||
|
|
||||||
cd "$olddir"
|
|
||||||
if [ "$NOCONFIGURE" = "" ]; then
|
|
||||||
$srcdir/configure "$@" || exit 1
|
|
||||||
|
|
||||||
if [ "$1" = "--help" ]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
echo "Now type 'make' to compile $PKG_NAME" || exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Skipping configure process."
|
|
||||||
fi
|
|
||||||
|
@@ -3,12 +3,12 @@ dnl Configure script for the Gnome library
|
|||||||
dnl
|
dnl
|
||||||
|
|
||||||
m4_define([libgtop_major_version], [2])
|
m4_define([libgtop_major_version], [2])
|
||||||
m4_define([libgtop_minor_version], [41])
|
m4_define([libgtop_minor_version], [24])
|
||||||
m4_define([libgtop_micro_version], [3])
|
m4_define([libgtop_micro_version], [4])
|
||||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||||
|
|
||||||
dnl increment if the interface has additions, changes, removals.
|
dnl increment if the interface has additions, changes, removals.
|
||||||
m4_define([libgtop_current], [12])
|
m4_define([libgtop_current], [9])
|
||||||
|
|
||||||
dnl increment any time the source changes; set to
|
dnl increment any time the source changes; set to
|
||||||
dnl 0 if you increment CURRENT
|
dnl 0 if you increment CURRENT
|
||||||
@@ -17,7 +17,7 @@ m4_define([libgtop_revision], [0])
|
|||||||
dnl increment if any interfaces have been added; set to 0
|
dnl increment if any interfaces have been added; set to 0
|
||||||
dnl if any interfaces have been removed. removal has
|
dnl if any interfaces have been removed. removal has
|
||||||
dnl precedence over adding, so set to 0 if both happened.
|
dnl precedence over adding, so set to 0 if both happened.
|
||||||
m4_define([libgtop_age], [1])
|
m4_define([libgtop_age], [2])
|
||||||
|
|
||||||
# Increase each time you change the client/server protocol.
|
# Increase each time you change the client/server protocol.
|
||||||
m4_define([libgtop_server_version], [5])
|
m4_define([libgtop_server_version], [5])
|
||||||
@@ -25,19 +25,15 @@ m4_define([libgtop_server_version], [5])
|
|||||||
# Version code calculation
|
# Version code calculation
|
||||||
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
|
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
|
||||||
|
|
||||||
AC_PREREQ(2.62)
|
AC_PREREQ(2.59)
|
||||||
AC_INIT([libgtop], [libgtop_version],
|
AC_INIT([libgtop], [libgtop_version],
|
||||||
[https://gitlab.gnome.org/GNOME/libgtop/-/issues/])
|
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
|
||||||
AC_CONFIG_SRCDIR(copyright.txt)
|
AC_CONFIG_SRCDIR(copyright.txt)
|
||||||
AC_CONFIG_HEADERS(config.h)
|
AC_CONFIG_HEADERS(config.h)
|
||||||
|
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_SYSTEM
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
|
|
||||||
AM_SILENT_RULES([yes])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
GOBJECT_INTROSPECTION_CHECK([0.6.7])
|
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE
|
||||||
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
|
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
|
||||||
|
|
||||||
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
|
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
|
||||||
@@ -71,16 +67,6 @@ dnl Most people should have a working perl interpreter on their system
|
|||||||
AC_CHECK_PROGS(PERL, perl5 perl)
|
AC_CHECK_PROGS(PERL, perl5 perl)
|
||||||
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
|
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
|
||||||
|
|
||||||
case "${host_os}" in
|
|
||||||
linux*)
|
|
||||||
AC_CHECK_TOOL(LSBLK,lsblk)
|
|
||||||
AC_CHECK_TOOL(SED,sed)
|
|
||||||
AC_CHECK_TOOL(TR,tr)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_CHECK_TOOL(CC,gcc)
|
AC_CHECK_TOOL(CC,gcc)
|
||||||
AC_CHECK_TOOL(RANLIB,ranlib)
|
AC_CHECK_TOOL(RANLIB,ranlib)
|
||||||
AC_CHECK_TOOL(AS,as)
|
AC_CHECK_TOOL(AS,as)
|
||||||
@@ -102,9 +88,8 @@ GNOME_LIBGTOP_SYSDEPS
|
|||||||
GNOME_LIBGTOP_TYPES
|
GNOME_LIBGTOP_TYPES
|
||||||
|
|
||||||
GLIB_REQUIRED=2.6.0
|
GLIB_REQUIRED=2.6.0
|
||||||
GOBJECT_REQUIRED=2.26.0
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GOBJECT_REQUIRED)
|
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
||||||
AC_SUBST(GLIB_CFLAGS)
|
AC_SUBST(GLIB_CFLAGS)
|
||||||
AC_SUBST(GLIB_LIBS)
|
AC_SUBST(GLIB_LIBS)
|
||||||
|
|
||||||
@@ -120,12 +105,10 @@ AC_TYPE_OFF_T
|
|||||||
AC_TYPE_PID_T
|
AC_TYPE_PID_T
|
||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
AC_STRUCT_ST_RDEV
|
AC_STRUCT_ST_RDEV
|
||||||
|
AC_HEADER_TIME
|
||||||
AC_STRUCT_TM
|
AC_STRUCT_TM
|
||||||
AC_TYPE_UID_T
|
AC_TYPE_UID_T
|
||||||
|
|
||||||
dnl Check sys/time.h
|
|
||||||
AC_CHECK_HEADERS([sys/time.h])
|
|
||||||
|
|
||||||
dnl For SunOS
|
dnl For SunOS
|
||||||
AC_CHECK_TYPE(ssize_t, int)
|
AC_CHECK_TYPE(ssize_t, int)
|
||||||
AC_CHECK_HEADERS(memory.h)
|
AC_CHECK_HEADERS(memory.h)
|
||||||
@@ -225,18 +208,18 @@ AC_FUNC_ALLOCA
|
|||||||
AC_FUNC_MMAP
|
AC_FUNC_MMAP
|
||||||
AC_TYPE_SIGNAL
|
AC_TYPE_SIGNAL
|
||||||
AC_FUNC_STRFTIME
|
AC_FUNC_STRFTIME
|
||||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv sbrk strdup strtoul uname)
|
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||||
|
|
||||||
# FIXME: Remove AM_GNU_GETTEXT_VERSION once autoreconf supports REQUIRE_VERSION
|
IT_PROG_INTLTOOL([0.35.0])
|
||||||
AM_GNU_GETTEXT_VERSION([0.19.6])
|
|
||||||
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6])
|
|
||||||
AM_GNU_GETTEXT([external])
|
|
||||||
|
|
||||||
GETTEXT_PACKAGE=libgtop-2.0
|
GETTEXT_PACKAGE=libgtop-2.0
|
||||||
AC_SUBST(GETTEXT_PACKAGE)
|
AC_SUBST(GETTEXT_PACKAGE)
|
||||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
||||||
[Define to the gettext package used by the library])
|
[Define to the gettext package used by the library])
|
||||||
|
|
||||||
|
AM_GLIB_GNU_GETTEXT
|
||||||
|
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
|
||||||
|
|
||||||
AC_PATH_XTRA
|
AC_PATH_XTRA
|
||||||
|
|
||||||
dnl For Solaris
|
dnl For Solaris
|
||||||
@@ -275,8 +258,7 @@ dnl Debugging
|
|||||||
AC_ARG_ENABLE(debug,
|
AC_ARG_ENABLE(debug,
|
||||||
AS_HELP_STRING([--enable-debug],
|
AS_HELP_STRING([--enable-debug],
|
||||||
[Turn on debugging @<:@default=no@:>@]),
|
[Turn on debugging @<:@default=no@:>@]),
|
||||||
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),
|
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
|
||||||
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 0, [Define to disable debugging]))
|
|
||||||
AC_ARG_ENABLE(fatal-warnings,
|
AC_ARG_ENABLE(fatal-warnings,
|
||||||
AS_HELP_STRING([--enable-fatal-warnings],
|
AS_HELP_STRING([--enable-fatal-warnings],
|
||||||
[Make all warnings fatal @<:@debug=no@:>@]),
|
[Make all warnings fatal @<:@debug=no@:>@]),
|
||||||
@@ -284,8 +266,16 @@ AC_ARG_ENABLE(fatal-warnings,
|
|||||||
[Define to enable fatal warnings]))
|
[Define to enable fatal warnings]))
|
||||||
|
|
||||||
dnl These definitions are expanded in make.
|
dnl These definitions are expanded in make.
|
||||||
LIBGTOP_LIBS='-L=$(libdir)'
|
LIBGTOP_LIBS='-L$(libdir)'
|
||||||
LIBGTOP_INCS='-I=$(includedir)/libgtop-2.0'
|
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$libgtop_smp = xyes ; then
|
||||||
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
|
||||||
|
fi
|
||||||
|
|
||||||
if test x$libgtop_have_sysinfo = xyes ; then
|
if test x$libgtop_have_sysinfo = xyes ; then
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
||||||
@@ -297,8 +287,8 @@ libgtop_save_prefix="$prefix"
|
|||||||
libgtop_save_exec_prefix="$exec_prefix"
|
libgtop_save_exec_prefix="$exec_prefix"
|
||||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||||
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
||||||
LIBGTOP_BINDIR=`eval echo "${libexecdir}"`
|
LIBGTOP_BINDIR=`eval echo "${bindir}"`
|
||||||
LIBGTOP_SERVER=`eval echo "${libexecdir}/libgtop_server2"`
|
LIBGTOP_SERVER=`eval echo "${bindir}/libgtop_server2"`
|
||||||
prefix="$libgtop_save_prefix"
|
prefix="$libgtop_save_prefix"
|
||||||
exec_prefix="$libgtop_save_exec_prefix"
|
exec_prefix="$libgtop_save_exec_prefix"
|
||||||
|
|
||||||
@@ -315,17 +305,24 @@ LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
|
|||||||
|
|
||||||
LIBGTOP_LIBS="$LIBGTOP_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
|
if test "$GCC" = "yes" ; then
|
||||||
CFLAGS="\
|
CFLAGS="\
|
||||||
-Winline \
|
-Winline \
|
||||||
-Wall \
|
-Wall \
|
||||||
|
-std=gnu89 \
|
||||||
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
||||||
-Wnested-externs -Wpointer-arith \
|
-Wnested-externs -Wpointer-arith \
|
||||||
-Wcast-align -Wsign-compare \
|
-Wcast-align -Wsign-compare \
|
||||||
$CFLAGS"
|
$CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CPPFLAGS="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
|
INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
|
||||||
|
|
||||||
# Add various defines to the config.h file ...
|
# Add various defines to the config.h file ...
|
||||||
AH_VERBATIM([_GNU_SOURCE],
|
AH_VERBATIM([_GNU_SOURCE],
|
||||||
@@ -344,7 +341,7 @@ AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
|
|||||||
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
|
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
|
||||||
[The path to the libgtop server])
|
[The path to the libgtop server])
|
||||||
|
|
||||||
AC_SUBST(AM_CPPFLAGS)
|
AC_SUBST(INCLUDES)
|
||||||
|
|
||||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
||||||
AC_SUBST(GLIB_LIBS)
|
AC_SUBST(GLIB_LIBS)
|
||||||
@@ -384,8 +381,6 @@ sysdeps/solaris/Makefile
|
|||||||
sysdeps/aix/Makefile
|
sysdeps/aix/Makefile
|
||||||
sysdeps/bsd/Makefile
|
sysdeps/bsd/Makefile
|
||||||
sysdeps/darwin/Makefile
|
sysdeps/darwin/Makefile
|
||||||
sysdeps/cygwin/Makefile
|
|
||||||
sysdeps/openbsd/Makefile
|
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/daemon/Makefile
|
src/daemon/Makefile
|
||||||
lib/Makefile
|
lib/Makefile
|
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
2
debian/rules.in
vendored
2
debian/rules.in
vendored
@@ -10,7 +10,7 @@
|
|||||||
i=$(shell pwd)/debian/tmp
|
i=$(shell pwd)/debian/tmp
|
||||||
b=$(shell pwd)/debian/build
|
b=$(shell pwd)/debian/build
|
||||||
|
|
||||||
configure: configure.ac
|
configure: configure.in
|
||||||
@echo "--- Making configure script and configuring"
|
@echo "--- Making configure script and configuring"
|
||||||
chmod +x autogen.sh
|
chmod +x autogen.sh
|
||||||
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
||||||
|
@@ -49,7 +49,6 @@ System Dependent Functions
|
|||||||
* glibtop_proc_map:: Process Memory Maps.
|
* glibtop_proc_map:: Process Memory Maps.
|
||||||
* glibtop_netload:: Network Load.
|
* glibtop_netload:: Network Load.
|
||||||
* glibtop_ppp:: PPP Usage.
|
* glibtop_ppp:: PPP Usage.
|
||||||
* glibtop_disk:: DISK Usage.
|
|
||||||
|
|
||||||
Common Functions
|
Common Functions
|
||||||
|
|
||||||
|
@@ -28,7 +28,6 @@
|
|||||||
* glibtop_proc_map:: Process Memory Maps.
|
* glibtop_proc_map:: Process Memory Maps.
|
||||||
* glibtop_netload:: Network Load.
|
* glibtop_netload:: Network Load.
|
||||||
* glibtop_ppp:: PPP Usage.
|
* glibtop_ppp:: PPP Usage.
|
||||||
* glibtop_disk:: DISK Usage.
|
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node glibtop_cpu, glibtop_mem, System Dependent, System Dependent
|
@node glibtop_cpu, glibtop_mem, System Dependent, System Dependent
|
||||||
@@ -744,7 +743,7 @@ The description above is taken from the manual page of the @file{/proc}
|
|||||||
filesystem under Linux and is a little bit confusing, so I make this clear
|
filesystem under Linux and is a little bit confusing, so I make this clear
|
||||||
here.
|
here.
|
||||||
|
|
||||||
@strong{A word for people porting LibGTop to other systems:}
|
@strong{Note for people porting LibGTop to other systems:}
|
||||||
Every operating system has its own idea about the memory usage of a process
|
Every operating system has its own idea about the memory usage of a process
|
||||||
and also system utilities like @code{ps} show different things on different
|
and also system utilities like @code{ps} show different things on different
|
||||||
systems.
|
systems.
|
||||||
@@ -1344,7 +1343,7 @@ enum @{
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node glibtop_ppp, glibtop_disk, glibtop_netload, System Dependent
|
@node glibtop_ppp, , glibtop_netload, System Dependent
|
||||||
@subsection PPP Statistics
|
@subsection PPP Statistics
|
||||||
|
|
||||||
Library function @code{glibtop_get_ppp}:
|
Library function @code{glibtop_get_ppp}:
|
||||||
@@ -1404,62 +1403,6 @@ We're currently offline.
|
|||||||
We're currently online.
|
We're currently online.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@page
|
|
||||||
@node glibtop_disk, , glibtop_ppp, System Dependent
|
|
||||||
@subsection DISK Usage
|
|
||||||
|
|
||||||
Library function @code{glibtop_get_disk}:
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
void glibtop_get_disk (glibtop_disk *buf);
|
|
||||||
void glibtop_get_disk_l (glibtop *server, glibtop_disk *buf);
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
Declaration of @code{glibtop_disk} in @file{<glibtop/disk.h>}:
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
typedef struct _glibtop_disk glibtop_disk;
|
|
||||||
|
|
||||||
struct _glibtop_disk
|
|
||||||
@{
|
|
||||||
xdisk_sectors_read [GLIBTOP_NDISK],
|
|
||||||
xdisk_time_read [GLIBTOP_NDISK],
|
|
||||||
xdisk_sectors_write [GLIBTOP_NDISK],
|
|
||||||
xdisk_time_write [GLIBTOP_NDISK],
|
|
||||||
@};
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
All DISK reads and writes are measured by @dfn{sectors} which are normally 512 bytes each.
|
|
||||||
All disk time are measured in milliseconds which is 1/1000th of a second.
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
@item xdisk_sectors_read
|
|
||||||
Number of sectors read since system boot.
|
|
||||||
|
|
||||||
@item xdisk_time_read
|
|
||||||
Number of milliseconds spent reading since system boot.
|
|
||||||
|
|
||||||
@item xdisk_sectors_write
|
|
||||||
Number of sectors written since system boot.
|
|
||||||
|
|
||||||
@item xdisk_time_write
|
|
||||||
Number of milliseconds spent writing since system boot.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
The @samp{xdisk_} are values from arrays of @code{GLIBTOP_NDISK} (defined in
|
|
||||||
@file{<glibtop/disk.h>}) elements and contain one value for each DISK
|
|
||||||
in the system.
|
|
||||||
|
|
||||||
Please note that all of the disk values are absolute values measured in
|
|
||||||
certain units since system boot. To get bandwidth values (bytes/s), you need to call @code{glibtop_disk}, save the
|
|
||||||
result, wait some time and then call it again and divide the differences of
|
|
||||||
the two values by the time spent reading or writing.
|
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node Common Functions, Library Functions, System Dependent, Reference Manual
|
@node Common Functions, Library Functions, System Dependent, Reference Manual
|
||||||
@section Common Functions
|
@section Common Functions
|
||||||
|
@@ -46,9 +46,9 @@ HTML_IMAGES=
|
|||||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
||||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
||||||
# signals and properties.
|
# signals and properties.
|
||||||
# e.g. AM_CPPFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
||||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
||||||
AM_CPPFLAGS=
|
INCLUDES=
|
||||||
GTKDOC_LIBS=
|
GTKDOC_LIBS=
|
||||||
|
|
||||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||||
|
@@ -36,8 +36,8 @@
|
|||||||
Documentation License</citetitle> from the Free Software
|
Documentation License</citetitle> from the Free Software
|
||||||
Foundation by visiting <ulink type="http"
|
Foundation by visiting <ulink type="http"
|
||||||
url="http://www.fsf.org">their Web site</ulink> or by writing
|
url="http://www.fsf.org">their Web site</ulink> or by writing
|
||||||
to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.</para>
|
Boston, MA 02111-1307, USA.</para>
|
||||||
|
|
||||||
<para>Many of the names used by companies to distinguish their
|
<para>Many of the names used by companies to distinguish their
|
||||||
products and services are claimed as trademarks. Where those
|
products and services are claimed as trademarks. Where those
|
||||||
|
@@ -29,7 +29,6 @@ glibtop_close_p
|
|||||||
GLIBTOP_CMND_QUIT
|
GLIBTOP_CMND_QUIT
|
||||||
GLIBTOP_CMND_SYSDEPS
|
GLIBTOP_CMND_SYSDEPS
|
||||||
GLIBTOP_CMND_CPU
|
GLIBTOP_CMND_CPU
|
||||||
GLIBTOP_CMND_DISK
|
|
||||||
GLIBTOP_CMND_MEM
|
GLIBTOP_CMND_MEM
|
||||||
GLIBTOP_CMND_SWAP
|
GLIBTOP_CMND_SWAP
|
||||||
GLIBTOP_CMND_UPTIME
|
GLIBTOP_CMND_UPTIME
|
||||||
@@ -220,8 +219,17 @@ glibtop_set_parameter_l
|
|||||||
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>procargs</FILE>
|
<FILE>procargs</FILE>
|
||||||
|
GLIBTOP_PROC_ARGS_SIZE
|
||||||
|
GLIBTOP_MAX_PROC_ARGS
|
||||||
glibtop_proc_args
|
glibtop_proc_args
|
||||||
|
glibtop_get_proc_args_l
|
||||||
glibtop_get_proc_args
|
glibtop_get_proc_args
|
||||||
|
glibtop_get_proc_args_r
|
||||||
|
glibtop_init_proc_args_p
|
||||||
|
glibtop_get_proc_args_p
|
||||||
|
glibtop_init_proc_args_s
|
||||||
|
glibtop_get_proc_args_s
|
||||||
|
glibtop_get_proc_argv_l
|
||||||
glibtop_get_proc_argv
|
glibtop_get_proc_argv
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
@@ -412,8 +420,26 @@ glibtop_get_proc_uid_s
|
|||||||
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>proctime</FILE>
|
<FILE>proctime</FILE>
|
||||||
|
GLIBTOP_PROC_TIME_START_TIME
|
||||||
|
GLIBTOP_PROC_TIME_RTIME
|
||||||
|
GLIBTOP_PROC_TIME_UTIME
|
||||||
|
GLIBTOP_PROC_TIME_STIME
|
||||||
|
GLIBTOP_PROC_TIME_CUTIME
|
||||||
|
GLIBTOP_PROC_TIME_CSTIME
|
||||||
|
GLIBTOP_PROC_TIME_TIMEOUT
|
||||||
|
GLIBTOP_PROC_TIME_IT_REAL_VALUE
|
||||||
|
GLIBTOP_PROC_TIME_FREQUENCY
|
||||||
|
GLIBTOP_PROC_TIME_XCPU_UTIME
|
||||||
|
GLIBTOP_PROC_TIME_XCPU_STIME
|
||||||
|
GLIBTOP_MAX_PROC_TIME
|
||||||
glibtop_proc_time
|
glibtop_proc_time
|
||||||
glibtop_get_proc_time
|
glibtop_get_proc_time
|
||||||
|
glibtop_get_proc_time_r
|
||||||
|
glibtop_get_proc_time_l
|
||||||
|
glibtop_init_proc_time_p
|
||||||
|
glibtop_get_proc_time_p
|
||||||
|
glibtop_init_proc_time_s
|
||||||
|
glibtop_get_proc_time_s
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<INCLUDE>glibtop/signal.h</INCLUDE>
|
<INCLUDE>glibtop/signal.h</INCLUDE>
|
||||||
@@ -489,6 +515,10 @@ glibtop_send_version
|
|||||||
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>proclist</FILE>
|
<FILE>proclist</FILE>
|
||||||
|
GLIBTOP_PROCLIST_NUMBER
|
||||||
|
GLIBTOP_PROCLIST_TOTAL
|
||||||
|
GLIBTOP_PROCLIST_SIZE
|
||||||
|
GLIBTOP_MAX_PROCLIST
|
||||||
GLIBTOP_KERN_PROC_ALL
|
GLIBTOP_KERN_PROC_ALL
|
||||||
GLIBTOP_KERN_PROC_PID
|
GLIBTOP_KERN_PROC_PID
|
||||||
GLIBTOP_KERN_PROC_PGRP
|
GLIBTOP_KERN_PROC_PGRP
|
||||||
@@ -502,6 +532,12 @@ GLIBTOP_EXCLUDE_SYSTEM
|
|||||||
GLIBTOP_EXCLUDE_NOTTY
|
GLIBTOP_EXCLUDE_NOTTY
|
||||||
glibtop_proclist
|
glibtop_proclist
|
||||||
glibtop_get_proclist
|
glibtop_get_proclist
|
||||||
|
glibtop_get_proclist_r
|
||||||
|
glibtop_get_proclist_l
|
||||||
|
glibtop_init_proclist_p
|
||||||
|
glibtop_get_proclist_p
|
||||||
|
glibtop_init_proclist_s
|
||||||
|
glibtop_get_proclist_s
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
||||||
@@ -679,25 +715,6 @@ glibtop_init_cpu_s
|
|||||||
glibtop_get_cpu_s
|
glibtop_get_cpu_s
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<INCLUDE>glibtop/disk.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>disk</FILE>
|
|
||||||
LIBTOP_XDISK_SECTORS_READ
|
|
||||||
GLIBTOP_XDISK_TIME_READ
|
|
||||||
GLIBTOP_XDISK_SECTORS_WRITE
|
|
||||||
GLIBTOP_XDISK_TIME_WRITE
|
|
||||||
GLIBTOP_MAX_DISK
|
|
||||||
GLIBTOP_NDISK
|
|
||||||
glibtop_disk
|
|
||||||
glibtop_get_disk
|
|
||||||
glibtop_get_disk_r
|
|
||||||
glibtop_get_disk_l
|
|
||||||
glibtop_init_disk_p
|
|
||||||
glibtop_get_disk_p
|
|
||||||
glibtop_init_disk_s
|
|
||||||
glibtop_get_disk_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/swap.h</INCLUDE>
|
<INCLUDE>glibtop/swap.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>swap</FILE>
|
<FILE>swap</FILE>
|
||||||
|
@@ -1,17 +1,14 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||||
-I$(top_srcdir) \
|
|
||||||
-I$(top_srcdir)/include \
|
|
||||||
-I$(top_srcdir)/sysdeps/$(sysdeps_dir) \
|
|
||||||
-DGTOPLOCALEDIR=\"$(localedir)\" \
|
|
||||||
$(GLIB_CFLAGS)
|
|
||||||
|
|
||||||
AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
|
INCLUDES = @INCLUDES@
|
||||||
|
|
||||||
|
DEFS = @DEFS@
|
||||||
|
|
||||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
noinst_PROGRAMS = first second pprint procargs df netlist \
|
||||||
mountlist procmap netload sysdeps timings \
|
mountlist procmap netload sysdeps timings \
|
||||||
openfiles smp proclist free wd affinity disk diskio sysinfo
|
openfiles smp proclist mem wd affinity
|
||||||
|
|
||||||
first_SOURCES = first.c
|
first_SOURCES = first.c
|
||||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
@@ -34,9 +31,6 @@ mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|||||||
smp_SOURCES = smp.c
|
smp_SOURCES = smp.c
|
||||||
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
||||||
|
|
||||||
disk_SOURCES = disk.c
|
|
||||||
disk_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
|
||||||
|
|
||||||
timings_SOURCES = timings.c
|
timings_SOURCES = timings.c
|
||||||
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
@@ -46,7 +40,6 @@ pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|||||||
procargs_SOURCES = procargs.c
|
procargs_SOURCES = procargs.c
|
||||||
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
|
|
||||||
df_SOURCES = df.c
|
df_SOURCES = df.c
|
||||||
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
@@ -62,14 +55,8 @@ proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|||||||
wd_SOURCES = wd.c
|
wd_SOURCES = wd.c
|
||||||
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
free_SOURCE = mem.c
|
mem_SOURCE = mem.c
|
||||||
free_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
affinity_SOURCES = affinity.c
|
affinity_SOURCES = affinity.c
|
||||||
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
diskio_SOURCES = diskio.c
|
|
||||||
diskio_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
sysinfo_SOURCES = sysinfo.c
|
|
||||||
sysinfo_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
@@ -13,45 +13,28 @@ static void print_fsusage(const char *mountpoint)
|
|||||||
{
|
{
|
||||||
glibtop_fsusage buf;
|
glibtop_fsusage buf;
|
||||||
|
|
||||||
enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX };
|
|
||||||
char **a = g_new0(char*, MAX);
|
|
||||||
|
|
||||||
glibtop_get_fsusage(&buf, mountpoint);
|
glibtop_get_fsusage(&buf, mountpoint);
|
||||||
|
|
||||||
|
printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
|
||||||
#define I(X) a[(X)]
|
mountpoint,
|
||||||
I(SIZE) = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
buf.blocks * buf.block_size >> 20,
|
||||||
I(USED) = g_format_size_full((buf.blocks - buf.bavail) * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
||||||
I(FREE) = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
buf.bavail * buf.block_size >> 20,
|
||||||
I(AVAIL) = g_format_size_full(buf.bavail * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
|
||||||
I(READ) = g_format_size_full(buf.read, G_FORMAT_SIZE_IEC_UNITS);
|
|
||||||
I(WRITE) = g_format_size_full(buf.write, G_FORMAT_SIZE_IEC_UNITS);
|
|
||||||
|
|
||||||
printf("%#7x %10s %10s %10s %10s %5.1f%% %10s %10s %8lu %8lu %s\n",
|
|
||||||
(unsigned)buf.flags,
|
|
||||||
I(SIZE),
|
|
||||||
I(USED),
|
|
||||||
I(FREE),
|
|
||||||
I(AVAIL),
|
|
||||||
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
||||||
I(READ),
|
buf.read,
|
||||||
I(WRITE),
|
buf.write
|
||||||
(unsigned long)buf.files,
|
|
||||||
(unsigned long)buf.ffree,
|
|
||||||
mountpoint
|
|
||||||
);
|
);
|
||||||
|
|
||||||
g_strfreev(a);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
glibtop_mountlist buf;
|
glibtop_mountlist buf;
|
||||||
|
|
||||||
glibtop_init();
|
glibtop_init();
|
||||||
|
|
||||||
printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
|
printf("%-30s %10s %10s %10s %5s %10s %10s\n",
|
||||||
"(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
|
"Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
|
||||||
|
|
||||||
if (argc > 1) {
|
if (argc > 1) {
|
||||||
while (*++argv)
|
while (*++argv)
|
||||||
|
@@ -1,65 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
|
||||||
|
|
||||||
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., 51 Franklin Street, Fifth Floor,
|
|
||||||
Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/disk.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_disk disk;
|
|
||||||
char separator [BUFSIZ];
|
|
||||||
int ndisk, i;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
glibtop_get_disk (&disk);
|
|
||||||
|
|
||||||
ndisk = glibtop_global_server->ndisk ? glibtop_global_server->ndisk : 1;
|
|
||||||
|
|
||||||
memset (separator, '-', 91);
|
|
||||||
separator [92] = '\0';
|
|
||||||
|
|
||||||
printf("\n\n");
|
|
||||||
printf ("ELAPSE ");
|
|
||||||
printf ("Read (b) Time Read (ms) Write (b) Time Write (ms)\n");
|
|
||||||
printf ("%s\n", separator);
|
|
||||||
|
|
||||||
for (i = 0; i < ndisk; i++) {
|
|
||||||
printf ("DISK %3d : %15lu %15lu %15lu %15lu\n", i,
|
|
||||||
(unsigned long) disk.xdisk_sectors_read [i] * 512,
|
|
||||||
(unsigned long) disk.xdisk_time_read [i],
|
|
||||||
(unsigned long) disk.xdisk_sectors_write [i] * 512,
|
|
||||||
(unsigned long) disk.xdisk_time_write [i]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("%s\n\n\n", separator);
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -1,39 +0,0 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procio.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static void show_diskio(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_io io;
|
|
||||||
|
|
||||||
glibtop_get_proc_io (&io, pid);
|
|
||||||
|
|
||||||
printf("<%ld>\t", (long)pid);
|
|
||||||
|
|
||||||
printf("flags: %08lx disk_rchar : %lu, disk_wchar : %lu, disk_read_bytes : %lu, disk_write_bytes : %lu\n", (unsigned long)io.flags, io.disk_rchar, io.disk_wchar, io.disk_rbytes, io.disk_wbytes);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
while(*++argv)
|
|
||||||
{
|
|
||||||
pid_t pid = strtol(*argv, NULL, 10);
|
|
||||||
show_diskio(pid);
|
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@@ -1,44 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/mem.h>
|
|
||||||
#include <glibtop/swap.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static unsigned mb(guint64 n)
|
|
||||||
{
|
|
||||||
return n >> 20;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_mem mem;
|
|
||||||
glibtop_swap swap;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
glibtop_get_mem(&mem);
|
|
||||||
glibtop_get_swap(&swap);
|
|
||||||
|
|
||||||
printf(" total used free shared buff/cache available\n");
|
|
||||||
|
|
||||||
printf("%-7s %11u %11u %11u %11u %11u %11u\n",
|
|
||||||
"Mem:",
|
|
||||||
mb(mem.total),
|
|
||||||
mb(mem.used - mem.buffer - mem.cached),
|
|
||||||
mb(mem.free),
|
|
||||||
mb(mem.shared),
|
|
||||||
mb(mem.buffer + mem.cached),
|
|
||||||
mb(mem.total - mem.user));
|
|
||||||
|
|
||||||
printf("%-7s %11u %11u %11u\n",
|
|
||||||
"Swap:",
|
|
||||||
mb(swap.total),
|
|
||||||
mb(swap.used),
|
|
||||||
mb(swap.free));
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
21
examples/mem.c
Normal file
21
examples/mem.c
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/mem.h>
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
glibtop_mem buf;
|
||||||
|
|
||||||
|
glibtop_init();
|
||||||
|
|
||||||
|
g_print("%lx\n", glibtop_global_server->features);
|
||||||
|
|
||||||
|
glibtop_get_mem(&buf);
|
||||||
|
|
||||||
|
glibtop_close();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -71,9 +71,7 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
printf ("Host = '%s' - %u\n\n", buffer, port);
|
||||||
|
|
||||||
#ifdef HAVE_SBRK
|
|
||||||
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
||||||
#endif
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++) {
|
for (c = 0; c < PROFILE_COUNT; c++) {
|
||||||
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
||||||
@@ -81,9 +79,7 @@ main (int argc, char *argv [])
|
|||||||
g_free (mount_entries);
|
g_free (mount_entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_SBRK
|
|
||||||
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
||||||
#endif
|
|
||||||
|
|
||||||
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
||||||
|
|
||||||
@@ -103,7 +99,7 @@ main (int argc, char *argv [])
|
|||||||
glibtop_get_fsusage (&fsusage,
|
glibtop_get_fsusage (&fsusage,
|
||||||
mount_entries [index].mountdir);
|
mount_entries [index].mountdir);
|
||||||
|
|
||||||
printf ("%-16s %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9d\n",
|
printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n",
|
||||||
mount_entries [index].mountdir,
|
mount_entries [index].mountdir,
|
||||||
fsusage.blocks, fsusage.bfree,
|
fsusage.blocks, fsusage.bfree,
|
||||||
fsusage.bavail, fsusage.files,
|
fsusage.bavail, fsusage.files,
|
||||||
@@ -112,9 +108,7 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
g_free (mount_entries);
|
g_free (mount_entries);
|
||||||
|
|
||||||
#ifdef HAVE_SBRK
|
|
||||||
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
|
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
|
||||||
#endif
|
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
|
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -51,7 +51,7 @@ static char* hwaddress_format_for_display(glibtop_netload *buf)
|
|||||||
|
|
||||||
for(i = 0; i < sizeof buf->hwaddress; ++i)
|
for(i = 0; i < sizeof buf->hwaddress; ++i)
|
||||||
g_string_append_printf(repr, "%02X:",
|
g_string_append_printf(repr, "%02X:",
|
||||||
((unsigned char*)buf->hwaddress)[i]);
|
(unsigned) ((char*)buf->hwaddress)[i]);
|
||||||
|
|
||||||
repr->str [ repr->len - 1] = ' ';
|
repr->str [ repr->len - 1] = ' ';
|
||||||
str = g_string_free(repr, FALSE);
|
str = g_string_free(repr, FALSE);
|
||||||
@@ -66,7 +66,7 @@ main (int argc, char *argv [])
|
|||||||
glibtop_netload netload;
|
glibtop_netload netload;
|
||||||
unsigned method, count, port;
|
unsigned method, count, port;
|
||||||
struct in_addr addr, subnet;
|
struct in_addr addr, subnet;
|
||||||
char address_string[INET_ADDRSTRLEN], subnet_string[INET_ADDRSTRLEN];
|
char *address_string, *subnet_string;
|
||||||
char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
|
char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
|
||||||
char *hwaddress_string;
|
char *hwaddress_string;
|
||||||
char buffer [BUFSIZ];
|
char buffer [BUFSIZ];
|
||||||
@@ -105,8 +105,9 @@ main (int argc, char *argv [])
|
|||||||
addr.s_addr = netload.address;
|
addr.s_addr = netload.address;
|
||||||
subnet.s_addr = netload.subnet;
|
subnet.s_addr = netload.subnet;
|
||||||
|
|
||||||
inet_ntop (AF_INET, &addr, address_string, INET_ADDRSTRLEN);
|
address_string = g_strdup (inet_ntoa (addr));
|
||||||
inet_ntop (AF_INET, &subnet, subnet_string, INET_ADDRSTRLEN);
|
subnet_string = g_strdup (inet_ntoa (subnet));
|
||||||
|
|
||||||
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
|
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
|
||||||
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
|
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
|
||||||
|
|
||||||
@@ -117,22 +118,22 @@ main (int argc, char *argv [])
|
|||||||
"\tAddress:\t\t0x%08x - %s\n"
|
"\tAddress:\t\t0x%08x - %s\n"
|
||||||
"\tSubnet:\t\t\t0x%08x - %s\n\n"
|
"\tSubnet:\t\t\t0x%08x - %s\n\n"
|
||||||
"\tMTU:\t\t\t%d\n"
|
"\tMTU:\t\t\t%d\n"
|
||||||
"\tCollisions:\t\t%" G_GUINT64_FORMAT "\n\n"
|
"\tCollisions:\t\t%llu\n\n"
|
||||||
"\tPackets In:\t\t%" G_GUINT64_FORMAT "\n"
|
"\tPackets In:\t\t%llu\n"
|
||||||
"\tPackets Out:\t\t%" G_GUINT64_FORMAT "\n"
|
"\tPackets Out:\t\t%llu\n"
|
||||||
"\tPackets Total:\t\t%" G_GUINT64_FORMAT "\n\n"
|
"\tPackets Total:\t\t%llu\n\n"
|
||||||
"\tBytes In:\t\t%" G_GUINT64_FORMAT "\n"
|
"\tBytes In:\t\t%llu\n"
|
||||||
"\tBytes Out:\t\t%" G_GUINT64_FORMAT "\n"
|
"\tBytes Out:\t\t%llu\n"
|
||||||
"\tBytes Total:\t\t%" G_GUINT64_FORMAT "\n\n"
|
"\tBytes Total:\t\t%llu\n\n"
|
||||||
"\tErrors In:\t\t%" G_GUINT64_FORMAT "\n"
|
"\tErrors In:\t\t%llu\n"
|
||||||
"\tErrors Out:\t\t%" G_GUINT64_FORMAT "\n"
|
"\tErrors Out:\t\t%llu\n"
|
||||||
"\tErrors Total:\t\t%" G_GUINT64_FORMAT "\n\n"
|
"\tErrors Total:\t\t%llu\n\n"
|
||||||
"\tAddress6:\t\t%s\n"
|
"\tAddress6:\t\t%s\n"
|
||||||
"\tPrefix6:\t\t%s\n"
|
"\tPrefix6:\t\t%s\n"
|
||||||
"\tScope6:\t\t\t%#03x\n\n"
|
"\tScope6:\t\t\t%#03x\n\n"
|
||||||
"\tHarware Address:\t%s\n\n",
|
"\tHarware Address:\t%s\n\n",
|
||||||
(unsigned long long)netload.flags,
|
netload.flags,
|
||||||
(unsigned long long)netload.if_flags,
|
netload.if_flags,
|
||||||
(guint32) netload.address, address_string,
|
(guint32) netload.address, address_string,
|
||||||
(guint32) netload.subnet, subnet_string,
|
(guint32) netload.subnet, subnet_string,
|
||||||
netload.mtu,
|
netload.mtu,
|
||||||
@@ -152,6 +153,9 @@ main (int argc, char *argv [])
|
|||||||
hwaddress_string);
|
hwaddress_string);
|
||||||
|
|
||||||
|
|
||||||
|
g_free (address_string);
|
||||||
|
g_free (subnet_string);
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
exit (0);
|
exit (0);
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/sysinfo.h>
|
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
#include <glibtop/union.h>
|
||||||
|
|
||||||
@@ -18,68 +17,21 @@
|
|||||||
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
|
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
|
||||||
(unsigned long) sizeof buf)
|
(unsigned long) sizeof buf)
|
||||||
|
|
||||||
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = %" FORMAT "\n", \
|
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
|
||||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
||||||
|
|
||||||
#define PPRINT_GUINT64(DATA) PPRINT(DATA, G_GUINT64_FORMAT)
|
|
||||||
|
|
||||||
#define PPRINT_FLAGS(DATA) printf("\t%4lu B %3lu " "flags" " = " "%#llx" "\n", \
|
|
||||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), (unsigned long long)buf.DATA)
|
|
||||||
|
|
||||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
||||||
size_t i; \
|
size_t i; \
|
||||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
||||||
(unsigned long) sizeof buf.ARRAY, \
|
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
|
||||||
(unsigned long) buf_offsetof(ARRAY), \
|
|
||||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
||||||
for (i = 0; i < (SIZE); ++i) { \
|
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
|
||||||
if (!buf.ARRAY[i] && i < (SIZE - 1) && !buf.ARRAY[i + 1]) { \
|
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
|
||||||
do { i++; } while (i < SIZE && !buf.ARRAY[i]); \
|
|
||||||
printf("..., "); \
|
|
||||||
} else { \
|
|
||||||
printf(".%zd = %" FORMAT ", ", i, buf.ARRAY[i]); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
printf("}\n"); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define PPRINT_ENTRY_ARRAY(ARRAY, SIZE) do { \
|
|
||||||
size_t i; \
|
|
||||||
printf("\t%4lu B " #ARRAY "[%lu/%lu] = { \n", \
|
|
||||||
(unsigned long) sizeof buf->ARRAY, (unsigned long)(SIZE), \
|
|
||||||
(unsigned long) G_N_ELEMENTS(buf->ARRAY)); \
|
|
||||||
for(i = 0; i < SIZE; ++i) { \
|
|
||||||
if (buf->ARRAY[i].values) { \
|
|
||||||
printf ("\t[ "); \
|
|
||||||
PPRINT_HASHTABLE(buf->ARRAY[i].values); \
|
|
||||||
printf ("]\n"); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
printf("} "); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define PPRINT_HASHTABLE(HASHTABLE) do { \
|
|
||||||
g_hash_table_foreach (HASHTABLE, (GHFunc)pprint_hashtable_item, NULL); \
|
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
#define FOOTER_PPRINT() putchar('\n');
|
#define FOOTER_PPRINT() putchar('\n');
|
||||||
|
|
||||||
static void pprint_hashtable_item(gchar* key, gchar* value, gpointer user_data)
|
|
||||||
{
|
|
||||||
printf ("'%s': '%s', ", key, value);
|
|
||||||
}
|
|
||||||
static void pprint_get_sysinfo(void)
|
|
||||||
{
|
|
||||||
const glibtop_sysinfo *buf;
|
|
||||||
|
|
||||||
buf = glibtop_get_sysinfo();
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_sysinfo);
|
|
||||||
//PPRINT_FLAGS(flags);
|
|
||||||
// PPRINT_GUINT64(ncpu);
|
|
||||||
PPRINT_ENTRY_ARRAY(cpuinfo, buf->ncpu);
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void pprint_get_cpu(void)
|
static void pprint_get_cpu(void)
|
||||||
{
|
{
|
||||||
@@ -88,25 +40,25 @@ static void pprint_get_cpu(void)
|
|||||||
glibtop_get_cpu(&buf);
|
glibtop_get_cpu(&buf);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_cpu);
|
HEADER_PPRINT(glibtop_get_cpu);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(total);
|
PPRINT(total, "%llu");
|
||||||
PPRINT_GUINT64(user);
|
PPRINT(user, "%llu");
|
||||||
PPRINT_GUINT64(nice);
|
PPRINT(nice, "%llu");
|
||||||
PPRINT_GUINT64(sys);
|
PPRINT(sys, "%llu");
|
||||||
PPRINT_GUINT64(idle);
|
PPRINT(idle, "%llu");
|
||||||
PPRINT_GUINT64(iowait);
|
PPRINT(iowait, "%llu");
|
||||||
PPRINT_GUINT64(irq);
|
PPRINT(irq, "%llu");
|
||||||
PPRINT_GUINT64(softirq);
|
PPRINT(softirq, "%llu");
|
||||||
PPRINT_GUINT64(frequency);
|
PPRINT(frequency, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
|
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu");
|
||||||
PPRINT_FLAGS(xcpu_flags);
|
PPRINT(xcpu_flags, "%llx");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,15 +72,15 @@ static void pprint_get_fsusage(const char *mountpoint)
|
|||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_fsusage);
|
HEADER_PPRINT(glibtop_get_fsusage);
|
||||||
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
|
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(blocks);
|
PPRINT(blocks, "%llu");
|
||||||
PPRINT_GUINT64(bfree);
|
PPRINT(bfree, "%llu");
|
||||||
PPRINT_GUINT64(bavail);
|
PPRINT(bavail, "%llu");
|
||||||
PPRINT_GUINT64(files);
|
PPRINT(files, "%llu");
|
||||||
PPRINT_GUINT64(ffree);
|
PPRINT(ffree, "%llu");
|
||||||
PPRINT(block_size, "u");
|
PPRINT(block_size, "%u");
|
||||||
PPRINT_GUINT64(read);
|
PPRINT(read, "%llu");
|
||||||
PPRINT_GUINT64(write);
|
PPRINT(write, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,11 +93,11 @@ static void pprint_get_loadavg(void)
|
|||||||
glibtop_get_loadavg(&buf);
|
glibtop_get_loadavg(&buf);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_loadavg);
|
HEADER_PPRINT(glibtop_get_loadavg);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_ARRAY(loadavg, 3, "f");
|
PPRINT_ARRAY(loadavg, 3, "%f");
|
||||||
PPRINT_GUINT64(nr_running);
|
PPRINT(nr_running, "%llu");
|
||||||
PPRINT_GUINT64(nr_tasks);
|
PPRINT(nr_tasks, "%llu");
|
||||||
PPRINT_GUINT64(last_pid);
|
PPRINT(last_pid, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,15 +110,15 @@ static void pprint_get_mem(void)
|
|||||||
glibtop_get_mem(&buf);
|
glibtop_get_mem(&buf);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_mem);
|
HEADER_PPRINT(glibtop_get_mem);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(total);
|
PPRINT(total, "%llu");
|
||||||
PPRINT_GUINT64(used);
|
PPRINT(used, "%llu");
|
||||||
PPRINT_GUINT64(free);
|
PPRINT(free, "%llu");
|
||||||
PPRINT_GUINT64(shared);
|
PPRINT(shared, "%llu");
|
||||||
PPRINT_GUINT64(buffer);
|
PPRINT(buffer, "%llu");
|
||||||
PPRINT_GUINT64(cached);
|
PPRINT(cached, "%llu");
|
||||||
PPRINT_GUINT64(user);
|
PPRINT(user, "%llu");
|
||||||
PPRINT_GUINT64(locked);
|
PPRINT(locked, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,12 +134,12 @@ static void pprint_get_mountlist(gboolean allfs)
|
|||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_mountlist);
|
HEADER_PPRINT(glibtop_get_mountlist);
|
||||||
printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
|
printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(number);
|
PPRINT(number, "%llu");
|
||||||
PPRINT_GUINT64(total);
|
PPRINT(total, "%llu");
|
||||||
PPRINT_GUINT64(size);
|
PPRINT(size, "%llu");
|
||||||
|
|
||||||
printf("\t%4" G_GUINT64_FORMAT " B entries[%" G_GUINT64_FORMAT "] = \n\t\t{\n", buf.total, buf.number);
|
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
for(i = 0; i < buf.number; ++i)
|
||||||
{
|
{
|
||||||
@@ -195,7 +147,7 @@ static void pprint_get_mountlist(gboolean allfs)
|
|||||||
" .devname = \"%s\","
|
" .devname = \"%s\","
|
||||||
" .mountir = \"%s\","
|
" .mountir = \"%s\","
|
||||||
" .type = \"%s\" }\n",
|
" .type = \"%s\" }\n",
|
||||||
(unsigned long) i, (unsigned long long)entries[i].dev,
|
(unsigned long) i, entries[i].dev,
|
||||||
entries[i].devname,
|
entries[i].devname,
|
||||||
entries[i].mountdir,
|
entries[i].mountdir,
|
||||||
entries[i].type);
|
entries[i].type);
|
||||||
@@ -216,14 +168,14 @@ static void pprint_get_msg_limits(void)
|
|||||||
glibtop_get_msg_limits(&buf);
|
glibtop_get_msg_limits(&buf);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_msg_limits);
|
HEADER_PPRINT(glibtop_get_msg_limits);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(msgpool);
|
PPRINT(msgpool, "%llu");
|
||||||
PPRINT_GUINT64(msgmap);
|
PPRINT(msgmap, "%llu");
|
||||||
PPRINT_GUINT64(msgmax);
|
PPRINT(msgmax, "%llu");
|
||||||
PPRINT_GUINT64(msgmnb);
|
PPRINT(msgmnb, "%llu");
|
||||||
PPRINT_GUINT64(msgmni);
|
PPRINT(msgmni, "%llu");
|
||||||
PPRINT_GUINT64(msgssz);
|
PPRINT(msgssz, "%llu");
|
||||||
PPRINT_GUINT64(msgtql);
|
PPRINT(msgtql, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +189,7 @@ static void pprint_get_netload(const char *iface)
|
|||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_netload);
|
HEADER_PPRINT(glibtop_get_netload);
|
||||||
printf("glibtop_get_netload (iface = \"%s\")\n", iface);
|
printf("glibtop_get_netload (iface = \"%s\")\n", iface);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,12 +223,12 @@ static void pprint_get_swap(void)
|
|||||||
glibtop_get_swap(&buf);
|
glibtop_get_swap(&buf);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_swap);
|
HEADER_PPRINT(glibtop_get_swap);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(total);
|
PPRINT(total, "%llu");
|
||||||
PPRINT_GUINT64(used);
|
PPRINT(used, "%llu");
|
||||||
PPRINT_GUINT64(free);
|
PPRINT(free, "%llu");
|
||||||
PPRINT_GUINT64(pagein);
|
PPRINT(pagein, "%llu");
|
||||||
PPRINT_GUINT64(pageout);
|
PPRINT(pageout, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -289,10 +241,10 @@ static void pprint_get_uptime(void)
|
|||||||
glibtop_get_uptime(&buf);
|
glibtop_get_uptime(&buf);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_uptime);
|
HEADER_PPRINT(glibtop_get_uptime);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT(uptime, "f");
|
PPRINT(uptime, "%f");
|
||||||
PPRINT(idletime, "f");
|
PPRINT(idletime, "%f");
|
||||||
PPRINT_GUINT64(boot_time);
|
PPRINT(boot_time, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,12 +258,12 @@ static void pprint_get_proc_kernel(pid_t pid)
|
|||||||
glibtop_get_proc_kernel(&buf, pid);
|
glibtop_get_proc_kernel(&buf, pid);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_proc_kernel);
|
HEADER_PPRINT(glibtop_get_proc_kernel);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(k_flags);
|
PPRINT(k_flags, "%llu");
|
||||||
PPRINT_GUINT64(min_flt);
|
PPRINT(min_flt, "%llu");
|
||||||
PPRINT_GUINT64(maj_flt);
|
PPRINT(maj_flt, "%llu");
|
||||||
PPRINT_GUINT64(cmin_flt);
|
PPRINT(cmin_flt, "%llu");
|
||||||
PPRINT_GUINT64(cmaj_flt);
|
PPRINT(cmaj_flt, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -323,45 +275,22 @@ static void pprint_get_proc_mem(pid_t pid)
|
|||||||
glibtop_get_proc_mem(&buf, pid);
|
glibtop_get_proc_mem(&buf, pid);
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_proc_mem);
|
HEADER_PPRINT(glibtop_get_proc_mem);
|
||||||
PPRINT_FLAGS(flags);
|
PPRINT(flags, "%#llx");
|
||||||
PPRINT_GUINT64(size);
|
PPRINT(size, "%llu");
|
||||||
PPRINT_GUINT64(vsize);
|
PPRINT(vsize, "%llu");
|
||||||
PPRINT_GUINT64(resident);
|
PPRINT(resident, "%llu");
|
||||||
PPRINT_GUINT64(share);
|
PPRINT(share, "%llu");
|
||||||
PPRINT_GUINT64(rss);
|
PPRINT(rss, "%llu");
|
||||||
PPRINT_GUINT64(rss_rlim);
|
PPRINT(rss_rlim, "%llu");
|
||||||
FOOTER_PPRINT();
|
FOOTER_PPRINT();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_proc_affinity(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_affinity buf;
|
|
||||||
guint32 i;
|
|
||||||
guint16* cpus;
|
|
||||||
|
|
||||||
cpus = glibtop_get_proc_affinity(&buf, pid);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_proc_affinity);
|
|
||||||
PPRINT_FLAGS(flags);
|
|
||||||
PPRINT(number, "u");
|
|
||||||
PPRINT(all, "d");
|
|
||||||
|
|
||||||
printf("\taffinity=");
|
|
||||||
for (i = 0; i < buf.number; i++) {
|
|
||||||
printf("%d, ", cpus[i]);
|
|
||||||
}
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
glibtop_init();
|
glibtop_init();
|
||||||
|
|
||||||
pprint_get_sysinfo();
|
|
||||||
pprint_get_cpu();
|
pprint_get_cpu();
|
||||||
|
|
||||||
pprint_get_fsusage("/");
|
pprint_get_fsusage("/");
|
||||||
@@ -388,7 +317,6 @@ int main()
|
|||||||
|
|
||||||
pprint_get_proc_kernel(getpid());
|
pprint_get_proc_kernel(getpid());
|
||||||
pprint_get_proc_mem(getpid());
|
pprint_get_proc_mem(getpid());
|
||||||
pprint_get_proc_affinity(getpid());
|
|
||||||
|
|
||||||
glibtop_close();
|
glibtop_close();
|
||||||
|
|
||||||
|
@@ -1,8 +1,5 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/proclist.h>
|
#include <glibtop/proclist.h>
|
||||||
#include <glibtop/procstate.h>
|
|
||||||
#include <glibtop/proctime.h>
|
|
||||||
#include <glibtop/procuid.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
@@ -20,28 +17,14 @@ static void print_pids(guint64 which, guint64 arg)
|
|||||||
|
|
||||||
pids = glibtop_get_proclist(&buf, which, arg);
|
pids = glibtop_get_proclist(&buf, which, arg);
|
||||||
|
|
||||||
for (i = 0; i < buf.number; ++i) {
|
printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
|
||||||
glibtop_proc_time ptime;
|
which, arg, (unsigned long)buf.number);
|
||||||
glibtop_proc_uid puid;
|
|
||||||
glibtop_proc_state pstate;
|
|
||||||
|
|
||||||
pid_t p = pids[i];
|
for (i = 0; i < buf.number; ++i)
|
||||||
|
printf("%u ", pids[i]);
|
||||||
|
|
||||||
glibtop_get_proc_time(&ptime, p);
|
putchar('\n');
|
||||||
glibtop_get_proc_uid(&puid, p);
|
putchar('\n');
|
||||||
glibtop_get_proc_state(&pstate, p);
|
|
||||||
|
|
||||||
/* almost equivalent to ps -x -o user,pid,time,usertime,systime,start,command */
|
|
||||||
printf("%u pid=%u real=%.2f user=%.2f sys=%.2f start=%lu %s (%lx)\n",
|
|
||||||
puid.uid,
|
|
||||||
p,
|
|
||||||
(double)ptime.rtime / ptime.frequency,
|
|
||||||
(double)ptime.utime / ptime.frequency,
|
|
||||||
(double)ptime.stime / ptime.frequency,
|
|
||||||
(unsigned long)ptime.start_time,
|
|
||||||
pstate.cmd,
|
|
||||||
(long)ptime.flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free(pids);
|
g_free(pids);
|
||||||
}
|
}
|
||||||
@@ -51,6 +34,7 @@ int main()
|
|||||||
{
|
{
|
||||||
glibtop_init();
|
glibtop_init();
|
||||||
|
|
||||||
|
print_pids(GLIBTOP_KERN_PROC_ALL, 0);
|
||||||
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
|
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
|
||||||
|
|
||||||
glibtop_close();
|
glibtop_close();
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -39,36 +39,10 @@
|
|||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
#ifndef PROFILE_COUNT
|
||||||
#define PROFILE_COUNT 1
|
#define PROFILE_COUNT 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void
|
|
||||||
try_mmap(const char *path)
|
|
||||||
{
|
|
||||||
struct stat buf;
|
|
||||||
int fd;
|
|
||||||
|
|
||||||
if ((fd = open(path, O_RDONLY)) < 0)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
if (fstat(fd, &buf) < 0)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
if (mmap(NULL, buf.st_size, PROT_READ, MAP_PRIVATE, fd, 0) == MAP_FAILED)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
out:
|
|
||||||
fprintf(stderr, "Failed to test mmap with '%s'\n", path);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv [])
|
main (int argc, char *argv [])
|
||||||
{
|
{
|
||||||
@@ -104,18 +78,8 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||||
|
|
||||||
if (argc == 1) {
|
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
||||||
pid = getpid();
|
g_error ("Usage: %s pid", argv [0]);
|
||||||
}
|
|
||||||
else if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
|
||||||
g_error ("Usage: %s [pid]", argv [0]);
|
|
||||||
|
|
||||||
if (pid == getpid()) {
|
|
||||||
/* let's map something for a try */
|
|
||||||
try_mmap("/etc/passwd");
|
|
||||||
try_mmap("/etc/resolv.conf");
|
|
||||||
try_mmap(argv[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
||||||
|
|
||||||
@@ -123,7 +87,6 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
for (i = 0; i < procmap.number; i++) {
|
for (i = 0; i < procmap.number; i++) {
|
||||||
const char *filename = NULL;
|
const char *filename = NULL;
|
||||||
char * format;
|
|
||||||
unsigned device, device_major, device_minor;
|
unsigned device, device_major, device_minor;
|
||||||
char perm [5];
|
char perm [5];
|
||||||
|
|
||||||
@@ -140,32 +103,47 @@ main (int argc, char *argv [])
|
|||||||
device_minor = (device & 255);
|
device_minor = (device & 255);
|
||||||
device_major = ((device >> 8) & 255);
|
device_major = ((device >> 8) & 255);
|
||||||
|
|
||||||
|
if (filename) {
|
||||||
|
char *format;
|
||||||
|
|
||||||
if (sizeof (void*) == 8)
|
if (sizeof (void*) == 8)
|
||||||
format = "%016lx-%016lx +%016lx (%8lu bytes mapped) - "
|
format = "%016lx-%016lx %016lx - "
|
||||||
"%02x:%02x % 8lu - %.*s";
|
"%02x:%02x %08lu - %5.5s - %s\n";
|
||||||
else
|
else
|
||||||
format = "%08lx-%08lx +%08lx (%8lu bytes mapped) - "
|
format = "%08lx-%08lx %08lx - "
|
||||||
"%02x:%02x % 8lu - %.*s";
|
"%02x:%02x %08lu - %5.5s - %s\n";
|
||||||
|
|
||||||
fprintf (stderr, format,
|
fprintf (stderr, format,
|
||||||
(unsigned long) maps [i].start,
|
(unsigned long) maps [i].start,
|
||||||
(unsigned long) maps [i].end,
|
(unsigned long) maps [i].end,
|
||||||
(unsigned long) maps [i].offset,
|
(unsigned long) maps [i].offset,
|
||||||
(unsigned long) (maps [i].end - (maps [i].start + maps [i].offset)),
|
|
||||||
device_major, device_minor,
|
device_major, device_minor,
|
||||||
(unsigned long) maps [i].inode,
|
(unsigned long) maps [i].inode,
|
||||||
sizeof perm, perm);
|
perm, filename);
|
||||||
|
} else {
|
||||||
|
char * format;
|
||||||
|
|
||||||
if (filename) {
|
if (sizeof (void*) == 8)
|
||||||
fprintf(stderr, " - %s", filename);
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
fputc('\n', stderr);
|
|
||||||
|
|
||||||
g_print("smaps flags:%#llx size:%" G_GUINT64_FORMAT "KiB rss:%" G_GUINT64_FORMAT "KiB "
|
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
|
||||||
"shared_clean:%" G_GUINT64_FORMAT "Kib shared_dirty:%" G_GUINT64_FORMAT "KiB "
|
"shared_clean:%lluKib shared_dirty:%lluKiB "
|
||||||
"private_clean:%" G_GUINT64_FORMAT "KiB private_dirty: %" G_GUINT64_FORMAT "KiB\n",
|
"private_clean:%lluKiB private_dirty: %lluKiB\n",
|
||||||
(unsigned long long)maps[i].flags,
|
maps[i].flags,
|
||||||
maps[i].size >> 10,
|
maps[i].size >> 10,
|
||||||
maps[i].rss >> 10,
|
maps[i].rss >> 10,
|
||||||
maps[i].shared_clean >> 10,
|
maps[i].shared_clean >> 10,
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -42,12 +42,14 @@ output (pid_t pid)
|
|||||||
char *args;
|
char *args;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
|
#if HAVE_LIBGTOP_SMP
|
||||||
unsigned long total;
|
unsigned long total;
|
||||||
double p_total, p_utime, p_stime;
|
double p_total, p_utime, p_stime;
|
||||||
double b_total, b_utime, b_stime;
|
double b_total, b_utime, b_stime;
|
||||||
double s_total, s_utime, s_stime;
|
double s_total, s_utime, s_stime;
|
||||||
double my_utime, my_stime;
|
double my_utime, my_stime;
|
||||||
unsigned int ncpu;
|
unsigned int ncpu;
|
||||||
|
#endif
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
@@ -156,6 +158,7 @@ output (pid_t pid)
|
|||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
|
#if HAVE_LIBGTOP_SMP
|
||||||
ncpu = glibtop_global_server->ncpu;
|
ncpu = glibtop_global_server->ncpu;
|
||||||
|
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
glibtop_get_proc_time (&data.proc_time, pid);
|
||||||
@@ -228,6 +231,7 @@ output (pid_t pid)
|
|||||||
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
|
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -92,10 +92,9 @@ main (int argc, char *argv [])
|
|||||||
"\tproc_time:\t%d\t0x%08lx\n"
|
"\tproc_time:\t%d\t0x%08lx\n"
|
||||||
"\tproc_signal:\t%d\t0x%08lx\n"
|
"\tproc_signal:\t%d\t0x%08lx\n"
|
||||||
"\tproc_kernel:\t%d\t0x%08lx\n"
|
"\tproc_kernel:\t%d\t0x%08lx\n"
|
||||||
"\tproc_segment:\t%d\t0x%08lx\n"
|
"\tproc_segment:\t%d\t0x%08lx\n\n"
|
||||||
"\tproc_args:\t%d\t0x%08lx\n"
|
"\tproc_args:\t%d\t0x%08lx\n"
|
||||||
"\tproc_map:\t%d\t0x%08lx\n"
|
"\tproc_map:\t%d\t0x%08lx\n\n"
|
||||||
"\tproc_io:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tmountlist:\t%d\t0x%08lx\n"
|
"\tmountlist:\t%d\t0x%08lx\n"
|
||||||
"\tfsusage:\t%d\t0x%08lx\n\n"
|
"\tfsusage:\t%d\t0x%08lx\n\n"
|
||||||
"\tnetload:\t%d\t0x%08lx\n"
|
"\tnetload:\t%d\t0x%08lx\n"
|
||||||
@@ -138,8 +137,6 @@ main (int argc, char *argv [])
|
|||||||
(unsigned long) sysdeps.proc_args,
|
(unsigned long) sysdeps.proc_args,
|
||||||
FEATURE_CHECK(PROC_MAP),
|
FEATURE_CHECK(PROC_MAP),
|
||||||
(unsigned long) sysdeps.proc_map,
|
(unsigned long) sysdeps.proc_map,
|
||||||
FEATURE_CHECK(PROC_IO),
|
|
||||||
(unsigned long) sysdeps.proc_io,
|
|
||||||
FEATURE_CHECK(MOUNTLIST),
|
FEATURE_CHECK(MOUNTLIST),
|
||||||
(unsigned long) sysdeps.mountlist,
|
(unsigned long) sysdeps.mountlist,
|
||||||
FEATURE_CHECK(FSUSAGE),
|
FEATURE_CHECK(FSUSAGE),
|
||||||
|
@@ -1,48 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Dr. James Dominic P. Guana <jdpguana@histark.com>, August 2021.
|
|
||||||
|
|
||||||
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., 51 Franklin Street, Fifth Floor,
|
|
||||||
Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include <locale.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/sysinfo.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv [])
|
|
||||||
{
|
|
||||||
char *model;
|
|
||||||
const glibtop_sysinfo * sysinfo;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
sysinfo = glibtop_get_sysinfo ();
|
|
||||||
model = g_hash_table_lookup (sysinfo->cpuinfo [1].values, "model name");
|
|
||||||
|
|
||||||
printf ("\nProcessor Model: %s\n", g_strdup (model));
|
|
||||||
printf ("Number of Cores: %lu\n\n", sysinfo->ncpu);
|
|
||||||
|
|
||||||
glibtop_close ();
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -69,21 +69,6 @@
|
|||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
static void display_self_times(void)
|
|
||||||
{
|
|
||||||
printf("-- Overview using `ps` --------------------"
|
|
||||||
"---------------\n");
|
|
||||||
printf("-- this client is %8u ----------------"
|
|
||||||
"---------------\n", (unsigned)getpid());
|
|
||||||
printf("-- this server is %8u ----------------"
|
|
||||||
"---------------\n", (unsigned)glibtop_global_server->pid);
|
|
||||||
system("ps xjf | egrep 'timings|libgtop_server'");
|
|
||||||
printf("-------------------------------------------"
|
|
||||||
"---------------\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv [])
|
main (int argc, char *argv [])
|
||||||
{
|
{
|
||||||
@@ -100,16 +85,13 @@ main (int argc, char *argv [])
|
|||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||||
textdomain (GETTEXT_PACKAGE);
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
|
||||||
|
|
||||||
display_self_times();
|
|
||||||
|
|
||||||
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
|
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
|
||||||
"Feature", "Flags", "Count", "utime", "stime");
|
"Feature", "Flags", "Count", "utime", "stime");
|
||||||
printf ("-------------------------------------------"
|
printf ("-------------------------------------------"
|
||||||
"---------------\n");
|
"---------------\n");
|
||||||
|
|
||||||
|
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &total_start);
|
getrusage (RUSAGE_SELF, &total_start);
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
@@ -412,26 +394,6 @@ main (int argc, char *argv [])
|
|||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||||
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_io (&data.proc_io, 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_Io (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_io.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &total_end);
|
getrusage (RUSAGE_SELF, &total_end);
|
||||||
|
|
||||||
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
||||||
@@ -449,8 +411,6 @@ main (int argc, char *argv [])
|
|||||||
printf ("All timings are in clock ticks "
|
printf ("All timings are in clock ticks "
|
||||||
"(1000000 ticks per second).\n\n");
|
"(1000000 ticks per second).\n\n");
|
||||||
|
|
||||||
display_self_times();
|
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
exit (0);
|
exit (0);
|
||||||
|
54
features.def
54
features.def
@@ -1,29 +1,27 @@
|
|||||||
void|cpu
|
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|disk
|
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
||||||
void|mem
|
void|swap|ulong(total,used,free,pagein,pageout)
|
||||||
void|swap
|
void|uptime|double(uptime,idletime)
|
||||||
void|uptime
|
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
||||||
void|loadavg
|
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||||
void|shm_limits
|
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||||
void|msg_limits
|
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||||
void|sem_limits
|
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
|
||||||
pid_t*|proclist|long(which,arg)
|
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
||||||
void|proc_state|pid_t(pid)
|
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
|
||||||
void|proc_uid|pid_t(pid)
|
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
||||||
void|proc_mem|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_time|pid_t(pid)
|
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
|
||||||
void|proc_signal|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_kernel|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)
|
||||||
void|proc_segment|pid_t(pid)
|
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
|
||||||
char *|proc_args|pid_t(pid):unsigned(max_len)
|
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
|
||||||
glibtop_map_entry *|proc_map|pid_t(pid)
|
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
|
||||||
glibtop_open_files_entry *|proc_open_files|pid_t(pid)
|
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
|
||||||
glibtop_mountentry *|@mountlist|int(all_fs)
|
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
|
||||||
void|@fsusage|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|netload|string|interface
|
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
||||||
void|ppp|ushort(device)
|
char **|netlist|unsigned(number)
|
||||||
char **|netlist
|
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
|
||||||
char **|proc_wd|pid_t(pid)
|
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
|
||||||
guint16*|proc_affinity|pid_t(pid)
|
|
||||||
void|proc_io|pid_t(pid)
|
|
||||||
|
|
||||||
|
81
glibtop.h
81
glibtop.h
@@ -15,24 +15,18 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_H__
|
#ifndef __GLIBTOP_H__
|
||||||
#define __GLIBTOP_H__
|
#define __GLIBTOP_H__
|
||||||
|
|
||||||
/* for pid_t, uid_t, gid_t */
|
#include <glib/gmacros.h>
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <glib-object.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
typedef struct _glibtop glibtop;
|
typedef struct _glibtop glibtop;
|
||||||
typedef struct _glibtop_machine glibtop_machine;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LIBGTOP_CHECK_VERSION
|
* LIBGTOP_CHECK_VERSION
|
||||||
@@ -60,6 +54,10 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
|||||||
|
|
||||||
#include <glibtop_server.h>
|
#include <glibtop_server.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||||
|
#include <glibtop_machine.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
||||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||||
#endif
|
#endif
|
||||||
@@ -70,6 +68,34 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
|||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||||
|
|
||||||
|
struct _glibtop
|
||||||
|
{
|
||||||
|
unsigned flags;
|
||||||
|
unsigned method; /* Server Method */
|
||||||
|
unsigned error_method; /* Error Method */
|
||||||
|
glibtop_machine machine; /* Machine dependent data */
|
||||||
|
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 */
|
||||||
|
int real_ncpu; /* Real number of CPUs. Only ncpu are monitored */
|
||||||
|
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 */
|
||||||
|
};
|
||||||
|
|
||||||
|
#else /* !HAVE_GLIBTOP_MACHINE_H */
|
||||||
|
|
||||||
struct _glibtop
|
struct _glibtop
|
||||||
{
|
{
|
||||||
unsigned flags;
|
unsigned flags;
|
||||||
@@ -91,60 +117,27 @@ struct _glibtop
|
|||||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||||
glibtop_sysdeps required; /* Required feature list */
|
glibtop_sysdeps required; /* Required feature list */
|
||||||
pid_t pid; /* PID of the server */
|
pid_t pid; /* PID of the server */
|
||||||
|
|
||||||
uid_t uid;
|
|
||||||
uid_t euid;
|
|
||||||
gid_t gid;
|
|
||||||
gid_t egid;
|
|
||||||
|
|
||||||
glibtop_machine *machine; /* Machine dependent data */
|
|
||||||
|
|
||||||
int ndisk; /* Number of DISKs, zero if single-disk. This pertains to disk volumes */
|
|
||||||
int real_ndisk; /* Number of PHYSICAL DISKs. Only ndisk is monitored for now */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif /* HAVE_GLIBTOP_MACHINE_H */
|
||||||
|
|
||||||
extern glibtop *glibtop_global_server;
|
extern glibtop *glibtop_global_server;
|
||||||
|
|
||||||
extern const unsigned long glibtop_server_features;
|
extern const unsigned long glibtop_server_features;
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_init:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
glibtop *
|
glibtop *
|
||||||
glibtop_init (void);
|
glibtop_init (void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_init_r:
|
|
||||||
* @server_ptr: (out):
|
|
||||||
* @features:
|
|
||||||
* @flags:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
glibtop *
|
glibtop *
|
||||||
glibtop_init_r (glibtop **server_ptr,
|
glibtop_init_r (glibtop **server_ptr,
|
||||||
unsigned long features,
|
unsigned long features,
|
||||||
unsigned flags);
|
unsigned flags);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_init_s: (skip)
|
|
||||||
* @server_ptr: (out):
|
|
||||||
* @features:
|
|
||||||
* @flags:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
glibtop *
|
glibtop *
|
||||||
glibtop_init_s (glibtop **server_ptr,
|
glibtop_init_s (glibtop **server_ptr,
|
||||||
unsigned long features,
|
unsigned long features,
|
||||||
unsigned flags);
|
unsigned flags);
|
||||||
|
|
||||||
GType glibtop_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -2,16 +2,13 @@ glibtopdir = $(includedir)/libgtop-2.0/glibtop
|
|||||||
|
|
||||||
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
||||||
sem_limits.h uptime.h command.h mem.h proclist.h \
|
sem_limits.h uptime.h command.h mem.h proclist.h \
|
||||||
proctime.h shm_limits.h cpu.h disk.h msg_limits.h \
|
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
|
||||||
procmem.h procuid.h swap.h \
|
procmem.h procuid.h swap.h \
|
||||||
procsegment.h sysdeps.h global.h \
|
procsegment.h sysdeps.h global.h \
|
||||||
procsignal.h union.h gnuserv.h \
|
procsignal.h union.h gnuserv.h \
|
||||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
||||||
sysinfo.h ppp.h procargs.h netload.h \
|
sysinfo.h ppp.h procargs.h netload.h \
|
||||||
procwd.h procaffinity.h \
|
procwd.h procaffinity.h \
|
||||||
procio.h \
|
|
||||||
netlist.h procopenfiles.h open.h
|
netlist.h procopenfiles.h open.h
|
||||||
|
|
||||||
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h machine.h \
|
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h
|
||||||
version.h
|
|
||||||
|
|
||||||
|
@@ -19,8 +19,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CALL_VECTOR_H__
|
#ifndef __GLIBTOP_CALL_VECTOR_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CLOSE_H__
|
#ifndef __GLIBTOP_CLOSE_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_COMMAND_H__
|
#ifndef __GLIBTOP_COMMAND_H__
|
||||||
@@ -59,10 +59,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
||||||
#define GLIBTOP_CMND_PROC_WD 26
|
#define GLIBTOP_CMND_PROC_WD 26
|
||||||
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
||||||
#define GLIBTOP_CMND_PROC_IO 28
|
|
||||||
#define GLIBTOP_CMND_DISK 29
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_CMND 30
|
#define GLIBTOP_MAX_CMND 28
|
||||||
|
|
||||||
#define _GLIBTOP_PARAM_SIZE 16
|
#define _GLIBTOP_PARAM_SIZE 16
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CPU_H__
|
#ifndef __GLIBTOP_CPU_H__
|
||||||
@@ -54,7 +54,7 @@ G_BEGIN_DECLS
|
|||||||
Yes we are :)
|
Yes we are :)
|
||||||
Nobody should really be using more than 32 processors.
|
Nobody should really be using more than 32 processors.
|
||||||
*/
|
*/
|
||||||
#define GLIBTOP_NCPU 1024
|
#define GLIBTOP_NCPU 32
|
||||||
|
|
||||||
typedef struct _glibtop_cpu glibtop_cpu;
|
typedef struct _glibtop_cpu glibtop_cpu;
|
||||||
|
|
||||||
|
@@ -1,86 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
|
||||||
|
|
||||||
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., 51 Franklin Street, Fifth Floor,
|
|
||||||
Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_DISK_H__
|
|
||||||
#define __GLIBTOP_DISK_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_XDISK_SECTORS_READ 0
|
|
||||||
#define GLIBTOP_XDISK_TIME_READ 1
|
|
||||||
#define GLIBTOP_XDISK_SECTORS_WRITE 2
|
|
||||||
#define GLIBTOP_XDISK_TIME_WRITE 3
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_DISK 4
|
|
||||||
|
|
||||||
/* Nobody should really be using more than 4 disk.
|
|
||||||
Yes we are :)
|
|
||||||
Nobody should really be using more than 32 disk.
|
|
||||||
*/
|
|
||||||
#define GLIBTOP_NDISK 1024
|
|
||||||
|
|
||||||
typedef struct _glibtop_disk glibtop_disk;
|
|
||||||
|
|
||||||
struct _partition_info
|
|
||||||
{
|
|
||||||
char name[256];
|
|
||||||
char type[256];
|
|
||||||
char raid_num[256];
|
|
||||||
int max;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct _partition_info partition_info;
|
|
||||||
|
|
||||||
struct _glibtop_disk
|
|
||||||
{
|
|
||||||
guint64 flags; /* NOT USED YET */
|
|
||||||
guint64 xdisk_sectors_read [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_SECTORS_READ */
|
|
||||||
guint64 xdisk_time_read [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_TIME_READ */
|
|
||||||
guint64 xdisk_sectors_write [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_SECTORS_WRITE */
|
|
||||||
guint64 xdisk_time_write [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_TIME_WRITE */
|
|
||||||
guint64 xdisk_flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
void glibtop_get_disk (glibtop_disk *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_DISK
|
|
||||||
#define glibtop_get_disk_r glibtop_get_disk_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_disk_r glibtop_get_disk_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_disk_l (glibtop *server, glibtop_disk *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_DISK
|
|
||||||
void _glibtop_init_disk_p (glibtop *server);
|
|
||||||
void glibtop_get_disk_p (glibtop *server, glibtop_disk *buf);
|
|
||||||
#else
|
|
||||||
void _glibtop_init_disk_s (glibtop *server);
|
|
||||||
void glibtop_get_disk_s (glibtop *server, glibtop_disk *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -46,18 +46,6 @@ void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
|||||||
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||||
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
||||||
|
|
||||||
/* FIXME: C99 */
|
|
||||||
#define glibtop_debug_r(server, fmt, ...) \
|
|
||||||
G_STMT_START { \
|
|
||||||
if (LIBGTOP_ENABLE_DEBUG) \
|
|
||||||
glibtop_debug_r_real(server, "%s:%d %s(): " fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
|
|
||||||
} G_STMT_END
|
|
||||||
|
|
||||||
#define glibtop_debug(...) glibtop_debug_r(glibtop_global_server, __VA_ARGS__)
|
|
||||||
|
|
||||||
void glibtop_debug_vr (glibtop *server, const char *format, va_list args);
|
|
||||||
void glibtop_debug_r_real (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_FSUSAGE_H__
|
#ifndef __GLIBTOP_FSUSAGE_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_GLOBAL_H__
|
#ifndef __GLIBTOP_GLOBAL_H__
|
||||||
@@ -28,11 +28,17 @@
|
|||||||
|
|
||||||
#endif /* _IN_LIBGTOP */
|
#endif /* _IN_LIBGTOP */
|
||||||
|
|
||||||
|
#if TIME_WITH_SYS_TIME
|
||||||
|
# include <sys/time.h>
|
||||||
|
# include <time.h>
|
||||||
|
#else
|
||||||
# if HAVE_SYS_TIME_H
|
# if HAVE_SYS_TIME_H
|
||||||
# include <sys/time.h>
|
# include <sys/time.h>
|
||||||
|
# else
|
||||||
|
# include <time.h>
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_LOADAVG_H__
|
#ifndef __GLIBTOP_LOADAVG_H__
|
||||||
|
@@ -1,22 +0,0 @@
|
|||||||
#ifndef GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
|
|
||||||
#define GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <glibtop_machine.h>
|
|
||||||
|
|
||||||
/* private */
|
|
||||||
static inline void
|
|
||||||
glibtop_machine_new(glibtop *server)
|
|
||||||
{
|
|
||||||
server->machine = g_new0(glibtop_machine, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* private */
|
|
||||||
static inline void
|
|
||||||
glibtop_machine_delete(glibtop *server)
|
|
||||||
{
|
|
||||||
g_free(server->machine);
|
|
||||||
server->machine = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041 */
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MEM_H__
|
#ifndef __GLIBTOP_MEM_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MOUNTLIST_H__
|
#ifndef __GLIBTOP_MOUNTLIST_H__
|
||||||
@@ -53,38 +53,6 @@ struct _glibtop_mountlist
|
|||||||
guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */
|
guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist:
|
|
||||||
* @buf:
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist_r:
|
|
||||||
* @buf: (out):
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist_s:
|
|
||||||
* @buf: (out):
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist_l:
|
|
||||||
* @buf: (out):
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_mountentry *
|
glibtop_mountentry *
|
||||||
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
|
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
|
||||||
|
|
||||||
@@ -96,8 +64,6 @@ glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
|||||||
glibtop_mountentry *
|
glibtop_mountentry *
|
||||||
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
||||||
|
|
||||||
GType glibtop_mountlist_get_type (void) G_GNUC_CONST;
|
|
||||||
GType glibtop_mountentry_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MSG_LIMITS_H__
|
#ifndef __GLIBTOP_MSG_LIMITS_H__
|
||||||
|
@@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_NETLIST_H__
|
#ifndef __GLIBTOP_NETLIST_H__
|
||||||
@@ -31,23 +31,12 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
typedef struct _glibtop_netlist glibtop_netlist;
|
typedef struct _glibtop_netlist glibtop_netlist;
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_netlist:
|
|
||||||
* @number: Number of entries in the returned list.
|
|
||||||
*/
|
|
||||||
struct _glibtop_netlist
|
struct _glibtop_netlist
|
||||||
{
|
{
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
guint32 number;
|
guint32 number;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist:
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist(glibtop_netlist *buf);
|
char** glibtop_get_netlist(glibtop_netlist *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
#if GLIBTOP_SUID_NETLIST
|
||||||
@@ -56,39 +45,13 @@ char** glibtop_get_netlist(glibtop_netlist *buf);
|
|||||||
#define glibtop_get_netlist_r glibtop_get_netlist_s
|
#define glibtop_get_netlist_r glibtop_get_netlist_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist_l:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
|
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
#if GLIBTOP_SUID_NETLIST
|
||||||
void _glibtop_init_netlist_p (glibtop *server);
|
void _glibtop_init_netlist_p (glibtop *server);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist_p:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
|
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_netlist_s (glibtop *server);
|
void _glibtop_init_netlist_s (glibtop *server);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist_s:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
|
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_NETLOAD_H__
|
#ifndef __GLIBTOP_NETLOAD_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_OPEN_H__
|
#ifndef __GLIBTOP_OPEN_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PARAMETER_H__
|
#ifndef __GLIBTOP_PARAMETER_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PPP_H__
|
#ifndef __GLIBTOP_PPP_H__
|
||||||
|
@@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCAFFINITY_H__
|
#ifndef __GLIBTOP_PROCAFFINITY_H__
|
||||||
@@ -29,7 +29,6 @@ typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
|
|||||||
|
|
||||||
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
|
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
|
||||||
#define GLIBTOP_PROC_AFFINITY_ALL 1
|
#define GLIBTOP_PROC_AFFINITY_ALL 1
|
||||||
#define GLIBTOP_MAX_PROC_AFFINITY 2
|
|
||||||
|
|
||||||
struct _glibtop_proc_affinity
|
struct _glibtop_proc_affinity
|
||||||
{
|
{
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_ARGS_H__
|
#ifndef __GLIBTOP_PROC_ARGS_H__
|
||||||
@@ -79,15 +79,6 @@ char **
|
|||||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
||||||
pid_t pid, unsigned max_len);
|
pid_t pid, unsigned max_len);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_argv:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
* @max_len:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full):
|
|
||||||
*/
|
|
||||||
|
|
||||||
char **
|
char **
|
||||||
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
||||||
|
|
||||||
|
@@ -1,91 +0,0 @@
|
|||||||
/* Copyright (C) 2017 Robert Roth
|
|
||||||
This file is part of LibGTop.
|
|
||||||
|
|
||||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
|
||||||
|
|
||||||
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., 51 Franklin Street, Fifth Floor,
|
|
||||||
Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCIO_H__
|
|
||||||
#define __GLIBTOP_PROCIO_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_RCHAR 0
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_WCHAR 1
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_RBYTES 2
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_WBYTES 3
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_IO 3
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_io glibtop_proc_io;
|
|
||||||
|
|
||||||
/* Time section */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_proc_io:
|
|
||||||
* @disk_rchar: The number of bytes which this task has caused to be read from storage. This
|
|
||||||
* is simply the sum of bytes which this process passed to read() and pread(), also including tty IO,
|
|
||||||
* and it is unaffected by whether or not actual physical disk IO was required.
|
|
||||||
* @disk_wchar: The number of bytes which this task has caused, or shall cause to be written
|
|
||||||
* to disk. Similar caveats apply here as with rchar.
|
|
||||||
* @disk_rbytes: Attempt to count the number of bytes which this process really did cause to
|
|
||||||
* be fetched from the storage layer. Done at the submit_bio() level, so it is
|
|
||||||
* accurate for block-backed filesystems.
|
|
||||||
* @disk_wbytes: Attempt to count the number of bytes which this process caused to be sent to
|
|
||||||
* the storage layer. This is done at page-dirtying time.
|
|
||||||
*
|
|
||||||
* Process disk io data filled by glibtop_get_proc_io().
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
struct _glibtop_proc_io
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
guint64 disk_rchar;
|
|
||||||
guint64 disk_wchar;
|
|
||||||
guint64 disk_rbytes;
|
|
||||||
guint64 disk_wbytes;
|
|
||||||
|
|
||||||
/* reserved for future extensions, e.g. per-process netio */
|
|
||||||
guint64 reserved[10];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void glibtop_get_proc_io (glibtop_proc_io *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_IO
|
|
||||||
#define glibtop_get_proc_io_r glibtop_get_proc_io_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_io_r glibtop_get_proc_io_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_io_l (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_IO
|
|
||||||
void _glibtop_init_proc_io_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_io_p (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void _glibtop_init_proc_io_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCKERNEL_H__
|
#ifndef __GLIBTOP_PROCKERNEL_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCLIST_H__
|
#ifndef __GLIBTOP_PROCLIST_H__
|
||||||
@@ -36,89 +36,22 @@ G_BEGIN_DECLS
|
|||||||
/* You can use the folowing constants as the `which' member of
|
/* You can use the folowing constants as the `which' member of
|
||||||
* glibtop_get_proclist () to specify which processes to fetch. */
|
* glibtop_get_proclist () to specify which processes to fetch. */
|
||||||
|
|
||||||
/**
|
#define GLIBTOP_KERN_PROC_ALL 0 /* all processes */
|
||||||
* GLIBTOP_KERN_PROC_ALL:
|
|
||||||
*
|
|
||||||
* Return information about all processes
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_ALL 0
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_PID:
|
|
||||||
*
|
|
||||||
* Return all processes with the pid which is passed in @arg. You can use this to find out whether some process still exists.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_PID 1
|
#define GLIBTOP_KERN_PROC_PID 1
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_PGRP:
|
|
||||||
*
|
|
||||||
* Return all processes in the process group passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_PGRP 2
|
#define GLIBTOP_KERN_PROC_PGRP 2
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_SESSION:
|
|
||||||
*
|
|
||||||
* Return all processes in the session passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_SESSION 3
|
#define GLIBTOP_KERN_PROC_SESSION 3
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_TTY:
|
|
||||||
*
|
|
||||||
* Return all processes which have the controlling tty passed in @arg
|
|
||||||
* (which is interpreted as the device number).
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_TTY 4
|
#define GLIBTOP_KERN_PROC_TTY 4
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_UID:
|
|
||||||
*
|
|
||||||
* Return all processes with the effective uid passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_UID 5
|
#define GLIBTOP_KERN_PROC_UID 5
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_RUID:
|
|
||||||
*
|
|
||||||
* Return all processes with the real uid passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_RUID 6
|
#define GLIBTOP_KERN_PROC_RUID 6
|
||||||
|
|
||||||
#define GLIBTOP_KERN_PROC_MASK 15
|
#define GLIBTOP_KERN_PROC_MASK 15
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_EXCLUDE_IDLE:
|
|
||||||
*
|
|
||||||
* Exclude idle processes.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_EXCLUDE_SYSTEM:
|
|
||||||
*
|
|
||||||
* Exclude system (on most UNIXes root's) processes.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_EXCLUDE_NOTTY:
|
|
||||||
*
|
|
||||||
* Exclude processes without a controlling terminal.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
||||||
|
|
||||||
typedef struct _glibtop_proclist glibtop_proclist;
|
typedef struct _glibtop_proclist glibtop_proclist;
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_proclist:
|
|
||||||
* @number: Number of entries in the returned list.
|
|
||||||
* @total: Total size of the returned list (this equals @number * @size).
|
|
||||||
* @size: Size of a single entry in the returned list
|
|
||||||
* (this equals <type>sizeof(unsigned)</type>).
|
|
||||||
*/
|
|
||||||
struct _glibtop_proclist
|
struct _glibtop_proclist
|
||||||
{
|
{
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
@@ -127,15 +60,6 @@ struct _glibtop_proclist
|
|||||||
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
|
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proclist:
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
pid_t*
|
||||||
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
||||||
|
|
||||||
@@ -145,16 +69,6 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
|||||||
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proclist_l:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
pid_t*
|
||||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
gint64 which, gint64 arg);
|
||||||
@@ -162,32 +76,12 @@ glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
|||||||
#if GLIBTOP_SUID_PROCLIST
|
#if GLIBTOP_SUID_PROCLIST
|
||||||
void _glibtop_init_proclist_p (glibtop *server);
|
void _glibtop_init_proclist_p (glibtop *server);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proclist_p:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
pid_t*
|
||||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
gint64 which, gint64 arg);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proclist_s (glibtop *server);
|
void _glibtop_init_proclist_s (glibtop *server);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proclist_s:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer full): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
pid_t*
|
||||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
gint64 which, gint64 arg);
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_MAP_H__
|
#ifndef __GLIBTOP_PROC_MAP_H__
|
||||||
@@ -48,10 +48,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
|
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
|
||||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
|
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
|
||||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12
|
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12
|
||||||
#define GLIBTOP_MAP_ENTRY_PSS 13
|
|
||||||
#define GLIBTOP_MAP_ENTRY_SWAP 14
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_MAP_ENTRY 15
|
#define GLIBTOP_MAX_MAP_ENTRY 13
|
||||||
|
|
||||||
#define GLIBTOP_MAP_FILENAME_LEN 215
|
#define GLIBTOP_MAP_FILENAME_LEN 215
|
||||||
|
|
||||||
@@ -80,8 +78,6 @@ struct _glibtop_map_entry
|
|||||||
guint64 shared_dirty;
|
guint64 shared_dirty;
|
||||||
guint64 private_clean;
|
guint64 private_clean;
|
||||||
guint64 private_dirty;
|
guint64 private_dirty;
|
||||||
guint64 pss;
|
|
||||||
guint64 swap;
|
|
||||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -92,46 +88,10 @@ struct _glibtop_proc_map
|
|||||||
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
|
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
|
||||||
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
|
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
glibtop_map_entry *
|
glibtop_map_entry *
|
||||||
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
|
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map_l:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map_p:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map_s:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MAP
|
#if GLIBTOP_SUID_PROC_MAP
|
||||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
||||||
#else
|
#else
|
||||||
@@ -153,8 +113,6 @@ glibtop_map_entry *
|
|||||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
GType glibtop_map_entry_get_type (void) G_GNUC_CONST;
|
|
||||||
GType glibtop_proc_map_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCMEM_H__
|
#ifndef __GLIBTOP_PROCMEM_H__
|
||||||
@@ -53,12 +53,6 @@ struct _glibtop_proc_mem
|
|||||||
* of the process; usually 2,147,483,647 */
|
* of the process; usually 2,147,483,647 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_mem:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MEM
|
#if GLIBTOP_SUID_PROC_MEM
|
||||||
|
@@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
|
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
|
||||||
@@ -94,49 +94,21 @@ struct _glibtop_proc_open_files
|
|||||||
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_open_files:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_OPEN_FILES
|
#if GLIBTOP_SUID_PROC_FILE
|
||||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_p
|
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_p
|
||||||
#else
|
#else
|
||||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
|
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_open_files_l:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_OPEN_FILES
|
#if GLIBTOP_SUID_PROC_FILE
|
||||||
void _glibtop_init_proc_open_files_p (glibtop *server);
|
void _glibtop_init_proc_open_files_p (glibtop *server);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_open_files_p:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (array zero-terminated=1):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
@@ -146,9 +118,6 @@ glibtop_open_files_entry *
|
|||||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
GType glibtop_open_files_entry_get_type (void) G_GNUC_CONST;
|
|
||||||
GType glibtop_proc_open_files_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSEGMENT_H__
|
#ifndef __GLIBTOP_PROCSEGMENT_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSIGNAL_H__
|
#ifndef __GLIBTOP_PROCSIGNAL_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSTATE_H__
|
#ifndef __GLIBTOP_PROCSTATE_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCTIME_H__
|
#ifndef __GLIBTOP_PROCTIME_H__
|
||||||
@@ -46,50 +46,26 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
|||||||
|
|
||||||
/* Time section */
|
/* Time section */
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_proc_time:
|
|
||||||
* @start_time: Start time of process in seconds since the epoch.
|
|
||||||
* @rtime: Real time accumulated by process (should be @utime + @stime).
|
|
||||||
* @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 <type>SIGALRM</type>
|
|
||||||
* is sent to the process due to an interval timer.
|
|
||||||
* @frequency: Tick frequency.
|
|
||||||
* @xcpu_utime: SMP user-mode CPU time accumulated by process.
|
|
||||||
* @xcpu_stime: SMP kernel-mode CPU time accumulated by process
|
|
||||||
*
|
|
||||||
* Process time data filled by glibtop_get_proc_time().
|
|
||||||
*
|
|
||||||
* Under Linux the @start_time value may be wrong due to the information
|
|
||||||
* available from the kernel.
|
|
||||||
*
|
|
||||||
* The Linux kernel defines <type>INITIAL_JIFFIES</type> which implies a time
|
|
||||||
* shift. Because <type>INITIAL_JIFFIES</type> is not user-space defined,
|
|
||||||
* we cannot use it to compute an accurate @start_time. On Linux 2.6,
|
|
||||||
* <type>INITIAL_JIFFIES</type> is 300 so @start_time is
|
|
||||||
* always 3s different from the real start time of the given process. You
|
|
||||||
* may also get shift results if your system clock is not synchronised
|
|
||||||
* with your hardware clock. See <command>man hwclock</command>.
|
|
||||||
*/
|
|
||||||
struct _glibtop_proc_time
|
struct _glibtop_proc_time
|
||||||
{
|
{
|
||||||
/*< private >*/
|
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
/*< public >*/
|
guint64 start_time; /* start time of process --
|
||||||
guint64 start_time;
|
* seconds since 1-1-70 */
|
||||||
guint64 rtime;
|
guint64 rtime; /* real time accumulated by process */
|
||||||
guint64 utime;
|
guint64 utime; /* user-mode CPU time accumulated by process */
|
||||||
guint64 stime;
|
guint64 stime; /* kernel-mode CPU time accumulated by process */
|
||||||
guint64 cutime;
|
guint64 cutime; /* cumulative utime of process and
|
||||||
guint64 cstime;
|
* reaped children */
|
||||||
guint64 timeout;
|
guint64 cstime; /* cumulative stime of process and
|
||||||
guint64 it_real_value;
|
* reaped children */
|
||||||
guint64 frequency;
|
guint64 timeout; /* The time (in jiffies) of the process's
|
||||||
guint64 xcpu_utime [GLIBTOP_NCPU];
|
* next timeout */
|
||||||
guint64 xcpu_stime [GLIBTOP_NCPU];
|
guint64 it_real_value; /* The time (in jiffies) before the
|
||||||
|
* next SIGALRM is sent to the process
|
||||||
|
* due to an interval timer. */
|
||||||
|
guint64 frequency; /* Tick frequency. */
|
||||||
|
guint64 xcpu_utime [GLIBTOP_NCPU]; /* utime and stime for all CPUs on */
|
||||||
|
guint64 xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCUID_H__
|
#ifndef __GLIBTOP_PROCUID_H__
|
||||||
|
@@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCWD_H__
|
#ifndef __GLIBTOP_PROCWD_H__
|
||||||
@@ -30,7 +30,7 @@ typedef struct _glibtop_proc_wd glibtop_proc_wd;
|
|||||||
#define GLIBTOP_PROC_WD_NUMBER 0
|
#define GLIBTOP_PROC_WD_NUMBER 0
|
||||||
#define GLIBTOP_PROC_WD_ROOT 1
|
#define GLIBTOP_PROC_WD_ROOT 1
|
||||||
#define GLIBTOP_PROC_WD_EXE 2
|
#define GLIBTOP_PROC_WD_EXE 2
|
||||||
#define GLIBTOP_MAX_PROC_WD 3
|
#define GLIBTOP_PROC_WD_MAX 3
|
||||||
|
|
||||||
#define GLIBTOP_PROC_WD_ROOT_LEN 215
|
#define GLIBTOP_PROC_WD_ROOT_LEN 215
|
||||||
#define GLIBTOP_PROC_WD_EXE_LEN 215
|
#define GLIBTOP_PROC_WD_EXE_LEN 215
|
||||||
@@ -44,13 +44,6 @@ struct _glibtop_proc_wd
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_wd:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full):
|
|
||||||
*/
|
|
||||||
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
|
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
|
||||||
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_READ_H__
|
#ifndef __GLIBTOP_READ_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_READ_DATA_H__
|
#ifndef __GLIBTOP_READ_DATA_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SEM_LIMITS_H__
|
#ifndef __GLIBTOP_SEM_LIMITS_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SHM_LIMITS_H__
|
#ifndef __GLIBTOP_SHM_LIMITS_H__
|
||||||
@@ -37,9 +37,6 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_shm_limits:
|
|
||||||
*/
|
|
||||||
struct _glibtop_shm_limits
|
struct _glibtop_shm_limits
|
||||||
{
|
{
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
@@ -50,10 +47,6 @@ struct _glibtop_shm_limits
|
|||||||
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
|
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits:
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SHM_LIMITS
|
#if GLIBTOP_SUID_SHM_LIMITS
|
||||||
@@ -62,28 +55,13 @@ void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
|||||||
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
|
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits_l:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SHM_LIMITS
|
#if GLIBTOP_SUID_SHM_LIMITS
|
||||||
void _glibtop_init_shm_limits_p (glibtop *server);
|
void _glibtop_init_shm_limits_p (glibtop *server);
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits_p:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_shm_limits_s (glibtop *server);
|
void _glibtop_init_shm_limits_s (glibtop *server);
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits_s:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SIGNAL_H__
|
#ifndef __GLIBTOP_SIGNAL_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SWAP_H__
|
#ifndef __GLIBTOP_SWAP_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SYSDEPS_H__
|
#ifndef __GLIBTOP_SYSDEPS_H__
|
||||||
@@ -53,13 +53,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
||||||
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
||||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
||||||
#define GLIBTOP_SYSDEPS_PROC_IO 27
|
|
||||||
#define GLIBTOP_SYSDEPS_DISK 28
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_SYSDEPS 29
|
#define GLIBTOP_MAX_SYSDEPS 27
|
||||||
|
|
||||||
/* The 'features' args to glibtop_init_* is an unsigned long */
|
|
||||||
G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX);
|
|
||||||
|
|
||||||
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
||||||
|
|
||||||
@@ -95,15 +90,6 @@ struct _glibtop_sysdeps
|
|||||||
guint64 ppp; /* glibtop_ppp */
|
guint64 ppp; /* glibtop_ppp */
|
||||||
guint64 proc_wd; /* glibtop_proc_wd */
|
guint64 proc_wd; /* glibtop_proc_wd */
|
||||||
guint64 proc_affinity; /* glibtop_proc_affinity */
|
guint64 proc_affinity; /* glibtop_proc_affinity */
|
||||||
guint64 proc_io; /* glibtop_proc_io */
|
|
||||||
guint64 disk; /* glibtop_disk */
|
|
||||||
guint64 reserved1;
|
|
||||||
guint64 reserved2;
|
|
||||||
guint64 reserved3;
|
|
||||||
guint64 reserved4;
|
|
||||||
guint64 reserved5;
|
|
||||||
guint64 reserved6;
|
|
||||||
guint64 reserved7;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SYSINFO_H__
|
#ifndef __GLIBTOP_SYSINFO_H__
|
||||||
@@ -53,8 +53,6 @@ struct _glibtop_sysinfo
|
|||||||
glibtop_entry cpuinfo [GLIBTOP_NCPU];
|
glibtop_entry cpuinfo [GLIBTOP_NCPU];
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *decode_cpu_part(unsigned int part);
|
|
||||||
|
|
||||||
#define glibtop_get_sysinfo_r glibtop_get_sysinfo_s
|
#define glibtop_get_sysinfo_r glibtop_get_sysinfo_s
|
||||||
|
|
||||||
const glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
|
const glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
|
||||||
|
@@ -15,15 +15,14 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_UNION_H__
|
#ifndef __GLIBTOP_UNION_H__
|
||||||
#define __GLIBTOP_UNION_H__
|
#define __GLIBTOP_UNION_H__
|
||||||
|
|
||||||
#include <glibtop/cpu.h>
|
#include <glibtop/cpu.h>
|
||||||
#include <glibtop/disk.h>
|
|
||||||
#include <glibtop/mem.h>
|
#include <glibtop/mem.h>
|
||||||
#include <glibtop/swap.h>
|
#include <glibtop/swap.h>
|
||||||
#include <glibtop/uptime.h>
|
#include <glibtop/uptime.h>
|
||||||
@@ -45,7 +44,6 @@
|
|||||||
#include <glibtop/procopenfiles.h>
|
#include <glibtop/procopenfiles.h>
|
||||||
#include <glibtop/procwd.h>
|
#include <glibtop/procwd.h>
|
||||||
#include <glibtop/procaffinity.h>
|
#include <glibtop/procaffinity.h>
|
||||||
#include <glibtop/procio.h>
|
|
||||||
|
|
||||||
#include <glibtop/mountlist.h>
|
#include <glibtop/mountlist.h>
|
||||||
#include <glibtop/fsusage.h>
|
#include <glibtop/fsusage.h>
|
||||||
@@ -61,7 +59,6 @@ typedef union _glibtop_union glibtop_union;
|
|||||||
union _glibtop_union
|
union _glibtop_union
|
||||||
{
|
{
|
||||||
glibtop_cpu cpu;
|
glibtop_cpu cpu;
|
||||||
glibtop_disk disk;
|
|
||||||
glibtop_mem mem;
|
glibtop_mem mem;
|
||||||
glibtop_swap swap;
|
glibtop_swap swap;
|
||||||
glibtop_uptime uptime;
|
glibtop_uptime uptime;
|
||||||
@@ -87,7 +84,6 @@ union _glibtop_union
|
|||||||
glibtop_proc_open_files proc_open_files;
|
glibtop_proc_open_files proc_open_files;
|
||||||
glibtop_proc_wd proc_wd;
|
glibtop_proc_wd proc_wd;
|
||||||
glibtop_proc_affinity proc_affinity;
|
glibtop_proc_affinity proc_affinity;
|
||||||
glibtop_proc_io proc_io;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_UPTIME_H__
|
#ifndef __GLIBTOP_UPTIME_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_VERSION_H__
|
#ifndef __GLIBTOP_VERSION_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_WRITE_H__
|
#ifndef __GLIBTOP_WRITE_H__
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
|
|
||||||
AM_CPPFLAGS = @AM_CPPFLAGS@
|
INCLUDES = @INCLUDES@
|
||||||
|
|
||||||
lib_LTLIBRARIES = libgtop-2.0.la
|
lib_LTLIBRARIES = libgtop-2.0.la
|
||||||
|
|
||||||
libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.c \
|
libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.c \
|
||||||
read_data.c write.c lib.c parameter.c \
|
read_data.c write.c lib.c parameter.c \
|
||||||
sysdeps.c boxed.c
|
sysdeps.c
|
||||||
|
|
||||||
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym -no-undefined
|
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym
|
||||||
libgtop_2_0_la_LIBADD = $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib)
|
libgtop_2_0_la_LIBADD = $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib)
|
||||||
|
|
||||||
BUILT_SOURCES = lib.c
|
BUILT_SOURCES = lib.c
|
||||||
@@ -20,36 +20,3 @@ EXTRA_DIST = lib.pl libgtop.sym
|
|||||||
|
|
||||||
CLEANFILES = lib.c
|
CLEANFILES = lib.c
|
||||||
|
|
||||||
-include $(INTROSPECTION_MAKEFILE)
|
|
||||||
INTROSPECTION_GIRS =
|
|
||||||
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed --warn-all
|
|
||||||
INTROSPECTION_COMPILER_ARGS =
|
|
||||||
|
|
||||||
if HAVE_INTROSPECTION
|
|
||||||
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h ../libgtopconfig.h \
|
|
||||||
../include/glibtop/close.h ../include/glibtop/loadavg.h ../include/glibtop/prockernel.h ../include/glibtop/procstate.h \
|
|
||||||
../include/glibtop/sem_limits.h ../include/glibtop/uptime.h ../include/glibtop/command.h ../include/glibtop/mem.h ../include/glibtop/proclist.h \
|
|
||||||
../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/cpu.h ../include/glibtop/disk.h ../include/glibtop/msg_limits.h \
|
|
||||||
../include/glibtop/procmem.h ../include/glibtop/procuid.h ../include/glibtop/swap.h \
|
|
||||||
../include/glibtop/procsegment.h ../include/glibtop/sysdeps.h ../include/glibtop/global.h \
|
|
||||||
../include/glibtop/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \
|
|
||||||
../include/glibtop/parameter.h ../include/glibtop/mountlist.h ../include/glibtop/fsusage.h ../include/glibtop/procmap.h ../include/glibtop/signal.h \
|
|
||||||
../include/glibtop/sysinfo.h ../include/glibtop/ppp.h ../include/glibtop/procargs.h ../include/glibtop/netload.h \
|
|
||||||
../include/glibtop/procwd.h ../include/glibtop/procaffinity.h ../include/glibtop/procio.h \
|
|
||||||
../include/glibtop/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h
|
|
||||||
|
|
||||||
GTop-2.0.gir: libgtop-2.0.la
|
|
||||||
GTop_2_0_gir_AM_CPPFLAGS = GObject-2.0
|
|
||||||
GTop_2_0_gir_CFLAGS = $(AM_CPPFLAGS)
|
|
||||||
GTop_2_0_gir_LIBS = libgtop-2.0.la
|
|
||||||
GTop_2_0_gir_FILES = $(introspection_sources)
|
|
||||||
INTROSPECTION_GIRS += GTop-2.0.gir
|
|
||||||
|
|
||||||
girdir = $(datadir)/gir-1.0
|
|
||||||
gir_DATA = $(INTROSPECTION_GIRS)
|
|
||||||
|
|
||||||
typelibdir = $(libdir)/girepository-1.0
|
|
||||||
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
|
||||||
|
|
||||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
|
||||||
endif
|
|
||||||
|
47
lib/boxed.c
47
lib/boxed.c
@@ -1,47 +0,0 @@
|
|||||||
/* Copyright (C) 2011 Red Hat
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Jasper St. Pierre <jstpierre@mecheye.net>, November 2011
|
|
||||||
|
|
||||||
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 <glibtop.h>
|
|
||||||
#include <glibtop/mountlist.h>
|
|
||||||
#include <glibtop/procmap.h>
|
|
||||||
#include <glibtop/procopenfiles.h>
|
|
||||||
|
|
||||||
#define DEFINE_BOXED(type) \
|
|
||||||
static type * \
|
|
||||||
type##_copy (type *p) \
|
|
||||||
{ \
|
|
||||||
type *n = g_new (type, 1); \
|
|
||||||
memcpy (n, p, sizeof (type)); \
|
|
||||||
return n; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
G_DEFINE_BOXED_TYPE (type, \
|
|
||||||
type, \
|
|
||||||
type##_copy, \
|
|
||||||
g_free)
|
|
||||||
|
|
||||||
DEFINE_BOXED (glibtop);
|
|
||||||
DEFINE_BOXED (glibtop_map_entry);
|
|
||||||
DEFINE_BOXED (glibtop_proc_map);
|
|
||||||
DEFINE_BOXED (glibtop_open_files_entry);
|
|
||||||
DEFINE_BOXED (glibtop_proc_open_files);
|
|
||||||
DEFINE_BOXED (glibtop_mountentry);
|
|
||||||
DEFINE_BOXED (glibtop_mountlist);
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
@@ -15,12 +15,11 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <glibtop/error.h>
|
|
||||||
#include <glibtop/read.h>
|
#include <glibtop/read.h>
|
||||||
#include <glibtop/write.h>
|
#include <glibtop/write.h>
|
||||||
#include <glibtop/read_data.h>
|
#include <glibtop/read_data.h>
|
||||||
@@ -36,45 +35,6 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
|||||||
|
|
||||||
glibtop_init_r (&server, 0, 0);
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND);
|
|
||||||
|
|
||||||
switch (command) {
|
|
||||||
#define CHECK_CMND(CMND) case (CMND): glibtop_debug("CALL: command %s sending %lu bytes", #CMND, (unsigned long)send_size); break
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_QUIT);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SYSDEPS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_CPU);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_DISK);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_MEM);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SWAP);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_UPTIME);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_LOADAVG);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SHM_LIMITS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_MSG_LIMITS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SEM_LIMITS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROCLIST);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_STATE);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_UID);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_MEM);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_TIME);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_SIGNAL);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_KERNEL);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_SEGMENT);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_ARGS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_MAP);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_MOUNTLIST);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_FSUSAGE);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_NETLOAD);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PPP);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_NETLIST);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_OPEN_FILES);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_WD);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_AFFINITY);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_IO);
|
|
||||||
default:
|
|
||||||
glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break;
|
|
||||||
}
|
|
||||||
#undef CHECK_CMND
|
|
||||||
|
|
||||||
cmnd.command = command;
|
cmnd.command = command;
|
||||||
|
|
||||||
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
|
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
|
||||||
@@ -92,8 +52,10 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
|||||||
|
|
||||||
glibtop_read_l (server, sizeof (glibtop_response), &response);
|
glibtop_read_l (server, sizeof (glibtop_response), &response);
|
||||||
|
|
||||||
glibtop_debug ("RESPONSE: offset=%lu - data_size=%lu",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "RESPONSE: %lu - %d\n",
|
||||||
response.offset, response.data_size);
|
response.offset, response.data_size);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (recv_buf)
|
if (recv_buf)
|
||||||
memcpy (recv_buf, ((char *) &response) + response.offset,
|
memcpy (recv_buf, ((char *) &response) + response.offset,
|
||||||
|
17
lib/init.c
17
lib/init.c
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -26,14 +26,12 @@
|
|||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
#include <glibtop/init_hooks.h>
|
#include <glibtop/init_hooks.h>
|
||||||
#include <glibtop/machine.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef DEFAULT_PORT
|
#ifndef DEFAULT_PORT
|
||||||
#define DEFAULT_PORT 42800
|
#define DEFAULT_PORT 42800
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static glibtop _glibtop_global_server;
|
static glibtop _glibtop_global_server = { 0 };
|
||||||
glibtop *glibtop_global_server = &_glibtop_global_server;
|
glibtop *glibtop_global_server = &_glibtop_global_server;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -143,7 +141,7 @@ _init_server (glibtop *server, const unsigned features)
|
|||||||
|
|
||||||
/* Open pipe to server. */
|
/* Open pipe to server. */
|
||||||
server->method = GLIBTOP_METHOD_PIPE;
|
server->method = GLIBTOP_METHOD_PIPE;
|
||||||
server->server_command = g_strdup(LIBGTOP_SERVER);
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
glibtop_error_r (server, "Unknown server method '%s'",
|
glibtop_error_r (server, "Unknown server method '%s'",
|
||||||
@@ -175,9 +173,6 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
|
|||||||
/* Do the initialization, but only if not already initialized. */
|
/* Do the initialization, but only if not already initialized. */
|
||||||
|
|
||||||
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
|
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
|
||||||
|
|
||||||
glibtop_machine_new (server);
|
|
||||||
|
|
||||||
if (flags & GLIBTOP_FEATURES_EXCEPT)
|
if (flags & GLIBTOP_FEATURES_EXCEPT)
|
||||||
features = ~features & GLIBTOP_SYSDEPS_ALL;
|
features = ~features & GLIBTOP_SYSDEPS_ALL;
|
||||||
|
|
||||||
@@ -214,7 +209,7 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
|
|||||||
/* Open server, but only if not already opened. */
|
/* Open server, but only if not already opened. */
|
||||||
|
|
||||||
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
|
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
|
||||||
glibtop_open_l (server, "glibtop",
|
glibtop_open_l (glibtop_global_server, "glibtop",
|
||||||
features, flags);
|
features, flags);
|
||||||
|
|
||||||
return server;
|
return server;
|
||||||
@@ -226,8 +221,6 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
|||||||
glibtop *server;
|
glibtop *server;
|
||||||
const _glibtop_init_func_t *init_fkt;
|
const _glibtop_init_func_t *init_fkt;
|
||||||
|
|
||||||
glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
|
|
||||||
|
|
||||||
if (server_ptr == NULL)
|
if (server_ptr == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
70
lib/lib.pl
70
lib/lib.pl
@@ -1,8 +1,21 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
$[ = 1; # set array base to 1
|
||||||
$, = ' '; # set output field separator
|
$, = ' '; # set output field separator
|
||||||
$\ = "\n"; # set output record separator
|
$\ = "\n"; # set output record separator
|
||||||
|
|
||||||
|
sub toupper {
|
||||||
|
local($_) = @_;
|
||||||
|
tr/a-z/A-Z/;
|
||||||
|
return $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub tolower {
|
||||||
|
local($_) = @_;
|
||||||
|
tr/A-Z/a-z/;
|
||||||
|
return $_;
|
||||||
|
}
|
||||||
|
|
||||||
print '/* lib.c */';
|
print '/* lib.c */';
|
||||||
print "/* This is a generated file. Please modify `lib.pl' */";
|
print "/* This is a generated file. Please modify `lib.pl' */";
|
||||||
print '';
|
print '';
|
||||||
@@ -73,9 +86,9 @@ while (<>) {
|
|||||||
sub output {
|
sub output {
|
||||||
local($line) = @_;
|
local($line) = @_;
|
||||||
@line_fields = split(/\|/, $line, 9999);
|
@line_fields = split(/\|/, $line, 9999);
|
||||||
$retval = $line_fields[0];
|
$retval = $line_fields[1];
|
||||||
$feature = $line_fields[1];
|
$feature = $line_fields[2];
|
||||||
$param_def = $line_fields[2];
|
$param_def = $line_fields[4];
|
||||||
|
|
||||||
$orig = $feature;
|
$orig = $feature;
|
||||||
$feature =~ s/^@//;
|
$feature =~ s/^@//;
|
||||||
@@ -93,16 +106,16 @@ sub output {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($param_def eq 'string') {
|
if ($param_def eq 'string') {
|
||||||
$call_param = ', ' . $line_fields[3];
|
$call_param = ', ' . $line_fields[5];
|
||||||
$param_buf = '';
|
$param_buf = '';
|
||||||
$buf_set = '';
|
$buf_set = '';
|
||||||
$param_decl = ",\n " . $space . ' const char *' .
|
$param_decl = ",\n " . $space . ' const char *' .
|
||||||
|
|
||||||
$line_fields[3];
|
$line_fields[5];
|
||||||
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[3] . ';';
|
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[5] . ';';
|
||||||
$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
|
$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
|
||||||
|
|
||||||
$line_fields[3] . ') + 1;';
|
$line_fields[5] . ') + 1;';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$call_param = '';
|
$call_param = '';
|
||||||
@@ -113,9 +126,9 @@ sub output {
|
|||||||
$buf_set = '';
|
$buf_set = '';
|
||||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||||
if ($nr_params) {
|
if ($nr_params) {
|
||||||
$param_buf = "\t\tstruct {\n";
|
$param_buf = "\n\tstruct {\n";
|
||||||
}
|
}
|
||||||
for ($param = 0; $param < $nr_params; $param++) {
|
for ($param = 1; $param <= $nr_params; $param++) {
|
||||||
$list = $params[$param];
|
$list = $params[$param];
|
||||||
$type = $params[$param];
|
$type = $params[$param];
|
||||||
$type =~ s/\(.*//;
|
$type =~ s/\(.*//;
|
||||||
@@ -124,13 +137,13 @@ sub output {
|
|||||||
$count = (@fields = split(/,/, $list, 9999));
|
$count = (@fields = split(/,/, $list, 9999));
|
||||||
|
|
||||||
if ($count > 0) {
|
if ($count > 0) {
|
||||||
for ($field = 0; $field < $count; $field++) {
|
for ($field = 1; $field <= $count; $field++) {
|
||||||
$param_buf .= "\t\t\t$convert{$type} buf_$fields[$field];\n";
|
$param_buf .= "\t\t$convert{$type} buf_$fields[$field];\n";
|
||||||
$buf_set .= "\t\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
|
$buf_set .= "\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($field = 0; $field < $count; $field++) {
|
for ($field = 1; $field <= $count; $field++) {
|
||||||
if ($param_decl eq '') {
|
if ($param_decl eq '') {
|
||||||
$param_decl = ",\n " . $space . ' ';
|
$param_decl = ",\n " . $space . ' ';
|
||||||
}
|
}
|
||||||
@@ -142,19 +155,19 @@ sub output {
|
|||||||
$fields[$field];
|
$fields[$field];
|
||||||
$call_param = $call_param . ', ' . $fields[$field];
|
$call_param = $call_param . ', ' . $fields[$field];
|
||||||
if ($send_ptr eq '') {
|
if ($send_ptr eq '') {
|
||||||
$send_ptr = "\t\tconst void *send_ptr = ¶m_buf;";
|
$send_ptr = "\n\tconst void *send_ptr = ¶m_buf;";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($nr_params) {
|
if ($nr_params) {
|
||||||
$param_buf .= "\t\t} param_buf;\n";
|
$param_buf .= "\t} param_buf;";
|
||||||
$send_size = "\t\tconst size_t send_size = sizeof param_buf;";
|
$send_size = "\n\tconst size_t send_size = sizeof param_buf;";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$send_size = "\t\tconst size_t send_size = 0;";
|
$send_size = "\n\tconst size_t send_size = 0;";
|
||||||
}
|
}
|
||||||
if ($send_ptr eq '') {
|
if ($send_ptr eq '') {
|
||||||
$send_ptr = "\t\tconst void *send_ptr = NULL;";
|
$send_ptr = "\n\tconst void *send_ptr = NULL;";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,15 +175,17 @@ sub output {
|
|||||||
|
|
||||||
$feature . ' *buf' . $param_decl . ')';
|
$feature . ' *buf' . $param_decl . ')';
|
||||||
|
|
||||||
print "{";
|
print "{" . $param_buf;
|
||||||
|
|
||||||
|
print $send_ptr . '' . $send_size;
|
||||||
if ($retval !~ /^void$/) {
|
if ($retval !~ /^void$/) {
|
||||||
print "\t" . $retval . ' retval = (' . $retval . ') 0;';
|
print "\t" . $retval . ' retval = (' . $retval . ') 0;';
|
||||||
}
|
}
|
||||||
|
print $buf_set;
|
||||||
|
|
||||||
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
|
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
|
||||||
|
|
||||||
uc($feature) . '), 0);';
|
&toupper($feature) . '), 0);';
|
||||||
|
|
||||||
print '';
|
print '';
|
||||||
print "\t/* If neccessary, we ask the server for the requested";
|
print "\t/* If neccessary, we ask the server for the requested";
|
||||||
@@ -180,21 +195,12 @@ sub output {
|
|||||||
print "\tif ((server->flags & _GLIBTOP_INIT_STATE_SERVER) &&";
|
print "\tif ((server->flags & _GLIBTOP_INIT_STATE_SERVER) &&";
|
||||||
print "\t (server->features & (1 << GLIBTOP_SYSDEPS_" .
|
print "\t (server->features & (1 << GLIBTOP_SYSDEPS_" .
|
||||||
|
|
||||||
uc($feature) . ')))';
|
&toupper($feature) . ')))';
|
||||||
print "\t{";
|
print "\t{";
|
||||||
|
|
||||||
if ($param_buf) {
|
|
||||||
print $param_buf;
|
|
||||||
print $buf_set;
|
|
||||||
}
|
|
||||||
|
|
||||||
print $send_ptr;
|
|
||||||
print $send_size;
|
|
||||||
print '';
|
|
||||||
|
|
||||||
print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' .
|
print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' .
|
||||||
|
|
||||||
uc($feature) . ',';
|
&toupper($feature) . ',';
|
||||||
print "\t\t\t\t" . $prefix_space . 'send_size, send_ptr,';
|
print "\t\t\t\t" . $prefix_space . 'send_size, send_ptr,';
|
||||||
print "\t\t\t\t" . $prefix_space . 'sizeof (glibtop_' . $feature .
|
print "\t\t\t\t" . $prefix_space . 'sizeof (glibtop_' . $feature .
|
||||||
|
|
||||||
@@ -203,7 +209,7 @@ sub output {
|
|||||||
print "\t} else {";
|
print "\t} else {";
|
||||||
|
|
||||||
if ($orig !~ /^@/) {
|
if ($orig !~ /^@/) {
|
||||||
print '#if (!GLIBTOP_SUID_' . uc($feature) . ')';
|
print '#if (!GLIBTOP_SUID_' . &toupper($feature) . ')';
|
||||||
}
|
}
|
||||||
print "\t\t" . $prefix . 'glibtop_get_' . $feature . '_s (server, buf' .
|
print "\t\t" . $prefix . 'glibtop_get_' . $feature . '_s (server, buf' .
|
||||||
|
|
||||||
|
@@ -3,8 +3,6 @@ glibtop_close
|
|||||||
glibtop_close_r
|
glibtop_close_r
|
||||||
glibtop_get_cpu
|
glibtop_get_cpu
|
||||||
glibtop_get_cpu_l
|
glibtop_get_cpu_l
|
||||||
glibtop_get_disk
|
|
||||||
glibtop_get_disk_l
|
|
||||||
glibtop_get_fsusage
|
glibtop_get_fsusage
|
||||||
glibtop_get_fsusage_l
|
glibtop_get_fsusage_l
|
||||||
glibtop_get_loadavg
|
glibtop_get_loadavg
|
||||||
@@ -54,8 +52,6 @@ glibtop_get_shm_limits
|
|||||||
glibtop_get_shm_limits_l
|
glibtop_get_shm_limits_l
|
||||||
glibtop_get_proc_affinity
|
glibtop_get_proc_affinity
|
||||||
glibtop_get_proc_affinity_l
|
glibtop_get_proc_affinity_l
|
||||||
glibtop_get_proc_io
|
|
||||||
glibtop_get_proc_io_l
|
|
||||||
glibtop_get_swap
|
glibtop_get_swap
|
||||||
glibtop_get_swap_l
|
glibtop_get_swap_l
|
||||||
glibtop_get_sysdeps
|
glibtop_get_sysdeps
|
||||||
@@ -72,10 +68,3 @@ glibtop_open_l
|
|||||||
glibtop_server_features
|
glibtop_server_features
|
||||||
glibtop_set_parameter_l
|
glibtop_set_parameter_l
|
||||||
glibtop_sys_siglist
|
glibtop_sys_siglist
|
||||||
glibtop_mountlist_get_type
|
|
||||||
glibtop_mountentry_get_type
|
|
||||||
glibtop_open_files_entry_get_type
|
|
||||||
glibtop_proc_open_files_get_type
|
|
||||||
glibtop_map_entry_get_type
|
|
||||||
glibtop_proc_map_get_type
|
|
||||||
glibtop_get_type
|
|
||||||
|
42
lib/open.c
42
lib/open.c
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -47,44 +47,56 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
|||||||
|
|
||||||
server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
|
server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
|
||||||
|
|
||||||
glibtop_debug ("SIZEOF: %zu - %zu - %zu - %zu - %zu - %zu",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "SIZEOF: %u - %u - %u - %u - %u - %u\n",
|
||||||
sizeof (glibtop_command), sizeof (glibtop_response),
|
sizeof (glibtop_command), sizeof (glibtop_response),
|
||||||
sizeof (glibtop_mountentry), sizeof (glibtop_union),
|
sizeof (glibtop_mountentry), sizeof (glibtop_union),
|
||||||
sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
|
sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (server->method) {
|
switch (server->method) {
|
||||||
case GLIBTOP_METHOD_DIRECT:
|
case GLIBTOP_METHOD_DIRECT:
|
||||||
server->features = 0;
|
server->features = 0;
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_METHOD_INET:
|
case GLIBTOP_METHOD_INET:
|
||||||
glibtop_debug ("Connecting to '%s' port %ld.",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connecting to '%s' port %ld.\n",
|
||||||
server->server_host, server->server_port);
|
server->server_host, server->server_port);
|
||||||
|
#endif
|
||||||
|
|
||||||
connect_type = glibtop_make_connection
|
connect_type = glibtop_make_connection
|
||||||
(server->server_host, server->server_port,
|
(server->server_host, server->server_port,
|
||||||
&server->socket);
|
&server->socket);
|
||||||
|
|
||||||
glibtop_debug ("Connect Type is %d.", connect_type);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||||
|
#endif
|
||||||
|
|
||||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||||
|
|
||||||
server->features = -1;
|
server->features = -1;
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_METHOD_UNIX:
|
case GLIBTOP_METHOD_UNIX:
|
||||||
glibtop_debug ("Connecting to Unix Domain Socket.");
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connecting to Unix Domain Socket.\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
connect_type = glibtop_make_connection
|
connect_type = glibtop_make_connection
|
||||||
("unix", 0, &server->socket);
|
("unix", 0, &server->socket);
|
||||||
|
|
||||||
glibtop_debug ("Connect Type is %d.", connect_type);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||||
|
#endif
|
||||||
|
|
||||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||||
|
|
||||||
server->features = -1;
|
server->features = -1;
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_METHOD_PIPE:
|
case GLIBTOP_METHOD_PIPE:
|
||||||
glibtop_debug ("Opening pipe to server (%s).",
|
#ifdef DEBUG
|
||||||
server->server_command);
|
fprintf (stderr, "Opening pipe to server (%s).\n",
|
||||||
|
LIBGTOP_SERVER);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (pipe (server->input) || pipe (server->output))
|
if (pipe (server->input) || pipe (server->output))
|
||||||
glibtop_error_io_r (server, "cannot make a pipe");
|
glibtop_error_io_r (server, "cannot make a pipe");
|
||||||
@@ -98,9 +110,9 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
|||||||
close (server->input [0]); close (server->output [1]);
|
close (server->input [0]); close (server->output [1]);
|
||||||
dup2 (server->input [1], 1);
|
dup2 (server->input [1], 1);
|
||||||
dup2 (server->output [0], 0);
|
dup2 (server->output [0], 0);
|
||||||
execl (server->server_command, "libgtop-server", NULL);
|
execl (LIBGTOP_SERVER, "libgtop-server", NULL);
|
||||||
glibtop_error_io_r (server, "execl (%s)",
|
glibtop_error_io_r (server, "execl (%s)",
|
||||||
server->server_command);
|
LIBGTOP_SERVER);
|
||||||
_exit (2);
|
_exit (2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,14 +165,18 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
|||||||
|
|
||||||
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
|
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
|
||||||
|
|
||||||
glibtop_debug ("Server features are %#0lx.",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Server features are %lu.\n",
|
||||||
server->features);
|
server->features);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* In any case, we call the open functions of our own sysdeps
|
/* In any case, we call the open functions of our own sysdeps
|
||||||
* directory. */
|
* directory. */
|
||||||
|
|
||||||
glibtop_debug ("Calling sysdeps open function.");
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Calling sysdeps open function.\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
glibtop_init_s (&server, features, flags);
|
glibtop_init_s (&server, features, flags);
|
||||||
}
|
}
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -33,7 +33,9 @@ glibtop_read_l (glibtop *server, size_t size, void *buf)
|
|||||||
int fd;
|
int fd;
|
||||||
glibtop_init_r (&server, 0, 0);
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
glibtop_debug("LIBRARY: really reading %d bytes.", (int)size);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: really reading %d bytes.\n", (int)size);
|
||||||
|
#endif
|
||||||
|
|
||||||
fd = server->socket ? server->socket : server->input[0];
|
fd = server->socket ? server->socket : server->input[0];
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -36,8 +36,10 @@ glibtop_read_data_l (glibtop *server)
|
|||||||
|
|
||||||
glibtop_init_r (&server, 0, 0);
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
glibtop_debug ("LIBRARY: reading %lu data bytes.",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: reading %lu data bytes.\n",
|
||||||
(unsigned long) sizeof (size_t));
|
(unsigned long) sizeof (size_t));
|
||||||
|
#endif
|
||||||
|
|
||||||
if (server->socket) {
|
if (server->socket) {
|
||||||
ret = recv (server->socket, &size, sizeof (size_t), 0);
|
ret = recv (server->socket, &size, sizeof (size_t), 0);
|
||||||
@@ -48,8 +50,10 @@ glibtop_read_data_l (glibtop *server)
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
glibtop_error_io_r (server, _("read data size"));
|
glibtop_error_io_r (server, _("read data size"));
|
||||||
|
|
||||||
glibtop_debug ("LIBRARY: really reading %lu data bytes (ret = %d).",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: really reading %lu data bytes (ret = %d).\n",
|
||||||
(unsigned long) size, ret);
|
(unsigned long) size, ret);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!size) return NULL;
|
if (!size) return NULL;
|
||||||
|
|
||||||
|
104
lib/structures.pl
Normal file
104
lib/structures.pl
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
die "Usage: $0 features.def structures.def" unless $#ARGV == 2;
|
||||||
|
|
||||||
|
$[ = 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 $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
$structures{$structure_count++} = 'glibtop';
|
||||||
|
|
||||||
|
open FEATURESDEF, $ARGV[1] or
|
||||||
|
die "open ($ARGV[1]): $!";
|
||||||
|
|
||||||
|
while (<FEATURESDEF>) {
|
||||||
|
chop; # strip record separator
|
||||||
|
|
||||||
|
if (/^[^\#]/) {
|
||||||
|
&parse_features_def ($_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
close FEATURESDEF;
|
||||||
|
|
||||||
|
open STRUCTDEF, $ARGV[2] or
|
||||||
|
die "open ($ARGV[2]): $!";
|
||||||
|
|
||||||
|
while (<STRUCTDEF>) {
|
||||||
|
chop; # strip record separator
|
||||||
|
|
||||||
|
if (/^[^\#]/) {
|
||||||
|
&parse_structure_def ($_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
close STRUCTDEF;
|
||||||
|
|
||||||
|
$init_structures_code = sprintf
|
||||||
|
(qq[\tscm_glibtop_structure_tags [GLIBTOP_STRUCTURE_GLIBTOP] = scm_make_structure_type\n\t\t("glibtop", sizeof (glibtop));\n]);
|
||||||
|
|
||||||
|
for ($nr = 0; $nr < $structure_count; $nr++) {
|
||||||
|
$structure = $structures{$nr};
|
||||||
|
|
||||||
|
$init_structures_code .= sprintf
|
||||||
|
(qq[\tscm_glibtop_structure_tags [GLIBTOP_STRUCTURE_%s] = scm_make_structure_type\n\t\t("%s", sizeof (%s));\n],
|
||||||
|
toupper($structure), $structure, $structure);
|
||||||
|
}
|
||||||
|
|
||||||
|
print qq[/* structures.h */];
|
||||||
|
print qq[/* This is a generated file. Please modify \`guile.pl\' */];
|
||||||
|
print '';
|
||||||
|
print qq[\#ifndef __GLIBTOP_STRUCTURES_H__];
|
||||||
|
print qq[\#define __GLIBTOP_STRUCTURES_H__];
|
||||||
|
print '';
|
||||||
|
print qq[\#include <glibtop.h>];
|
||||||
|
print '';
|
||||||
|
print qq[G_BEGIN_DECLS];
|
||||||
|
print '';
|
||||||
|
|
||||||
|
for ($nr = 0; $nr < $structure_count; $nr++) {
|
||||||
|
$structure = $structures{$nr};
|
||||||
|
|
||||||
|
printf (qq[\#define %-40s\t%d\n], 'GLIBTOP_STRUCTURE_'.&toupper($structure), $nr);
|
||||||
|
}
|
||||||
|
|
||||||
|
print '';
|
||||||
|
printf (qq[\#define %-40s\t%d\n], 'GLIBTOP_MAX_STRUCTURES', $structure_count);
|
||||||
|
print '';
|
||||||
|
print qq[G_END_DECLS];
|
||||||
|
print '';
|
||||||
|
print qq[\#endif /* __GLIBTOP_STRUCTURES_H__ */];
|
||||||
|
|
||||||
|
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];
|
||||||
|
|
||||||
|
$feature =~ s/^@//;
|
||||||
|
$features{$feature} = $feature;
|
||||||
|
|
||||||
|
$structures{$structure_count++} = 'glibtop_'.$feature;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub parse_structure_def {
|
||||||
|
local($line) = @_;
|
||||||
|
@line_fields = split(/\|/, $line, 9999);
|
||||||
|
$name = $line_fields[1];
|
||||||
|
|
||||||
|
$structures{$structure_count++} = $name;
|
||||||
|
}
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
const unsigned long glibtop_server_features =
|
const unsigned long glibtop_server_features =
|
||||||
GLIBTOP_SUID_CPU +
|
GLIBTOP_SUID_CPU +
|
||||||
GLIBTOP_SUID_DISK +
|
|
||||||
GLIBTOP_SUID_MEM +
|
GLIBTOP_SUID_MEM +
|
||||||
GLIBTOP_SUID_SWAP +
|
GLIBTOP_SUID_SWAP +
|
||||||
GLIBTOP_SUID_UPTIME +
|
GLIBTOP_SUID_UPTIME +
|
||||||
@@ -45,21 +44,16 @@ GLIBTOP_SUID_PROC_KERNEL +
|
|||||||
GLIBTOP_SUID_PROC_SEGMENT +
|
GLIBTOP_SUID_PROC_SEGMENT +
|
||||||
GLIBTOP_SUID_PROC_ARGS +
|
GLIBTOP_SUID_PROC_ARGS +
|
||||||
GLIBTOP_SUID_PROC_MAP +
|
GLIBTOP_SUID_PROC_MAP +
|
||||||
GLIBTOP_SUID_PROC_OPEN_FILES +
|
|
||||||
GLIBTOP_SUID_NETLOAD +
|
GLIBTOP_SUID_NETLOAD +
|
||||||
GLIBTOP_SUID_NETLIST +
|
GLIBTOP_SUID_NETLIST +
|
||||||
GLIBTOP_SUID_PROC_WD +
|
GLIBTOP_SUID_PROC_WD +
|
||||||
GLIBTOP_SUID_PROC_AFFINITY +
|
GLIBTOP_SUID_PROC_AFFINITY +
|
||||||
GLIBTOP_SUID_PPP +
|
GLIBTOP_SUID_PPP;
|
||||||
GLIBTOP_SUID_PROC_IO;
|
|
||||||
|
|
||||||
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||||
#if !GLIBTOP_SUID_CPU
|
#if !GLIBTOP_SUID_CPU
|
||||||
_glibtop_init_cpu_s,
|
_glibtop_init_cpu_s,
|
||||||
#endif
|
#endif
|
||||||
#if !GLIBTOP_SUID_DISK
|
|
||||||
_glibtop_init_disk_s,
|
|
||||||
#endif
|
|
||||||
#if !GLIBTOP_SUID_MEM
|
#if !GLIBTOP_SUID_MEM
|
||||||
_glibtop_init_mem_s,
|
_glibtop_init_mem_s,
|
||||||
#endif
|
#endif
|
||||||
@@ -125,12 +119,6 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
|||||||
#endif
|
#endif
|
||||||
#if !GLIBTOP_SUID_PPP
|
#if !GLIBTOP_SUID_PPP
|
||||||
_glibtop_init_ppp_s,
|
_glibtop_init_ppp_s,
|
||||||
#endif
|
|
||||||
#if !GLIBTOP_SUID_PROC_IO
|
|
||||||
_glibtop_init_proc_io_s,
|
|
||||||
#endif
|
|
||||||
#if !GLIBTOP_SUID_PROC_OPEN_FILES
|
|
||||||
_glibtop_init_proc_open_files_s,
|
|
||||||
#endif
|
#endif
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
@@ -139,9 +127,6 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
|||||||
#if GLIBTOP_SUID_CPU
|
#if GLIBTOP_SUID_CPU
|
||||||
_glibtop_init_cpu_p,
|
_glibtop_init_cpu_p,
|
||||||
#endif
|
#endif
|
||||||
#if GLIBTOP_SUID_DISK
|
|
||||||
_glibtop_init_disk_p,
|
|
||||||
#endif
|
|
||||||
#if GLIBTOP_SUID_MEM
|
#if GLIBTOP_SUID_MEM
|
||||||
_glibtop_init_mem_p,
|
_glibtop_init_mem_p,
|
||||||
#endif
|
#endif
|
||||||
@@ -207,12 +192,6 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
|||||||
#endif
|
#endif
|
||||||
#if GLIBTOP_SUID_PPP
|
#if GLIBTOP_SUID_PPP
|
||||||
_glibtop_init_ppp_p,
|
_glibtop_init_ppp_p,
|
||||||
#endif
|
|
||||||
#if GLIBTOP_SUID_PROC_IO
|
|
||||||
_glibtop_init_proc_io_p,
|
|
||||||
#endif
|
|
||||||
#if GLIBTOP_SUID_PROC_OPEN_FILES
|
|
||||||
_glibtop_init_proc_open_files_p,
|
|
||||||
#endif
|
#endif
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -37,7 +37,9 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
|
|||||||
|
|
||||||
if (size == 0) return;
|
if (size == 0) return;
|
||||||
|
|
||||||
glibtop_debug("LIBRARY: really writing %d bytes.", (int)size);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", (int)size);
|
||||||
|
#endif
|
||||||
|
|
||||||
fd = server->socket ? server->socket : server->output[1];
|
fd = server->socket ? server->socket : server->output[1];
|
||||||
|
|
||||||
|
@@ -4,16 +4,20 @@ dnl
|
|||||||
dnl It defines the following variables:
|
dnl It defines the following variables:
|
||||||
dnl
|
dnl
|
||||||
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
||||||
dnl * 'libgtop_need_server' - is the server really needed? Defines 'LIBGTOP_NEED_SERVER'
|
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
|
||||||
dnl if true; defines conditional 'LIBGTOP_NEED_SERVER'.
|
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_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
|
||||||
AC_SUBST(libgtop_sysdeps_dir)
|
AC_SUBST(libgtop_sysdeps_dir)
|
||||||
|
AC_SUBST(libgtop_use_machine_h)
|
||||||
AC_SUBST(libgtop_need_server)
|
AC_SUBST(libgtop_need_server)
|
||||||
|
|
||||||
AC_ARG_WITH(examples,
|
AC_ARG_WITH(libgtop-examples,
|
||||||
AS_HELP_STRING([--with-examples],
|
AS_HELP_STRING([--with-examples],
|
||||||
[Build the libgtop examples @<:@default=yes@:>@]),[
|
[Build the libgtop examples @<:@default=yes@:>@]),[
|
||||||
build_examples="$withval"], [build_examples=yes])
|
build_examples="$withval"], [build_examples=yes])
|
||||||
@@ -27,58 +31,77 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
|
|
||||||
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
|
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
|
||||||
|
|
||||||
|
AC_ARG_WITH(libgtop-smp,
|
||||||
|
AS_HELP_STRING([--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, 1, [Define if libgtop supports SMP])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
|
||||||
|
|
||||||
AC_MSG_CHECKING(for libgtop sysdeps directory)
|
AC_MSG_CHECKING(for libgtop sysdeps directory)
|
||||||
|
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
linux*)
|
linux*)
|
||||||
libgtop_sysdeps_dir=linux
|
libgtop_sysdeps_dir=linux
|
||||||
|
libgtop_use_machine_h=no
|
||||||
libgtop_have_sysinfo=yes
|
libgtop_have_sysinfo=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=no
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
libgtop_sysdeps_private_mountlist=yes
|
||||||
libgtop_sysdeps_private_fsusage=yes
|
libgtop_sysdeps_private_fsusage=yes
|
||||||
libgtop_postinstall='chown root $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 4755 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
|
||||||
;;
|
;;
|
||||||
netbsd*|bsdi*)
|
netbsd*|openbsd*|bsdi*)
|
||||||
libgtop_sysdeps_dir=bsd
|
libgtop_sysdeps_dir=bsd
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 2755 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||||
;;
|
|
||||||
openbsd*)
|
|
||||||
libgtop_sysdeps_dir=openbsd
|
|
||||||
libgtop_need_server=yes
|
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
|
||||||
libgtop_sysdeps_private_fsusage=yes
|
|
||||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 2555 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
|
||||||
;;
|
;;
|
||||||
freebsd*|kfreebsd*)
|
freebsd*|kfreebsd*)
|
||||||
libgtop_sysdeps_dir=freebsd
|
libgtop_sysdeps_dir=freebsd
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
libgtop_sysdeps_private_mountlist=yes
|
||||||
libgtop_sysdeps_private_fsusage=yes
|
libgtop_sysdeps_private_fsusage=yes
|
||||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 2755 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||||
;;
|
;;
|
||||||
solaris*)
|
solaris*)
|
||||||
libgtop_sysdeps_dir=solaris
|
libgtop_sysdeps_dir=solaris
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_postinstall='chgrp sys $(DESTDIR)$(libexecdir)/libgtop_server && chmod 2755 $(DESTDIR)$(libexecdir)/libgtop_server'
|
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||||
;;
|
;;
|
||||||
aix*)
|
aix*)
|
||||||
libgtop_sysdeps_dir=aix
|
libgtop_sysdeps_dir=aix
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_have_sysinfo=yes
|
libgtop_have_sysinfo=yes
|
||||||
libgtop_postinstall='chgrp system $(DESTDIR)$(libexecdir)/libgtop_server && chmod g+s $(DESTDIR)$(libexecdir)/libgtop_server2'
|
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
||||||
;;
|
;;
|
||||||
darwin*)
|
darwin*)
|
||||||
libgtop_sysdeps_dir=darwin
|
libgtop_sysdeps_dir=darwin
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_have_sysinfo=yes
|
libgtop_have_sysinfo=yes
|
||||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod g+s $(DESTDIR)$(libexecdir)/libgtop_server2'
|
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
|
||||||
;;
|
|
||||||
cygwin*)
|
|
||||||
libgtop_sysdeps_dir=cygwin
|
|
||||||
libgtop_need_server=no
|
|
||||||
libgtop_have_sysinfo=yes
|
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test x$hacker_mode = xyes ; then
|
if test x$hacker_mode = xyes ; then
|
||||||
@@ -87,19 +110,23 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
#Please note that this port is obsolete and not working at
|
#Please note that this port is obsolete and not working at
|
||||||
#all. It is only useful for people who want to fix it ... :-)
|
#all. It is only useful for people who want to fix it ... :-)
|
||||||
libgtop_sysdeps_dir=sun4
|
libgtop_sysdeps_dir=sun4
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
;;
|
;;
|
||||||
osf*)
|
osf*)
|
||||||
libgtop_sysdeps_dir=osf1
|
libgtop_sysdeps_dir=osf1
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
libgtop_sysdeps_dir=stub
|
libgtop_sysdeps_dir=stub
|
||||||
|
libgtop_use_machine_h=no
|
||||||
libgtop_need_server=no
|
libgtop_need_server=no
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
libgtop_sysdeps_dir=stub
|
libgtop_sysdeps_dir=stub
|
||||||
|
libgtop_use_machine_h=no
|
||||||
libgtop_need_server=no
|
libgtop_need_server=no
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@@ -115,16 +142,30 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
|
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
*bsd*)
|
*bsd*)
|
||||||
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=)
|
case "$host_os" in
|
||||||
|
*kfreebsd*)
|
||||||
|
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS="-lkvm -lfreebsd -lbsd", KVM_LIBS=, -lfreebsd -lbsd);;
|
||||||
|
*)
|
||||||
|
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=);;
|
||||||
|
esac
|
||||||
|
|
||||||
AC_SUBST(KVM_LIBS)
|
AC_SUBST(KVM_LIBS)
|
||||||
|
|
||||||
AC_CHECK_LIB(util, kinfo_getfile)
|
case "$host_os" in
|
||||||
AC_CHECK_FUNCS(kinfo_getfile)
|
kfreebsd*)
|
||||||
|
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat"
|
||||||
|
;;
|
||||||
|
freebsd*)
|
||||||
|
osreldate=`sysctl -n kern.osreldate 2>/dev/null`
|
||||||
|
if test -n "${osreldate}" && test ${osreldate} -ge 600000 ; then
|
||||||
|
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
AC_CHECK_HEADERS(net/if_var.h,,, [
|
AC_SUBST(EXTRA_SYSDEPS_LIBS)
|
||||||
#include <net/if.h>
|
|
||||||
#include <sys/types.h>
|
AC_CHECK_HEADERS(net/if_var.h)
|
||||||
#include <sys/socket.h>])
|
|
||||||
AC_MSG_CHECKING([for I4B])
|
AC_MSG_CHECKING([for I4B])
|
||||||
AC_TRY_COMPILE([
|
AC_TRY_COMPILE([
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -189,10 +230,10 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING(what we need to define to get struct msginfo)
|
AC_MSG_CHECKING(what we need to define to get struct msginfo)
|
||||||
AC_CACHE_VAL(msginfo_cv_needs,
|
AC_CACHE_VAL(msginfo_needs,
|
||||||
msginfo_cv_needs=
|
msginfo_needs=
|
||||||
for def in nothing KERNEL _KERNEL; do
|
for def in nothing KERNEL _KERNEL; do
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([#define $def
|
AC_COMPILE_IFELSE([#define $def
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/ipc.h>
|
#include <sys/ipc.h>
|
||||||
#include <sys/msg.h>
|
#include <sys/msg.h>
|
||||||
@@ -204,23 +245,23 @@ main (void)
|
|||||||
struct msginfo mi;
|
struct msginfo mi;
|
||||||
mi.msgmax = 0;
|
mi.msgmax = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}])],
|
}],
|
||||||
[
|
[
|
||||||
msginfo_cv_needs=$def
|
msginfo_needs=$def
|
||||||
if test ${msginfo_cv_needs} = KERNEL; then
|
if test ${msginfo_needs} = KERNEL; then
|
||||||
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
|
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
|
||||||
[Define to 1 if we need to define KERNEL to get 'struct msginfo'])
|
[Define to 1 if we need to define KERNEL to get 'struct msginfo'])
|
||||||
elif test ${msginfo_cv_needs} = _KERNEL; then
|
elif test ${msginfo_needs} = _KERNEL; then
|
||||||
AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1,
|
AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1,
|
||||||
[Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
|
[Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
|
||||||
fi
|
fi
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
test -n "${msginfo_cv_needs}" && break
|
test -n "${msginfo_needs}" && break
|
||||||
done
|
done
|
||||||
)
|
)
|
||||||
AC_MSG_RESULT($msginfo_cv_needs)
|
AC_MSG_RESULT($msginfo_needs)
|
||||||
if test -z "${msginfo_cv_needs}"; then
|
if test -z "${msginfo_needs}"; then
|
||||||
AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
|
AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@@ -265,14 +306,22 @@ main (void)
|
|||||||
;;
|
;;
|
||||||
esac
|
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_CHECKING(whether we need libgtop)
|
||||||
AC_MSG_RESULT($libgtop_need_server)
|
AC_MSG_RESULT($libgtop_need_server)
|
||||||
|
|
||||||
if test x$libgtop_need_server = xyes ; then
|
if test x$libgtop_need_server = xyes ; then
|
||||||
AC_DEFINE(LIBGTOP_NEED_SERVER, 1, [Define if libgtop server is required])
|
AC_DEFINE(NEED_LIBGTOP, 1, [Define if libgtop is required])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CONDITIONAL(LIBGTOP_NEED_SERVER, test x$libgtop_need_server = xyes)
|
if test x$libgtop_use_machine_h = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H, 1,
|
||||||
|
[Define if machine.h in libgtop sysdeps dir])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
|
||||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
|
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
|
||||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
|
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
|
||||||
])
|
])
|
||||||
|
32
libgtop.doap
32
libgtop.doap
@@ -1,32 +0,0 @@
|
|||||||
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
|
||||||
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
|
||||||
xmlns:gnome="http://api.gnome.org/doap-extensions#"
|
|
||||||
xmlns="http://usefulinc.com/ns/doap#">
|
|
||||||
|
|
||||||
<name xml:lang="en">libgtop</name>
|
|
||||||
<shortdesc xml:lang="en">LibGTop2</shortdesc>
|
|
||||||
<description xml:lang="en">A library for collecting system monitoring data</description>
|
|
||||||
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
|
|
||||||
<bug-database rdf:resource="https://gitlab.gnome.org/GNOME/libgtop/issues/" />
|
|
||||||
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
|
|
||||||
<programming-language>C</programming-language>
|
|
||||||
|
|
||||||
<maintainer>
|
|
||||||
<foaf:Person>
|
|
||||||
<foaf:name>Benoît Dejean</foaf:name>
|
|
||||||
<foaf:mbox rdf:resource="mailto:benoit@placenet.org" />
|
|
||||||
<gnome:userid>bdejean</gnome:userid>
|
|
||||||
</foaf:Person>
|
|
||||||
</maintainer>
|
|
||||||
|
|
||||||
<maintainer>
|
|
||||||
<foaf:Person>
|
|
||||||
<foaf:name>Robert Roth</foaf:name>
|
|
||||||
<foaf:mbox rdf:resource="mailto:robert.roth.off@gmail.com" />
|
|
||||||
<gnome:userid>robertroth</gnome:userid>
|
|
||||||
</foaf:Person>
|
|
||||||
</maintainer>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
4
ltconfig
4
ltconfig
@@ -16,7 +16,7 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#
|
#
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
@@ -2756,7 +2756,7 @@ case "$ltmain" in
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#
|
#
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
@@ -1,96 +0,0 @@
|
|||||||
dnl -*- mode: autoconf -*-
|
|
||||||
dnl Copyright 2009 Johan Dahlin
|
|
||||||
dnl
|
|
||||||
dnl This file is free software; the author(s) gives unlimited
|
|
||||||
dnl permission to copy and/or distribute it, with or without
|
|
||||||
dnl modifications, as long as this notice is preserved.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
# serial 1
|
|
||||||
|
|
||||||
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
|
|
||||||
[
|
|
||||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
|
||||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
|
||||||
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
|
|
||||||
|
|
||||||
dnl enable/disable introspection
|
|
||||||
m4_if([$2], [require],
|
|
||||||
[dnl
|
|
||||||
enable_introspection=yes
|
|
||||||
],[dnl
|
|
||||||
AC_ARG_ENABLE(introspection,
|
|
||||||
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
|
|
||||||
[Enable introspection for this build]),,
|
|
||||||
[enable_introspection=auto])
|
|
||||||
])dnl
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for gobject-introspection])
|
|
||||||
|
|
||||||
dnl presence/version checking
|
|
||||||
AS_CASE([$enable_introspection],
|
|
||||||
[no], [dnl
|
|
||||||
found_introspection="no (disabled, use --enable-introspection to enable)"
|
|
||||||
],dnl
|
|
||||||
[yes],[dnl
|
|
||||||
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
|
|
||||||
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
|
|
||||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
|
|
||||||
found_introspection=yes,
|
|
||||||
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
|
|
||||||
],dnl
|
|
||||||
[auto],[dnl
|
|
||||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
|
|
||||||
],dnl
|
|
||||||
[dnl
|
|
||||||
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
|
|
||||||
])dnl
|
|
||||||
|
|
||||||
AC_MSG_RESULT([$found_introspection])
|
|
||||||
|
|
||||||
INTROSPECTION_SCANNER=
|
|
||||||
INTROSPECTION_COMPILER=
|
|
||||||
INTROSPECTION_GENERATE=
|
|
||||||
INTROSPECTION_GIRDIR=
|
|
||||||
INTROSPECTION_TYPELIBDIR=
|
|
||||||
if test "x$found_introspection" = "xyes"; then
|
|
||||||
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
|
||||||
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
|
||||||
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
|
||||||
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
|
|
||||||
INTROSPECTION_GIRDIR=`echo ${INTROSPECTION_GIRDIR} | sed -e "s|${datadir}|\\\$(datadir)|"`
|
|
||||||
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
|
||||||
INTROSPECTION_TYPELIBDIR=`echo ${INTROSPECTION_TYPELIBDIR} | sed -e "s|${libdir}|\\\$(libdir)|"`
|
|
||||||
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
|
|
||||||
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
|
|
||||||
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
|
|
||||||
fi
|
|
||||||
AC_SUBST(INTROSPECTION_SCANNER)
|
|
||||||
AC_SUBST(INTROSPECTION_COMPILER)
|
|
||||||
AC_SUBST(INTROSPECTION_GENERATE)
|
|
||||||
AC_SUBST(INTROSPECTION_GIRDIR)
|
|
||||||
AC_SUBST(INTROSPECTION_TYPELIBDIR)
|
|
||||||
AC_SUBST(INTROSPECTION_CFLAGS)
|
|
||||||
AC_SUBST(INTROSPECTION_LIBS)
|
|
||||||
AC_SUBST(INTROSPECTION_MAKEFILE)
|
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl Usage:
|
|
||||||
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
|
|
||||||
|
|
||||||
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
|
|
||||||
[
|
|
||||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Usage:
|
|
||||||
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
|
|
||||||
|
|
||||||
|
|
||||||
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
|
|
||||||
[
|
|
||||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
|
|
||||||
])
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user