Compare commits

..

5 Commits

Author SHA1 Message Date
Robert Roth
1ed2177a36 Use system bus instead of session bus 2013-11-25 18:58:44 +02:00
Robert Roth
6b264b847b Added initial processes Dbus object implementation with renice method 2013-09-03 23:39:56 +03:00
Robert Roth
009949a773 Fixed message prefix for method call 2013-09-02 22:23:22 +03:00
Robert Roth
2ab7ad075c Added initial almost-empty implementation of dbus service 2013-09-02 02:55:31 +03:00
Robert Roth
e4b740fb90 Renamed configure.in to configure.ac 2013-08-31 01:39:23 +03:00
600 changed files with 6398 additions and 7895 deletions

118
.gitignore vendored
View File

@@ -1,66 +1,83 @@
*.a
*.bak
*.core
*.diff
*.gmo
*.header
*.in
*.la
*.lo
*.new
*.o
*.old
*.out
*.patch
*.pot
*.s
*.sed
*.sin
*.stamp
*.swp
*~
.deps
.libs
ABOUT-NLS
service/*.o
service/.deps
service/gtop-dbus-service
sysdeps/Makefile
sysdeps/Makefile.in
sysdeps/*/Makefile
sysdeps/*/Makefile.in
sysdeps/*/.deps
sysdeps/*/.libs
sysdeps/*/*.o
sysdeps/*/*.lo
sysdeps/*/*.la
src/*/Makefile
src/*/Makefile.in
src/*/.deps
src/Makefile
src/Makefile.in
stamp-h1
po/*.gmo
po/stamp-it
po/POTFILES
po/Makefile.in.in
po/Makefile.in
po/Makefile
missing
misc/Makefile
misc/Makefile.in
m4/
ltmain.sh
libtool
libgtopconfig.h
libgtop.spec
libgtop-2.0.pc
lib/Makefile
lib/Makefile.in
lib/.deps
lib/.libs
lib/*.o
lib/*.lo
lib/*.la
lib/lib.c
lib/GTop-2.0.gir
lib/GTop-2.0.typelib
INSTALL
Makefile
Makevars.template
Rules-quot
\#*\#
Makefile.in
aclocal.m4
autom4te.cache/
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
depcomp
doc/Makefile
doc/Makefile.in
doc/libgtop2.info
doc/mdate-sh
doc/reference/Makefile
doc/reference/Makefile.in
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/.deps/
examples/.libs/
examples/*.o
examples/Makefile
examples/Makefile.in
examples/affinity
examples/df
examples/diskio
examples/first
examples/free
examples/mem
examples/mountlist
examples/netlist
examples/netload
@@ -75,21 +92,12 @@ examples/sysdeps
examples/timings
examples/wd
gtk-doc.make
include/Makefile
include/Makefile.in
include/glibtop/Makefile
include/glibtop/Makefile.in
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-*
intltool-extract.in
intltool-merge.in
intltool-update.in

View File

@@ -1,60 +0,0 @@
stages:
- build
- deploy
- package
- test
build-fedora:
image: fedora:latest
stage: build
except:
- tags
before_script:
- dnf update -y --nogpgcheck
- dnf -y install --nogpgcheck
gawk gettext-devel glib2-devel gobject-introspection-devel gtk-doc perl
texinfo texinfo-tex
script:
- ./autogen.sh --disable-dependency-tracking
- make
deploy-install:
stage: deploy
extends: build-fedora
script:
- ./autogen.sh --disable-dependency-tracking
- make install
package-distcheck:
stage: package
extends: build-fedora
script:
- ./autogen.sh --disable-dependency-tracking
- make distcheck
test-examples:
stage: test
extends: build-fedora
script:
- ./autogen.sh --disable-dependency-tracking
- make
- ./examples/affinity
- ./examples/df
- ./examples/diskio
- ./examples/first
- ./examples/free
- ./examples/mountlist
- ./examples/netlist
- ./examples/netload lo
- ./examples/openfiles
- ./examples/pprint
- ./examples/procargs
- ./examples/proclist
- ./examples/procmap
- ./examples/second
- ./examples/smp
- ./examples/sysdeps
- ./examples/timings
- ./examples/wd

View File

@@ -1,4 +1,3 @@
Martin Baulig (martin@home-of-linux.org)
Drazen Kacar (dave@srce.hr)
Benoît Dejean (bdejean@gmail.com)
Robert Roth (robert.roth.off@gmail.com)
Benoît Dejean (tazforever@dlfp.org)

View File

@@ -6,7 +6,7 @@ else
EXAMPLES_DIR =
endif
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc service
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
libgtopincludedir = $(includedir)/libgtop-2.0
@@ -15,9 +15,17 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
features.def libgtopconfig.h.in \
libgtop-sysdeps.m4 README \
libgtop-2.0.pc.in acinclude.m4 \
intltool-extract.in \
intltool-merge.in \
libgtop.doap \
intltool-update.in \
m4/introspection.m4
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update
dist-hook:
cp libgtop.spec $(distdir)

185
NEWS
View File

@@ -1,188 +1,3 @@
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.

0
TODO Normal file
View File

View File

@@ -1,40 +1,22 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
test -n "$srcdir" || srcdir=$(dirname "$0")
test -n "$srcdir" || srcdir=.
olddir=$(pwd)
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
cd $srcdir
PKG_NAME="Gnome Top Library"
(test -f configure.ac) || {
echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
exit 1
(test -f $srcdir/configure.ac \
&& test -f $srcdir/copyright.txt \
&& test -d $srcdir/sysdeps) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level gnome directory"
exit 1
}
# shellcheck disable=SC2016
PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
echo "*** If you wish to pass any to it, please specify them on the" >&2
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
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
REQUIRED_AUTOMAKE_VERSION=1.9
. gnome-autogen.sh

View File

@@ -3,21 +3,21 @@ dnl Configure script for the Gnome library
dnl
m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [40])
m4_define([libgtop_micro_version], [0])
m4_define([libgtop_minor_version], [28])
m4_define([libgtop_micro_version], [6])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals.
m4_define([libgtop_current], [11])
m4_define([libgtop_current], [9])
dnl increment any time the source changes; set to
dnl 0 if you increment CURRENT
m4_define([libgtop_revision], [1])
m4_define([libgtop_revision], [0])
dnl increment if any interfaces have been added; set to 0
dnl if any interfaces have been removed. removal has
dnl precedence over adding, so set to 0 if both happened.
m4_define([libgtop_age], [0])
m4_define([libgtop_age], [2])
# Increase each time you change the client/server protocol.
m4_define([libgtop_server_version], [5])
@@ -34,7 +34,6 @@ AC_CONFIG_HEADERS(config.h)
AC_CANONICAL_HOST
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])
@@ -92,9 +91,8 @@ GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES
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_LIBS)
@@ -213,22 +211,22 @@ AC_FUNC_ALLOCA
AC_FUNC_MMAP
AC_TYPE_SIGNAL
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
AM_GNU_GETTEXT_VERSION([0.19.6])
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6])
AM_GNU_GETTEXT([external])
IT_PROG_INTLTOOL([0.35.0])
GETTEXT_PACKAGE=libgtop-2.0
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[Define to the gettext package used by the library])
AM_GLIB_GNU_GETTEXT
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
AC_PATH_XTRA
dnl For Solaris
dnl Please don't move this before AC_PATH_XTRA
dnl Please don\'t move this before AC_PATH_XTRA
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
@@ -263,8 +261,7 @@ dnl Debugging
AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug],
[Turn on debugging @<:@default=no@:>@]),
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 0, [Define to disable debugging]))
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
AC_ARG_ENABLE(fatal-warnings,
AS_HELP_STRING([--enable-fatal-warnings],
[Make all warnings fatal @<:@debug=no@:>@]),
@@ -275,6 +272,14 @@ dnl These definitions are expanded in make.
LIBGTOP_LIBS='-L$(libdir)'
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
if test x$libgtop_use_machine_h = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
fi
if test x$libgtop_smp = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
fi
if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi
@@ -303,17 +308,24 @@ LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
AC_SUBST(machine_incs)
if test "$GCC" = "yes" ; then
CFLAGS="\
-Winline \
-Wall \
-std=gnu89 \
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wpointer-arith \
-Wcast-align -Wsign-compare \
$CFLAGS"
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 ...
AH_VERBATIM([_GNU_SOURCE],
@@ -332,7 +344,7 @@ AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
[The path to the libgtop server])
AC_SUBST(AM_CPPFLAGS)
AC_SUBST(INCLUDES)
AC_SUBST(LIBGTOP_EXTRA_LIBS)
AC_SUBST(GLIB_LIBS)
@@ -352,12 +364,20 @@ AC_SUBST(sysdeps_suid_lib)
AC_SUBST(server_programs)
GTK_DOC_CHECK(1.4)
GLIB_REQUIRED=2.37.3
PKG_CHECK_MODULES(GTOP_DBUS,
glib-2.0 >= $GLIB_REQUIRED
gio-2.0 >= $GLIB_REQUIRED
gio-unix-2.0 >= $GLIB_REQUIRED
)
AC_CONFIG_FILES([
Makefile
libgtop.spec
po/Makefile.in
misc/Makefile
service/Makefile
include/Makefile
include/glibtop/Makefile
sysdeps/Makefile

View File

@@ -16,7 +16,7 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/

2
debian/rules.in vendored
View File

@@ -10,7 +10,7 @@
i=$(shell pwd)/debian/tmp
b=$(shell pwd)/debian/build
configure: configure.ac
configure: configure.in
@echo "--- Making configure script and configuring"
chmod +x autogen.sh
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \

View File

@@ -46,9 +46,9 @@ HTML_IMAGES=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# 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)
AM_CPPFLAGS=
INCLUDES=
GTKDOC_LIBS=
# This includes the standard gtk-doc make rules, copied by gtkdocize.

View File

@@ -36,8 +36,8 @@
Documentation License</citetitle> from the Free Software
Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing
to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.</para>
to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.</para>
<para>Many of the names used by companies to distinguish their
products and services are claimed as trademarks. Where those

View File

@@ -1,17 +1,16 @@
## Process this file with automake to produce Makefile.in
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
-I$(top_srcdir)/sysdeps/$(sysdeps_dir) \
-DGTOPLOCALEDIR=\"$(localedir)\" \
$(GLIB_CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(AM_LDFLAGS) -o $@
INCLUDES = @INCLUDES@
DEFS = @DEFS@
AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
noinst_PROGRAMS = first second pprint procargs df netlist \
mountlist procmap netload sysdeps timings \
openfiles smp proclist free wd affinity diskio
openfiles smp proclist mem wd affinity
first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
@@ -43,7 +42,6 @@ pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
procargs_SOURCES = procargs.c
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
df_SOURCES = df.c
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
@@ -59,11 +57,8 @@ proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
wd_SOURCES = wd.c
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
free_SOURCE = mem.c
free_LDADD = $(top_builddir)/lib/libgtop-2.0.la
mem_SOURCE = mem.c
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
affinity_SOURCES = affinity.c
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
diskio_SOURCES = diskio.c
diskio_LDADD = $(top_builddir)/lib/libgtop-2.0.la

View File

@@ -13,45 +13,28 @@ static void print_fsusage(const char *mountpoint)
{
glibtop_fsusage buf;
enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX };
char **a = g_new0(char*, MAX);
glibtop_get_fsusage(&buf, mountpoint);
#define I(X) a[(X)]
I(SIZE) = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
I(USED) = g_format_size_full((buf.blocks - buf.bavail) * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
I(FREE) = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
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),
I(READ),
I(WRITE),
(unsigned long)buf.files,
(unsigned long)buf.ffree,
mountpoint
);
g_strfreev(a);
printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
mountpoint,
buf.blocks * buf.block_size >> 20,
(buf.blocks - buf.bavail) * buf.block_size >> 20,
buf.bavail * buf.block_size >> 20,
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
buf.read,
buf.write
);
}
int main(int argc, char **argv)
{
glibtop_mountlist buf;
glibtop_init();
printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
"(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
printf("%-30s %10s %10s %10s %5s %10s %10s\n",
"Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
if (argc > 1) {
while (*++argv)

View File

@@ -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;
}

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H

View File

@@ -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
View 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;
}

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -71,9 +71,7 @@ main (int argc, char *argv [])
printf ("Host = '%s' - %u\n\n", buffer, port);
#ifdef HAVE_SBRK
printf ("sbrk (0) = %p\n\n", sbrk (0));
#endif
for (c = 0; c < PROFILE_COUNT; c++) {
mount_entries = glibtop_get_mountlist (&mount_list, 1);
@@ -81,9 +79,7 @@ main (int argc, char *argv [])
g_free (mount_entries);
}
#ifdef HAVE_SBRK
printf ("sbrk (0) = %p\n\n", sbrk (0));
#endif
mount_entries = glibtop_get_mountlist (&mount_list, 1);
@@ -103,7 +99,7 @@ main (int argc, char *argv [])
glibtop_get_fsusage (&fsusage,
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,
fsusage.blocks, fsusage.bfree,
fsusage.bavail, fsusage.files,
@@ -112,9 +108,7 @@ main (int argc, char *argv [])
g_free (mount_entries);
#ifdef HAVE_SBRK
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
#endif
glibtop_close ();

View File

@@ -14,8 +14,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#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)
g_string_append_printf(repr, "%02X:",
((unsigned char*)buf->hwaddress)[i]);
(unsigned) ((char*)buf->hwaddress)[i]);
repr->str [ repr->len - 1] = ' ';
str = g_string_free(repr, FALSE);
@@ -118,22 +118,22 @@ main (int argc, char *argv [])
"\tAddress:\t\t0x%08x - %s\n"
"\tSubnet:\t\t\t0x%08x - %s\n\n"
"\tMTU:\t\t\t%d\n"
"\tCollisions:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tPackets In:\t\t%" G_GUINT64_FORMAT "\n"
"\tPackets Out:\t\t%" G_GUINT64_FORMAT "\n"
"\tPackets Total:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tBytes In:\t\t%" G_GUINT64_FORMAT "\n"
"\tBytes Out:\t\t%" G_GUINT64_FORMAT "\n"
"\tBytes Total:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tErrors In:\t\t%" G_GUINT64_FORMAT "\n"
"\tErrors Out:\t\t%" G_GUINT64_FORMAT "\n"
"\tErrors Total:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tCollisions:\t\t%llu\n\n"
"\tPackets In:\t\t%llu\n"
"\tPackets Out:\t\t%llu\n"
"\tPackets Total:\t\t%llu\n\n"
"\tBytes In:\t\t%llu\n"
"\tBytes Out:\t\t%llu\n"
"\tBytes Total:\t\t%llu\n\n"
"\tErrors In:\t\t%llu\n"
"\tErrors Out:\t\t%llu\n"
"\tErrors Total:\t\t%llu\n\n"
"\tAddress6:\t\t%s\n"
"\tPrefix6:\t\t%s\n"
"\tScope6:\t\t\t%#03x\n\n"
"\tHarware Address:\t%s\n\n",
(unsigned long long)netload.flags,
(unsigned long long)netload.if_flags,
netload.flags,
netload.if_flags,
(guint32) netload.address, address_string,
(guint32) netload.subnet, subnet_string,
netload.mtu,

View File

@@ -3,7 +3,6 @@
#endif
#include <glibtop.h>
#include <glibtop/sysinfo.h>
#include <glibtop/union.h>
@@ -18,68 +17,21 @@
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
(unsigned long) sizeof buf)
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = %" FORMAT "\n", \
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
#define PPRINT_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 { \
size_t i; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, \
(unsigned long) buf_offsetof(ARRAY), \
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
for (i = 0; i < (SIZE); ++i) { \
if (!buf.ARRAY[i] && i < (SIZE - 1) && !buf.ARRAY[i + 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 { \
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) 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); \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
} while(0)
#define FOOTER_PPRINT() putchar('\n');
static void pprint_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)
{
@@ -88,25 +40,25 @@ static void pprint_get_cpu(void)
glibtop_get_cpu(&buf);
HEADER_PPRINT(glibtop_get_cpu);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(total);
PPRINT_GUINT64(user);
PPRINT_GUINT64(nice);
PPRINT_GUINT64(sys);
PPRINT_GUINT64(idle);
PPRINT_GUINT64(iowait);
PPRINT_GUINT64(irq);
PPRINT_GUINT64(softirq);
PPRINT_GUINT64(frequency);
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_FLAGS(xcpu_flags);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(user, "%llu");
PPRINT(nice, "%llu");
PPRINT(sys, "%llu");
PPRINT(idle, "%llu");
PPRINT(iowait, "%llu");
PPRINT(irq, "%llu");
PPRINT(softirq, "%llu");
PPRINT(frequency, "%llu");
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu");
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu");
PPRINT(xcpu_flags, "%llx");
FOOTER_PPRINT();
}
@@ -120,15 +72,15 @@ static void pprint_get_fsusage(const char *mountpoint)
HEADER_PPRINT(glibtop_get_fsusage);
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(blocks);
PPRINT_GUINT64(bfree);
PPRINT_GUINT64(bavail);
PPRINT_GUINT64(files);
PPRINT_GUINT64(ffree);
PPRINT(block_size, "u");
PPRINT_GUINT64(read);
PPRINT_GUINT64(write);
PPRINT(flags, "%#llx");
PPRINT(blocks, "%llu");
PPRINT(bfree, "%llu");
PPRINT(bavail, "%llu");
PPRINT(files, "%llu");
PPRINT(ffree, "%llu");
PPRINT(block_size, "%u");
PPRINT(read, "%llu");
PPRINT(write, "%llu");
FOOTER_PPRINT();
}
@@ -141,11 +93,11 @@ static void pprint_get_loadavg(void)
glibtop_get_loadavg(&buf);
HEADER_PPRINT(glibtop_get_loadavg);
PPRINT_FLAGS(flags);
PPRINT_ARRAY(loadavg, 3, "f");
PPRINT_GUINT64(nr_running);
PPRINT_GUINT64(nr_tasks);
PPRINT_GUINT64(last_pid);
PPRINT(flags, "%#llx");
PPRINT_ARRAY(loadavg, 3, "%f");
PPRINT(nr_running, "%llu");
PPRINT(nr_tasks, "%llu");
PPRINT(last_pid, "%llu");
FOOTER_PPRINT();
}
@@ -158,15 +110,15 @@ static void pprint_get_mem(void)
glibtop_get_mem(&buf);
HEADER_PPRINT(glibtop_get_mem);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(total);
PPRINT_GUINT64(used);
PPRINT_GUINT64(free);
PPRINT_GUINT64(shared);
PPRINT_GUINT64(buffer);
PPRINT_GUINT64(cached);
PPRINT_GUINT64(user);
PPRINT_GUINT64(locked);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(used, "%llu");
PPRINT(free, "%llu");
PPRINT(shared, "%llu");
PPRINT(buffer, "%llu");
PPRINT(cached, "%llu");
PPRINT(user, "%llu");
PPRINT(locked, "%llu");
FOOTER_PPRINT();
}
@@ -182,12 +134,12 @@ static void pprint_get_mountlist(gboolean allfs)
HEADER_PPRINT(glibtop_get_mountlist);
printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(number);
PPRINT_GUINT64(total);
PPRINT_GUINT64(size);
PPRINT(flags, "%#llx");
PPRINT(number, "%llu");
PPRINT(total, "%llu");
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)
{
@@ -195,7 +147,7 @@ static void pprint_get_mountlist(gboolean allfs)
" .devname = \"%s\","
" .mountir = \"%s\","
" .type = \"%s\" }\n",
(unsigned long) i, (unsigned long long)entries[i].dev,
(unsigned long) i, entries[i].dev,
entries[i].devname,
entries[i].mountdir,
entries[i].type);
@@ -216,14 +168,14 @@ static void pprint_get_msg_limits(void)
glibtop_get_msg_limits(&buf);
HEADER_PPRINT(glibtop_get_msg_limits);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(msgpool);
PPRINT_GUINT64(msgmap);
PPRINT_GUINT64(msgmax);
PPRINT_GUINT64(msgmnb);
PPRINT_GUINT64(msgmni);
PPRINT_GUINT64(msgssz);
PPRINT_GUINT64(msgtql);
PPRINT(flags, "%#llx");
PPRINT(msgpool, "%llu");
PPRINT(msgmap, "%llu");
PPRINT(msgmax, "%llu");
PPRINT(msgmnb, "%llu");
PPRINT(msgmni, "%llu");
PPRINT(msgssz, "%llu");
PPRINT(msgtql, "%llu");
FOOTER_PPRINT();
}
@@ -237,7 +189,7 @@ static void pprint_get_netload(const char *iface)
HEADER_PPRINT(glibtop_get_netload);
printf("glibtop_get_netload (iface = \"%s\")\n", iface);
PPRINT_FLAGS(flags);
PPRINT(flags, "%#llx");
FOOTER_PPRINT();
}
@@ -271,12 +223,12 @@ static void pprint_get_swap(void)
glibtop_get_swap(&buf);
HEADER_PPRINT(glibtop_get_swap);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(total);
PPRINT_GUINT64(used);
PPRINT_GUINT64(free);
PPRINT_GUINT64(pagein);
PPRINT_GUINT64(pageout);
PPRINT(flags, "%#llx");
PPRINT(total, "%llu");
PPRINT(used, "%llu");
PPRINT(free, "%llu");
PPRINT(pagein, "%llu");
PPRINT(pageout, "%llu");
FOOTER_PPRINT();
}
@@ -289,10 +241,10 @@ static void pprint_get_uptime(void)
glibtop_get_uptime(&buf);
HEADER_PPRINT(glibtop_get_uptime);
PPRINT_FLAGS(flags);
PPRINT(uptime, "f");
PPRINT(idletime, "f");
PPRINT_GUINT64(boot_time);
PPRINT(flags, "%#llx");
PPRINT(uptime, "%f");
PPRINT(idletime, "%f");
PPRINT(boot_time, "%llu");
FOOTER_PPRINT();
}
@@ -306,12 +258,12 @@ static void pprint_get_proc_kernel(pid_t pid)
glibtop_get_proc_kernel(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_kernel);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(k_flags);
PPRINT_GUINT64(min_flt);
PPRINT_GUINT64(maj_flt);
PPRINT_GUINT64(cmin_flt);
PPRINT_GUINT64(cmaj_flt);
PPRINT(flags, "%#llx");
PPRINT(k_flags, "%llu");
PPRINT(min_flt, "%llu");
PPRINT(maj_flt, "%llu");
PPRINT(cmin_flt, "%llu");
PPRINT(cmaj_flt, "%llu");
FOOTER_PPRINT();
}
@@ -323,45 +275,22 @@ static void pprint_get_proc_mem(pid_t pid)
glibtop_get_proc_mem(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_mem);
PPRINT_FLAGS(flags);
PPRINT_GUINT64(size);
PPRINT_GUINT64(vsize);
PPRINT_GUINT64(resident);
PPRINT_GUINT64(share);
PPRINT_GUINT64(rss);
PPRINT_GUINT64(rss_rlim);
PPRINT(flags, "%#llx");
PPRINT(size, "%llu");
PPRINT(vsize, "%llu");
PPRINT(resident, "%llu");
PPRINT(share, "%llu");
PPRINT(rss, "%llu");
PPRINT(rss_rlim, "%llu");
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()
{
glibtop_init();
pprint_get_sysinfo();
pprint_get_cpu();
pprint_get_fsusage("/");
@@ -388,7 +317,6 @@ int main()
pprint_get_proc_kernel(getpid());
pprint_get_proc_mem(getpid());
pprint_get_proc_affinity(getpid());
glibtop_close();

View File

@@ -1,8 +1,5 @@
#include <glibtop.h>
#include <glibtop/proclist.h>
#include <glibtop/procstate.h>
#include <glibtop/proctime.h>
#include <glibtop/procuid.h>
#include <glib.h>
@@ -20,28 +17,14 @@ static void print_pids(guint64 which, guint64 arg)
pids = glibtop_get_proclist(&buf, which, arg);
for (i = 0; i < buf.number; ++i) {
glibtop_proc_time ptime;
glibtop_proc_uid puid;
glibtop_proc_state pstate;
printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
which, arg, (unsigned long)buf.number);
pid_t p = pids[i];
for (i = 0; i < buf.number; ++i)
printf("%u ", pids[i]);
glibtop_get_proc_time(&ptime, p);
glibtop_get_proc_uid(&puid, p);
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);
}
putchar('\n');
putchar('\n');
g_free(pids);
}
@@ -51,6 +34,7 @@ int main()
{
glibtop_init();
print_pids(GLIBTOP_KERN_PROC_ALL, 0);
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
glibtop_close();

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -39,36 +39,10 @@
#include <sys/resource.h>
#include <sys/mman.h>
#include <fcntl.h>
#ifndef PROFILE_COUNT
#define PROFILE_COUNT 1
#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
main (int argc, char *argv [])
{
@@ -104,18 +78,8 @@ main (int argc, char *argv [])
glibtop_init_r (&glibtop_global_server, 0, 0);
if (argc == 1) {
pid = getpid();
}
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]);
}
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
g_error ("Usage: %s pid", argv [0]);
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++) {
const char *filename = NULL;
char * format;
unsigned device, device_major, device_minor;
char perm [5];
@@ -140,32 +103,47 @@ main (int argc, char *argv [])
device_minor = (device & 255);
device_major = ((device >> 8) & 255);
if (sizeof (void*) == 8)
format = "%016lx-%016lx +%016lx (%8lu bytes mapped) - "
"%02x:%02x % 8lu - %.*s";
else
format = "%08lx-%08lx +%08lx (%8lu bytes mapped) - "
"%02x:%02x % 8lu - %.*s";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
(unsigned long) (maps [i].end - (maps [i].start + maps [i].offset)),
device_major, device_minor,
(unsigned long) maps [i].inode,
sizeof perm, perm);
if (filename) {
fprintf(stderr, " - %s", filename);
char *format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %5.5s - %s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %5.5s - %s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm, filename);
} else {
char * format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm);
}
fputc('\n', stderr);
g_print("smaps flags:%#llx size:%" G_GUINT64_FORMAT "KiB rss:%" G_GUINT64_FORMAT "KiB "
"shared_clean:%" G_GUINT64_FORMAT "Kib shared_dirty:%" G_GUINT64_FORMAT "KiB "
"private_clean:%" G_GUINT64_FORMAT "KiB private_dirty: %" G_GUINT64_FORMAT "KiB\n",
(unsigned long long)maps[i].flags,
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
"shared_clean:%lluKib shared_dirty:%lluKiB "
"private_clean:%lluKiB private_dirty: %lluKiB\n",
maps[i].flags,
maps[i].size >> 10,
maps[i].rss >> 10,
maps[i].shared_clean >> 10,

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -42,12 +42,14 @@ output (pid_t pid)
char *args;
unsigned i;
#if HAVE_LIBGTOP_SMP
unsigned long total;
double p_total, p_utime, p_stime;
double b_total, b_utime, b_stime;
double s_total, s_utime, s_stime;
double my_utime, my_stime;
unsigned int ncpu;
#endif
printf ("\n");
@@ -156,6 +158,7 @@ output (pid_t pid)
printf ("\n");
#if HAVE_LIBGTOP_SMP
ncpu = glibtop_global_server->ncpu;
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);
printf ("\n");
#endif
}
int

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -92,10 +92,9 @@ main (int argc, char *argv [])
"\tproc_time:\t%d\t0x%08lx\n"
"\tproc_signal:\t%d\t0x%08lx\n"
"\tproc_kernel:\t%d\t0x%08lx\n"
"\tproc_segment:\t%d\t0x%08lx\n"
"\tproc_segment:\t%d\t0x%08lx\n\n"
"\tproc_args:\t%d\t0x%08lx\n"
"\tproc_map:\t%d\t0x%08lx\n"
"\tproc_io:\t%d\t0x%08lx\n\n"
"\tproc_map:\t%d\t0x%08lx\n\n"
"\tmountlist:\t%d\t0x%08lx\n"
"\tfsusage:\t%d\t0x%08lx\n\n"
"\tnetload:\t%d\t0x%08lx\n"
@@ -138,8 +137,6 @@ main (int argc, char *argv [])
(unsigned long) sysdeps.proc_args,
FEATURE_CHECK(PROC_MAP),
(unsigned long) sysdeps.proc_map,
FEATURE_CHECK(PROC_IO),
(unsigned long) sysdeps.proc_io,
FEATURE_CHECK(MOUNTLIST),
(unsigned long) sysdeps.mountlist,
FEATURE_CHECK(FSUSAGE),

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -69,21 +69,6 @@
} \
} 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
main (int argc, char *argv [])
{
@@ -100,16 +85,13 @@ main (int argc, char *argv [])
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, 0);
display_self_times();
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
"Feature", "Flags", "Count", "utime", "stime");
printf ("-------------------------------------------"
"---------------\n");
glibtop_init_r (&glibtop_global_server, 0, 0);
getrusage (RUSAGE_SELF, &total_start);
getrusage (RUSAGE_SELF, &rusage_start);
@@ -412,26 +394,6 @@ main (int argc, char *argv [])
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_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);
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 "
"(1000000 ticks per second).\n\n");
display_self_times();
glibtop_close ();
exit (0);

View File

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

View File

@@ -15,24 +15,18 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_H__
#define __GLIBTOP_H__
/* for pid_t, uid_t, gid_t */
#include <sys/types.h>
#include <glib.h>
#include <glib-object.h>
G_BEGIN_DECLS
typedef struct _glibtop glibtop;
typedef struct _glibtop_machine glibtop_machine;
/**
* LIBGTOP_CHECK_VERSION
@@ -60,6 +54,10 @@ LIBGTOP_MICRO_VERSION >= (micro)))
#include <glibtop_server.h>
#ifdef HAVE_GLIBTOP_MACHINE_H
#include <glibtop_machine.h>
#endif
#ifndef GLIBTOP_MOUNTENTRY_LEN
#define GLIBTOP_MOUNTENTRY_LEN 79
#endif
@@ -70,6 +68,34 @@ LIBGTOP_MICRO_VERSION >= (micro)))
#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
{
unsigned flags;
@@ -91,57 +117,27 @@ struct _glibtop
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
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 */
};
#endif /* HAVE_GLIBTOP_MACHINE_H */
extern glibtop *glibtop_global_server;
extern const unsigned long glibtop_server_features;
/**
* glibtop_init:
*
* Returns: (transfer none):
*/
glibtop *
glibtop_init (void);
/**
* glibtop_init_r:
* @server_ptr: (out):
* @features:
* @flags:
*
* Returns: (transfer none):
*/
glibtop *
glibtop_init_r (glibtop **server_ptr,
unsigned long features,
unsigned flags);
/**
* glibtop_init_s: (skip)
* @server_ptr: (out):
* @features:
* @flags:
*
* Returns: (transfer none):
*/
glibtop *
glibtop_init_s (glibtop **server_ptr,
unsigned long features,
unsigned flags);
GType glibtop_get_type (void) G_GNUC_CONST;
G_END_DECLS
#endif

View File

@@ -2,16 +2,13 @@ glibtopdir = $(includedir)/libgtop-2.0/glibtop
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
sem_limits.h uptime.h command.h mem.h proclist.h \
proctime.h shm_limits.h cpu.h msg_limits.h \
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
procmem.h procuid.h swap.h \
procsegment.h sysdeps.h global.h \
procsignal.h union.h gnuserv.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \
sysinfo.h ppp.h procargs.h netload.h \
procwd.h procaffinity.h \
procio.h \
netlist.h procopenfiles.h open.h
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h machine.h \
version.h
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h

View File

@@ -19,8 +19,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_CALL_VECTOR_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_CLOSE_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_COMMAND_H__
@@ -59,9 +59,8 @@ G_BEGIN_DECLS
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
#define GLIBTOP_CMND_PROC_WD 26
#define GLIBTOP_CMND_PROC_AFFINITY 27
#define GLIBTOP_CMND_PROC_IO 28
#define GLIBTOP_MAX_CMND 29
#define GLIBTOP_MAX_CMND 28
#define _GLIBTOP_PARAM_SIZE 16

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_CPU_H__
@@ -54,7 +54,7 @@ G_BEGIN_DECLS
Yes we are :)
Nobody should really be using more than 32 processors.
*/
#define GLIBTOP_NCPU 1024
#define GLIBTOP_NCPU 32
typedef struct _glibtop_cpu glibtop_cpu;

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
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_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
#endif

View File

@@ -14,8 +14,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_FSUSAGE_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_GLOBAL_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_LOADAVG_H__

View File

@@ -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 */

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_MEM_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_MOUNTLIST_H__
@@ -53,38 +53,6 @@ struct _glibtop_mountlist
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_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_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

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_MSG_LIMITS_H__

View File

@@ -13,8 +13,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_NETLIST_H__
@@ -31,23 +31,12 @@ G_BEGIN_DECLS
typedef struct _glibtop_netlist glibtop_netlist;
/**
* glibtop_netlist:
* @number: Number of entries in the returned list.
*/
struct _glibtop_netlist
{
guint64 flags;
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);
#if GLIBTOP_SUID_NETLIST
@@ -56,39 +45,13 @@ char** glibtop_get_netlist(glibtop_netlist *buf);
#define glibtop_get_netlist_r glibtop_get_netlist_s
#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);
#if GLIBTOP_SUID_NETLIST
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);
#else
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);
#endif

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_NETLOAD_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_OPEN_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PARAMETER_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PPP_H__

View File

@@ -13,8 +13,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#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_ALL 1
#define GLIBTOP_MAX_PROC_AFFINITY 2
struct _glibtop_proc_affinity
{

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROC_ARGS_H__
@@ -79,15 +79,6 @@ char **
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len);
/**
* glibtop_get_proc_argv:
* @buf:
* @pid:
* @max_len:
*
* Returns: (transfer full):
*/
char **
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);

View File

@@ -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

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCKERNEL_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCLIST_H__
@@ -127,15 +127,6 @@ struct _glibtop_proclist
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*
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
@@ -145,16 +136,6 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
#define glibtop_get_proclist_r glibtop_get_proclist_s
#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*
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
@@ -162,32 +143,12 @@ glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
#if GLIBTOP_SUID_PROCLIST
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*
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
#else
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*
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROC_MAP_H__
@@ -48,10 +48,8 @@ G_BEGIN_DECLS
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
#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
@@ -80,8 +78,6 @@ struct _glibtop_map_entry
guint64 shared_dirty;
guint64 private_clean;
guint64 private_dirty;
guint64 pss;
guint64 swap;
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
};
@@ -92,46 +88,10 @@ struct _glibtop_proc_map
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
};
/**
* glibtop_get_proc_map:
* @buf:
* @pid:
*
* Returns: (transfer full) (array zero-terminated=1):
*/
glibtop_map_entry *
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
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
#else
@@ -153,8 +113,6 @@ glibtop_map_entry *
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
#endif
GType glibtop_map_entry_get_type (void) G_GNUC_CONST;
GType glibtop_proc_map_get_type (void) G_GNUC_CONST;
G_END_DECLS

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCMEM_H__
@@ -53,12 +53,6 @@ struct _glibtop_proc_mem
* 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);
#if GLIBTOP_SUID_PROC_MEM

View File

@@ -18,8 +18,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
@@ -94,49 +94,21 @@ struct _glibtop_proc_open_files
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_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
#else
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
#endif
/**
* glibtop_get_proc_open_files_l:
* @server:
* @buf: (out):
* @pid:
*
* Returns: (transfer full) (array zero-terminated=1):
*/
glibtop_open_files_entry *
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);
/**
* glibtop_get_proc_open_files_p:
* @server:
* @buf: (out):
* @pid:
*
* Returns: (transfer full) (array zero-terminated=1):
*/
glibtop_open_files_entry *
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#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);
#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
#endif

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCSEGMENT_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCSIGNAL_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCSTATE_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCTIME_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCUID_H__

View File

@@ -13,8 +13,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#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_ROOT 1
#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_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_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_READ_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_READ_DATA_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_SEM_LIMITS_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_SHM_LIMITS_H__
@@ -37,9 +37,6 @@ G_BEGIN_DECLS
typedef struct _glibtop_shm_limits glibtop_shm_limits;
/**
* glibtop_shm_limits:
*/
struct _glibtop_shm_limits
{
guint64 flags;
@@ -50,10 +47,6 @@ struct _glibtop_shm_limits
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
};
/**
* glibtop_get_shm_limits:
* @buf: a #glibtop_shm_limits
*/
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
#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
#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);
#if GLIBTOP_SUID_SHM_LIMITS
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);
#else
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);
#endif

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_SIGNAL_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_SWAP_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_SYSDEPS_H__
@@ -53,12 +53,8 @@ G_BEGIN_DECLS
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
#define GLIBTOP_SYSDEPS_PROC_WD 25
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
#define GLIBTOP_SYSDEPS_PROC_IO 27
#define GLIBTOP_MAX_SYSDEPS 28
/* The 'features' args to glibtop_init_* is an unsigned long */
G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX);
#define GLIBTOP_MAX_SYSDEPS 27
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
@@ -94,15 +90,6 @@ struct _glibtop_sysdeps
guint64 ppp; /* glibtop_ppp */
guint64 proc_wd; /* glibtop_proc_wd */
guint64 proc_affinity; /* glibtop_proc_affinity */
guint64 proc_io; /* glibtop_proc_io */
guint64 reserved0;
guint64 reserved1;
guint64 reserved2;
guint64 reserved3;
guint64 reserved4;
guint64 reserved5;
guint64 reserved6;
guint64 reserved7;
};
void glibtop_get_sysdeps (glibtop_sysdeps *buf);

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_SYSINFO_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_UNION_H__
@@ -44,7 +44,6 @@
#include <glibtop/procopenfiles.h>
#include <glibtop/procwd.h>
#include <glibtop/procaffinity.h>
#include <glibtop/procio.h>
#include <glibtop/mountlist.h>
#include <glibtop/fsusage.h>
@@ -85,7 +84,6 @@ union _glibtop_union
glibtop_proc_open_files proc_open_files;
glibtop_proc_wd proc_wd;
glibtop_proc_affinity proc_affinity;
glibtop_proc_io proc_io;
};
G_END_DECLS

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_UPTIME_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_VERSION_H__

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_WRITE_H__

View File

@@ -1,11 +1,11 @@
AM_CPPFLAGS = @AM_CPPFLAGS@
INCLUDES = @INCLUDES@
lib_LTLIBRARIES = libgtop-2.0.la
libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.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_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)
@@ -22,25 +22,25 @@ CLEANFILES = lib.c
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed --warn-all
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed
INTROSPECTION_COMPILER_ARGS =
if HAVE_INTROSPECTION
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h ../libgtopconfig.h \
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.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/msg_limits.h \
../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/version.h ../include/glibtop/cpu.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/procwd.h ../include/glibtop/procaffinity.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_INCLUDES = GObject-2.0
GTop_2_0_gir_CFLAGS = $(INCLUDES)
GTop_2_0_gir_LIBS = libgtop-2.0.la
GTop_2_0_gir_FILES = $(introspection_sources)
INTROSPECTION_GIRS += GTop-2.0.gir

View File

@@ -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);

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>

View File

@@ -15,12 +15,11 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop/error.h>
#include <glibtop/read.h>
#include <glibtop/write.h>
#include <glibtop/read_data.h>
@@ -36,44 +35,6 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
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_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;
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
@@ -91,8 +52,10 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
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);
#endif
if (recv_buf)
memcpy (recv_buf, ((char *) &response) + response.offset,

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
@@ -26,14 +26,12 @@
#include <glibtop/open.h>
#include <glibtop/parameter.h>
#include <glibtop/init_hooks.h>
#include <glibtop/machine.h>
#ifndef DEFAULT_PORT
#define DEFAULT_PORT 42800
#endif
static glibtop _glibtop_global_server;
static glibtop _glibtop_global_server = { 0 };
glibtop *glibtop_global_server = &_glibtop_global_server;
static void
@@ -143,7 +141,7 @@ _init_server (glibtop *server, const unsigned features)
/* Open pipe to server. */
server->method = GLIBTOP_METHOD_PIPE;
server->server_command = g_strdup(LIBGTOP_SERVER);
} else {
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. */
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
glibtop_machine_new (server);
if (flags & GLIBTOP_FEATURES_EXCEPT)
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. */
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
glibtop_open_l (server, "glibtop",
glibtop_open_l (glibtop_global_server, "glibtop",
features, flags);
return server;
@@ -226,8 +221,6 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
glibtop *server;
const _glibtop_init_func_t *init_fkt;
glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
if (server_ptr == NULL)
return NULL;

View File

@@ -1,8 +1,21 @@
#!/usr/bin/perl
$[ = 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 $_;
}
print '/* lib.c */';
print "/* This is a generated file. Please modify `lib.pl' */";
print '';
@@ -73,9 +86,9 @@ while (<>) {
sub output {
local($line) = @_;
@line_fields = split(/\|/, $line, 9999);
$retval = $line_fields[0];
$feature = $line_fields[1];
$param_def = $line_fields[2];
$retval = $line_fields[1];
$feature = $line_fields[2];
$param_def = $line_fields[4];
$orig = $feature;
$feature =~ s/^@//;
@@ -93,16 +106,16 @@ sub output {
}
if ($param_def eq 'string') {
$call_param = ', ' . $line_fields[3];
$call_param = ', ' . $line_fields[5];
$param_buf = '';
$buf_set = '';
$param_decl = ",\n " . $space . ' const char *' .
$line_fields[3];
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[3] . ';';
$line_fields[5];
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[5] . ';';
$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
$line_fields[3] . ') + 1;';
$line_fields[5] . ') + 1;';
}
else {
$call_param = '';
@@ -113,9 +126,9 @@ sub output {
$buf_set = '';
$nr_params = (@params = split(/:/, $param_def, 9999));
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];
$type = $params[$param];
$type =~ s/\(.*//;
@@ -124,13 +137,13 @@ sub output {
$count = (@fields = split(/,/, $list, 9999));
if ($count > 0) {
for ($field = 0; $field < $count; $field++) {
$param_buf .= "\t\t\t$convert{$type} buf_$fields[$field];\n";
$buf_set .= "\t\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
for ($field = 1; $field <= $count; $field++) {
$param_buf .= "\t\t$convert{$type} buf_$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 '') {
$param_decl = ",\n " . $space . ' ';
}
@@ -142,19 +155,19 @@ sub output {
$fields[$field];
$call_param = $call_param . ', ' . $fields[$field];
if ($send_ptr eq '') {
$send_ptr = "\t\tconst void *send_ptr = &param_buf;";
$send_ptr = "\n\tconst void *send_ptr = &param_buf;";
}
}
}
if ($nr_params) {
$param_buf .= "\t\t} param_buf;\n";
$send_size = "\t\tconst size_t send_size = sizeof param_buf;";
$param_buf .= "\t} param_buf;";
$send_size = "\n\tconst size_t send_size = sizeof param_buf;";
}
else {
$send_size = "\t\tconst size_t send_size = 0;";
$send_size = "\n\tconst size_t send_size = 0;";
}
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 . ')';
print "{";
print "{" . $param_buf;
print $send_ptr . '' . $send_size;
if ($retval !~ /^void$/) {
print "\t" . $retval . ' retval = (' . $retval . ') 0;';
}
print $buf_set;
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
uc($feature) . '), 0);';
&toupper($feature) . '), 0);';
print '';
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 "\t (server->features & (1 << GLIBTOP_SYSDEPS_" .
uc($feature) . ')))';
&toupper($feature) . ')))';
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_' .
uc($feature) . ',';
&toupper($feature) . ',';
print "\t\t\t\t" . $prefix_space . 'send_size, send_ptr,';
print "\t\t\t\t" . $prefix_space . 'sizeof (glibtop_' . $feature .
@@ -203,7 +209,7 @@ sub output {
print "\t} else {";
if ($orig !~ /^@/) {
print '#if (!GLIBTOP_SUID_' . uc($feature) . ')';
print '#if (!GLIBTOP_SUID_' . &toupper($feature) . ')';
}
print "\t\t" . $prefix . 'glibtop_get_' . $feature . '_s (server, buf' .

View File

@@ -52,8 +52,6 @@ glibtop_get_shm_limits
glibtop_get_shm_limits_l
glibtop_get_proc_affinity
glibtop_get_proc_affinity_l
glibtop_get_proc_io
glibtop_get_proc_io_l
glibtop_get_swap
glibtop_get_swap_l
glibtop_get_sysdeps
@@ -70,10 +68,3 @@ glibtop_open_l
glibtop_server_features
glibtop_set_parameter_l
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

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
@@ -47,44 +47,56 @@ glibtop_open_l (glibtop *server, const char *program_name,
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_mountentry), sizeof (glibtop_union),
sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
#endif
switch (server->method) {
case GLIBTOP_METHOD_DIRECT:
server->features = 0;
break;
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);
#endif
connect_type = glibtop_make_connection
(server->server_host, server->server_port,
&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->features = -1;
break;
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
("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->features = -1;
break;
case GLIBTOP_METHOD_PIPE:
glibtop_debug ("Opening pipe to server (%s).",
server->server_command);
#ifdef DEBUG
fprintf (stderr, "Opening pipe to server (%s).\n",
LIBGTOP_SERVER);
#endif
if (pipe (server->input) || pipe (server->output))
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]);
dup2 (server->input [1], 1);
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)",
server->server_command);
LIBGTOP_SERVER);
_exit (2);
}
@@ -153,14 +165,18 @@ glibtop_open_l (glibtop *server, const char *program_name,
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
glibtop_debug ("Server features are %#0lx.",
#ifdef DEBUG
fprintf (stderr, "Server features are %lu.\n",
server->features);
#endif
}
/* In any case, we call the open functions of our own sysdeps
* directory. */
glibtop_debug ("Calling sysdeps open function.");
#ifdef DEBUG
fprintf (stderr, "Calling sysdeps open function.\n");
#endif
glibtop_init_s (&server, features, flags);
}

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
@@ -33,7 +33,9 @@ glibtop_read_l (glibtop *server, size_t size, void *buf)
int fd;
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];

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
@@ -36,8 +36,10 @@ glibtop_read_data_l (glibtop *server)
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));
#endif
if (server->socket) {
ret = recv (server->socket, &size, sizeof (size_t), 0);
@@ -48,8 +50,10 @@ glibtop_read_data_l (glibtop *server)
if (ret < 0)
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);
#endif
if (!size) return NULL;

104
lib/structures.pl Normal file
View 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;
}

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
@@ -44,13 +44,11 @@ GLIBTOP_SUID_PROC_KERNEL +
GLIBTOP_SUID_PROC_SEGMENT +
GLIBTOP_SUID_PROC_ARGS +
GLIBTOP_SUID_PROC_MAP +
GLIBTOP_SUID_PROC_OPEN_FILES +
GLIBTOP_SUID_NETLOAD +
GLIBTOP_SUID_NETLIST +
GLIBTOP_SUID_PROC_WD +
GLIBTOP_SUID_PROC_AFFINITY +
GLIBTOP_SUID_PPP +
GLIBTOP_SUID_PROC_IO;
GLIBTOP_SUID_PPP;
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
#if !GLIBTOP_SUID_CPU
@@ -121,12 +119,6 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
#endif
#if !GLIBTOP_SUID_PPP
_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
NULL
};
@@ -200,12 +192,6 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
#endif
#if GLIBTOP_SUID_PPP
_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
NULL
};

View File

@@ -15,8 +15,8 @@
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.
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
@@ -37,7 +37,9 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
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];

View File

@@ -4,16 +4,20 @@ dnl
dnl It defines the following variables:
dnl
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
dnl * 'libgtop_need_server' - is the server really needed? Defines 'LIBGTOP_NEED_SERVER'
dnl if true; defines conditional 'LIBGTOP_NEED_SERVER'.
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
dnl their own header file. In this case we need to
dnl define 'HAVE_GLIBTOP_MACHINE_H'.
dnl * 'libgtop_need_server' - is the server really needed? Defines 'NEED_LIBGTOP'
dnl if true; defines conditional 'NEED_LIBGTOP'.
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_SUBST(libgtop_sysdeps_dir)
AC_SUBST(libgtop_use_machine_h)
AC_SUBST(libgtop_need_server)
AC_ARG_WITH(examples,
AC_ARG_WITH(libgtop-examples,
AS_HELP_STRING([--with-examples],
[Build the libgtop examples @<:@default=yes@:>@]),[
build_examples="$withval"], [build_examples=yes])
@@ -27,31 +31,59 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
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)
case "$host_os" in
linux*)
libgtop_sysdeps_dir=linux
libgtop_use_machine_h=no
libgtop_have_sysinfo=yes
libgtop_need_server=yes
libgtop_need_server=no
libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes
libgtop_postinstall='chown root $(bindir)/libgtop_server2 && chmod 4755 $(bindir)/libgtop_server2'
;;
netbsd*|bsdi*)
libgtop_sysdeps_dir=bsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
;;
openbsd*)
libgtop_sysdeps_dir=openbsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2555 $(bindir)/libgtop_server2'
;;
freebsd*|kfreebsd*)
libgtop_sysdeps_dir=freebsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes
@@ -59,23 +91,27 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
;;
solaris*)
libgtop_sysdeps_dir=solaris
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
;;
aix*)
libgtop_sysdeps_dir=aix
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_have_sysinfo=yes
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
;;
darwin*)
libgtop_sysdeps_dir=darwin
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_have_sysinfo=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
;;
cygwin*)
libgtop_sysdeps_dir=cygwin
libgtop_use_machine_h=no
libgtop_need_server=no
libgtop_have_sysinfo=yes
libgtop_sysdeps_private_mountlist=yes
@@ -87,19 +123,23 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
#Please note that this port is obsolete and not working at
#all. It is only useful for people who want to fix it ... :-)
libgtop_sysdeps_dir=sun4
libgtop_use_machine_h=yes
libgtop_need_server=yes
;;
osf*)
libgtop_sysdeps_dir=osf1
libgtop_use_machine_h=yes
libgtop_need_server=yes
;;
*)
libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no
;;
esac
else
libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no
fi
;;
@@ -118,13 +158,21 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=)
AC_SUBST(KVM_LIBS)
AC_CHECK_LIB(util, kinfo_getfile)
AC_CHECK_FUNCS(kinfo_getfile)
case "$host_os" in
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,,, [
#include <net/if.h>
#include <sys/types.h>
#include <sys/socket.h>])
AC_SUBST(EXTRA_SYSDEPS_LIBS)
AC_CHECK_HEADERS(net/if_var.h)
AC_MSG_CHECKING([for I4B])
AC_TRY_COMPILE([
#include <sys/types.h>
@@ -265,14 +313,22 @@ main (void)
;;
esac
AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
AC_MSG_RESULT($libgtop_use_machine_h)
AC_MSG_CHECKING(whether we need libgtop)
AC_MSG_RESULT($libgtop_need_server)
if test x$libgtop_need_server = xyes ; then
AC_DEFINE(LIBGTOP_NEED_SERVER, 1, [Define if libgtop server is required])
AC_DEFINE(NEED_LIBGTOP, 1, [Define if libgtop is required])
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_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
])

View File

@@ -8,8 +8,7 @@
<shortdesc xml:lang="en">LibGTop2</shortdesc>
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" />
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
<programming-language>C</programming-language>
<category rdf:resource="http://api.gnome.org/doap-extensions#desktop" />
<maintainer>
<foaf:Person>

View File

@@ -16,7 +16,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 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
# 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
# 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
# distribute this file as part of a program that contains a

View File

@@ -1,78 +0,0 @@
# Makefile variables for PO directory in any package using GNU gettext.
# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)
# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
# package. (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.) Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = libgtop authors
# This tells whether or not to prepend "GNU " prefix to the package
# name that gets inserted into the header of the $(DOMAIN).pot file.
# Possible values are "yes", "no", or empty. If it is empty, try to
# detect it automatically by scanning the files in $(top_srcdir) for
# "GNU packagename" string.
PACKAGE_GNU = no
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
# in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
# understood.
# - Strings which make invalid assumptions about notation of date, time or
# money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS = https://gitlab.gnome.org/GNOME/libgtop/issues
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =
# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
# context. Possible values are "yes" and "no". Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = yes
# These options get passed to msgmerge.
# Useful options are in particular:
# --previous to keep previous msgids of translated messages,
# --quiet to reduce the verbosity.
MSGMERGE_OPTIONS =
# These options get passed to msginit.
# If you want to disable line wrapping when writing PO files, add
# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
# MSGINIT_OPTIONS.
MSGINIT_OPTIONS =
# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
# has changed. Possible values are "yes" and "no". Set this to no if
# the POT file is checked in the repository and the version control
# program ignores timestamps.
PO_DEPENDS_ON_POT = no
# This tells whether or not to forcibly update $(DOMAIN).pot and
# regenerate PO files on "make dist". Possible values are "yes" and
# "no". Set this to no if the POT file and PO files are maintained
# externally.
DIST_DEPENDS_ON_UPDATE_PO = no

View File

@@ -12,7 +12,6 @@ msgstr ""
"PO-Revision-Date: 2003-01-16 08:39+EDT\n"
"Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n"
"Language-Team: Amharic <locales@geez.org>\n"
"Language: am\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -15,7 +15,6 @@ msgstr ""
"PO-Revision-Date: 2008-07-28 19:26+0300\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@arabeyes.org>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -12,7 +12,6 @@ msgstr ""
"PO-Revision-Date: 2011-08-17 16:13+0530\n"
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
"Language-Team: as_IN <kde-i18n-doc@kde.org>\n"
"Language: as\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -11,7 +11,6 @@ msgstr ""
"PO-Revision-Date: 2010-01-06 18:12+0100\n"
"Last-Translator: astur <malditoastur@gmail.com>\n"
"Language-Team: Asturian <alministradores@softastur.org>\n"
"Language: ast\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@@ -12,7 +12,6 @@ msgstr ""
"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
"Language-Team: Azerbaijani Turkish <translation-team-az@lists.sourceforge."
"net>\n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

100
po/be.po
View File

@@ -1,16 +1,14 @@
# Vital Khilko <dojlid@mova.org>, 2003.
# Ales Nyakhaychyk <nab@mail.by>, 2004.
# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2011.
# Yuras Shumovich <shumovichy@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop.master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-04-07 11:26+0000\n"
"PO-Revision-Date: 2017-09-01 19:01+0300\n"
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-24 19:42+0300\n"
"PO-Revision-Date: 2011-07-24 19:41+0300\n"
"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\n"
"MIME-Version: 1.0\n"
@@ -18,9 +16,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: KBabel 1.0.2\n"
#: lib/read.c:49
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
@@ -28,11 +26,11 @@ msgstr[0] "прачытаны %d байт"
msgstr[1] "прачытана %d байты"
msgstr[2] "прачытана %d байтаў"
#: lib/read_data.c:49
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "прачытаны памер даных"
#: lib/read_data.c:66
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
@@ -40,7 +38,7 @@ msgstr[0] "прачытаны %lu байт даных"
msgstr[1] "прачытана %lu байты даных"
msgstr[2] "прачытана %lu байтаў даных"
#: lib/write.c:49
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
@@ -48,150 +46,148 @@ msgstr[0] "запісаны %d байт"
msgstr[1] "запісана %d байты"
msgstr[2] "запісана %d байтаў"
#: src/daemon/gnuserv.c:456
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Уключыць адладачны код"
#: src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Уключыць падрабязны вывад"
#: src/daemon/gnuserv.c:460
msgid "Dont fork into background"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Не адгаліноўваць фонавы працэс"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Запушчаны з дапамогай inetd"
#: src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid ""
"Run “%s --help” to see a full list of available command line options.\n"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Каб убачыць спіс наяўных опцый загаднага радка, запусціце \"%s --help"
"\".\n"
"Каб убачыць спіс наяўных опцый загаднага радка, запусціце \"%s --help\".\n"
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Абрыў сувязі (HUP)"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Перарыў (INT)"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Выхад (QUIT)"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Забароненая інструкцыя (ILL)"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Захоп трасіроўкі (TRAP)"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Перарванне (ABRT)"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Памылка (EMT)"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Выключэнне float (FPE)"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Забойства (KILL)"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Памылка магістралі (BUS)"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Парушэнне сегментацыі (SEGV)"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Хібны аргумент сістэмнага выкліку (SYS)"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Зламаны канал (PIPE)"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Таймер (ALRM)"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Знішчэнне (TERM)"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Тэрміновыя даныя на сокеце (URG)"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Прыпыненне (STOP)"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Прыпыненне з клавіятуры (TSTP)"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Працяг працы (CONT)"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Змена стану нашчадка (CHLD)"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Фонавае чытанне з tty (TTIN)"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Фонавы запіс у tty (TTOU)"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "Магчымасць уводу/вываду (IO)"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Абмежаванне працэсара (XCPU)"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Абмежаванне памеру файла (XFSZ)"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Віртуальны таймер (VTALRM)"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Таймер прафілявання (PROF)"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Змена памераў акна (WINCH)"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Запыт інфармацыі (INFO)"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Карыстальніцкі сігнал 1 (USR1)"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Карыстальніцкі сігнал 2 (USR2)"

View File

@@ -1,18 +1,17 @@
# Bulgarian translation for libgtop po-file
# Copyright (C) 2002, 2004, 2005, 2007, 2017 Free Software Foundation, Inc.
# Copyright (C) 2002, 2004, 2005, 2007 Free Software Foundation, Inc.
# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2002.
# Yanko Kaneti <yaneti@declera.com>, 2002.
# Rostislav Raykov <zbrox@i-space.org>, 2004.
# Vladimir Petkov <kaladan@gmail.com>, 2005.
# Alexander Shopov <ash@kambanaria.org>, 2007, 2017.
# Alexander Shopov <ash@kambanaria.org>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-09-02 09:32+0300\n"
"PO-Revision-Date: 2017-08-25 11:00+0200\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-01 18:21+0300\n"
"PO-Revision-Date: 2012-04-01 18:20+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@@ -21,50 +20,50 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../lib/read.c:49
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "прочетен %d байт"
msgstr[1] "прочетени %d байта"
#: ../lib/read_data.c:49
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "прочетен е размерът на данните"
#: ../lib/read_data.c:66
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "прочетен %lu байт данни"
msgstr[1] "прочетени %lu байта данни"
#: ../lib/write.c:49
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "записан %d байт"
msgstr[1] "записани %d байта"
#: ../src/daemon/gnuserv.c:456
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Включване на изчистване на грешките"
#: ../src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Включване на подробен изход"
#: ../src/daemon/gnuserv.c:460
msgid "Dont fork into background"
msgstr "Да не се поражда процес във фонов режим"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Не се поражда процес във фонов режим"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Извикан от inetd"
#: ../src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run %s --help to see a full list of available command line options.\n"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Изпълнете „%s --help“ за пълния списък от опции за командата.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27

View File

@@ -15,7 +15,6 @@ msgstr ""
"PO-Revision-Date: 2010-01-21 16:02+0600\n"
"Last-Translator: Israt Jahan <israt@ankur.org.bd>\n"
"Language-Team: Bengali <ankur-bd-l10n@googlegroups.com>\n"
"Language: bn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

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