libgtop-GNOME-2-0-branch moved to HEAD.
2003-10-19 Carlos Perelló Marín <carlos@gnome.org> * libgtop-GNOME-2-0-branch moved to HEAD.
This commit is contained in:
committed by
Carlos Perelló Marín
parent
5e28a55218
commit
bae16b467f
19
.cvsignore
19
.cvsignore
@@ -1,7 +1,5 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
call-vector.h
|
||||
call-vector.h
|
||||
aclocal.m4
|
||||
config.cache
|
||||
config.h
|
||||
@@ -15,11 +13,11 @@ gtopConf.sh
|
||||
i386-bsdi
|
||||
i686-pc-linux-gnu
|
||||
intl
|
||||
libgtop-1.*.*.tar.gz
|
||||
libgtop-1.*.*
|
||||
libgtop-mirror.sh.swp
|
||||
libgtopConf.sh
|
||||
libtool
|
||||
ltconfig
|
||||
ltmain.sh
|
||||
macros
|
||||
stamp-h
|
||||
stamp-h.in
|
||||
@@ -32,13 +30,6 @@ i686-pc-linux-gnu-linux
|
||||
libgtop-config
|
||||
ABOUT-NLS
|
||||
libgtop.spec
|
||||
install-sh
|
||||
mkinstalldirs
|
||||
missing
|
||||
INSTALL
|
||||
COPYING
|
||||
glibtop-config.h
|
||||
stamp-gc-h
|
||||
build-debstamp
|
||||
install-debstamp
|
||||
libgtop.pc
|
||||
libgtop*.tar.gz
|
||||
*-debstamp
|
||||
libgtop*.pc
|
||||
|
@@ -7,18 +7,17 @@
|
||||
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
|
||||
#
|
||||
LIBGTOP_MAJOR_VERSION=1
|
||||
LIBGTOP_MINOR_VERSION=1
|
||||
LIBGTOP_MICRO_VERSION=6
|
||||
|
||||
# you can set this to `-snap' for instance to create
|
||||
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||
LIBGTOP_VERSION_SUFFIX=-snap
|
||||
LIBGTOP_MINOR_VERSION=90
|
||||
LIBGTOP_MICRO_VERSION=0
|
||||
|
||||
LIBGTOP_INTERFACE_AGE=0
|
||||
LIBGTOP_BINARY_AGE=0
|
||||
# you can set this to `-snap' for instance to create
|
||||
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||
LIBGTOP_VERSION_SUFFIX=
|
||||
|
||||
# Increase each time you change the client/server protocol.
|
||||
LIBGTOP_SERVER_VERSION=53
|
||||
LIBGTOP_SERVER_VERSION=5
|
||||
|
||||
# Don't change this
|
||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||
@@ -27,6 +26,3 @@ LIBGTOP_VERSION_CODE=`echo "$LIBGTOP_MAJOR_VERSION 1000000 * $LIBGTOP_MINOR_VERS
|
||||
# For automake.
|
||||
VERSION=$LIBGTOP_VERSION$LIBGTOP_VERSION_SUFFIX
|
||||
PACKAGE=libgtop
|
||||
|
||||
# This is the default translation domain for LibGTop
|
||||
LIBGTOP_PACKAGE=libgtop-$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
|
||||
|
81
Makefile.am
81
Makefile.am
@@ -1,26 +1,27 @@
|
||||
## Process this file with automake to produce Makefile.in.
|
||||
|
||||
SUBDIRS = po intl misc include lib sysdeps src doc dtd scripts
|
||||
if EXAMPLES
|
||||
examples_SUBDIRS = examples
|
||||
else
|
||||
examples_SUBDIRS =
|
||||
endif
|
||||
|
||||
include_HEADERS = glibtop.h
|
||||
configincludedir = $(pkglibdir)/include
|
||||
if BUILD_GNOME_SUPPORT
|
||||
support = support
|
||||
endif
|
||||
|
||||
SUBDIRS = . po $(support) misc include sysdeps lib src \
|
||||
$(examples_SUBDIRS) doc
|
||||
|
||||
libgtopinclude_HEADERS = glibtop.h
|
||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
||||
|
||||
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
|
||||
LIBGTOP-VERSION features.def structures.def libgtop-config.in \
|
||||
RELNOTES-0.25 RELNOTES-1.0 RELNOTES-1.1.x libgtop-sysdeps.m4 README \
|
||||
libgtop-mirror.sh libgtop-2.0.pc.in
|
||||
LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \
|
||||
RELNOTES-1.0 RELNOTES-1.0.x libgtop-sysdeps.m4 README \
|
||||
libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4
|
||||
|
||||
configinclude_DATA = \
|
||||
glibtop-config.h
|
||||
|
||||
BUILT_SOURCES = stamp-gc-h #note: not glibtop-config.h
|
||||
glibtop-config.h: stamp-gc-h
|
||||
@:
|
||||
stamp-gc-h: config.status
|
||||
CONFIG_FILES= CONFIG_HEADERS= CONFIG_OTHER=glibtop-config.h ./config.status
|
||||
echo timestamp > stamp-gc-h
|
||||
|
||||
dist-hook: libgtop.spec
|
||||
dist-hook:
|
||||
cp libgtop.spec $(distdir)
|
||||
|
||||
release:
|
||||
@@ -28,14 +29,24 @@ release:
|
||||
|
||||
## Put `exec' in the name because this should be installed by
|
||||
## `install-exec', not `install-data'.
|
||||
confexecdir = $(libdir)
|
||||
confexec_DATA = $(top_builddir)/libgtopConf.sh \
|
||||
$(top_builddir)/libgtop-features.def \
|
||||
$(top_builddir)/libgtop-structures.def
|
||||
## confexecdir = $(libdir)
|
||||
## confexec_DATA = $(top_builddir)/libgtopConf.sh \
|
||||
## $(top_builddir)/libgtop-features.def
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libgtop-2.0.pc
|
||||
|
||||
CLEANFILES=libgtopConf.sh
|
||||
|
||||
bin_SCRIPTS = libgtop-config
|
||||
## bin_SCRIPTS = $(top_builddir)/libgtop-config
|
||||
|
||||
## to automatically rebuild aclocal.m4 if any of the macros in
|
||||
## `macros/' change
|
||||
## @MAINT@ include macros/macros.dep
|
||||
## @MAINT@macros/macros.dep: macros/Makefile.am
|
||||
## @MAINT@ cd macros && $(MAKE) macros.dep
|
||||
|
||||
@MAINT@$(top_srcdir)/aclocal.m4: libgtop-sysdeps.m4 LIBGTOP-VERSION
|
||||
|
||||
## We create libgtopConf.sh here and not from configure because we want
|
||||
## to get the paths expanded correctly. Macros like srcdir are given
|
||||
@@ -44,14 +55,17 @@ bin_SCRIPTS = libgtop-config
|
||||
libgtopConf.sh: libgtopConf.sh.in Makefile
|
||||
## Use sed and then mv to avoid problems if the user interrupts.
|
||||
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
|
||||
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)#g' \
|
||||
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)/libgtop-2.0#g' \
|
||||
-e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \
|
||||
-e 's#\@LIBGTOP_BACKEND_DIR\@#$(LIBGTOP_BACKEND_DIR)#g' \
|
||||
-e 's#\@LIBGTOP_EXTRA_LIBS\@#$(LIBGTOP_EXTRA_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_LIBS\@#$(LIBGTOP_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_INCS\@#$(LIBGTOP_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_NAMES_LIBS\@#$(LIBGTOP_NAMES_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_NAMES_INCS\@#$(LIBGTOP_NAMES_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_LIBS\@#$(LIBGTOP_GUILE_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_INCS\@#$(LIBGTOP_GUILE_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_NAMES_LIBS\@#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_NAMES_INCS\@#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_BINDIR\@#$(LIBGTOP_BINDIR)#g' \
|
||||
-e 's#\@LIBGTOP_SERVER\@#$(LIBGTOP_SERVER)#g' \
|
||||
-e 's#\@LIBGTOP_MAJOR_VERSION\@#$(LIBGTOP_MAJOR_VERSION)#g' \
|
||||
@@ -60,25 +74,20 @@ libgtopConf.sh: libgtopConf.sh.in Makefile
|
||||
-e 's#\@LIBGTOP_VERSION\@#$(LIBGTOP_VERSION)#g' \
|
||||
-e 's#\@LIBGTOP_VERSION_CODE\@#$(LIBGTOP_VERSION_CODE)#g' \
|
||||
-e 's#\@LIBGTOP_SERVER_VERSION\@#$(LIBGTOP_SERVER_VERSION)#g' \
|
||||
-e 's#\@LIBGTOP_PACKAGE\@#$(LIBGTOP_PACKAGE)#g' \
|
||||
-e 's#\@libgtop_sysdeps_dir\@#$(libgtop_sysdeps_dir)#g' \
|
||||
-e 's#\@libgtop_need_server\@#$(libgtop_need_server)#g' \
|
||||
-e 's#\@libgtop_have_sysdeps\@#$(libgtop_have_sysdeps)#g' \
|
||||
-e 's#\@libgtop_use_machine_h\@#$(libgtop_use_machine_h)#g' \
|
||||
-e 's#\@libgtop_guile_found\@#$(libgtop_guile_found)#g' \
|
||||
-e 's#\@libgtop_want_examples\@#$(libgtop_want_examples)#g' \
|
||||
< $(srcdir)/libgtopConf.sh.in > libgtopConf.tmp \
|
||||
&& mv libgtopConf.tmp libgtopConf.sh
|
||||
|
||||
libgtop-config: libgtop-config.in Makefile
|
||||
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
|
||||
< $(srcdir)/libgtop-config.in > libgtop-config.tmp \
|
||||
&& mv libgtop-config.tmp libgtop-config && \
|
||||
chmod 755 libgtop-config
|
||||
# libgtop-config: libgtop-config.in Makefile
|
||||
# sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
|
||||
# < $(srcdir)/libgtop-config.in > libgtop-config.tmp \
|
||||
# && mv libgtop-config.tmp libgtop-config && \
|
||||
# chmod 755 libgtop-config
|
||||
|
||||
libgtop-features.def: features.def
|
||||
@LN_S@ $< $@
|
||||
|
||||
libgtop-structures.def: structures.def
|
||||
@LN_S@ $< $@
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libgtop-2.0.pc
|
||||
|
75
NEWS
75
NEWS
@@ -1,27 +1,68 @@
|
||||
February 16, 2000:
|
||||
February 27, 2001:
|
||||
=================
|
||||
|
||||
* Released LibGTop 1.1.5 "Sidney"
|
||||
* Released LibGTop 1.0.12 "Gerolzhofen".
|
||||
|
||||
This is a developer's snapshot for the GUADEC CD-ROM. It
|
||||
should work without problems on most recent GNU/Linux and
|
||||
BSD systems. The Solaris port compiles, but has some dynamic
|
||||
linking issues - please use LibGTop 1.1.2.1 on Solaris for
|
||||
the moment until this is fixed.
|
||||
- fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).
|
||||
|
||||
January 14, 1999:
|
||||
- fix for FreeBSD 4.2 from Rolf Grossmann (FreeBSD now uses
|
||||
`_KERNEL' instead of `KERNEL'). Bug #51334.
|
||||
|
||||
- for BSDI, comment out `subnet' field in netload; this should make
|
||||
it compile, but there may be other problems. Bug #13345.
|
||||
|
||||
This release is for GNOME 1.4 Beta2.
|
||||
|
||||
February 14, 2001:
|
||||
=================
|
||||
|
||||
* Released LibGTop 1.0.11 "Jasmin":
|
||||
|
||||
[The release which was supposed to be called "Gerolzhofen".]
|
||||
|
||||
- merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.
|
||||
|
||||
- minor OpenBSD fixes.
|
||||
|
||||
- again a bunch of updated translations.
|
||||
|
||||
Please test the Solaris stuff and report and bugs and
|
||||
problems as soon as possible; I'll make a new release
|
||||
for the 2nd beta of GNOME 1.4 if necessary.
|
||||
|
||||
November 20, 2000:
|
||||
=================
|
||||
|
||||
* Released LibGTop 1.0.10 "November Rain":
|
||||
|
||||
- this release contains a bunch of updated translations.
|
||||
|
||||
May 25, 2000:
|
||||
============
|
||||
|
||||
* Released LibGTop 1.0.9 "Stuttgart".
|
||||
|
||||
(LibGTop 1.0.8 "Frankfurt" was not publically released.)
|
||||
|
||||
February 15, 2000:
|
||||
=================
|
||||
|
||||
* Released LibGTop 1.0.7 "Copenhagen":
|
||||
|
||||
- this is a bug fix release for the GUADEC CD-ROM;
|
||||
it contains fixes in both the Linux and *BSD sysdeps
|
||||
directory.
|
||||
|
||||
October 18, 1999:
|
||||
================
|
||||
|
||||
* Released LibGTop 1.1.4 "Earthquake"
|
||||
* Released LibGTop 1.0.6 "October LibGTop":
|
||||
|
||||
This is the first developer's snapshot release after a
|
||||
longer development period with a lot of interface changes.
|
||||
- compilation fixes for FreeBSD.
|
||||
- updated reference manual.
|
||||
|
||||
October 19, 1999:
|
||||
================
|
||||
September 29, 1999:
|
||||
==================
|
||||
|
||||
* Released LibGTop 1.1.2 "Hardangervidda"
|
||||
|
||||
This is a stable release from the development branch
|
||||
of LibGTop for Solaris users of October GNOME.
|
||||
* Released LibGTop 1.0.5.
|
||||
|
||||
|
34
README
34
README
@@ -1,32 +1,8 @@
|
||||
This is the *development* branch of LibGTop. It is indended
|
||||
for people who want to help with the development of LibGTop and
|
||||
not for end-users.
|
||||
$Id$
|
||||
|
||||
Please use the LIBGTOP_STABLE_1_0 branch (which is LibGTop 1.0.x)
|
||||
unless you're really a developer.
|
||||
LATEST NEWS:
|
||||
===========
|
||||
|
||||
If you're using LibGTop from CVS simply do a
|
||||
Please look also in the file 'NEWS' for latest news.
|
||||
|
||||
cvs update -r LIBGTOP_STABLE_1_0
|
||||
|
||||
to get the latest version from the stable branch.
|
||||
|
||||
However, I'll periodically make snapshot releases from the development
|
||||
branch for Solaris users of LibGTop.
|
||||
|
||||
They can be found at
|
||||
|
||||
ftp://ftp.home-of-linux.org/pub/libgtop/1.1/
|
||||
|
||||
in near future.
|
||||
|
||||
Using released tarballs from the development branch is a lot better than
|
||||
compiling directly from CVS since things in CVS may not always work as
|
||||
expected.
|
||||
|
||||
Note that releases from the developer branch are neither binary
|
||||
nor fully source compatible; you'll normally have to recompile
|
||||
everything that use them.
|
||||
|
||||
October 1999
|
||||
Martin Baulig
|
||||
Martin
|
||||
|
@@ -87,7 +87,7 @@ LibGTop is currently used in various places in the GNOME Project,
|
||||
for instance in some of the applets in gnome-core and - of cause -
|
||||
this ultra-cool application called GTop ...
|
||||
|
||||
Although LibGTop is not specific to GNOME and under LGPL license, I
|
||||
Although LibGTop is not specific to GNOME and under GPL license, I
|
||||
spent most my time during the last months to work in the GNOME project
|
||||
so this is the primary use for LibGTop (and currently the only one).
|
||||
|
||||
|
68
acconfig.h
68
acconfig.h
@@ -1,18 +1,36 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* Define if gethostname () must be declared. */
|
||||
#undef NEED_DECLARATION_GETHOSTNAME
|
||||
|
||||
/* Define if setreuid () must be declared. */
|
||||
#undef NEED_DECLARATION_SETREUID
|
||||
|
||||
/* Define if setregid () must be declared. */
|
||||
#undef NEED_DECLARATION_SETREGID
|
||||
|
||||
/* Define if getpagesize () must be declared. */
|
||||
#undef NEED_DECLARATION_GETPAGESIZE
|
||||
|
||||
/* Define if program_invocation_name must be declared. */
|
||||
#undef NEED_DECLARATION_PROGRAM_INVOCATION_NAME
|
||||
|
||||
@TOP@
|
||||
|
||||
#undef ENABLE_NLS
|
||||
#undef HAVE_CATGETS
|
||||
#undef GETTEXT_PACKAGE
|
||||
#undef HAVE_GETTEXT
|
||||
#undef HAVE_LC_MESSAGES
|
||||
#undef HAVE_STPCPY
|
||||
#undef HAVE_STRUCT_OSOCKADDR
|
||||
#undef LIBGTOP_PACKAGE
|
||||
#undef PACKAGE
|
||||
#undef VERSION
|
||||
#undef HAVE_LIBSM
|
||||
#undef HAVE_LIBINTL_H
|
||||
#undef HAVE_GTK_SIGNAL_HANDLER_PENDING
|
||||
|
||||
/* Do not remove this comments and the empty lines; they are needed */
|
||||
#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
|
||||
/* Define if you have the Andrew File System. */
|
||||
#undef AFS
|
||||
|
||||
@@ -92,23 +110,61 @@
|
||||
SunOS 4.1.1 seems not to be affected.] */
|
||||
#undef STATFS_TRUNCATES_BLOCK_COUNTS
|
||||
|
||||
|
||||
/* to fix a bug in autoheader on DEC OSF1. */
|
||||
#undef HAVE_PROGRAM_INVOCATION_NAME
|
||||
|
||||
#undef HAVE_SOCKETS
|
||||
#undef HAVE_SOCKADDR_SUN_LEN
|
||||
|
||||
#undef HAVE_LIBJPEG
|
||||
#undef HAVE_LIBGIF
|
||||
#undef HAVE_LIBTIFF
|
||||
#undef HAVE_LIBZ
|
||||
#undef HAVE_LIBPNG
|
||||
#undef HAVE_GMP2_INCLUDE_DIR
|
||||
#undef HAVE_GUILE
|
||||
|
||||
#undef ssize_t
|
||||
#undef u_int64_t
|
||||
#undef int64_t
|
||||
#undef u_int8_t
|
||||
#undef int8_t
|
||||
|
||||
#undef HAVE_GLIBTOP_MACHINE_H
|
||||
|
||||
#undef GLIBTOP_NAMES
|
||||
#undef GLIBTOP_GUILE
|
||||
#undef GLIBTOP_GUILE_NAMES
|
||||
#undef GLIBTOP_EXAMPLES
|
||||
#undef GLIBTOP_INODEDB
|
||||
|
||||
#undef NEED_LIBGTOP
|
||||
|
||||
#undef HAVE_LINUX_TABLE
|
||||
#undef HAVE_LIBGTOP_SMP
|
||||
|
||||
#undef HAVE_XAUTH
|
||||
|
||||
/* Define if your have the I4B package. */
|
||||
#undef HAVE_I4B
|
||||
#undef HAVE_I4B_ACCT
|
||||
|
||||
/* Define to enable debugging. */
|
||||
#undef LIBGTOP_ENABLE_DEBUG
|
||||
#undef LIBGTOP_FATAL_WARNINGS
|
||||
|
||||
/* Define to use glib's malloc. */
|
||||
#undef LIBGTOP_USE_GLIB_MALLOC
|
||||
/* Same as LINUX_VERSION_CODE either from <linux/version.h> or from
|
||||
* the running kernel (if we don't have configured kernel sources).
|
||||
*/
|
||||
#undef GLIBTOP_LINUX_VERSION_CODE
|
||||
|
||||
/* Solaris release code (eg. 251 for Solaris 2.5.1). */
|
||||
#undef GLIBTOP_SOLARIS_RELEASE
|
||||
|
||||
/* Define if you want to use LibGTop without GNOME. */
|
||||
#undef WITHOUT_GNOME
|
||||
|
||||
/* Define if you have the <procfs.h> header file */
|
||||
#undef HAVE_PROCFS_H
|
||||
|
||||
/* Define if you have the <sys/procfs.h> header file */
|
||||
#undef HAVE_SYS_PROCFS_H
|
||||
|
492
acinclude.m4
492
acinclude.m4
@@ -1,3 +1,95 @@
|
||||
dnl This is just copied m4s from need-declaration.m4 gnome-fileutils.m4
|
||||
dnl gnome-supprt-checks.m4 and a little from gnome-libgtop-check.m4
|
||||
dnl and finally libgtop-sysdeps.m4
|
||||
|
||||
dnl
|
||||
dnl LIBGTOP_CHECK_TYPE
|
||||
dnl
|
||||
dnl Improved version of AC_CHECK_TYPE which takes into account
|
||||
dnl that we need to #include some other header files on some
|
||||
dnl systems to get some types.
|
||||
|
||||
dnl AC_LIBGTOP_CHECK_TYPE(TYPE, DEFAULT)
|
||||
AC_DEFUN([AC_LIBGTOP_CHECK_TYPE],
|
||||
[AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
AC_MSG_CHECKING(for $1)
|
||||
AC_CACHE_VAL(ac_cv_type_$1,
|
||||
[AC_EGREP_CPP(dnl
|
||||
changequote(<<,>>)dnl
|
||||
<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
|
||||
changequote([,]), [#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
/* For Tru64 */
|
||||
#ifdef HAVE_SYS_BITYPES_H
|
||||
#include <sys/bitypes.h>
|
||||
#endif
|
||||
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
|
||||
AC_MSG_RESULT($ac_cv_type_$1)
|
||||
if test $ac_cv_type_$1 = no; then
|
||||
AC_DEFINE($1, $2)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl GNOME_LIBGTOP_TYPES
|
||||
dnl
|
||||
dnl some typechecks for libgtop.
|
||||
dnl
|
||||
|
||||
AC_DEFUN([GNOME_LIBGTOP_TYPES],
|
||||
[
|
||||
AC_CHECK_HEADERS(sys/bitypes.h)
|
||||
AC_LIBGTOP_CHECK_TYPE(u_int64_t, unsigned long long int)
|
||||
AC_LIBGTOP_CHECK_TYPE(int64_t, signed long long int)
|
||||
])
|
||||
|
||||
dnl See whether we need a declaration for a function.
|
||||
dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES])
|
||||
AC_DEFUN([GCC_NEED_DECLARATION],
|
||||
[AC_MSG_CHECKING([whether $1 must be declared])
|
||||
AC_CACHE_VAL(gcc_cv_decl_needed_$1,
|
||||
[AC_TRY_COMPILE([
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#else
|
||||
#ifdef HAVE_STRINGS_H
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
$2],
|
||||
[char *(*pfn) = (char *(*)) $1],
|
||||
eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")])
|
||||
if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
gcc_need_declarations="$gcc_need_declarations $1"
|
||||
gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
||||
AC_DEFINE_UNQUOTED($gcc_tr_decl)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
])dnl
|
||||
|
||||
dnl Check multiple functions to see whether each needs a declaration.
|
||||
dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES])
|
||||
AC_DEFUN([GCC_NEED_DECLARATIONS],
|
||||
[for ac_func in $1
|
||||
do
|
||||
GCC_NEED_DECLARATION($ac_func, $2)
|
||||
done
|
||||
]
|
||||
)
|
||||
|
||||
dnl
|
||||
dnl GNOME_FILEUTILS_CHECKS
|
||||
dnl
|
||||
@@ -216,7 +308,7 @@ fi
|
||||
if test -z "$list_mounted_fs"; then
|
||||
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
|
||||
# FIXME -- no need to abort building the whole package
|
||||
# Can't build mountlist.c or anything that needs its functions
|
||||
# Cannot build mountlist.c or anything that needs its functions
|
||||
fi
|
||||
|
||||
AC_CHECKING(how to get filesystem space usage)
|
||||
@@ -250,11 +342,11 @@ AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
|
||||
#include <sys/param.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/mount.h>
|
||||
main ()
|
||||
int main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
fsd.f_fsize = 0;
|
||||
exit (statfs (".", &fsd, sizeof (struct statfs)));
|
||||
return (statfs (".", &fsd, sizeof (struct statfs)));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs3_osf1=yes,
|
||||
fu_cv_sys_stat_statfs3_osf1=no,
|
||||
@@ -281,11 +373,11 @@ AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
|
||||
#ifdef HAVE_SYS_VFS_H
|
||||
#include <sys/vfs.h>
|
||||
#endif
|
||||
main ()
|
||||
int main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
fsd.f_bsize = 0;
|
||||
exit (statfs (".", &fsd));
|
||||
return (statfs (".", &fsd));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs2_bsize=yes,
|
||||
fu_cv_sys_stat_statfs2_bsize=no,
|
||||
@@ -303,10 +395,10 @@ AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
|
||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
|
||||
[AC_TRY_RUN([#include <sys/types.h>
|
||||
#include <sys/statfs.h>
|
||||
main ()
|
||||
int main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
exit (statfs (".", &fsd, sizeof fsd, 0));
|
||||
return (statfs (".", &fsd, sizeof fsd, 0));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs4=yes,
|
||||
fu_cv_sys_stat_statfs4=no,
|
||||
@@ -330,11 +422,11 @@ AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
|
||||
#ifdef HAVE_SYS_MOUNT_H
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
main ()
|
||||
int main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
fsd.f_fsize = 0;
|
||||
exit (statfs (".", &fsd));
|
||||
return (statfs (".", &fsd));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs2_fsize=yes,
|
||||
fu_cv_sys_stat_statfs2_fsize=no,
|
||||
@@ -360,12 +452,12 @@ AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
|
||||
#ifdef HAVE_SYS_FS_TYPES_H
|
||||
#include <sys/fs_types.h>
|
||||
#endif
|
||||
main ()
|
||||
int main ()
|
||||
{
|
||||
struct fs_data fsd;
|
||||
/* Ultrix's statfs returns 1 for success,
|
||||
0 for not mounted, -1 for failure. */
|
||||
exit (statfs (".", &fsd) != 1);
|
||||
return (statfs (".", &fsd) != 1);
|
||||
}],
|
||||
fu_cv_sys_stat_fs_data=yes,
|
||||
fu_cv_sys_stat_fs_data=no,
|
||||
@@ -385,8 +477,8 @@ fi
|
||||
|
||||
if test -n "$list_mounted_fs" && test $space != no; then
|
||||
DF_PROG="df"
|
||||
# LIBOBJS="$LIBOBJS fsusage.o"
|
||||
# LIBOBJS="$LIBOBJS mountlist.o"
|
||||
# AC_LIBOBJ(fsusage)
|
||||
# AC_LIBOBJ(mountlist)
|
||||
fi
|
||||
|
||||
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
|
||||
@@ -412,3 +504,377 @@ AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
|
||||
AC_CHECKING(for AFS)
|
||||
test -d /afs && AC_DEFINE(AFS)
|
||||
])
|
||||
|
||||
dnl GNOME_SUPPORT_CHECKS
|
||||
dnl Check for various support functions needed by the standard
|
||||
dnl Gnome libraries. Sets LIBOBJS, might define some macros.
|
||||
dnl This should only be used when building the Gnome libs;
|
||||
dnl Gnome clients should not need this macro.
|
||||
AC_DEFUN([GNOME_SUPPORT_CHECKS],[
|
||||
# we need an `awk' to build `gnomesupport.h'
|
||||
AC_REQUIRE([AC_PROG_AWK])
|
||||
|
||||
# this should go away soon
|
||||
need_gnome_support=yes
|
||||
|
||||
AC_CHECK_FUNCS(getopt_long,,
|
||||
[AC_LIBOBJ(getopt)
|
||||
AC_LIBOBJ(getopt1)])
|
||||
|
||||
# for `scandir'
|
||||
AC_HEADER_DIRENT
|
||||
|
||||
# copied from `configure.in' of `libiberty'
|
||||
vars="program_invocation_short_name program_invocation_name sys_errlist"
|
||||
for v in $vars; do
|
||||
AC_MSG_CHECKING([for $v])
|
||||
AC_CACHE_VAL(gnome_cv_var_$v,
|
||||
[AC_TRY_LINK([int *p;], [extern int $v; p = &$v;],
|
||||
[eval "gnome_cv_var_$v=yes"],
|
||||
[eval "gnome_cv_var_$v=no"])])
|
||||
if eval "test \"`echo '$gnome_cv_var_'$v`\" = yes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
||||
AC_DEFINE_UNQUOTED($n)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
done
|
||||
|
||||
AC_REPLACE_FUNCS(memmove mkstemp scandir strcasecmp strerror strndup strnlen)
|
||||
AC_REPLACE_FUNCS(strtok_r strtod strtol strtoul vasprintf vsnprintf)
|
||||
|
||||
AC_CHECK_FUNCS(realpath,,AC_LIBOBJ(canonicalize))
|
||||
|
||||
# to include `error.c' error.c has some HAVE_* checks
|
||||
AC_CHECK_FUNCS(vprintf doprnt strerror_r)
|
||||
# stolen from am_func_error_at_line
|
||||
AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
|
||||
[AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
|
||||
am_cv_lib_error_at_line=yes,
|
||||
am_cv_lib_error_at_line=no)])
|
||||
if test $am_cv_lib_error_at_line = no; then
|
||||
AC_LIBOBJ(error)
|
||||
fi
|
||||
|
||||
# This is required if we declare setreuid () and setregid ().
|
||||
AC_TYPE_UID_T
|
||||
|
||||
# see if we need to declare some functions. Solaris is notorious for
|
||||
# putting functions into the `libc' but not listing them in the headers
|
||||
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h dirent.h)
|
||||
GCC_NEED_DECLARATIONS(gethostname setreuid setregid getpagesize)
|
||||
GCC_NEED_DECLARATION(scandir,[
|
||||
#ifdef HAVE_DIRENT_H
|
||||
#include <dirent.h>
|
||||
#endif
|
||||
])
|
||||
|
||||
AC_SUBST(need_gnome_support)
|
||||
|
||||
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, test "$need_gnome_support" = yes)
|
||||
])
|
||||
|
||||
|
||||
dnl This file is intended for use both internally in libgtop and in every program
|
||||
dnl that wants to use it.
|
||||
dnl
|
||||
dnl It defines the following variables:
|
||||
dnl
|
||||
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
||||
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
|
||||
dnl their own header file. In this case we need to
|
||||
dnl define 'HAVE_GLIBTOP_MACHINE_H'.
|
||||
dnl * 'libgtop_need_server' - is the server really needed? Defines 'NEED_LIBGTOP'
|
||||
dnl if true; defines conditional 'NEED_LIBGTOP'.
|
||||
|
||||
AC_DEFUN([LIBGTOP_HACKER_TESTS],[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
AC_ARG_WITH(linux-table,
|
||||
[ --with-linux-table Use the table () function from Martin Baulig],
|
||||
[linux_table="$withval"],[linux_table=auto])
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
if test $linux_table = yes ; then
|
||||
AC_CHECK_HEADER(linux/table.h, linux_table=yes, linux_table=no)
|
||||
elif test $linux_table = auto ; then
|
||||
AC_MSG_CHECKING(for table function in Linux Kernel)
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#include <linux/unistd.h>
|
||||
#include <linux/table.h>
|
||||
|
||||
#include <syscall.h>
|
||||
|
||||
static inline _syscall3 (int, table, int, type, union table *, tbl, const void *, param);
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
union table tbl;
|
||||
int ret;
|
||||
|
||||
ret = table (TABLE_VERSION, NULL, NULL);
|
||||
|
||||
if (ret == -1)
|
||||
exit (-errno);
|
||||
|
||||
exit (ret < 1 ? ret : 0);
|
||||
}
|
||||
], linux_table=yes, linux_table=no, linux_table=no)
|
||||
AC_MSG_RESULT($linux_table)
|
||||
fi
|
||||
if test $linux_table = yes ; then
|
||||
AC_DEFINE(HAVE_LINUX_TABLE)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
AC_SUBST(libgtop_sysdeps_dir)
|
||||
AC_SUBST(libgtop_use_machine_h)
|
||||
AC_SUBST(libgtop_need_server)
|
||||
|
||||
AC_ARG_WITH(libgtop-examples,
|
||||
[ --with-libgtop-examples Build the libgtop examples (default=no)],[
|
||||
build_examples="$withval"], [build_examples=no])
|
||||
|
||||
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
|
||||
|
||||
AC_ARG_ENABLE(hacker-mode,
|
||||
[ --enable-hacker-mode Enable building of unstable sysdeps],
|
||||
[hacker_mode="$enableval"], [hacker_mode=no])
|
||||
|
||||
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
|
||||
|
||||
linux_table=auto
|
||||
if test x$hacker_mode = xyes ; then
|
||||
LIBGTOP_HACKER_TESTS
|
||||
fi
|
||||
AM_CONDITIONAL(LINUX_TABLE, test $linux_table = yes)
|
||||
|
||||
AC_ARG_WITH(libgtop-smp,
|
||||
[ --with-libgtop-smp Enable SMP support (default-auto)],[
|
||||
libgtop_smp="$withval"],[libgtop_smp=auto])
|
||||
|
||||
if test $libgtop_smp = auto ; then
|
||||
AC_MSG_CHECKING(whether to enable SMP support)
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
libgtop_smp=yes
|
||||
;;
|
||||
aix*)
|
||||
libgtop_smp=yes
|
||||
;;
|
||||
*)
|
||||
libgtop_smp=no
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT($libgtop_smp)
|
||||
fi
|
||||
|
||||
if test $libgtop_smp = yes ; then
|
||||
AC_DEFINE(HAVE_LIBGTOP_SMP)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
|
||||
|
||||
AC_MSG_CHECKING(for libgtop sysdeps directory)
|
||||
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
if test x$linux_table = xyes ; then
|
||||
libgtop_sysdeps_dir=kernel
|
||||
libgtop_use_machine_h=no
|
||||
else
|
||||
libgtop_sysdeps_dir=linux
|
||||
libgtop_use_machine_h=no
|
||||
libgtop_have_sysinfo=yes
|
||||
fi
|
||||
libgtop_need_server=no
|
||||
;;
|
||||
freebsd*|netbsd*|openbsd*|bsdi*)
|
||||
libgtop_sysdeps_dir=freebsd
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||
;;
|
||||
solaris*)
|
||||
libgtop_sysdeps_dir=solaris
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||
;;
|
||||
aix*)
|
||||
libgtop_sysdeps_dir=aix
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
||||
;;
|
||||
*)
|
||||
if test x$hacker_mode = xyes ; then
|
||||
case "$host_os" in
|
||||
sunos4*)
|
||||
#Please note that this port is obsolete and not working at
|
||||
#all. It is only useful for people who want to fix it ... :-)
|
||||
libgtop_sysdeps_dir=sun4
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
;;
|
||||
osf*)
|
||||
libgtop_sysdeps_dir=osf1
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
;;
|
||||
*)
|
||||
libgtop_sysdeps_dir=stub
|
||||
libgtop_use_machine_h=no
|
||||
libgtop_need_server=no
|
||||
;;
|
||||
esac
|
||||
else
|
||||
libgtop_sysdeps_dir=stub
|
||||
libgtop_use_machine_h=no
|
||||
libgtop_need_server=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$libgtop_postinstall" && libgtop_postinstall=:
|
||||
|
||||
AC_MSG_RESULT($libgtop_sysdeps_dir)
|
||||
|
||||
AC_SUBST(libgtop_sysdeps_dir)
|
||||
AC_SUBST(libgtop_postinstall)
|
||||
AC_SUBST(libgtop_have_sysinfo)
|
||||
|
||||
case "$host_os" in
|
||||
*bsd*)
|
||||
AC_CHECK_HEADERS(net/if_var.h)
|
||||
AC_MSG_CHECKING([for I4B])
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <net/if_types.h>
|
||||
|
||||
#ifdef HAVE_NET_IF_VAR_H
|
||||
#include <net/if_var.h>
|
||||
#endif
|
||||
|
||||
#include <net/netisr.h>
|
||||
#include <net/route.h>
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
#include <net/if_sppp.h>
|
||||
#else
|
||||
#include <i4b/sppp/if_sppp.h>
|
||||
#endif
|
||||
],[
|
||||
size_t size = sizeof (struct sppp);
|
||||
], have_i4b=yes, have_i4b=no)
|
||||
AC_MSG_RESULT($have_i4b)
|
||||
if test x$have_i4b = xyes; then
|
||||
AC_DEFINE(HAVE_I4B)
|
||||
AC_MSG_CHECKING([for I4B accounting])
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <net/if_types.h>
|
||||
|
||||
#ifdef HAVE_NET_IF_VAR_H
|
||||
#include <net/if_var.h>
|
||||
#endif
|
||||
|
||||
#include <net/netisr.h>
|
||||
#include <net/route.h>
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
#include <net/if_sppp.h>
|
||||
#else
|
||||
#include <i4b/sppp/if_sppp.h>
|
||||
#endif
|
||||
|
||||
#include <machine/i4b_acct.h>
|
||||
],[
|
||||
size_t size = sizeof (struct i4bisppp_softc);
|
||||
], have_i4b_acct=yes, have_i4b_acct=no)
|
||||
AC_MSG_RESULT($have_i4b_acct)
|
||||
if test x$have_i4b_acct = xyes ; then
|
||||
AC_DEFINE(HAVE_I4B_ACCT)
|
||||
else
|
||||
AC_WARN([
|
||||
*** I4B accounting disabled - you won't get any PPP statistics.
|
||||
*** Read "misc/i4b_acct.txt" in the LibGTop source directory
|
||||
*** to see how to enable it.])
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
linux*)
|
||||
os_major_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
os_minor_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
os_micro_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
os_version_expr="$os_major_version 65536 * $os_minor_version 256 * + $os_micro_version + p q"
|
||||
|
||||
AC_CHECK_HEADERS(linux/version.h, have_linux_version_h=yes,
|
||||
have_linux_version_h=no)
|
||||
|
||||
if test x$have_linux_version_h = xyes ; then
|
||||
version_code=`cat /usr/include/linux/version.h | \
|
||||
grep \#define | grep LINUX_VERSION_CODE`
|
||||
os_version_code=`echo $version_code | \
|
||||
sed 's/^.*LINUX_VERSION_CODE[[ \t]]*\([[0-9]]*\).*$/\1/'`
|
||||
else
|
||||
os_version_code=`echo "$os_version_expr" | dc`
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for Linux kernel version code)
|
||||
AC_DEFINE_UNQUOTED(GLIBTOP_LINUX_VERSION_CODE, $os_version_code)
|
||||
AC_MSG_RESULT($os_version_code)
|
||||
;;
|
||||
solaris*)
|
||||
os_major_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\1/'`
|
||||
os_minor_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\2/'`
|
||||
os_micro_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\3/'`
|
||||
test -z "$os_micro_version" && os_micro_version=0
|
||||
os_version_expr="$os_major_version 100 * $os_minor_version 10 * + $os_micro_version + p q"
|
||||
os_version_code=`echo "$os_version_expr" | dc`
|
||||
|
||||
AC_MSG_CHECKING(for Solaris release code)
|
||||
AC_DEFINE_UNQUOTED(GLIBTOP_SOLARIS_RELEASE, $os_version_code)
|
||||
AC_MSG_RESULT($os_version_code)
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
|
||||
AC_MSG_RESULT($libgtop_use_machine_h)
|
||||
|
||||
AC_MSG_CHECKING(whether we need libgtop)
|
||||
AC_MSG_RESULT($libgtop_need_server)
|
||||
|
||||
if test x$libgtop_need_server = xyes ; then
|
||||
AC_DEFINE(NEED_LIBGTOP)
|
||||
fi
|
||||
|
||||
if test x$libgtop_use_machine_h = xyes ; then
|
||||
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
|
||||
])
|
||||
|
||||
|
||||
|
29
autogen.sh
29
autogen.sh
@@ -4,7 +4,7 @@
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
PKG_NAME="GNOME Portable System Access Library"
|
||||
PKG_NAME="Gnome Top Library"
|
||||
|
||||
(test -f $srcdir/configure.in \
|
||||
&& test -f $srcdir/copyright.txt \
|
||||
@@ -14,27 +14,8 @@ PKG_NAME="GNOME Portable System Access Library"
|
||||
exit 1
|
||||
}
|
||||
|
||||
which gnome-autogen.sh || {
|
||||
echo "You need to install gnome-common from the GNOME CVS"
|
||||
exit 1
|
||||
}
|
||||
USE_GNOME2_MACROS=1 . gnome-autogen.sh
|
||||
|
||||
echo ""
|
||||
echo " *** IMPORTANT *** "
|
||||
echo ""
|
||||
echo "This is a development version of LibGTop. You should be using a stable"
|
||||
echo "version, which is available at ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/"
|
||||
echo "The version you just configured is meant for developers of LibGTop only:"
|
||||
echo ""
|
||||
echo " * You should not base ANY software on this version of LibGTop."
|
||||
echo ""
|
||||
echo " *** You should be using LibGTop 1.0.x instead. ***"
|
||||
echo ""
|
||||
echo "If you are using this source tree from CVS, please run:"
|
||||
echo " cvs update -r LIBGTOP_STABLE_1_0"
|
||||
echo "now."
|
||||
echo ""
|
||||
echo "If you're a Solaris user, you should try out the LibGTop 1.1.2 release."
|
||||
echo "You can get it from ftp://ftp.home-of-linux.org/pub/libgtop/1.1/"
|
||||
echo ""
|
||||
echo "If you are using this source tree from CVS, you can use:"
|
||||
echo " cvs update -r LIBGTOP_1_1_2_PATCHES"
|
||||
echo "to get a bug fixed release of 1.1.2."
|
||||
echo ""
|
||||
|
389
configure.in
389
configure.in
@@ -1,74 +1,57 @@
|
||||
dnl
|
||||
dnl Configure script for LibGTop
|
||||
dnl Configure script for the Gnome library
|
||||
dnl
|
||||
|
||||
AC_INIT(copyright.txt)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
if test -z "$I_LIKE_PAIN"; then
|
||||
AC_MSG_ERROR([
|
||||
*** You don't want this version of libgtop!
|
||||
*** If you want the GNOME 2.0 port then check out
|
||||
*** the libgtop-GNOME-2-0-port branch of libgtop
|
||||
*** You can do this by typing
|
||||
*** cvs update -r libgtop-GNOME-2-0-port libgtop/
|
||||
*** in the directory above this one.
|
||||
*** If you are looking for the stable branch then
|
||||
*** check out the LIBGTOP_STABLE_1_0 branch
|
||||
***])
|
||||
fi
|
||||
LIBGTOP_MAJOR_VERSION=2
|
||||
LIBGTOP_MINOR_VERSION=0
|
||||
LIBGTOP_MICRO_VERSION=5
|
||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
|
||||
LIBGTOP_INTERFACE_AGE=5
|
||||
LIBGTOP_BINARY_AGE=5
|
||||
|
||||
dnl This is required at several places
|
||||
AC_CHECK_PROG(ac_dc_found, dc, yes, no)
|
||||
if test x$ac_dc_found != xyes ; then
|
||||
AC_MSG_ERROR([
|
||||
*** The "dc" utility was not found on your system.
|
||||
***
|
||||
*** When using RedHat Linux, you need to install the "bc" package.
|
||||
***
|
||||
*** It is now part of the "bc" package, so you should look at
|
||||
*** ftp://ftp.gnu.org/pub/gnu/bc/ if you want to compile it yourself.
|
||||
***
|
||||
*** Other systems and distributions may also have it in their "bc" package,
|
||||
*** so if there's no "dc" one, please look for "bc".
|
||||
***])
|
||||
fi
|
||||
# you can set this to `-snap' for instance to create
|
||||
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||
LIBGTOP_VERSION_SUFFIX=
|
||||
|
||||
. $srcdir/LIBGTOP-VERSION
|
||||
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
|
||||
# Increase each time you change the client/server protocol.
|
||||
LIBGTOP_SERVER_VERSION=5
|
||||
|
||||
# Version code calculation
|
||||
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_VERSION`
|
||||
|
||||
AC_SUBST(LIBGTOP_MAJOR_VERSION)
|
||||
AC_SUBST(LIBGTOP_MINOR_VERSION)
|
||||
AC_SUBST(LIBGTOP_MICRO_VERSION)
|
||||
AC_SUBST(LIBGTOP_INTERFACE_AGE)
|
||||
AC_SUBST(LIBGTOP_BINARY_AGE)
|
||||
AC_SUBST(LIBGTOP_SERVER_VERSION)
|
||||
AC_SUBST(LIBGTOP_VERSION)
|
||||
AC_SUBST(LIBGTOP_VERSION_CODE)
|
||||
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
|
||||
|
||||
AC_SUBST(LIBGTOP_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(LIBGTOP_PACKAGE, "$LIBGTOP_PACKAGE")
|
||||
|
||||
# libtool versioning
|
||||
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
|
||||
LT_CURRENT=`expr $LIBGTOP_MICRO_VERSION - $LIBGTOP_INTERFACE_AGE`
|
||||
LT_REVISION=$LIBGTOP_INTERFACE_AGE
|
||||
LT_AGE=`expr $LIBGTOP_BINARY_AGE - $LIBGTOP_INTERFACE_AGE`
|
||||
LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE} -release ${LT_RELEASE}'
|
||||
LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
|
||||
AC_SUBST(LT_VERSION_INFO)
|
||||
AC_SUBST(LT_RELEASE)
|
||||
AC_SUBST(LT_CURRENT)
|
||||
AC_SUBST(LT_REVISION)
|
||||
AC_SUBST(LT_AGE)
|
||||
|
||||
GNOME_COMMON_INIT
|
||||
GNOME_PLATFORM_GNOME_2(yes, force)
|
||||
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
|
||||
|
||||
AC_ISC_POSIX
|
||||
AC_PROG_CC
|
||||
AC_STDC_HEADERS
|
||||
AC_ARG_PROGRAM
|
||||
dnl AC_ARG_PROGRAM
|
||||
|
||||
dnl We need this at some places.
|
||||
libgtop_top_builddir=`pwd`
|
||||
@@ -87,10 +70,8 @@ AC_CHECK_TOOL(CC,gcc)
|
||||
AC_CHECK_TOOL(RANLIB,ranlib)
|
||||
AC_CHECK_TOOL(AS,as)
|
||||
AC_CHECK_TOOL(AR,ar)
|
||||
AC_CHECK_TOOL(NM,nm)
|
||||
|
||||
NM=`which $NM`
|
||||
export CC CXX RANLIB LD AS AR NM
|
||||
export CC CXX RANLIB LD AS AR
|
||||
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
@@ -98,27 +79,54 @@ AC_PROG_MAKE_SET
|
||||
|
||||
export cross_compiling
|
||||
|
||||
AC_LIBTOOL_DLOPEN
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl Let the user enable compiler warnings
|
||||
GNOME_COMPILE_WARNINGS
|
||||
dnl GNOME_COMPILE_WARNINGS
|
||||
|
||||
dnl PKGCONFIG_CHECK_MODULES(GNOMESUPPORT, libgnomesupport-2.0:1.96.0)
|
||||
dnl AC_SUBST(GNOMESUPPORT_CFLAGS)
|
||||
dnl AC_SUBST(GNOMESUPPORT_LIBS)
|
||||
dnl GNOME_INIT_HOOK(gnome_found=yes)
|
||||
|
||||
dnl if test "x$gnome_found" != xyes; then
|
||||
dnl if test "x$want_gnome" != xno ; then
|
||||
dnl AC_MSG_ERROR([
|
||||
dnl *** GNOME was not found on this system. ***
|
||||
dnl
|
||||
dnl *** If you want to use LibGTop without GNOME, you need
|
||||
dnl *** to give configure the --without-gnome parameter.
|
||||
dnl ])
|
||||
dnl else
|
||||
dnl AC_DEFINE(WITHOUT_GNOME)
|
||||
dnl fi
|
||||
dnl GNOME_SUPPORT_CHECKS
|
||||
dnl else
|
||||
dnl if test "x$want_gnome" != xno ; then
|
||||
dnl AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
|
||||
dnl else
|
||||
dnl GNOME_SUPPORT_CHECKS
|
||||
dnl fi
|
||||
dnl fi
|
||||
|
||||
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
|
||||
|
||||
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
||||
|
||||
PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.2.8)
|
||||
AC_SUBST(XML_CFLAGS)
|
||||
AC_SUBST(XML_LIBS)
|
||||
GNOME_LIBGTOP_SYSDEPS
|
||||
GNOME_LIBGTOP_TYPES
|
||||
|
||||
dnl AC_ARG_WITH(libgtop-guile,
|
||||
dnl [ --with-libgtop-guile Build the libgtop guile interface (default=no)],
|
||||
dnl [build_guile="$withval"], [build_guile=yes])
|
||||
|
||||
dnl if test x$build_guile != xno ; then
|
||||
dnl GNOME_CHECK_GUILE
|
||||
dnl fi
|
||||
|
||||
AC_ARG_WITH(libgtop-inodedb,
|
||||
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
|
||||
[build_inodedb="$withval"], [build_inodedb=no])
|
||||
|
||||
LIBGTOP_EXTRA_LIBS=
|
||||
|
||||
if test x$build_inodedb = xyes ; then
|
||||
AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no)
|
||||
fi
|
||||
@@ -129,16 +137,58 @@ if test x$build_inodedb = xyes ; then
|
||||
AC_DEFINE(GLIBTOP_INODEDB)
|
||||
fi
|
||||
|
||||
AC_DEFINE(GLIBTOP_NAMES)
|
||||
|
||||
if test x$ac_cv_guile_found = xyes ; then
|
||||
AC_DEFINE(GLIBTOP_GUILE)
|
||||
AC_DEFINE(GLIBTOP_GUILE_NAMES)
|
||||
libgtop_guile_found=yes
|
||||
guile_examples='third'
|
||||
guile_static_examples='third_static'
|
||||
guile_subdirs='guile'
|
||||
else
|
||||
libgtop_guile_found=no
|
||||
guile_examples=
|
||||
guile_static_examples=
|
||||
guile_subdirs=
|
||||
fi
|
||||
|
||||
if test x$libgtop_smp = xyes ; then
|
||||
smp_examples='smp'
|
||||
smp_static_examples='smp_static'
|
||||
else
|
||||
smp_examples=
|
||||
smp_static_examples=
|
||||
fi
|
||||
|
||||
if test "x$enable_static" != xno; then
|
||||
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $guile_static_examples $smp_static_examples"
|
||||
else
|
||||
static_targets=""
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
|
||||
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
|
||||
|
||||
AC_SUBST(static_targets)
|
||||
AC_SUBST(smp_examples)
|
||||
AC_SUBST(guile_examples)
|
||||
AC_SUBST(guile_subdirs)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl Check for glib
|
||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.1 gmodule-2.0 >= 1.3.1 gobject-2.0 >= 1.3.1)
|
||||
GLIB_REQUIRED=2.0.0
|
||||
|
||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
|
||||
dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
|
||||
|
||||
dnl You need to uncomment the following line if you want to use
|
||||
dnl libGTop without Gnome.
|
||||
GNOME_SUPPORT_CHECKS
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
@@ -150,7 +200,70 @@ AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
AC_TYPE_UID_T
|
||||
|
||||
dnl Check for Internet sockets.
|
||||
dnl For SunOS
|
||||
AC_CHECK_TYPE(ssize_t, int)
|
||||
AC_CHECK_HEADERS(memory.h)
|
||||
AC_CHECK_HEADERS(string.h strings.h, break)
|
||||
AC_REPLACE_FUNCS(strerror)
|
||||
|
||||
dnl dlopen() and dlsym()
|
||||
DL_LIB=
|
||||
AC_CHECK_FUNCS(dlopen,,[
|
||||
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
|
||||
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
|
||||
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
|
||||
])
|
||||
])
|
||||
])
|
||||
oLIBS="$LIBS"
|
||||
LIBS="$LIBS $DL_LIB"
|
||||
AC_CHECK_FUNCS(dlerror,,)
|
||||
LIBS="$oLIBS"
|
||||
AC_SUBST(DL_LIB)
|
||||
|
||||
dnl AIX
|
||||
AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the `vmgetinfo' function in libperfstat])
|
||||
AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO))
|
||||
|
||||
dnl Solaris
|
||||
AC_CHECK_LIB(kstat, kstat_open)
|
||||
AC_CHECK_FUNCS(getloadavg swapctl)
|
||||
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
|
||||
|
||||
dnl Some versions of Solaris require -lelf for -lkvm
|
||||
AC_CHECK_LIB(kvm, kvm_open,[
|
||||
LIBS="-lkvm $LIBS"
|
||||
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
|
||||
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
|
||||
[ac_save_LIBS="$LIBS"
|
||||
LIBS="-lkvm -lelf $LIBS"
|
||||
AC_TRY_LINK([char kvm_open();], [kvm_open()],
|
||||
ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
|
||||
LIBS="$ac_save_LIBS"
|
||||
])
|
||||
if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
LIBS="-lkvm -lelf $LIBS"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl For DEC OSF1
|
||||
AC_CHECK_LIB(mach, vm_statistics)
|
||||
|
||||
dnl For some broken libc5 systems (Debian 1.3)
|
||||
saved_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS -D_GNU_SOURCE"
|
||||
GCC_NEED_DECLARATION(program_invocation_name, [
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
])
|
||||
|
||||
CFLAGS=$saved_CFLAGS
|
||||
|
||||
AC_CHECK_FUNC(socket,
|
||||
[AC_CHECK_HEADER(netinet/in.h,
|
||||
[AC_CHECK_HEADER(arpa/inet.h, [
|
||||
@@ -172,93 +285,199 @@ AC_TYPE_SIGNAL
|
||||
AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||
|
||||
dnl ## all 'es_??' are only needed for format numbers different of 'es'
|
||||
ALL_LINGUAS="am az bg ca da de el es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fa fi fr ga gl hu id it ja ko ml mn nl nn no pl pt pt_BR ro ru sk sl sr sr@Latn sv tr uk vi zh_CN zh_TW"
|
||||
AM_GNOME2_GETTEXT
|
||||
ALL_LINGUAS="am ar az be bg bn ca cs cy da de el es et fa fi fr ga gl he hi hu id it ja ko lv mk ml mn ms nl nn no pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_TW"
|
||||
|
||||
GETTEXT_PACKAGE=libgtop-2.0
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
|
||||
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
|
||||
AC_PATH_XTRA
|
||||
|
||||
dnl For Solaris
|
||||
dnl Please don't move this before AC_PATH_XTRA
|
||||
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
|
||||
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
|
||||
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
|
||||
|
||||
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
|
||||
dnl So we use the following instead.
|
||||
dnl XE_SPACE(var, words)
|
||||
define([XE_SPACE],[
|
||||
T=""
|
||||
for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
|
||||
$1="$T"
|
||||
])dnl
|
||||
|
||||
dnl Autodetect Xauth
|
||||
dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||
test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
|
||||
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
|
||||
test -z "$with_xauth" && with_xauth=yes
|
||||
if test "$with_xauth" = "yes"; then
|
||||
AC_DEFINE(HAVE_XAUTH)
|
||||
XE_SPACE(libs_xauth, $X_LIBS -lXau)
|
||||
fi
|
||||
CPPFLAGS="$saved_CPPFLAGS"
|
||||
AC_SUBST(libs_xauth)
|
||||
|
||||
dnl For diskusage stuff
|
||||
GNOME_FILEUTILS_CHECKS
|
||||
|
||||
dnl Debugging
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]], libgtop_enable_debug=yes, libgtop_enable_debug=no)
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
|
||||
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
|
||||
AC_ARG_ENABLE(glib-malloc, [ --enable-glib-malloc use glib's malloc [default=auto]], libgtop_enable_glib_malloc=yes,)
|
||||
|
||||
if test "x$libgtop_enable_glib_malloc" != xyes ; then
|
||||
if test "x$libgtop_enable_debug" = xyes ; then
|
||||
libgtop_enable_glib_malloc=yes
|
||||
if test "x$gnome_found" = xyes ; then
|
||||
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
|
||||
SUPPORTINCS="$GNOME_INCLUDEDIR"
|
||||
else
|
||||
libgtop_enable_glib_malloc=no
|
||||
fi
|
||||
LIBSUPPORT='$(top_builddir)/support/libgnomesupport-2.0.la'
|
||||
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
|
||||
fi
|
||||
|
||||
if test "x$libgtop_enable_glib_malloc" = xyes ; then
|
||||
AC_DEFINE(LIBGTOP_USE_GLIB_MALLOC)
|
||||
fi
|
||||
|
||||
if test "x$libgtop_enable_debug" = xyes ; then
|
||||
AC_DEFINE(LIBGTOP_ENABLE_DEBUG)
|
||||
fi
|
||||
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS,
|
||||
dnl we include it here.
|
||||
case "$GNOME_LIBS" in
|
||||
'*-lgnomesupport*' )
|
||||
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
|
||||
SUPPORTINCS="$GNOME_INCLUDEDIR" ;;
|
||||
esac
|
||||
AC_SUBST(LIBSUPPORT)
|
||||
AC_SUBST(SUPPORTINCS)
|
||||
|
||||
dnl These definitions are expanded in make.
|
||||
LIBGTOP_LIBS='-L$(libdir)'
|
||||
LIBGTOP_INCS='-I$(includedir) -I$(pkglibdir)/include'
|
||||
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
|
||||
|
||||
if test x$libgtop_use_machine_h = xyes ; then
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
|
||||
fi
|
||||
|
||||
if test x$build_inodedb = xyes ; then
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
|
||||
fi
|
||||
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS $GNOMESUPPORT_CFLAGS $GLIB_CFLAGS $XML_CFLAGS"
|
||||
if test x$libgtop_smp = xyes ; then
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
|
||||
fi
|
||||
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS $XML_LIBS"
|
||||
if test x$libgtop_have_sysinfo = xyes ; then
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
||||
fi
|
||||
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop_common -lgtop"
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
|
||||
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS"
|
||||
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS"
|
||||
LIBGTOP_BINDIR='$(bindir)'
|
||||
LIBGTOP_SERVER='$(bindir)/libgtop_server2'
|
||||
|
||||
sysdeps_dir="$libgtop_sysdeps_dir"
|
||||
AC_SUBST(sysdeps_dir)
|
||||
|
||||
if test x$ac_cv_guile_found = xyes ; then
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile-2.0"
|
||||
libgtop_guile_found=yes
|
||||
else
|
||||
libgtop_guile_found=no
|
||||
fi
|
||||
|
||||
AC_SUBST(libgtop_guile_found)
|
||||
|
||||
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
|
||||
LIBGTOP_EXTRA_LIBS="$libs_xauth"
|
||||
else
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
|
||||
fi
|
||||
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
|
||||
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
|
||||
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0"
|
||||
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names-2.0 -lgtop_names-2.0"
|
||||
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS"
|
||||
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_NAMES_LIBS"
|
||||
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
|
||||
LIBGTOP_GUILE_INCS="$LIBGTOP_GUILE_INCS $GUILE_INCS -DGLIBTOP_GUILE"
|
||||
|
||||
LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES"
|
||||
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_GUILE_NAMES"
|
||||
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_NAMES"
|
||||
|
||||
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
||||
|
||||
AC_SUBST(machine_incs)
|
||||
|
||||
LIBGTOP_BACKEND_DIR="\$(datadir)/libgtop/backends"
|
||||
if test x$libgtop_guile_found = xyes ; then
|
||||
guile_def="-DGLIBTOP_GUILE -DGLIBTOP_GUILE_NAMES $GUILE_INCS "
|
||||
else
|
||||
guile_def=""
|
||||
fi
|
||||
|
||||
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -Werror -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include -I\$(top_builddir)/include -I\$(top_srcdir)/intl $GNOMESUPPORT_CFLAGS $GLIB_CFLAGS $XML_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_BACKEND_DIR=\"'"$LIBGTOP_BACKEND_DIR"'\"'
|
||||
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
|
||||
|
||||
AC_SUBST(INCLUDES)
|
||||
|
||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
||||
AC_SUBST(LIBGTOP_BACKEND_DIR)
|
||||
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
AC_SUBST(LIBGTOP_LIBS)
|
||||
AC_SUBST(LIBGTOP_INCS)
|
||||
AC_SUBST(LIBGTOP_NAMES_LIBS)
|
||||
AC_SUBST(LIBGTOP_NAMES_INCS)
|
||||
AC_SUBST(LIBGTOP_GUILE_LIBS)
|
||||
AC_SUBST(LIBGTOP_GUILE_INCS)
|
||||
AC_SUBST(LIBGTOP_GUILE_NAMES_LIBS)
|
||||
AC_SUBST(LIBGTOP_GUILE_NAMES_INCS)
|
||||
AC_SUBST(LIBGTOP_BINDIR)
|
||||
AC_SUBST(LIBGTOP_SERVER)
|
||||
|
||||
if test x$libgtop_need_server = xyes ; then
|
||||
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
|
||||
server_programs='libgtop_server2'
|
||||
else
|
||||
sysdeps_suid_lib=
|
||||
server_programs=
|
||||
fi
|
||||
AC_SUBST(sysdeps_suid_lib)
|
||||
AC_SUBST(server_programs)
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
libgtop.spec
|
||||
po/Makefile.in
|
||||
intl/Makefile
|
||||
misc/Makefile
|
||||
include/Makefile
|
||||
include/glibtop/Makefile
|
||||
sysdeps/Makefile
|
||||
sysdeps/common/Makefile
|
||||
sysdeps/names/Makefile
|
||||
sysdeps/guile/Makefile
|
||||
sysdeps/guile/names/Makefile
|
||||
sysdeps/stub/Makefile
|
||||
sysdeps/stub_suid/Makefile
|
||||
sysdeps/sun4/Makefile
|
||||
sysdeps/osf1/Makefile
|
||||
sysdeps/linux/Makefile
|
||||
sysdeps/kernel/Makefile
|
||||
sysdeps/freebsd/Makefile
|
||||
sysdeps/solaris/Makefile
|
||||
sysdeps/aix/Makefile
|
||||
src/Makefile
|
||||
src/daemon/Makefile
|
||||
src/inodedb/Makefile
|
||||
scripts/Makefile
|
||||
backends/Makefile
|
||||
backends/server/Makefile
|
||||
backends/sysdeps/Makefile
|
||||
backends/common/Makefile
|
||||
lib/Makefile
|
||||
examples/Makefile
|
||||
doc/Makefile
|
||||
dtd/Makefile
|
||||
libgtop-2.0.pc])
|
||||
support/Makefile
|
||||
libgtop-2.0.pc
|
||||
])
|
||||
|
7
debian/README.Debian
vendored
7
debian/README.Debian
vendored
@@ -1,10 +1,9 @@
|
||||
LibGTop CVS snapshots for Debian
|
||||
--------------------------------
|
||||
|
||||
This is a snapshot of LibGTop from the main CVS archive, built into a
|
||||
Debian package. This package is not guaranteed to work, as it was
|
||||
built automatically. You're on your own, mister or missus!
|
||||
This is a debian package made from a stable release of LibGTop, but it
|
||||
should be considered "unofficial" since I'm not a Debian Maintainer.
|
||||
|
||||
|
||||
Martin Baulig <martin@home-of-linux.org>, Fri, 14 Jan 2000 20:20:13 +0100
|
||||
Martin Baulig <martin@home-of-linux.org>, Wed, 16 Feb 2000 16:40:50 +0100
|
||||
|
||||
|
11
debian/changelog
vendored
11
debian/changelog
vendored
@@ -1,9 +1,10 @@
|
||||
libgtop (1.1.4-1) unstable; urgency=low
|
||||
* New upstream source
|
||||
* Non-maintainer upload; this is an unstable developer's snapshot from
|
||||
the GNOME CVS tree.
|
||||
libgtop (1.0.7-1) unstable; urgency=low
|
||||
* New upstream source (1.0.7 "Copenhagen" release)
|
||||
* Non-maintainer upload; since I'm not a Debian maintainer, this is some
|
||||
kind of "unofficial" debian package for LibGTop 1.0.7 - but I think it
|
||||
can be considered stable and working.
|
||||
|
||||
-- Martin Baulig <martin@home-of-linux.org> Fri, 14 Jan 2000 15:32:48 +0100
|
||||
-- Martin Baulig <martin@home-of-linux.org> Wed, 16 Feb 2000 16:40:50 +0100
|
||||
|
||||
libgtop (1.0.6-1) unstable; urgency=low
|
||||
* New upstream source
|
||||
|
4
debian/control.in
vendored
4
debian/control.in
vendored
@@ -4,7 +4,7 @@ Section: libs
|
||||
Priority: optional
|
||||
Standards-Version: 3.0.0
|
||||
|
||||
Package: libgtop2@SUFFIX@
|
||||
Package: libgtop1@SUFFIX@
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends}
|
||||
@@ -20,7 +20,7 @@ Description: Portable system access library (part of Gnome)
|
||||
Package: libgtop-dev@SUFFIX@
|
||||
Architecture: any
|
||||
Section: devel
|
||||
Depends: libgtop2@SUFFIX@ (= ${Source-Version})
|
||||
Depends: libgtop1@SUFFIX@ (= ${Source-Version})
|
||||
Description: Dev libraries for the portable system access library (part of Gnome)
|
||||
Gnome is the "GNU Network Object Model Environment"
|
||||
.
|
||||
|
2
debian/debconfigure
vendored
2
debian/debconfigure
vendored
@@ -93,7 +93,7 @@ do
|
||||
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
|
||||
done
|
||||
|
||||
for postinst in libgtop2$pkgsuffix
|
||||
for postinst in libgtop1$pkgsuffix
|
||||
do
|
||||
|
||||
cat > $postinst.postinst <<EOF
|
||||
|
1
debian/libgtop-dev.files.in
vendored
1
debian/libgtop-dev.files.in
vendored
@@ -15,7 +15,6 @@
|
||||
@PREFIX@/lib/libgtop_suid_common.so
|
||||
@PREFIX@/lib/libgtop_sysdeps.so
|
||||
@PREFIX@/lib/libgtop-features.def
|
||||
@PREFIX@/lib/libgtop-structures.def
|
||||
@PREFIX@/lib/libgtop/include/*.h
|
||||
@PREFIX@/include/glibtop/*.h
|
||||
@PREFIX@/include/glibtop.h
|
||||
|
8
debian/rules.in
vendored
8
debian/rules.in
vendored
@@ -66,14 +66,14 @@ install-saved:
|
||||
binary-indep: build install
|
||||
|
||||
binary-arch: build install \
|
||||
libgtop2@SUFFIX@ \
|
||||
libgtop1@SUFFIX@ \
|
||||
libgtop-dev@SUFFIX@
|
||||
|
||||
#
|
||||
# libgtop2@SUFFIX@
|
||||
# libgtop1@SUFFIX@
|
||||
#
|
||||
|
||||
libgtop2@SUFFIX@: install
|
||||
libgtop1@SUFFIX@: install
|
||||
@echo "--- Building: $@"
|
||||
dh_installdocs -p$@ -P$(b)/$@ README NEWS AUTHORS
|
||||
dh_installchangelogs -p$@ -P$(b)/$@ ChangeLog
|
||||
@@ -95,7 +95,7 @@ libgtop2@SUFFIX@: install
|
||||
libgtop-dev@SUFFIX@: install
|
||||
@echo "--- Building: $@"
|
||||
mkdir -p $(b)/$@/usr/doc
|
||||
cd $(b)/$@/usr/doc; ln -s libgtop2@SUFFIX@ $@
|
||||
cd $(b)/$@/usr/doc; ln -s libgtop1@SUFFIX@ $@
|
||||
dh_movefiles -p$@ -P$(b)/$@
|
||||
dh_strip -p$@ -P$(b)/$@
|
||||
dh_compress -p$@ -P$(b)/$@
|
||||
|
@@ -8,4 +8,3 @@ auto-macros.texi
|
||||
version.texi
|
||||
stamp-vti
|
||||
*.html *.pdf
|
||||
*.info-*
|
||||
|
@@ -1,10 +1,13 @@
|
||||
2002-01-09 Darin Adler <darin@bentspoon.com>
|
||||
2002-03-12 James Henstridge <james@daa.com.au>
|
||||
|
||||
* Makefile.am: Fix build breakage caused by bad MAKEINFO change.
|
||||
* Makefile.am (MAKEINFO): using += seems to screw up the build
|
||||
with newer automakes. Set it explicitly (using @MAKEINFO@) seems
|
||||
to be compatible with both.
|
||||
|
||||
2000-02-05 Martin Baulig <martin@home-of-linux.org>
|
||||
2001-11-26 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* reference.texi: Started to update documentation.
|
||||
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
|
||||
* about.texi: Very minor update.
|
||||
|
||||
1999-10-18 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
@@ -15,22 +18,7 @@
|
||||
|
||||
1999-09-29 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Reverted Timur's commit.
|
||||
(MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here. This still
|
||||
creates libgtop.info in srcdir, but that's an automake problem.
|
||||
|
||||
Tue Jun 15 15:59:50 1999 Timur Bakeyev <mc@bat.ru>
|
||||
|
||||
* Makefile.am: Force `auto-macros.texi' to be created in $(srcdir),
|
||||
as, otherwise, makeinfo is unable to find it, if srcdir != builddir.
|
||||
That's a buggy solution, as spoils srcdir, but, as libgtop.info also
|
||||
created in srcdir - this is acceptable. Both SHOULD be fixed!
|
||||
|
||||
1999-05-28 Martin Baulig <baulig@Stud.Informatik.Uni-Trier.DE>
|
||||
|
||||
* internals.texi: New file documenting LibGTop internals.
|
||||
* reference.texi: Started to document all library functions and
|
||||
finished the sysdeps and common references.
|
||||
* Makefile.am (MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here.
|
||||
|
||||
1999-05-16 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
info_TEXINFOS = libgtop.texi
|
||||
info_TEXINFOS = libgtop2.texi
|
||||
|
||||
libgtop_TEXINFOS = libgtop.texi about.texi reference.texi \
|
||||
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
|
||||
auto-macros.texi version.texi main.texi \
|
||||
white-paper.texi internals.texi
|
||||
white-paper.texi
|
||||
|
||||
MAKEINFO = @MAKEINFO@ -I @libgtop_top_builddir@/doc
|
||||
|
||||
@@ -11,7 +11,7 @@ EXTRA_DIST = auto-macros.texi.in
|
||||
auto-macros.texi: auto-macros.texi.in Makefile
|
||||
## Use sed and then mv to avoid problems if the user interrupts.
|
||||
sed -e 's#\%LIBGTOP_LIBDIR\%#$(libdir)#g' \
|
||||
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)#g' \
|
||||
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)/libgtop-2.0#g' \
|
||||
-e 's#\%LIBGTOP_DATADIR\%#$(datadir)#g' \
|
||||
-e 's#\%LIBGTOP_EXTRA_LIBS\%#$(LIBGTOP_EXTRA_LIBS)#g' \
|
||||
-e 's#\%LIBGTOP_LIBS\%#$(LIBGTOP_LIBS)#g' \
|
||||
|
@@ -7,9 +7,10 @@ and information about running Processes.
|
||||
On Systems like Solaris or Digital Unix where you need special privileges to
|
||||
get those data, it uses a setuid/setgid server to do so.
|
||||
|
||||
Even if LibGTop is a part of the GNOME desktop environment (@uref{http://www.gnome.org}),
|
||||
the main interface of LibGTop is totally independent from any particular desktop environment,
|
||||
so you can also use it as a standalone library in any piece of GPLed software.
|
||||
Even if LibGTop is a part of the GNOME desktop environment
|
||||
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
|
||||
independent from any particular desktop environment, so you can also use it
|
||||
as a standalone library in any piece of GPLed software.
|
||||
|
||||
@menu
|
||||
* Availability:: Where to get LibGTop
|
||||
@@ -32,10 +33,10 @@ latest release tarballs from
|
||||
@noindent
|
||||
or any of its mirror sites.
|
||||
|
||||
The latest stable version of LibGTop is 1.0.1 which is also the one that comes
|
||||
together with GNOME 1.0. In CVS, there is a @code{LIBGTOP_STABLE_1_0} branch
|
||||
which is rooted at the @code{LIBGTOP_1_0_1} tag while actual development occurs
|
||||
in the @code{HEAD} which currently has version 1.1.0.
|
||||
The latest stable version of LibGTop is 1.0.12 which is also the one that comes
|
||||
together with GNOME 1.0. It belongs to @code{LIBGTOP_STABLE_1_0} branch in CVS.
|
||||
Actual development occurs in the @code{libgtop-GNOME-2-0-port} which is
|
||||
currently versioned 1.90.0.
|
||||
|
||||
@node Supported Platforms, Mailing List, Availability, About
|
||||
@section Supported Platforms
|
||||
@@ -46,7 +47,7 @@ The stable branch currently supports the following platforms:
|
||||
@item All versions of Linux
|
||||
|
||||
LibGTop was tested under Linux 2.0.x and 2.2.x on the ix86 and the alpha, but
|
||||
it should also work without problems on SparcLinux.
|
||||
it should also work without problems on SparcLinux or Linux 2.4.x.
|
||||
|
||||
Note: I'm speaking of the Linux kernel here, not the GNU/Linux operating system.
|
||||
|
||||
@@ -115,6 +116,7 @@ me a lot in the early beginning.
|
||||
@item Timur Bakeyev for the BSDI port.
|
||||
@item Drazen Kacar and the other people on the LibGTop development mailing
|
||||
list for the Solaris port.
|
||||
@item Kevin Vandersloot for the effort to port to GNOME 2.0.
|
||||
@item All people sending me patches, having good ideas, ...
|
||||
@item Everyone I have forgotten in this list ...
|
||||
@end itemize
|
||||
|
@@ -4,23 +4,8 @@
|
||||
* About:: About LibGTop
|
||||
* White Paper:: LibGTop White Paper
|
||||
* Reference Manual:: LibGTop Reference Manual
|
||||
* LibGTop Internals:: LibGTop Internals
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@detailmenu --- The Detailed Node Listing ---
|
||||
--- The Detailed Node Listing ---
|
||||
|
||||
About LibGTop
|
||||
|
||||
@@ -33,7 +18,6 @@ LibGTop White Paper
|
||||
|
||||
* Introduction:: Introduction
|
||||
* Overview:: Overview
|
||||
* Servers and Daemons:: Servers and Daemons
|
||||
|
||||
Overview
|
||||
|
||||
@@ -45,8 +29,6 @@ LibGTop Reference Manual
|
||||
* System Dependent:: System Dependent Functions.
|
||||
* Common Functions:: Common Functions.
|
||||
* Library Functions:: Library Functions.
|
||||
* Generic Structures:: Generic Structures.
|
||||
* Enums and Typedefs:: Enums and Typedefs.
|
||||
|
||||
System Dependent Functions
|
||||
|
||||
@@ -65,7 +47,6 @@ System Dependent Functions
|
||||
* glibtop_proc_segment:: Process Segment Information.
|
||||
* glibtop_proc_args:: Process Arguments.
|
||||
* glibtop_proc_map:: Process Memory Maps.
|
||||
* glibtop_netinfo:: Network Information.
|
||||
* glibtop_netload:: Network Load.
|
||||
* glibtop_ppp:: PPP Usage.
|
||||
|
||||
@@ -79,40 +60,9 @@ Library Functions
|
||||
* glibtop_init:: Server Initialization.
|
||||
* glibtop_sysdeps:: Server Sysdeps.
|
||||
* Library Parameters:: Library Parameters.
|
||||
|
||||
Generic Structures
|
||||
|
||||
* glibtop_ifaddr:: Interface Address.
|
||||
|
||||
Enums and Typedefs
|
||||
|
||||
* Network Interfaces:: Network Interfaces.
|
||||
* Address Scope:: Address Scope (IPv6).
|
||||
|
||||
Network Interfaces
|
||||
|
||||
* Transport Methods:: Transport Methods.
|
||||
* Interface Flags:: Interface Flags.
|
||||
|
||||
LibGTop Internals
|
||||
|
||||
* General Internals:: General Internals
|
||||
* Sysdeps Internals:: Sysdeps Internals
|
||||
|
||||
General Internals
|
||||
|
||||
* glibtop:: The server structure
|
||||
|
||||
Sysdeps Internals
|
||||
|
||||
* glibtop_open_s:: Non-privileged initializations
|
||||
* glibtop_close_s:: Non-privileged cleanups
|
||||
|
||||
@end detailmenu
|
||||
@end menu
|
||||
|
||||
@include about.texi
|
||||
@include white-paper.texi
|
||||
@include reference.texi
|
||||
@include internals.texi
|
||||
|
||||
|
@@ -1,12 +1,10 @@
|
||||
@node Reference Manual, LibGTop Internals, White Paper, Top
|
||||
@node Reference Manual, , White Paper, Top
|
||||
@chapter LibGTop Reference Manual
|
||||
|
||||
@menu
|
||||
* System Dependent:: System Dependent Functions.
|
||||
* Common Functions:: Common Functions.
|
||||
* Library Functions:: Library Functions.
|
||||
* Generic Structures:: Generic Structures.
|
||||
* Enums and Typedefs:: Enums and Typedefs.
|
||||
@end menu
|
||||
|
||||
@node System Dependent, Common Functions, Reference Manual, Reference Manual
|
||||
@@ -28,7 +26,6 @@
|
||||
* glibtop_proc_segment:: Process Segment Information.
|
||||
* glibtop_proc_args:: Process Arguments.
|
||||
* glibtop_proc_map:: Process Memory Maps.
|
||||
* glibtop_netinfo:: Network Information.
|
||||
* glibtop_netload:: Network Load.
|
||||
* glibtop_ppp:: PPP Usage.
|
||||
@end menu
|
||||
@@ -1114,7 +1111,7 @@ the lenght of this string is returned in the @code{size} field.
|
||||
Remember to @code{glibtop_free} the returned string to avoid a memory leak.
|
||||
|
||||
@page
|
||||
@node glibtop_proc_map, glibtop_netinfo, glibtop_proc_args, System Dependent
|
||||
@node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent
|
||||
@subsection Process Memory Maps
|
||||
|
||||
Library function @code{glibtop_get_proc_map}:
|
||||
@@ -1201,87 +1198,7 @@ Constants for the @code{perm} member:
|
||||
@end example
|
||||
|
||||
@page
|
||||
@node glibtop_netinfo, glibtop_netload, glibtop_proc_map, System Dependent
|
||||
@subsection Network Information
|
||||
|
||||
Library function @code{glibtop_get_netinfo}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
glibtop_ifaddr *
|
||||
glibtop_get_netinfo (glibtop_array *array, glibtop_netinfo *buf,
|
||||
const char *interface, u_int64_t transport);
|
||||
|
||||
glibtop_ifaddr *
|
||||
glibtop_get_netinfo_l (glibtop *server, glibtop_array *array,
|
||||
glibtop_netinfo *buf, const char *interface,
|
||||
u_int64_t transport);
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
Declaration of @code{glibtop_ifaddr} in @file{<glibtop/interfaces.h>}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
typedef struct _glibtop_ifaddr glibtop_ifaddr;
|
||||
|
||||
struct _glibtop_ifaddr
|
||||
@{
|
||||
u_int64_t flags,
|
||||
transport;
|
||||
u_int8_t addr_len,
|
||||
address [GLIBTOP_IFADDR_LEN];
|
||||
u_int64_t subnet,
|
||||
scope;
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
Declaration of @code{glibtop_netinfo} in @file{<glibtop/netinfo.h>}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
typedef struct _glibtop_netinfo glibtop_netinfo;
|
||||
|
||||
struct _glibtop_netinfo
|
||||
@{
|
||||
u_int64_t flags,
|
||||
if_flags,
|
||||
transport,
|
||||
mtu;
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
Returns information about network interface @code{interface}.
|
||||
|
||||
@table @code
|
||||
@item interface
|
||||
The network interface you want to get information about (for instance
|
||||
@samp{eth0}).
|
||||
@item transport
|
||||
Bitmask specifying about which transport methods you want to get information
|
||||
or @code{GLIBTOP_TRANSPORT_ALL} if you want information about all possible
|
||||
transport methods (@pxref{Transport Methods}).
|
||||
@end table
|
||||
|
||||
On success, the following fields in @code{glibtop_netinfo} are set:
|
||||
|
||||
@table @code
|
||||
@item if_flags
|
||||
Interface flags (@pxref{Interface Flags}).
|
||||
@item transport
|
||||
Bitmask of all transport methods which are currently supported on the
|
||||
selected interface (@pxref{Transport Methods}).
|
||||
@item mtu
|
||||
Maximum Transfer Unit (MTU)
|
||||
@end table
|
||||
|
||||
Additionally, an array of @code{glibtop_ifaddr} structures is returned
|
||||
(@pxref{glibtop_ifaddr}).
|
||||
|
||||
@page
|
||||
@node glibtop_netload, glibtop_ppp, glibtop_netinfo, System Dependent
|
||||
@node glibtop_netload, glibtop_ppp, glibtop_proc_map, System Dependent
|
||||
@subsection Network Load
|
||||
|
||||
Library function @code{glibtop_get_netload}:
|
||||
@@ -1597,7 +1514,7 @@ Free file nodes.
|
||||
Blocks are usually 512 bytes.
|
||||
|
||||
@page
|
||||
@node Library Functions, Generic Structures, Common Functions, Reference Manual
|
||||
@node Library Functions, , Common Functions, Reference Manual
|
||||
@section Library Functions
|
||||
|
||||
This are general library functions which can be used to get information
|
||||
@@ -1888,159 +1805,3 @@ Abort if the library fails to get some of the required features. This
|
||||
should not be used by applications.
|
||||
@end table
|
||||
|
||||
@node Generic Structures, Enums and Typedefs, Library Functions, Reference Manual
|
||||
@section Generic Structures
|
||||
|
||||
@menu
|
||||
* glibtop_ifaddr:: Interface Address.
|
||||
@end menu
|
||||
|
||||
@node glibtop_ifaddr, , Generic Structures, Generic Structures
|
||||
@subsection Interface Addresses
|
||||
|
||||
The @code{glibtop_ifaddr} structure contains information about a network
|
||||
interface.
|
||||
|
||||
It is declared in @file{<glibtop/interfaces.h>}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
typedef struct _glibtop_ifaddr glibtop_ifaddr;
|
||||
|
||||
struct _glibtop_ifaddr
|
||||
@{
|
||||
u_int64_t flags,
|
||||
transport;
|
||||
u_int8_t addr_len,
|
||||
address [GLIBTOP_IFADDR_LEN];
|
||||
u_int64_t subnet,
|
||||
scope;
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
The contents of this structure depends on the @code{transport} field -
|
||||
for instance a single network interface can have both an IPv4 address
|
||||
and several IPv6 ones. This is why functions like @code{glibtop_get_netinfo}
|
||||
return an array of @code{glibtop_ifaddr} structures.
|
||||
|
||||
In general, the fields of the @code{glibtop_ifaddr} structure have the
|
||||
following meaning:
|
||||
|
||||
@table @code
|
||||
@item transport
|
||||
The "interface address" from the @code{address} field is only valid for
|
||||
this transport method (@pxref{Transport Methods}).
|
||||
@item addr_len
|
||||
Length of the interface address in the @code{address} field in bytes.
|
||||
@item address
|
||||
This is one of the "interface address" for the selected network interface
|
||||
which is used with the transport method from the @code{transport} field.
|
||||
@item subnet
|
||||
The meaning of this field depends on the transport method and is currently
|
||||
only used for IPv4 (where it contains the current subnet mask) and for IPv6
|
||||
(where it contains the address length in bits).
|
||||
@item scope
|
||||
This is only used for IPv6 and contains the address scope
|
||||
(@pxref{Address Scope}).
|
||||
@end table
|
||||
|
||||
@node Enums and Typedefs, , Generic Structures, Reference Manual
|
||||
@section Enums and Typedefs
|
||||
|
||||
@menu
|
||||
* Network Interfaces:: Network Interfaces.
|
||||
* Address Scope:: Address Scope (IPv6).
|
||||
@end menu
|
||||
|
||||
@node Network Interfaces, Address Scope, Enums and Typedefs, Enums and Typedefs
|
||||
@subsection Network Interfaces
|
||||
|
||||
@menu
|
||||
* Transport Methods:: Transport Methods.
|
||||
* Interface Flags:: Interface Flags.
|
||||
@end menu
|
||||
|
||||
@node Transport Methods, Interface Flags, Network Interfaces, Network Interfaces
|
||||
@subsubsection Transport Methods
|
||||
|
||||
The following transport methods are defined in @file{<glibtop/interfaces.h>}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
enum _glibtop_transport @{
|
||||
GLIBTOP_TRANSPORT_DEFAULT = 0,
|
||||
GLIBTOP_TRANSPORT_IPV4 = 1 << 0,
|
||||
GLIBTOP_TRANSPORT_IPV6 = 1 << 1,
|
||||
GLIBTOP_TRANSPORT_IPX = 1 << 2,
|
||||
GLIBTOP_TRANSPORT_X25 = 1 << 3,
|
||||
GLIBTOP_TRANSPORT_DECNET = 1 << 4,
|
||||
GLIBTOP_TRANSPORT_APPLETALK = 1 << 5,
|
||||
GLIBTOP_TRANSPORT_NETBEUI = 1 << 6,
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
There is a @code{GLIBTOP_TRANSPORT_ALL} constant which can be used
|
||||
when you want information about all possible transport methods:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
#define GLIBTOP_TRANSPORT_ALL GLIBTOP_UNLIMITED
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
@node Interface Flags, , Transport Methods, Network Interfaces
|
||||
@subsubsection Interface Flags
|
||||
|
||||
This is defined in @file{<glibtop/interfaces.h>}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
enum _glibtop_interface_flags @{
|
||||
GLIBTOP_IF_FLAGS_UP = 1,
|
||||
GLIBTOP_IF_FLAGS_BROADCAST,
|
||||
GLIBTOP_IF_FLAGS_DEBUG,
|
||||
GLIBTOP_IF_FLAGS_LOOPBACK,
|
||||
GLIBTOP_IF_FLAGS_POINTOPOINT,
|
||||
GLIBTOP_IF_FLAGS_RUNNING,
|
||||
GLIBTOP_IF_FLAGS_NOARP,
|
||||
GLIBTOP_IF_FLAGS_PROMISC,
|
||||
GLIBTOP_IF_FLAGS_ALLMULTI,
|
||||
GLIBTOP_IF_FLAGS_OACTIVE,
|
||||
GLIBTOP_IF_FLAGS_SIMPLEX,
|
||||
GLIBTOP_IF_FLAGS_LINK0,
|
||||
GLIBTOP_IF_FLAGS_LINK1,
|
||||
GLIBTOP_IF_FLAGS_LINK2,
|
||||
GLIBTOP_IF_FLAGS_ALTPHYS,
|
||||
GLIBTOP_IF_FLAGS_MULTICAST
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
They are used as a bit mask like this:
|
||||
|
||||
@example
|
||||
u_int64_t if_flags;
|
||||
|
||||
if_flags = (1L << GLIBTOP_IF_FLAGS_UP) | (1L << GLIBTOP_IF_FLAGS_RUNNING);
|
||||
@end example
|
||||
|
||||
@node Address Scope, , Network Interfaces, Enums and Typedefs
|
||||
@subsection Address Scope
|
||||
|
||||
This is defined in @file{<glibtop/interfaces.h>} for the IPv6 address scope:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
enum _glibtop_ipv6_scope @{
|
||||
GLIBTOP_IPV6_SCOPE_GLOBAL = 0,
|
||||
GLIBTOP_IPV6_SCOPE_LOOPBACK = 1 << 1,
|
||||
GLIBTOP_IPV6_SCOPE_LINKLOCAL = 1 << 2,
|
||||
GLIBTOP_IPV6_SCOPE_SITELOCAL = 1 << 3,
|
||||
GLIBTOP_IPV6_SCOPE_COMPATv4 = 1 << 4,
|
||||
GLIBTOP_IPV6_SCOPE_UNKNOWN = 1 << 5
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
|
@@ -4,7 +4,6 @@
|
||||
@menu
|
||||
* Introduction:: Introduction
|
||||
* Overview:: Overview
|
||||
* Servers and Daemons:: Servers and Daemons
|
||||
@end menu
|
||||
|
||||
@node Introduction, Overview, White Paper, White Paper
|
||||
@@ -48,7 +47,7 @@ since there's more than just one single program that wants to use them - for
|
||||
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
|
||||
@code{netload} panel applets.
|
||||
|
||||
@node Overview, Servers and Daemons, Introduction, White Paper
|
||||
@node Overview, , Introduction, White Paper
|
||||
@section Overview
|
||||
|
||||
This section should give you a short overview on how LibGTop was developed, which
|
||||
@@ -89,48 +88,3 @@ only contains the @dfn{features} which need privileges.
|
||||
Whenever we do not need any privileges to get all the data for some of the requested
|
||||
structures (here called @dfn{features}) the library calls the sysdeps code directly
|
||||
rather than using the server.
|
||||
|
||||
@node Servers and Daemons, , Overview, White Paper
|
||||
@section Servers and Daemons
|
||||
|
||||
LibGTop gives you the possibility to use different LibGTop "servers" and
|
||||
"daemons" in your application.
|
||||
|
||||
Normally you do not need to worry about this things since LibGTop auto-
|
||||
matically opens a pipe to its server it it's required, but this can also
|
||||
be customized to fit your needs.
|
||||
|
||||
For instance if you have a small applet which is only interested in disk
|
||||
usage there's no need to fork a separate server process since you don't
|
||||
need any privileges to get them on any of the supported systems. This can
|
||||
be archieved with a special call to @code{glibtop_init_r} on startup.
|
||||
|
||||
There's also an option to tell @code{glibtop_init_r} that you're only
|
||||
interested in several features - for instance cpu and memory usage. In
|
||||
this case LibGTop will only fork a server process if it's required to get
|
||||
cpu and memory.
|
||||
|
||||
You can also tell @code{glibtop_init_r} to start the server only on demand,
|
||||
this might become useful in command-line based programs. For graphical
|
||||
applications it's normally best to start the server directly during their
|
||||
initialization. The same applies for any time critical applications (since
|
||||
@code{fork} is an expensive operation on some systems this may lead to
|
||||
incorrect statistics).
|
||||
|
||||
LibGTop also allows you to talk to a remote machine using the
|
||||
@dfn{LibGTop daemon}. This daemon is based on @code{gnuserv} from
|
||||
GNU Emacs and should be run as an unprivileged user. It has support
|
||||
for either @code{xauth} or host based authorization.
|
||||
|
||||
This daemon itself behaves like a LibGTop client application, i.e. it
|
||||
forks a server process if this is required.
|
||||
|
||||
The main use for this daemon is when you want to monitor a machine which
|
||||
is either very slow or has very low disk space. In this case you don't need
|
||||
to install the whole client application (for instance GTop) on the remote
|
||||
machine but only a very small (maybe also statically linked) executable and
|
||||
run the graphical application on a more powerful machine.
|
||||
|
||||
It can also be used to monitor a remote machine over a very slow link such
|
||||
as a dialup connection since the conversation between LibGTop client and
|
||||
daemon uses much less bandwith than an ordinary X11 connection.
|
||||
|
47
features.def
47
features.def
@@ -1,25 +1,22 @@
|
||||
retval|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[GLIBTOP_NCPU],xcpu_user[GLIBTOP_NCPU],xcpu_nice[GLIBTOP_NCPU],xcpu_sys[GLIBTOP_NCPU],xcpu_idle[GLIBTOP_NCPU],xcpu_flags)
|
||||
retval|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
||||
retval|swap|ulong(total,used,free,pagein,pageout)
|
||||
retval|uptime|double(uptime,idletime):ulong(boot_time)
|
||||
retval|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
||||
retval|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||
retval|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||
retval|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||
pointer(unsigned)|proclist|array|long(which,arg)
|
||||
retval|proc_state|string(cmd):unsigned(state):ulong(uid,gid,ruid,rgid,has_cpu,processor,last_processor)|pid_t(pid)
|
||||
retval|proc_uid|long(uid,euid,gid,egid,suid,sgid,fsuid,fsgid,pid,ppid,pgrp,session,tty,tpgid,priority,nice,ngroups,groups[GLIBTOP_MAX_GROUPS])|pid_t(pid)
|
||||
retval|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
||||
retval|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[GLIBTOP_NCPU],xcpu_stime[GLIBTOP_NCPU],xcpu_flags)|pid_t(pid)
|
||||
retval|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
|
||||
retval|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):string(wchan)|pid_t(pid)
|
||||
retval|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_data,end_data,start_brk,end_brk,start_stack,start_mmap,arg_start,arg_end,env_start,env_end)|pid_t(pid)
|
||||
char *|proc_cwd|ulong(size,device,inode)|pid_t(pid)
|
||||
pointer(string)|proc_args|array|pid_t(pid)
|
||||
array(glibtop_map_entry)|proc_map|array|pid_t(pid)
|
||||
array(glibtop_mountentry)|@mountlist|array|int(all_fs)
|
||||
retval|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string(mount_dir)
|
||||
array(glibtop_interface)|interface_names|array|ulong(interface,number,instance,strategy)
|
||||
array(glibtop_ifaddr)|netinfo|array:ulong(if_flags,transport,mtu)|string(interface):ulong(transport)
|
||||
retval|netload|ulong(packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string(interface):unsigned(transport,protocol)
|
||||
retval|ppp|ulong(state,bytes_in,bytes_out)|ushort(device,use_isdn)
|
||||
void|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4])
|
||||
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
||||
void|swap|ulong(total,used,free,pagein,pageout)
|
||||
void|uptime|double(uptime,idletime)
|
||||
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
||||
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||
unsigned *|proclist|ulong(number,size,total)|long(which,arg)
|
||||
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
||||
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
|
||||
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
||||
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid)
|
||||
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
|
||||
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid)
|
||||
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
|
||||
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
|
||||
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
|
||||
glibtop_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)
|
||||
|
75
glibtop.h
75
glibtop.h
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -26,35 +24,84 @@
|
||||
#ifndef __GLIBTOP_H__
|
||||
#define __GLIBTOP_H__
|
||||
|
||||
#ifndef _IN_LIBGTOP
|
||||
#include <glibtop-config.h>
|
||||
#endif
|
||||
|
||||
#include <glibtop/global.h>
|
||||
#include <glibtop/limits.h>
|
||||
|
||||
#include <glibtop_server.h>
|
||||
#include <glibtop/types.h>
|
||||
|
||||
#include <glibtop/glibtop-client.h>
|
||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||
#include <glibtop_machine.h>
|
||||
#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||
#endif
|
||||
|
||||
typedef struct _glibtop glibtop;
|
||||
|
||||
#include <glibtop/sysdeps.h>
|
||||
#include <glibtop/errors.h>
|
||||
|
||||
#include <glibtop/glibtop-server.h>
|
||||
struct _glibtop
|
||||
{
|
||||
unsigned flags;
|
||||
unsigned method; /* Server Method */
|
||||
unsigned error_method; /* Error Method */
|
||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||
glibtop_machine machine; /* Machine dependent data */
|
||||
#endif
|
||||
int input [2]; /* Pipe client <- server */
|
||||
int output [2]; /* Pipe client -> server */
|
||||
int socket; /* Accepted connection of a socket */
|
||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
||||
unsigned long os_version_code; /* Version code of the operating system */
|
||||
const char *name; /* Program name for error messages */
|
||||
const char *server_command; /* Command used to invoke server */
|
||||
const char *server_host; /* Host the server should run on */
|
||||
const char *server_user; /* Name of the user on the target host */
|
||||
const char *server_rsh; /* Command used to connect to the target host */
|
||||
unsigned long features; /* Server is required for this features */
|
||||
unsigned long server_port; /* Port on which daemon is listening */
|
||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||
glibtop_sysdeps required; /* Required feature list */
|
||||
pid_t pid; /* PID of the server */
|
||||
};
|
||||
|
||||
extern glibtop *glibtop_global_server;
|
||||
|
||||
extern const unsigned long glibtop_server_features;
|
||||
|
||||
#define glibtop_init() glibtop_init_r(&glibtop_global_server, 0, 0);
|
||||
|
||||
#define glibtop_close() glibtop_close_r(glibtop_global_server);
|
||||
|
||||
glibtop *
|
||||
glibtop_init_r (glibtop **server_ptr,
|
||||
unsigned long features,
|
||||
unsigned flags);
|
||||
|
||||
void
|
||||
glibtop_init_s (glibtop_server *server_ptr,
|
||||
glibtop *
|
||||
glibtop_init_s (glibtop **server_ptr,
|
||||
unsigned long features,
|
||||
unsigned flags);
|
||||
|
||||
G_END_DECLS
|
||||
#ifdef GLIBTOP_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
void glibtop_boot_guile (void);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
void glibtop_boot_guile_names (void);
|
||||
|
||||
#ifndef GLIBTOP_NAMES
|
||||
#define GLIBTOP_NAMES
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -1,3 +1,2 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
call-vector.h
|
||||
|
@@ -1,25 +1,10 @@
|
||||
glibtopdir = $(includedir)/glibtop
|
||||
glibtopdir = $(includedir)/libgtop-2.0/glibtop
|
||||
|
||||
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
||||
sem_limits.h uptime.h mem.h proclist.h \
|
||||
proctime.h shm_limits.h cpu.h msg_limits.h \
|
||||
procmem.h procuid.h swap.h error.h open.h \
|
||||
procsegment.h sysdeps.h xmalloc.h global.h \
|
||||
procsignal.h union.h types.h proccwd.h \
|
||||
mountlist.h fsusage.h procmap.h signal.h \
|
||||
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
|
||||
netinfo.h interfaces.h limits.h array.h compat_10.h \
|
||||
glib-arrays.h call-vector.h \
|
||||
glibtop-client.h glibtop-server.h glibtop-backend.h \
|
||||
glibtop-backend-info.h errors.h
|
||||
|
||||
BUILT_SOURCES = call-vector.h
|
||||
|
||||
call-vector.h: call-vector.pl call-vector.h.in $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/call-vector.pl $(top_srcdir)/features.def $(srcdir)/call-vector.h.in > tmp-t
|
||||
mv tmp-t call-vector.h
|
||||
|
||||
EXTRA_DIST = call-vector.pl call-vector.h.in
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
sem_limits.h uptime.h command.h mem.h proclist.h \
|
||||
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
|
||||
procmem.h procuid.h swap.h write.h error.h open.h \
|
||||
procsegment.h read.h sysdeps.h xmalloc.h global.h \
|
||||
procsignal.h read_data.h union.h types.h gnuserv.h \
|
||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
||||
inodedb.h sysinfo.h ppp.h procargs.h netload.h
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -28,13 +26,13 @@
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
void glibtop_close_r (glibtop *server);
|
||||
|
||||
void glibtop_close_s (glibtop_server *server);
|
||||
void glibtop_close_p (glibtop_server *server);
|
||||
void glibtop_close_s (glibtop *server);
|
||||
void glibtop_close_p (glibtop *server);
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_CPU_TOTAL 0
|
||||
#define GLIBTOP_CPU_USER 1
|
||||
@@ -38,14 +36,16 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_CPU_IDLE 4
|
||||
#define GLIBTOP_CPU_FREQUENCY 5
|
||||
|
||||
#define GLIBTOP_CPU_XCPU_TOTAL 6
|
||||
#define GLIBTOP_CPU_XCPU_USER 7
|
||||
#define GLIBTOP_CPU_XCPU_NICE 8
|
||||
#define GLIBTOP_CPU_XCPU_SYS 9
|
||||
#define GLIBTOP_CPU_XCPU_IDLE 10
|
||||
#define GLIBTOP_CPU_XCPU_FLAGS 11
|
||||
#define GLIBTOP_XCPU_TOTAL 6
|
||||
#define GLIBTOP_XCPU_USER 7
|
||||
#define GLIBTOP_XCPU_NICE 8
|
||||
#define GLIBTOP_XCPU_SYS 9
|
||||
#define GLIBTOP_XCPU_IDLE 10
|
||||
|
||||
#define GLIBTOP_MAX_CPU 12
|
||||
#define GLIBTOP_MAX_CPU 11
|
||||
|
||||
/* Nobody should really be using more than 4 processors. */
|
||||
#define GLIBTOP_NCPU 4
|
||||
|
||||
typedef struct _glibtop_cpu glibtop_cpu;
|
||||
|
||||
@@ -58,28 +58,29 @@ struct _glibtop_cpu
|
||||
sys, /* GLIBTOP_CPU_SYS */
|
||||
idle, /* GLIBTOP_CPU_IDLE */
|
||||
frequency, /* GLIBTOP_CPU_FREQUENCY */
|
||||
xcpu_total [GLIBTOP_NCPU], /* GLIBTOP_CPU_XCPU_TOTAL */
|
||||
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_CPU_XCPU_USER */
|
||||
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_CPU_XCPU_NICE */
|
||||
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_CPU_XCPU_SYS */
|
||||
xcpu_idle [GLIBTOP_NCPU], /* GLIBTOP_CPU_XCPU_IDLE */
|
||||
xcpu_flags; /* GLIBTOP_CPU_XCPU_FLAGS */
|
||||
xcpu_total [GLIBTOP_NCPU], /* GLIBTOP_XCPU_TOTAL */
|
||||
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
|
||||
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
|
||||
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
|
||||
xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
|
||||
};
|
||||
|
||||
#define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu)
|
||||
|
||||
#if GLIBTOP_SUID_CPU
|
||||
#define glibtop_get_cpu_r glibtop_get_cpu_p
|
||||
#else
|
||||
#define glibtop_get_cpu_r glibtop_get_cpu_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_cpu_l (glibtop_client *client, glibtop_cpu *buf);
|
||||
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
|
||||
|
||||
#if GLIBTOP_SUID_CPU
|
||||
int glibtop_init_cpu_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_cpu_p (glibtop_server *server, glibtop_closure *closure, glibtop_cpu *buf);
|
||||
void glibtop_init_cpu_p (glibtop *server);
|
||||
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
|
||||
#else
|
||||
int glibtop_init_cpu_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_cpu_s (glibtop_server *server, glibtop_closure *closure, glibtop_cpu *buf);
|
||||
void glibtop_init_cpu_s (glibtop *server);
|
||||
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -93,6 +94,6 @@ extern const char *glibtop_descriptions_cpu [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -28,19 +26,111 @@
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
void glibtop_error_vr (glibtop_server *server, char *format, va_list args);
|
||||
void glibtop_warn_vr (glibtop_server *server, char *format, va_list args);
|
||||
#ifndef G_GNUC_UNUSED
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
||||
#define G_GNUC_UNUSED \
|
||||
__attribute__((unused))
|
||||
#else /* !__GNUC__ */
|
||||
#define G_GNUC_UNUSED
|
||||
#endif /* !__GNUC__ */
|
||||
#endif /* defined G_GNUC_UNUSED */
|
||||
|
||||
void glibtop_error_io_vr (glibtop_server *server, char *format, int, va_list args);
|
||||
void glibtop_warn_io_vr (glibtop_server *server, char *format, int, va_list args);
|
||||
void glibtop_error_vr (glibtop *server, char *format, va_list args);
|
||||
void glibtop_warn_vr (glibtop *server, char *format, va_list args);
|
||||
|
||||
void glibtop_error_r (glibtop_server *server, char *format, ...);
|
||||
void glibtop_warn_r (glibtop_server *server, char *format, ...);
|
||||
void glibtop_error_io_r (glibtop_server *server, char *format, ...);
|
||||
void glibtop_warn_io_r (glibtop_server *server, char *format, ...);
|
||||
void glibtop_error_io_vr (glibtop *server, char *format, int, va_list args);
|
||||
void glibtop_warn_io_vr (glibtop *server, char *format, int, va_list args);
|
||||
|
||||
G_END_DECLS
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_error_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_warn_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_error_io_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_warn_io_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
#define glibtop_error(p1, args...) glibtop_error_r(glibtop_global_server , p1 , ## args)
|
||||
#define glibtop_warn(p1, args...) glibtop_warn_r(glibtop_global_server , p1 , ## args)
|
||||
|
||||
#define glibtop_error_io(p1, args...) glibtop_error_io_r(glibtop_global_server , p1 , ## args)
|
||||
#define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args)
|
||||
|
||||
#else /* no __GNUC__ */
|
||||
|
||||
static void
|
||||
glibtop_error (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (glibtop_global_server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_warn (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (glibtop_global_server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_error_io (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_warn_io (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#endif /* no __GNUC__ */
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_FSUSAGE_BLOCKS 0
|
||||
#define GLIBTOP_FSUSAGE_BFREE 1
|
||||
@@ -51,8 +49,12 @@ struct _glibtop_fsusage
|
||||
ffree; /* Free file nodes. */
|
||||
};
|
||||
|
||||
int glibtop_get_fsusage_l (glibtop_client *client, glibtop_fsusage *buf, const char *mount_dir);
|
||||
int glibtop_get_fsusage_s (glibtop_server *server, glibtop_closure *closure, glibtop_fsusage *buf, const char *mount_dir);
|
||||
#define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk)
|
||||
|
||||
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
|
||||
|
||||
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
||||
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
@@ -65,6 +67,6 @@ extern const char *glibtop_descriptions_fsusage [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -30,24 +28,40 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/param.h>
|
||||
/*
|
||||
* All declarations are enclosed in BEGIN_LIBGTOP_DECLS and
|
||||
* END_LIBGTOP_DECLS so that C++ compilers don't mangle their names.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#undef BEGIN_LIBGTOP_DECLS
|
||||
#undef END_LIBGTOP_DECLS
|
||||
#ifdef __cplusplus
|
||||
# define BEGIN_LIBGTOP_DECLS extern "C" {
|
||||
# define END_LIBGTOP_DECLS }
|
||||
#else
|
||||
# define BEGIN_LIBGTOP_DECLS /* empty */
|
||||
# define END_LIBGTOP_DECLS /* empty */
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MEMORY_H
|
||||
#include <memory.h>
|
||||
#endif
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
/* Provide macros to feature the GCC function attribute.
|
||||
*/
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
||||
#define G_GNUC_NORETURN \
|
||||
__attribute__((noreturn))
|
||||
#define G_GNUC_CONST \
|
||||
__attribute__((const))
|
||||
#define G_GNUC_UNUSED \
|
||||
__attribute__((unused))
|
||||
#else /* !__GNUC__ */
|
||||
#define G_GNUC_NORETURN
|
||||
#define G_GNUC_CONST
|
||||
#define G_GNUC_UNUSED
|
||||
#endif /* !__GNUC__ */
|
||||
|
||||
#include <glib/gmacros.h>
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
@@ -60,11 +74,6 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* For Tru64 UNIX */
|
||||
#ifdef HAVE_SYS_BITYPES_H
|
||||
#include <sys/bitypes.h>
|
||||
#endif
|
||||
|
||||
#ifdef NEED_GNOMESUPPORT_H
|
||||
#include <gnomesupport.h>
|
||||
#endif
|
||||
@@ -86,8 +95,25 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MEMORY_H
|
||||
#include <memory.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
@@ -98,10 +124,10 @@
|
||||
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#ifndef _
|
||||
#define _(String) dgettext (LIBGTOP_PACKAGE, String)
|
||||
#define _(String) dgettext (PACKAGE, String)
|
||||
#define N_(String) (String)
|
||||
#endif
|
||||
|
||||
@@ -109,7 +135,7 @@ G_BEGIN_DECLS
|
||||
char *strerror (int errno);
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -33,7 +31,7 @@
|
||||
|
||||
#define GLIBTOP_INODEDB_ALL 7
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
typedef struct _glibtop_inodedb glibtop_inodedb;
|
||||
|
||||
@@ -49,17 +47,21 @@ struct _glibtop_inodedb
|
||||
GDBM_FILE system_dbf, user_dbf;
|
||||
};
|
||||
|
||||
#define glibtop_inodedb_open(p1,p2) glibtop_inodedb_open_s(glibtop_global_server, p1, p2)
|
||||
#define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3)
|
||||
#define glibtop_inodedb_close(p1) glibtop_inodedb_close_s(glibtop_global_server)
|
||||
|
||||
glibtop_inodedb *
|
||||
glibtop_inodedb_open_s (glibtop_server *server, unsigned databases, unsigned long cache_size);
|
||||
glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size);
|
||||
|
||||
const char *
|
||||
glibtop_inodedb_lookup_s (glibtop_server *server,
|
||||
glibtop_inodedb_lookup_s (glibtop *server,
|
||||
glibtop_inodedb *inodedb,
|
||||
u_int64_t device, u_int64_t inode);
|
||||
|
||||
void
|
||||
glibtop_inodedb_close_s (glibtop_server *server, glibtop_closure *closure, glibtop_inodedb *inodedb);
|
||||
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_LOADAVG_LOADAVG 0
|
||||
#define GLIBTOP_LOADAVG_NR_RUNNING 1
|
||||
@@ -49,20 +47,22 @@ struct _glibtop_loadavg
|
||||
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
||||
};
|
||||
|
||||
#define glibtop_get_loadavg(loadavg) glibtop_get_loadavg_l(glibtop_global_server, loadavg)
|
||||
|
||||
#if GLIBTOP_SUID_LOADAVG
|
||||
#define glibtop_get_loadavg_r glibtop_get_loadavg_p
|
||||
#else
|
||||
#define glibtop_get_loadavg_r glibtop_get_loadavg_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_loadavg_l (glibtop_client *client, glibtop_loadavg *buf);
|
||||
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
|
||||
|
||||
#if GLIBTOP_SUID_LOADAVG
|
||||
int glibtop_init_loadavg_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_loadavg_p (glibtop_server *server, glibtop_closure *closure, glibtop_loadavg *buf);
|
||||
void glibtop_init_loadavg_p (glibtop *server);
|
||||
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
|
||||
#else
|
||||
int glibtop_init_loadavg_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_loadavg_s (glibtop_server *server, glibtop_closure *closure, glibtop_loadavg *buf);
|
||||
void glibtop_init_loadavg_s (glibtop *server);
|
||||
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -76,6 +76,6 @@ extern const char *glibtop_descriptions_loadavg [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_MEM_TOTAL 0
|
||||
#define GLIBTOP_MEM_USED 1
|
||||
@@ -57,20 +55,22 @@ struct _glibtop_mem
|
||||
locked; /* GLIBTOP_MEM_LOCKED */
|
||||
};
|
||||
|
||||
#define glibtop_get_mem(mem) glibtop_get_mem_l(glibtop_global_server, mem)
|
||||
|
||||
#if GLIBTOP_SUID_MEM
|
||||
#define glibtop_get_mem_r glibtop_get_mem_p
|
||||
#else
|
||||
#define glibtop_get_mem_r glibtop_get_mem_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_mem_l (glibtop_client *client, glibtop_mem *buf);
|
||||
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MEM
|
||||
int glibtop_init_mem_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_mem_p (glibtop_server *server, glibtop_closure *closure, glibtop_mem *buf);
|
||||
void glibtop_init_mem_p (glibtop *server);
|
||||
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
|
||||
#else
|
||||
int glibtop_init_mem_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_mem_s (glibtop_server *server, glibtop_closure *closure, glibtop_mem *buf);
|
||||
void glibtop_init_mem_s (glibtop *server);
|
||||
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -84,6 +84,6 @@ extern const char *glibtop_descriptions_mem [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,13 +27,18 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/compat_10.h>
|
||||
#include <glibtop/array.h>
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#define GLIBTOP_MOUNTLIST_NUMBER 0
|
||||
#define GLIBTOP_MOUNTLIST_TOTAL 1
|
||||
#define GLIBTOP_MOUNTLIST_SIZE 2
|
||||
|
||||
#define GLIBTOP_MAX_MOUNTLIST 3
|
||||
|
||||
typedef struct _glibtop_mountentry glibtop_mountentry;
|
||||
|
||||
typedef struct _glibtop_mountlist glibtop_mountlist;
|
||||
|
||||
struct _glibtop_mountentry
|
||||
{
|
||||
u_int64_t dev;
|
||||
@@ -44,13 +47,23 @@ struct _glibtop_mountentry
|
||||
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
};
|
||||
|
||||
struct _glibtop_mountlist
|
||||
{
|
||||
u_int64_t flags,
|
||||
number, /* GLIBTOP_MOUNTLIST_NUMBER */
|
||||
total, /* GLIBTOP_MOUNTLIST_TOTAL */
|
||||
size; /* GLIBTOP_MOUNTLIST_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_mountlist(mountlist,all_fs) glibtop_get_mountlist_l(glibtop_global_server, mountlist, all_fs)
|
||||
|
||||
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
|
||||
|
||||
glibtop_mountentry *
|
||||
glibtop_get_mountlist_l (glibtop_client *client, glibtop_array *array, int all_fs);
|
||||
glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
||||
|
||||
glibtop_mountentry *
|
||||
glibtop_get_mountlist_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, int all_fs);
|
||||
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
@@ -63,6 +76,6 @@ extern const char *glibtop_descriptions_mountlist [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,15 +27,15 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_MSG_LIMITS_MSGPOOL 0
|
||||
#define GLIBTOP_MSG_LIMITS_MSGMAP 1
|
||||
#define GLIBTOP_MSG_LIMITS_MSGMAX 2
|
||||
#define GLIBTOP_MSG_LIMITS_MSGMNB 3
|
||||
#define GLIBTOP_MSG_LIMITS_MSGMNI 4
|
||||
#define GLIBTOP_MSG_LIMITS_MSGSSZ 5
|
||||
#define GLIBTOP_MSG_LIMITS_MSGTQL 6
|
||||
#define GLIBTOP_IPC_MSGPOOL 0
|
||||
#define GLIBTOP_IPC_MSGMAP 1
|
||||
#define GLIBTOP_IPC_MSGMAX 2
|
||||
#define GLIBTOP_IPC_MSGMNB 3
|
||||
#define GLIBTOP_IPC_MSGMNI 4
|
||||
#define GLIBTOP_IPC_MSGSSZ 5
|
||||
#define GLIBTOP_IPC_MSGTQL 6
|
||||
|
||||
#define GLIBTOP_MAX_MSG_LIMITS 7
|
||||
|
||||
@@ -46,29 +44,31 @@ typedef struct _glibtop_msg_limits glibtop_msg_limits;
|
||||
struct _glibtop_msg_limits
|
||||
{
|
||||
u_int64_t flags,
|
||||
msgpool, /* GLIBTOP_MSG_LIMITS_MSGPOOL */
|
||||
msgmap, /* GLIBTOP_MSG_LIMITS_MSGMAP */
|
||||
msgmax, /* GLIBTOP_MSG_LIMITS_MSGMAX */
|
||||
msgmnb, /* GLIBTOP_MSG_LIMITS_MSGMNB */
|
||||
msgmni, /* GLIBTOP_MSG_LIMITS_MSGMNI */
|
||||
msgssz, /* GLIBTOP_MSG_LIMITS_MSGSSZ */
|
||||
msgtql; /* GLIBTOP_MSG_LIMITS_MSGTQL */
|
||||
msgpool, /* GLIBTOP_IPC_MSGPOOL */
|
||||
msgmap, /* GLIBTOP_IPC_MSGMAP */
|
||||
msgmax, /* GLIBTOP_IPC_MSGMAX */
|
||||
msgmnb, /* GLIBTOP_IPC_MSGMNB */
|
||||
msgmni, /* GLIBTOP_IPC_MSGMNI */
|
||||
msgssz, /* GLIBTOP_IPC_MSGSSZ */
|
||||
msgtql; /* GLIBTOP_IPC_MSGTQL */
|
||||
};
|
||||
|
||||
#define glibtop_get_msg_limits(msg) glibtop_get_msg_limits_l(glibtop_global_server, msg)
|
||||
|
||||
#if GLIBTOP_SUID_MSG_LIMITS
|
||||
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_p
|
||||
#else
|
||||
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_msg_limits_l (glibtop_client *client, glibtop_msg_limits *buf);
|
||||
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MSG_LIMITS
|
||||
int glibtop_init_msg_limits_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_msg_limits_p (glibtop_server *server, glibtop_closure *closure, glibtop_msg_limits *buf);
|
||||
void glibtop_init_msg_limits_p (glibtop *server);
|
||||
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
|
||||
#else
|
||||
int glibtop_init_msg_limits_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_msg_limits_s (glibtop_server *server, glibtop_closure *closure, glibtop_msg_limits *buf);
|
||||
void glibtop_init_msg_limits_s (glibtop *server);
|
||||
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -82,7 +82,7 @@ extern const char *glibtop_descriptions_msg_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,28 +27,53 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_NETLOAD_PACKETS_IN 0
|
||||
#define GLIBTOP_NETLOAD_PACKETS_OUT 1
|
||||
#define GLIBTOP_NETLOAD_PACKETS_TOTAL 2
|
||||
#define GLIBTOP_NETLOAD_BYTES_IN 3
|
||||
#define GLIBTOP_NETLOAD_BYTES_OUT 4
|
||||
#define GLIBTOP_NETLOAD_BYTES_TOTAL 5
|
||||
#define GLIBTOP_NETLOAD_ERRORS_IN 6
|
||||
#define GLIBTOP_NETLOAD_ERRORS_OUT 7
|
||||
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 8
|
||||
#define GLIBTOP_NETLOAD_COLLISIONS 9
|
||||
#define GLIBTOP_NETLOAD_IF_FLAGS 0
|
||||
#define GLIBTOP_NETLOAD_MTU 1
|
||||
#define GLIBTOP_NETLOAD_SUBNET 2
|
||||
#define GLIBTOP_NETLOAD_ADDRESS 3
|
||||
#define GLIBTOP_NETLOAD_PACKETS_IN 4
|
||||
#define GLIBTOP_NETLOAD_PACKETS_OUT 5
|
||||
#define GLIBTOP_NETLOAD_PACKETS_TOTAL 6
|
||||
#define GLIBTOP_NETLOAD_BYTES_IN 7
|
||||
#define GLIBTOP_NETLOAD_BYTES_OUT 8
|
||||
#define GLIBTOP_NETLOAD_BYTES_TOTAL 9
|
||||
#define GLIBTOP_NETLOAD_ERRORS_IN 10
|
||||
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
|
||||
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
|
||||
#define GLIBTOP_NETLOAD_COLLISIONS 13
|
||||
|
||||
#define GLIBTOP_MAX_NETLOAD 10
|
||||
#define GLIBTOP_MAX_NETLOAD 14
|
||||
|
||||
typedef struct _glibtop_netload glibtop_netload;
|
||||
|
||||
#include <glibtop/interfaces.h>
|
||||
enum {
|
||||
GLIBTOP_IF_FLAGS_UP = 1,
|
||||
GLIBTOP_IF_FLAGS_BROADCAST,
|
||||
GLIBTOP_IF_FLAGS_DEBUG,
|
||||
GLIBTOP_IF_FLAGS_LOOPBACK,
|
||||
GLIBTOP_IF_FLAGS_POINTOPOINT,
|
||||
GLIBTOP_IF_FLAGS_RUNNING,
|
||||
GLIBTOP_IF_FLAGS_NOARP,
|
||||
GLIBTOP_IF_FLAGS_PROMISC,
|
||||
GLIBTOP_IF_FLAGS_ALLMULTI,
|
||||
GLIBTOP_IF_FLAGS_OACTIVE,
|
||||
GLIBTOP_IF_FLAGS_SIMPLEX,
|
||||
GLIBTOP_IF_FLAGS_LINK0,
|
||||
GLIBTOP_IF_FLAGS_LINK1,
|
||||
GLIBTOP_IF_FLAGS_LINK2,
|
||||
GLIBTOP_IF_FLAGS_ALTPHYS,
|
||||
GLIBTOP_IF_FLAGS_MULTICAST
|
||||
};
|
||||
|
||||
struct _glibtop_netload
|
||||
{
|
||||
u_int64_t flags,
|
||||
if_flags, /* GLIBTOP_NETLOAD_IF_FLAGS */
|
||||
mtu, /* GLIBTOP_NETLOAD_MTU */
|
||||
subnet, /* GLIBTOP_NETLOAD_SUBNET */
|
||||
address, /* GLIBTOP_NETLOAD_ADDRESS */
|
||||
packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
|
||||
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
|
||||
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
|
||||
@@ -63,20 +86,22 @@ struct _glibtop_netload
|
||||
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
|
||||
};
|
||||
|
||||
#define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface)
|
||||
|
||||
#if GLIBTOP_SUID_NETLOAD
|
||||
#define glibtop_get_netload_r glibtop_get_netload_p
|
||||
#else
|
||||
#define glibtop_get_netload_r glibtop_get_netload_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_netload_l (glibtop_client *client, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
|
||||
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
|
||||
#if GLIBTOP_SUID_NETLOAD
|
||||
int glibtop_init_netload_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_netload_p (glibtop_server *server, glibtop_closure *closure, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
|
||||
void glibtop_init_netload_p (glibtop *server);
|
||||
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#else
|
||||
int glibtop_init_netload_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_netload_s (glibtop_server *server, glibtop_closure *closure, glibtop_netload *buf, const char *interface, unsigned transport, unsigned protocol);
|
||||
void glibtop_init_netload_s (glibtop *server);
|
||||
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -90,6 +115,6 @@ extern const char *glibtop_descriptions_netload [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -25,8 +23,10 @@
|
||||
#define __GLIBTOP_OPEN_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/read.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define _GLIBTOP_INIT_STATE_INIT 0x10000
|
||||
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
|
||||
@@ -52,7 +52,7 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_ERROR_METHOD_DEFAULT GLIBTOP_ERROR_METHOD_WARN_ONCE
|
||||
|
||||
void
|
||||
glibtop_open_l (glibtop_client *client, const char *backend_name,
|
||||
glibtop_open_l (glibtop *server, const char *program_name,
|
||||
const unsigned long features, const unsigned flags);
|
||||
|
||||
void
|
||||
@@ -60,22 +60,14 @@ glibtop_init_p (glibtop *server, const unsigned long features,
|
||||
const unsigned flags);
|
||||
|
||||
void
|
||||
glibtop_open_p (glibtop_server *server, glibtop_closure *closure,
|
||||
glibtop_open_p (glibtop *server, const char *program_name,
|
||||
const unsigned long features, const unsigned flags);
|
||||
|
||||
void
|
||||
glibtop_open_s (glibtop_server *server, glibtop_closure *closure,
|
||||
glibtop_open_s (glibtop *server, const char *program_name,
|
||||
const unsigned long features, const unsigned flags);
|
||||
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
void
|
||||
_glibtop_open_sysdeps (glibtop_client *client, const char *program_name,
|
||||
const u_int64_t features, const char **backend_args,
|
||||
GError **opt_error);
|
||||
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -27,39 +25,27 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PARAM_ERROR_METHOD 1
|
||||
#define GLIBTOP_PARAM_METHOD 1
|
||||
#define GLIBTOP_PARAM_FEATURES 2
|
||||
#define GLIBTOP_PARAM_NCPU 3
|
||||
#define GLIBTOP_PARAM_OS_VERSION_CODE 4
|
||||
#define GLIBTOP_PARAM_REQUIRED 5
|
||||
|
||||
typedef struct _glibtop_parameter glibtop_parameter;
|
||||
|
||||
struct _glibtop_parameter
|
||||
{
|
||||
unsigned error_method; /* Error Method */
|
||||
u_int64_t features; /* Server is required for this features */
|
||||
unsigned ncpu; /* Number of CPUs, zero if single-processor */
|
||||
u_int64_t os_version_code; /* Version code of the operating system */
|
||||
glibtop_sysdeps required; /* Required feature list */
|
||||
};
|
||||
#define GLIBTOP_PARAM_COMMAND 3
|
||||
#define GLIBTOP_PARAM_HOST 4
|
||||
#define GLIBTOP_PARAM_PORT 5
|
||||
#define GLIBTOP_PARAM_ERROR_METHOD 6
|
||||
#define GLIBTOP_PARAM_REQUIRED 7
|
||||
|
||||
#define glibtop_get_parameter(p1,p2,p3) glibtop_get_parameter_l(glibtop_global_server,p1,p2,p3)
|
||||
#define glibtop_set_parameter(p1,p2,p3) glibtop_set_parameter_l(glibtop_global_server,p1,p2,p3)
|
||||
|
||||
ssize_t
|
||||
size_t
|
||||
glibtop_get_parameter_l (glibtop *server, const unsigned parameter,
|
||||
void *data_ptr, size_t data_size);
|
||||
|
||||
int
|
||||
glibtop_get_parameter_size_l (glibtop *server, const unsigned parameter);
|
||||
|
||||
int
|
||||
void
|
||||
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
|
||||
const void *data_ptr, size_t data_size);
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PPP_STATE 0
|
||||
#define GLIBTOP_PPP_BYTES_IN 1
|
||||
@@ -53,20 +51,22 @@ struct _glibtop_ppp
|
||||
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
||||
};
|
||||
|
||||
#define glibtop_get_ppp(ppp,device) glibtop_get_ppp_l(glibtop_global_server, ppp, device)
|
||||
|
||||
#if GLIBTOP_SUID_PPP
|
||||
#define glibtop_get_ppp_r glibtop_get_ppp_p
|
||||
#else
|
||||
#define glibtop_get_ppp_r glibtop_get_ppp_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_ppp_l (glibtop_client *client, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
|
||||
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
|
||||
#if GLIBTOP_SUID_PPP
|
||||
int glibtop_init_ppp_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_ppp_p (glibtop_server *server, glibtop_closure *closure, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
|
||||
void glibtop_init_ppp_p (glibtop *server);
|
||||
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#else
|
||||
int glibtop_init_ppp_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_ppp_s (glibtop_server *server, glibtop_closure *closure, glibtop_ppp *buf, unsigned short device, unsigned short use_isdn);
|
||||
void glibtop_init_ppp_s (glibtop *server);
|
||||
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -80,6 +80,6 @@ extern const char *glibtop_descriptions_ppp [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,10 +27,21 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/compat_10.h>
|
||||
#include <glibtop/array.h>
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#define GLIBTOP_PROC_ARGS_SIZE 0
|
||||
|
||||
#define GLIBTOP_MAX_PROC_ARGS 1
|
||||
|
||||
typedef struct _glibtop_proc_args glibtop_proc_args;
|
||||
|
||||
struct _glibtop_proc_args
|
||||
{
|
||||
u_int64_t flags,
|
||||
size; /* GLIBTOP_PROC_ARGS_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
#define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
||||
@@ -40,19 +49,22 @@ G_BEGIN_DECLS
|
||||
#define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
||||
#endif
|
||||
|
||||
char **
|
||||
glibtop_get_proc_args_l (glibtop_client *client, glibtop_array *array, pid_t pid);
|
||||
char *
|
||||
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
int glibtop_init_proc_args_p (glibtop_server *server, glibtop_closure *closure);
|
||||
void glibtop_init_proc_args_p (glibtop *server);
|
||||
|
||||
char **
|
||||
glibtop_get_proc_args_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
|
||||
char *
|
||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#else
|
||||
int glibtop_init_proc_args_s (glibtop_server *server, glibtop_closure *closure);
|
||||
void glibtop_init_proc_args_s (glibtop *server);
|
||||
|
||||
char **
|
||||
glibtop_get_proc_args_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
|
||||
char *
|
||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -66,6 +78,6 @@ extern const char *glibtop_descriptions_proc_args [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0
|
||||
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1
|
||||
@@ -43,17 +41,6 @@ G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_MAX_PROC_KERNEL 9
|
||||
|
||||
/* Constants for the `k_flags' field. */
|
||||
#define GLIBTOP_KFLAGS_STARTING 1 /* being created */
|
||||
#define GLIBTOP_KFLAGS_EXITING 2 /* getting shut down */
|
||||
#define GLIBTOP_KFLAGS_PTRACED 4 /* set if ptrace (0) has
|
||||
been called */
|
||||
#define GLIBTOP_KFLAGS_TRACESYS 8 /* tracing system calls */
|
||||
#define GLIBTOP_KFLAGS_FORKNOEXEC 16 /* forked but didn't exec */
|
||||
#define GLIBTOP_KFLAGS_SUPERPRIV 32 /* used super-user privileges */
|
||||
#define GLIBTOP_KFLAGS_DUMPEDCORE 64 /* dumped core */
|
||||
#define GLIBTOP_KFLAGS_SIGNALED 128 /* killed by a signal */
|
||||
|
||||
typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
||||
|
||||
/* Kernel stuff */
|
||||
@@ -77,20 +64,22 @@ struct _glibtop_proc_kernel
|
||||
char wchan [40];
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_kernel(p1, p2) glibtop_get_proc_kernel_l(glibtop_global_server, p1, p2)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_KERNEL
|
||||
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_p
|
||||
#else
|
||||
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_proc_kernel_l (glibtop_client *client, glibtop_proc_kernel *buf, pid_t pid);
|
||||
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_KERNEL
|
||||
int glibtop_init_proc_kernel_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_kernel_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_kernel *buf, pid_t pid);
|
||||
void glibtop_init_proc_kernel_p (glibtop *server);
|
||||
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_kernel_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_kernel_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_kernel *buf, pid_t pid);
|
||||
void glibtop_init_proc_kernel_s (glibtop *server);
|
||||
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -104,6 +93,6 @@ extern const char *glibtop_descriptions_proc_kernel [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,10 +27,13 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/compat_10.h>
|
||||
#include <glibtop/array.h>
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#define GLIBTOP_PROCLIST_NUMBER 0
|
||||
#define GLIBTOP_PROCLIST_TOTAL 1
|
||||
#define GLIBTOP_PROCLIST_SIZE 2
|
||||
|
||||
#define GLIBTOP_MAX_PROCLIST 3
|
||||
|
||||
/* You can use the folowing constants as the `which' member of
|
||||
* glibtop_get_proclist () to specify which processes to fetch. */
|
||||
@@ -44,7 +45,6 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_KERN_PROC_TTY 4
|
||||
#define GLIBTOP_KERN_PROC_UID 5
|
||||
#define GLIBTOP_KERN_PROC_RUID 6
|
||||
#define GLIBTOP_KERN_PROC_PPID 7
|
||||
|
||||
#define GLIBTOP_KERN_PROC_MASK 15
|
||||
|
||||
@@ -52,6 +52,18 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
||||
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
||||
|
||||
typedef struct _glibtop_proclist glibtop_proclist;
|
||||
|
||||
struct _glibtop_proclist
|
||||
{
|
||||
u_int64_t flags,
|
||||
number, /* GLIBTOP_PROCLIST_NUMBER */
|
||||
total, /* GLIBTOP_PROCLIST_TOTAL */
|
||||
size; /* GLIBTOP_PROCLIST_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proclist(proclist,which,arg) glibtop_get_proclist_l(glibtop_global_server, proclist, which, arg)
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
#define glibtop_get_proclist_r glibtop_get_proclist_p
|
||||
#else
|
||||
@@ -59,20 +71,20 @@ G_BEGIN_DECLS
|
||||
#endif
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_l (glibtop_client *client, glibtop_array *array,
|
||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
int glibtop_init_proclist_p (glibtop_server *server, glibtop_closure *closure);
|
||||
void glibtop_init_proclist_p (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array,
|
||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
#else
|
||||
int glibtop_init_proclist_s (glibtop_server *server, glibtop_closure *closure);
|
||||
void glibtop_init_proclist_s (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array,
|
||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
#endif
|
||||
|
||||
@@ -87,6 +99,6 @@ extern const char *glibtop_descriptions_proclist [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,10 +27,13 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/compat_10.h>
|
||||
#include <glibtop/array.h>
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#define GLIBTOP_PROC_MAP_NUMBER 0
|
||||
#define GLIBTOP_PROC_MAP_TOTAL 1
|
||||
#define GLIBTOP_PROC_MAP_SIZE 2
|
||||
|
||||
#define GLIBTOP_MAX_PROC_MAP 3
|
||||
|
||||
#define GLIBTOP_MAP_ENTRY_START 1
|
||||
#define GLIBTOP_MAP_ENTRY_END 2
|
||||
@@ -54,12 +55,24 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_map_entry glibtop_map_entry;
|
||||
|
||||
typedef struct _glibtop_proc_map glibtop_proc_map;
|
||||
|
||||
struct _glibtop_map_entry
|
||||
{
|
||||
u_int64_t flags, start, end, offset, perm, inode, device;
|
||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||
};
|
||||
|
||||
struct _glibtop_proc_map
|
||||
{
|
||||
u_int64_t flags,
|
||||
number, /* GLIBTOP_PROC_MAP_NUMBER */
|
||||
total, /* GLIBTOP_PROC_MAP_TOTAL */
|
||||
size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_map(proc_map,pid) glibtop_get_proc_map_l(glibtop_global_server, proc_map, pid)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MAP
|
||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
||||
#else
|
||||
@@ -67,18 +80,18 @@ struct _glibtop_map_entry
|
||||
#endif
|
||||
|
||||
glibtop_map_entry *
|
||||
glibtop_get_proc_map_l (glibtop_client *client, glibtop_array *array, pid_t pid);
|
||||
glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MAP
|
||||
int glibtop_init_proc_map_p (glibtop_server *server, glibtop_closure *closure);
|
||||
void glibtop_init_proc_map_p (glibtop *server);
|
||||
|
||||
glibtop_map_entry *
|
||||
glibtop_get_proc_map_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
|
||||
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_map_s (glibtop_server *server, glibtop_closure *closure);
|
||||
void glibtop_init_proc_map_s (glibtop *server);
|
||||
|
||||
glibtop_map_entry *
|
||||
glibtop_get_proc_map_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, pid_t pid);
|
||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -92,6 +105,6 @@ extern const char *glibtop_descriptions_proc_map [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_MEM_SIZE 0
|
||||
#define GLIBTOP_PROC_MEM_VSIZE 1
|
||||
@@ -57,20 +55,22 @@ struct _glibtop_proc_mem
|
||||
* of the process; usually 2,147,483,647 */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_mem(p1, p2) glibtop_get_proc_mem_l(glibtop_global_server, p1, p2)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MEM
|
||||
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_p
|
||||
#else
|
||||
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_proc_mem_l (glibtop_client *client, glibtop_proc_mem *buf, pid_t pid);
|
||||
void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MEM
|
||||
int glibtop_init_proc_mem_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_mem_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_mem *buf, pid_t pid);
|
||||
void glibtop_init_proc_mem_p (glibtop *server);
|
||||
void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_mem_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_mem_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_mem *buf, pid_t pid);
|
||||
void glibtop_init_proc_mem_s (glibtop *server);
|
||||
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -84,6 +84,6 @@ extern const char *glibtop_descriptions_proc_mem [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
|
||||
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
|
||||
@@ -38,18 +36,9 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_PROC_SEGMENT_DIRTY_SIZE 4
|
||||
#define GLIBTOP_PROC_SEGMENT_START_CODE 5
|
||||
#define GLIBTOP_PROC_SEGMENT_END_CODE 6
|
||||
#define GLIBTOP_PROC_SEGMENT_START_DATA 7
|
||||
#define GLIBTOP_PROC_SEGMENT_END_DATA 8
|
||||
#define GLIBTOP_PROC_SEGMENT_START_BRK 9
|
||||
#define GLIBTOP_PROC_SEGMENT_END_BRK 10
|
||||
#define GLIBTOP_PROC_SEGMENT_START_STACK 11
|
||||
#define GLIBTOP_PROC_SEGMENT_START_MMAP 12
|
||||
#define GLIBTOP_PROC_SEGMENT_ARG_START 13
|
||||
#define GLIBTOP_PROC_SEGMENT_ARG_END 14
|
||||
#define GLIBTOP_PROC_SEGMENT_ENV_START 15
|
||||
#define GLIBTOP_PROC_SEGMENT_ENV_END 16
|
||||
#define GLIBTOP_PROC_SEGMENT_START_STACK 7
|
||||
|
||||
#define GLIBTOP_MAX_PROC_SEGMENT 17
|
||||
#define GLIBTOP_MAX_PROC_SEGMENT 8
|
||||
|
||||
typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
||||
|
||||
@@ -63,34 +52,28 @@ struct _glibtop_proc_segment
|
||||
data_rss, /* data resident set size */
|
||||
stack_rss, /* stack resident set size */
|
||||
dirty_size, /* size of dirty pages */
|
||||
start_code, /* address of beginning of code segment */
|
||||
start_code,
|
||||
/* address of beginning of code segment */
|
||||
end_code, /* address of end of code segment */
|
||||
start_data, /* address of beginning of data segment */
|
||||
end_data, /* address of end of data segment */
|
||||
start_brk,
|
||||
end_brk,
|
||||
start_stack, /* address of the bottom of stack segment */
|
||||
start_mmap,
|
||||
arg_start,
|
||||
arg_end,
|
||||
env_start,
|
||||
env_end;
|
||||
start_stack; /* address of the bottom of stack segment */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_segment(p1, p2) glibtop_get_proc_segment_l(glibtop_global_server, p1, p2)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_p
|
||||
#else
|
||||
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_proc_segment_l (glibtop_client *client, glibtop_proc_segment *buf, pid_t pid);
|
||||
void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||
int glibtop_init_proc_segment_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_segment_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_segment *buf, pid_t pid);
|
||||
void glibtop_init_proc_segment_p (glibtop *server);
|
||||
void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_segment_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_segment_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_segment *buf, pid_t pid);
|
||||
void glibtop_init_proc_segment_s (glibtop *server);
|
||||
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -104,6 +87,6 @@ extern const char *glibtop_descriptions_proc_segment [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0
|
||||
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1
|
||||
@@ -51,20 +49,22 @@ struct _glibtop_proc_signal
|
||||
sigcatch [2]; /* mask of caught signals */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_signal(p1, p2) glibtop_get_proc_signal_l(glibtop_global_server, p1, p2)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_p
|
||||
#else
|
||||
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_proc_signal_l (glibtop_client *client, glibtop_proc_signal *buf, pid_t pid);
|
||||
void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||
int glibtop_init_proc_signal_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_signal_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_signal *buf, pid_t pid);
|
||||
void glibtop_init_proc_signal_p (glibtop *server);
|
||||
void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_signal_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_signal_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_signal *buf, pid_t pid);
|
||||
void glibtop_init_proc_signal_s (glibtop *server);
|
||||
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -78,6 +78,6 @@ extern const char *glibtop_descriptions_proc_signal [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,27 +27,14 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_STATE_CMD 0
|
||||
#define GLIBTOP_PROC_STATE_STATE 1
|
||||
#define GLIBTOP_PROC_STATE_UID 2
|
||||
#define GLIBTOP_PROC_STATE_GID 3
|
||||
#define GLIBTOP_PROC_STATE_RUID 4
|
||||
#define GLIBTOP_PROC_STATE_RGID 5
|
||||
#define GLIBTOP_PROC_STATE_HAS_CPU 6
|
||||
#define GLIBTOP_PROC_STATE_PROCESSOR 7
|
||||
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
|
||||
|
||||
#define GLIBTOP_MAX_PROC_STATE 9
|
||||
|
||||
/* Constants for the `state' field. */
|
||||
#define GLIBTOP_PROCESS_RUNNING 1
|
||||
#define GLIBTOP_PROCESS_INTERRUPTIBLE 2
|
||||
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE 4
|
||||
#define GLIBTOP_PROCESS_ZOMBIE 8
|
||||
#define GLIBTOP_PROCESS_STOPPED 16
|
||||
#define GLIBTOP_PROCESS_SWAPPING 32
|
||||
#define GLIBTOP_MAX_PROC_STATE 4
|
||||
|
||||
typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||
|
||||
@@ -58,39 +43,35 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||
struct _glibtop_proc_state
|
||||
{
|
||||
u_int64_t flags;
|
||||
char cmd[40]; /* basename of executable file in
|
||||
char cmd[40], /* basename of executable file in
|
||||
* call to exec(2) */
|
||||
unsigned state; /* process state */
|
||||
state; /* single-char code for process state
|
||||
* (S=sleeping) */
|
||||
/* NOTE: when porting the library, TRY HARD to implement the
|
||||
* following two fields. */
|
||||
/* IMPORTANT NOTICE: For security reasons, it is extremely important
|
||||
* only to set the flags value for those two
|
||||
* fields if their values are corrent ! */
|
||||
int uid, /* effective UID of process */
|
||||
gid, /* effective GID of process */
|
||||
ruid, /* real UID of process */
|
||||
rgid; /* real GID of process */
|
||||
/* SMP values. */
|
||||
int has_cpu,
|
||||
processor,
|
||||
last_processor;
|
||||
|
||||
int uid, /* UID of process */
|
||||
gid; /* GID of process */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state_l(glibtop_global_server, p1, p2)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_STATE
|
||||
#define glibtop_get_proc_state_r glibtop_get_proc_state_p
|
||||
#else
|
||||
#define glibtop_get_proc_state_r glibtop_get_proc_state_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_proc_state_l (glibtop_client *client, glibtop_proc_state *buf, pid_t pid);
|
||||
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_STATE
|
||||
int glibtop_init_proc_state_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_state_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_state *buf, pid_t pid);
|
||||
void glibtop_init_proc_state_p (glibtop *server);
|
||||
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_state_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_state_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_state *buf, pid_t pid);
|
||||
void glibtop_init_proc_state_s (glibtop *server);
|
||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -104,6 +85,6 @@ extern const char *glibtop_descriptions_proc_state [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -30,7 +28,7 @@
|
||||
#include <glibtop/cpu.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_TIME_START_TIME 0
|
||||
#define GLIBTOP_PROC_TIME_RTIME 1
|
||||
@@ -43,9 +41,8 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_PROC_TIME_FREQUENCY 8
|
||||
#define GLIBTOP_PROC_TIME_XCPU_UTIME 9
|
||||
#define GLIBTOP_PROC_TIME_XCPU_STIME 10
|
||||
#define GLIBTOP_PROC_TIME_XCPU_FLAGS 11
|
||||
|
||||
#define GLIBTOP_MAX_PROC_TIME 12
|
||||
#define GLIBTOP_MAX_PROC_TIME 11
|
||||
|
||||
typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
@@ -70,24 +67,25 @@ struct _glibtop_proc_time
|
||||
* due to an interval timer. */
|
||||
frequency, /* Tick frequency. */
|
||||
xcpu_utime [GLIBTOP_NCPU], /* utime and stime for all CPUs on */
|
||||
xcpu_stime [GLIBTOP_NCPU], /* SMP machines. */
|
||||
xcpu_flags;
|
||||
xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_time(p1, p2) glibtop_get_proc_time_l(glibtop_global_server, p1, p2)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_TIME
|
||||
#define glibtop_get_proc_time_r glibtop_get_proc_time_p
|
||||
#else
|
||||
#define glibtop_get_proc_time_r glibtop_get_proc_time_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_proc_time_l (glibtop_client *client, glibtop_proc_time *buf, pid_t pid);
|
||||
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_TIME
|
||||
int glibtop_init_proc_time_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_time_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_time *buf, pid_t pid);
|
||||
void glibtop_init_proc_time_p (glibtop *server);
|
||||
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_time_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_time_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_time *buf, pid_t pid);
|
||||
void glibtop_init_proc_time_s (glibtop *server);
|
||||
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -101,6 +99,6 @@ extern const char *glibtop_descriptions_proc_time [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,28 +27,22 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_UID_UID 0
|
||||
#define GLIBTOP_PROC_UID_EUID 1
|
||||
#define GLIBTOP_PROC_UID_GID 2
|
||||
#define GLIBTOP_PROC_UID_EGID 3
|
||||
#define GLIBTOP_PROC_UID_SUID 4
|
||||
#define GLIBTOP_PROC_UID_SGID 5
|
||||
#define GLIBTOP_PROC_UID_FSUID 6
|
||||
#define GLIBTOP_PROC_UID_FSGID 7
|
||||
#define GLIBTOP_PROC_UID_PID 8
|
||||
#define GLIBTOP_PROC_UID_PPID 9
|
||||
#define GLIBTOP_PROC_UID_PGRP 10
|
||||
#define GLIBTOP_PROC_UID_SESSION 11
|
||||
#define GLIBTOP_PROC_UID_TTY 12
|
||||
#define GLIBTOP_PROC_UID_TPGID 13
|
||||
#define GLIBTOP_PROC_UID_PRIORITY 14
|
||||
#define GLIBTOP_PROC_UID_NICE 15
|
||||
#define GLIBTOP_PROC_UID_NGROUPS 16
|
||||
#define GLIBTOP_PROC_UID_GROUPS 17
|
||||
#define GLIBTOP_PROC_UID_PID 4
|
||||
#define GLIBTOP_PROC_UID_PPID 5
|
||||
#define GLIBTOP_PROC_UID_PGRP 6
|
||||
#define GLIBTOP_PROC_UID_SESSION 7
|
||||
#define GLIBTOP_PROC_UID_TTY 8
|
||||
#define GLIBTOP_PROC_UID_TPGID 9
|
||||
#define GLIBTOP_PROC_UID_PRIORITY 10
|
||||
#define GLIBTOP_PROC_UID_NICE 11
|
||||
|
||||
#define GLIBTOP_MAX_PROC_UID 18
|
||||
#define GLIBTOP_MAX_PROC_UID 12
|
||||
|
||||
typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
||||
|
||||
@@ -63,10 +55,6 @@ struct _glibtop_proc_uid
|
||||
euid, /* effective user id */
|
||||
gid, /* group id */
|
||||
egid, /* effective group id */
|
||||
suid, /* saved user id */
|
||||
sgid, /* saved group id */
|
||||
fsuid, /* file system user id */
|
||||
fsgid, /* file system group id */
|
||||
pid, /* process id */
|
||||
ppid, /* pid of parent process */
|
||||
pgrp, /* process group id */
|
||||
@@ -74,25 +62,25 @@ struct _glibtop_proc_uid
|
||||
tty, /* full device number of controlling terminal */
|
||||
tpgid, /* terminal process group id */
|
||||
priority, /* kernel scheduling priority */
|
||||
nice, /* standard unix nice level of process */
|
||||
ngroups, /* number of additional process groups */
|
||||
groups [GLIBTOP_MAX_GROUPS]; /* additional prcess groups */
|
||||
nice; /* standard unix nice level of process */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_uid(p1, p2) glibtop_get_proc_uid_l(glibtop_global_server, p1, p2)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_UID
|
||||
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_p
|
||||
#else
|
||||
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_proc_uid_l (glibtop_client *client, glibtop_proc_uid *buf, pid_t pid);
|
||||
void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_UID
|
||||
int glibtop_init_proc_uid_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_uid_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_uid *buf, pid_t pid);
|
||||
void glibtop_init_proc_uid_p (glibtop *server);
|
||||
void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_uid_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_proc_uid_s (glibtop_server *server, glibtop_closure *closure, glibtop_proc_uid *buf, pid_t pid);
|
||||
void glibtop_init_proc_uid_s (glibtop *server);
|
||||
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -106,6 +94,6 @@ extern const char *glibtop_descriptions_proc_uid [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,18 +27,18 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_SEM_LIMITS_SEMMAP 0
|
||||
#define GLIBTOP_SEM_LIMITS_SEMMNI 1
|
||||
#define GLIBTOP_SEM_LIMITS_SEMMNS 2
|
||||
#define GLIBTOP_SEM_LIMITS_SEMMNU 3
|
||||
#define GLIBTOP_SEM_LIMITS_SEMMSL 4
|
||||
#define GLIBTOP_SEM_LIMITS_SEMOPM 5
|
||||
#define GLIBTOP_SEM_LIMITS_SEMUME 6
|
||||
#define GLIBTOP_SEM_LIMITS_SEMUSZ 7
|
||||
#define GLIBTOP_SEM_LIMITS_SEMVMX 8
|
||||
#define GLIBTOP_SEM_LIMITS_SEMAEM 9
|
||||
#define GLIBTOP_IPC_SEMMAP 0
|
||||
#define GLIBTOP_IPC_SEMMNI 1
|
||||
#define GLIBTOP_IPC_SEMMNS 2
|
||||
#define GLIBTOP_IPC_SEMMNU 3
|
||||
#define GLIBTOP_IPC_SEMMSL 4
|
||||
#define GLIBTOP_IPC_SEMOPM 5
|
||||
#define GLIBTOP_IPC_SEMUME 6
|
||||
#define GLIBTOP_IPC_SEMUSZ 7
|
||||
#define GLIBTOP_IPC_SEMVMX 8
|
||||
#define GLIBTOP_IPC_SEMAEM 9
|
||||
|
||||
#define GLIBTOP_MAX_SEM_LIMITS 10
|
||||
|
||||
@@ -49,32 +47,34 @@ typedef struct _glibtop_sem_limits glibtop_sem_limits;
|
||||
struct _glibtop_sem_limits
|
||||
{
|
||||
u_int64_t flags,
|
||||
semmap, /* GLIBTOP_SEM_LIMITS_SEMMAP */
|
||||
semmni, /* GLIBTOP_SEM_LIMITS_SEMMNI */
|
||||
semmns, /* GLIBTOP_SEM_LIMITS_SEMMNS */
|
||||
semmnu, /* GLIBTOP_SEM_LIMITS_SEMMNU */
|
||||
semmsl, /* GLIBTOP_SEM_LIMITS_SEMMSL */
|
||||
semopm, /* GLIBTOP_SEM_LIMITS_SEMOPM */
|
||||
semume, /* GLIBTOP_SEM_LIMITS_SEMUME */
|
||||
semusz, /* GLIBTOP_SEM_LIMITS_SEMUSZ */
|
||||
semvmx, /* GLIBTOP_SEM_LIMITS_SEMVMX */
|
||||
semaem; /* GLIBTOP_SEM_LIMITS_SEMAEM */
|
||||
semmap, /* GLIBTOP_IPC_SEMMAP */
|
||||
semmni, /* GLIBTOP_IPC_SEMMNI */
|
||||
semmns, /* GLIBTOP_IPC_SEMMNS */
|
||||
semmnu, /* GLIBTOP_IPC_SEMMNU */
|
||||
semmsl, /* GLIBTOP_IPC_SEMMSL */
|
||||
semopm, /* GLIBTOP_IPC_SEMOPM */
|
||||
semume, /* GLIBTOP_IPC_SEMUME */
|
||||
semusz, /* GLIBTOP_IPC_SEMUSZ */
|
||||
semvmx, /* GLIBTOP_IPC_SEMVMX */
|
||||
semaem; /* GLIBTOP_IPC_SEMAEM */
|
||||
};
|
||||
|
||||
#define glibtop_get_sem_limits(sem) glibtop_get_sem_limits_l(glibtop_global_server, sem)
|
||||
|
||||
#if GLIBTOP_SUID_SEM_LIMITS
|
||||
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_p
|
||||
#else
|
||||
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_sem_limits_l (glibtop_client *client, glibtop_sem_limits *buf);
|
||||
void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SEM_LIMITS
|
||||
int glibtop_init_sem_limits_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_sem_limits_p (glibtop_server *server, glibtop_closure *closure, glibtop_sem_limits *buf);
|
||||
void glibtop_init_sem_limits_p (glibtop *server);
|
||||
void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
|
||||
#else
|
||||
int glibtop_init_sem_limits_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_sem_limits_s (glibtop_server *server, glibtop_closure *closure, glibtop_sem_limits *buf);
|
||||
void glibtop_init_sem_limits_s (glibtop *server);
|
||||
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -88,6 +88,6 @@ extern const char *glibtop_descriptions_sem_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,13 +27,13 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_SHM_LIMITS_SHMMAX 0
|
||||
#define GLIBTOP_SHM_LIMITS_SHMMIN 1
|
||||
#define GLIBTOP_SHM_LIMITS_SHMMNI 2
|
||||
#define GLIBTOP_SHM_LIMITS_SHMSEG 3
|
||||
#define GLIBTOP_SHM_LIMITS_SHMALL 4
|
||||
#define GLIBTOP_IPC_SHMMAX 0
|
||||
#define GLIBTOP_IPC_SHMMIN 1
|
||||
#define GLIBTOP_IPC_SHMMNI 2
|
||||
#define GLIBTOP_IPC_SHMSEG 3
|
||||
#define GLIBTOP_IPC_SHMALL 4
|
||||
|
||||
#define GLIBTOP_MAX_SHM_LIMITS 5
|
||||
|
||||
@@ -44,27 +42,29 @@ typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||
struct _glibtop_shm_limits
|
||||
{
|
||||
u_int64_t flags,
|
||||
shmmax, /* GLIBTOP_SHM_LIMITS_SHMMAX */
|
||||
shmmin, /* GLIBTOP_SHM_LIMITS_SHMMIN */
|
||||
shmmni, /* GLIBTOP_SHM_LIMITS_SHMMNI */
|
||||
shmseg, /* GLIBTOP_SHM_LIMITS_SHMSEG */
|
||||
shmall; /* GLIBTOP_SHM_LIMITS_SHMALL */
|
||||
shmmax, /* GLIBTOP_IPC_SHMMAX */
|
||||
shmmin, /* GLIBTOP_IPC_SHMMIN */
|
||||
shmmni, /* GLIBTOP_IPC_SHMMNI */
|
||||
shmseg, /* GLIBTOP_IPC_SHMSEG */
|
||||
shmall; /* GLIBTOP_IPC_SHMALL */
|
||||
};
|
||||
|
||||
#define glibtop_get_shm_limits(shm) glibtop_get_shm_limits_l(glibtop_global_server, shm)
|
||||
|
||||
#if GLIBTOP_SUID_SHM_LIMITS
|
||||
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_p
|
||||
#else
|
||||
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_shm_limits_l (glibtop_client *client, glibtop_shm_limits *buf);
|
||||
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SHM_LIMITS
|
||||
int glibtop_init_shm_limits_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_shm_limits_p (glibtop_server *, glibtop_shm_limits *buf);
|
||||
void glibtop_init_shm_limits_p (glibtop *server);
|
||||
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
|
||||
#else
|
||||
int glibtop_init_shm_limits_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_shm_limits_s (glibtop_server *server, glibtop_closure *closure, glibtop_shm_limits *buf);
|
||||
void glibtop_init_shm_limits_s (glibtop *server);
|
||||
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -78,6 +78,6 @@ extern const char *glibtop_descriptions_shm_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -32,7 +30,7 @@
|
||||
#include <sys/signal.h>
|
||||
#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
typedef struct _glibtop_signame glibtop_signame;
|
||||
|
||||
@@ -44,6 +42,6 @@ struct _glibtop_signame
|
||||
|
||||
extern const glibtop_signame glibtop_sys_siglist [];
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_SWAP_TOTAL 0
|
||||
#define GLIBTOP_SWAP_USED 1
|
||||
@@ -51,20 +49,22 @@ struct _glibtop_swap
|
||||
pageout; /* GLIBTOP_SWAP_PAGEOUT */
|
||||
};
|
||||
|
||||
#define glibtop_get_swap(swap) glibtop_get_swap_l(glibtop_global_server, swap)
|
||||
|
||||
#if GLIBTOP_SUID_SWAP
|
||||
#define glibtop_get_swap_r glibtop_get_swap_p
|
||||
#else
|
||||
#define glibtop_get_swap_r glibtop_get_swap_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_swap_l (glibtop_client *client, glibtop_swap *buf);
|
||||
void glibtop_get_swap_l (glibtop *server, glibtop_swap *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SWAP
|
||||
int glibtop_init_swap_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_swap_p (glibtop_server *server, glibtop_closure *closure, glibtop_swap *buf);
|
||||
void glibtop_init_swap_p (glibtop *server);
|
||||
void glibtop_get_swap_p (glibtop *server, glibtop_swap *buf);
|
||||
#else
|
||||
int glibtop_init_swap_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_swap_s (glibtop_server *server, glibtop_closure *closure, glibtop_swap *buf);
|
||||
void glibtop_init_swap_s (glibtop *server);
|
||||
void glibtop_get_swap_s (glibtop *server, glibtop_swap *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -78,6 +78,6 @@ extern const char *glibtop_descriptions_swap [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -28,45 +26,46 @@
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_SYSDEPS_CPU 0
|
||||
#define GLIBTOP_SYSDEPS_MEM 1
|
||||
#define GLIBTOP_SYSDEPS_SWAP 2
|
||||
#define GLIBTOP_SYSDEPS_UPTIME 3
|
||||
#define GLIBTOP_SYSDEPS_LOADAVG 4
|
||||
#define GLIBTOP_SYSDEPS_SHM_LIMITS 5
|
||||
#define GLIBTOP_SYSDEPS_MSG_LIMITS 6
|
||||
#define GLIBTOP_SYSDEPS_SEM_LIMITS 7
|
||||
#define GLIBTOP_SYSDEPS_PROCLIST 8
|
||||
#define GLIBTOP_SYSDEPS_PROC_STATE 9
|
||||
#define GLIBTOP_SYSDEPS_PROC_UID 10
|
||||
#define GLIBTOP_SYSDEPS_PROC_MEM 11
|
||||
#define GLIBTOP_SYSDEPS_PROC_TIME 12
|
||||
#define GLIBTOP_SYSDEPS_PROC_SIGNAL 13
|
||||
#define GLIBTOP_SYSDEPS_PROC_KERNEL 14
|
||||
#define GLIBTOP_SYSDEPS_PROC_SEGMENT 15
|
||||
#define GLIBTOP_SYSDEPS_PROC_CWD 16
|
||||
#define GLIBTOP_SYSDEPS_FEATURES 0
|
||||
#define GLIBTOP_SYSDEPS_CPU 1
|
||||
#define GLIBTOP_SYSDEPS_MEM 2
|
||||
#define GLIBTOP_SYSDEPS_SWAP 3
|
||||
#define GLIBTOP_SYSDEPS_UPTIME 4
|
||||
#define GLIBTOP_SYSDEPS_LOADAVG 5
|
||||
#define GLIBTOP_SYSDEPS_SHM_LIMITS 6
|
||||
#define GLIBTOP_SYSDEPS_MSG_LIMITS 7
|
||||
#define GLIBTOP_SYSDEPS_SEM_LIMITS 8
|
||||
#define GLIBTOP_SYSDEPS_PROCLIST 9
|
||||
#define GLIBTOP_SYSDEPS_PROC_STATE 10
|
||||
#define GLIBTOP_SYSDEPS_PROC_UID 11
|
||||
#define GLIBTOP_SYSDEPS_PROC_MEM 12
|
||||
#define GLIBTOP_SYSDEPS_PROC_TIME 13
|
||||
#define GLIBTOP_SYSDEPS_PROC_SIGNAL 14
|
||||
#define GLIBTOP_SYSDEPS_PROC_KERNEL 15
|
||||
#define GLIBTOP_SYSDEPS_PROC_SEGMENT 16
|
||||
#define GLIBTOP_SYSDEPS_PROC_ARGS 17
|
||||
#define GLIBTOP_SYSDEPS_PROC_MAP 18
|
||||
#define GLIBTOP_SYSDEPS_MOUNTLIST 19
|
||||
#define GLIBTOP_SYSDEPS_FSUSAGE 20
|
||||
#define GLIBTOP_SYSDEPS_INTERFACE_NAMES 21
|
||||
#define GLIBTOP_SYSDEPS_NETINFO 22
|
||||
#define GLIBTOP_SYSDEPS_NETLOAD 23
|
||||
#define GLIBTOP_SYSDEPS_PPP 24
|
||||
#define GLIBTOP_SYSDEPS_NETLOAD 21
|
||||
#define GLIBTOP_SYSDEPS_PPP 22
|
||||
|
||||
#define GLIBTOP_MAX_SYSDEPS 27
|
||||
#define GLIBTOP_MAX_SYSDEPS 23
|
||||
|
||||
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
||||
|
||||
typedef void (*glibtop_init_func_t) (glibtop *);
|
||||
extern glibtop_init_func_t _glibtop_init_hook_s [];
|
||||
extern glibtop_init_func_t _glibtop_init_hook_p [];
|
||||
|
||||
typedef struct _glibtop_sysdeps glibtop_sysdeps;
|
||||
|
||||
struct _glibtop_sysdeps
|
||||
{
|
||||
u_int64_t flags,
|
||||
features, /* server features */
|
||||
pointer_size, /* sizeof(void*)*8 */
|
||||
cpu, /* glibtop_cpu */
|
||||
mem, /* glibtop_mem */
|
||||
swap, /* glibtop_swap */
|
||||
@@ -83,17 +82,18 @@ struct _glibtop_sysdeps
|
||||
proc_signal, /* glibtop_proc_signal */
|
||||
proc_kernel, /* glibtop_proc_kernel */
|
||||
proc_segment, /* glibtop_proc_segment */
|
||||
proc_cwd, /* glibtop_proc_cwd */
|
||||
proc_args, /* glibtop_proc_args */
|
||||
proc_map, /* glibtop_proc_map */
|
||||
mountlist, /* glibtop_mountlist */
|
||||
fsusage, /* glibtop_fsusage */
|
||||
interface_names, /* glibtop_interface_names */
|
||||
netinfo, /* glibtop_netinfo */
|
||||
netload, /* glibtop_netload */
|
||||
ppp; /* glibtop_ppp */
|
||||
};
|
||||
|
||||
#define glibtop_get_sysdeps(sysdeps) glibtop_get_sysdeps_r(glibtop_global_server,sysdeps)
|
||||
|
||||
void glibtop_get_sysdeps_r (glibtop *server, glibtop_sysdeps *buf);
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
@@ -105,6 +105,6 @@ extern const char *glibtop_descriptions_sysdeps [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -32,7 +30,7 @@
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_SYSINFO_CPUINFO 0
|
||||
|
||||
@@ -55,10 +53,12 @@ struct _glibtop_sysinfo
|
||||
glibtop_entry cpuinfo [GLIBTOP_NCPU];
|
||||
};
|
||||
|
||||
#define glibtop_get_sysinfo() glibtop_get_sysinfo_s(glibtop_global_server)
|
||||
|
||||
#define glibtop_get_sysinfo_r glibtop_get_sysinfo_s
|
||||
|
||||
glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop_server *server);
|
||||
glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -26,16 +24,15 @@
|
||||
#ifndef __GLIBTOP_TYPES_H__
|
||||
#define __GLIBTOP_TYPES_H__
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_TYPE_LONG 1
|
||||
#define GLIBTOP_TYPE_ULONG 2
|
||||
#define GLIBTOP_TYPE_DOUBLE 3
|
||||
#define GLIBTOP_TYPE_INT 4
|
||||
#define GLIBTOP_TYPE_UNSIGNED 5
|
||||
#define GLIBTOP_TYPE_CHAR 6
|
||||
#define GLIBTOP_TYPE_STRING 7
|
||||
#define GLIBTOP_TYPE_CHAR 5
|
||||
#define GLIBTOP_TYPE_STRING 6
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -46,17 +44,13 @@
|
||||
#include <glibtop/procargs.h>
|
||||
#include <glibtop/procmap.h>
|
||||
|
||||
#include <glibtop/proccwd.h>
|
||||
|
||||
#include <glibtop/mountlist.h>
|
||||
#include <glibtop/fsusage.h>
|
||||
|
||||
#include <glibtop/netload.h>
|
||||
#include <glibtop/netinfo.h>
|
||||
#include <glibtop/interfaces.h>
|
||||
#include <glibtop/ppp.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
typedef union _glibtop_union glibtop_union;
|
||||
|
||||
@@ -70,7 +64,7 @@ union _glibtop_union
|
||||
glibtop_shm_limits shm_limits;
|
||||
glibtop_msg_limits msg_limits;
|
||||
glibtop_sem_limits sem_limits;
|
||||
glibtop_array proclist;
|
||||
glibtop_proclist proclist;
|
||||
glibtop_proc_state proc_state;
|
||||
glibtop_proc_uid proc_uid;
|
||||
glibtop_proc_mem proc_mem;
|
||||
@@ -78,17 +72,14 @@ union _glibtop_union
|
||||
glibtop_proc_signal proc_signal;
|
||||
glibtop_proc_kernel proc_kernel;
|
||||
glibtop_proc_segment proc_segment;
|
||||
glibtop_proc_cwd proc_cwd;
|
||||
glibtop_array proc_args;
|
||||
glibtop_array proc_map;
|
||||
glibtop_array mountlist;
|
||||
glibtop_proc_args proc_args;
|
||||
glibtop_proc_map proc_map;
|
||||
glibtop_mountlist mountlist;
|
||||
glibtop_fsusage fsusage;
|
||||
glibtop_array interface_names;
|
||||
glibtop_netinfo netinfo;
|
||||
glibtop_netload netload;
|
||||
glibtop_ppp ppp;
|
||||
};
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,13 +27,12 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_UPTIME_UPTIME 0
|
||||
#define GLIBTOP_UPTIME_IDLETIME 1
|
||||
#define GLIBTOP_UPTIME_BOOT_TIME 2
|
||||
|
||||
#define GLIBTOP_MAX_UPTIME 3
|
||||
#define GLIBTOP_MAX_UPTIME 2
|
||||
|
||||
typedef struct _glibtop_uptime glibtop_uptime;
|
||||
|
||||
@@ -44,23 +41,24 @@ struct _glibtop_uptime
|
||||
u_int64_t flags;
|
||||
double uptime, /* GLIBTOP_UPTIME_UPTIME */
|
||||
idletime; /* GLIBTOP_UPTIME_IDLETIME */
|
||||
u_int64_t boot_time; /* GLIBTOP_UPTIME_BOOT_TIME */
|
||||
};
|
||||
|
||||
#define glibtop_get_uptime(uptime) glibtop_get_uptime_l(glibtop_global_server, uptime)
|
||||
|
||||
#if GLIBTOP_SUID_UPTIME
|
||||
#define glibtop_get_uptime_r glibtop_get_uptime_p
|
||||
#else
|
||||
#define glibtop_get_uptime_r glibtop_get_uptime_s
|
||||
#endif
|
||||
|
||||
int glibtop_get_uptime_l (glibtop_client *client, glibtop_uptime *buf);
|
||||
void glibtop_get_uptime_l (glibtop *server, glibtop_uptime *buf);
|
||||
|
||||
#if GLIBTOP_SUID_UPTIME
|
||||
int glibtop_init_uptime_p (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_uptime_p (glibtop_server *server, glibtop_closure *closure, glibtop_uptime *buf);
|
||||
void glibtop_init_uptime_p (glibtop *server);
|
||||
void glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf);
|
||||
#else
|
||||
int glibtop_init_uptime_s (glibtop_server *server, glibtop_closure *closure);
|
||||
int glibtop_get_uptime_s (glibtop_server *server, glibtop_closure *closure, glibtop_uptime *buf);
|
||||
void glibtop_init_uptime_s (glibtop *server);
|
||||
void glibtop_get_uptime_s (glibtop *server, glibtop_uptime *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -74,6 +72,6 @@ extern const char *glibtop_descriptions_uptime [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -29,14 +27,20 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
void *glibtop_malloc_r (glibtop_server *server, size_t size);
|
||||
void *glibtop_calloc_r (glibtop_server *server, size_t nmemb, size_t size);
|
||||
void *glibtop_realloc_r (glibtop_server *server, void *ptr, size_t size);
|
||||
char *glibtop_strdup_r (glibtop_server *server, const char *string);
|
||||
void glibtop_free_r (glibtop_server *server, void *ptr);
|
||||
#define glibtop_malloc(p1) glibtop_malloc_r(glibtop_global_server, p1)
|
||||
#define glibtop_calloc(p1, p2) glibtop_calloc_r(glibtop_global_server, p1, p2)
|
||||
#define glibtop_realloc(p1, p2) glibtop_realloc_r(glibtop_global_server, p1, p2)
|
||||
#define glibtop_strdup(p1) glibtop_strdup_r(glibtop_global_server, p1)
|
||||
#define glibtop_free(p1) glibtop_free_r(glibtop_global_server, p1)
|
||||
|
||||
G_END_DECLS
|
||||
void *glibtop_malloc_r (glibtop *server, size_t size);
|
||||
void *glibtop_calloc_r (glibtop *server, size_t nmemb, size_t size);
|
||||
void *glibtop_realloc_r (glibtop *server, void *ptr, size_t size);
|
||||
char *glibtop_strdup_r (glibtop *server, const char *string);
|
||||
void glibtop_free_r (glibtop *server, const void *ptr);
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,2 +1 @@
|
||||
*.flags
|
||||
.depend
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/*
|
||||
* linux/libgtop/module.c
|
||||
* Copyright (C) 1999 Martin Baulig
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
#ifndef _LINUX_LIBGTOP_H
|
||||
#define _LINUX_LIBGTOP_H 1
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/*
|
||||
* linux/libgtop/libgtop_syms.c
|
||||
* Copyright (C) 1999 Martin Baulig
|
||||
@@ -17,6 +15,7 @@
|
||||
extern unsigned long total_forks;
|
||||
|
||||
EXPORT_SYMBOL(task);
|
||||
EXPORT_SYMBOL(init_mm);
|
||||
EXPORT_SYMBOL(pidhash);
|
||||
EXPORT_SYMBOL(avenrun);
|
||||
EXPORT_SYMBOL(nr_running);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/*
|
||||
* linux/libgtop/main.c
|
||||
* Copyright (C) 1999 Martin Baulig
|
||||
|
@@ -5,7 +5,3 @@ Makefile.in
|
||||
libgtop.la
|
||||
*.lo
|
||||
lib.c
|
||||
structures.h
|
||||
sysdeps-init.c
|
||||
libgtop_server.la
|
||||
test-backends
|
||||
|
@@ -1,55 +1,23 @@
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
if INODEDB
|
||||
inodedb_SRCLIST = inodedb.c
|
||||
inodedb_DEFS = -DSYSTEM_INODEDB=\"$(prefix)/var/libgtop/inodedb.db\"
|
||||
else
|
||||
inodedb_SRCLIST =
|
||||
inodedb_DEFS =
|
||||
endif
|
||||
INCLUDES = @INCLUDES@
|
||||
|
||||
INCLUDES = @INCLUDES@ $(inodedb_DEFS)
|
||||
lib_LTLIBRARIES = libgtop-2.0.la
|
||||
|
||||
noinst_PROGRAMS = test-backends
|
||||
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
|
||||
|
||||
lib_LTLIBRARIES = libgtop.la
|
||||
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
libgtop_2_0_la_LIBADD = $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib) $(INTLLIBS)
|
||||
|
||||
noinst_LTLIBRARIES = libgtop_server.la
|
||||
BUILT_SOURCES = lib.c
|
||||
|
||||
libgtop_la_SOURCES = errors.c glibtop-backend-info.c \
|
||||
glibtop-client.c glibtop-server.c \
|
||||
glibtop-backend.c glibtop-client-private.h \
|
||||
glibtop-server-private.h xmalloc.c error.c \
|
||||
$(inodedb_SRCLIST) $(BUILT_SOURCES)
|
||||
|
||||
libgtop_server_la_SOURCES = error.c xmalloc.c
|
||||
|
||||
libgtop_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
libgtop_la_LIBADD = $(GLIB_LIBS) $(XML_LIBS)
|
||||
|
||||
test_backends_SOURCES = \
|
||||
test-backends.c
|
||||
|
||||
test_backends_LDADD = libgtop.la
|
||||
|
||||
glibtopdir = $(includedir)/glibtop
|
||||
|
||||
glibtop_HEADERS = structures.h
|
||||
|
||||
BUILT_SOURCES = lib.c structures.h
|
||||
|
||||
lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t
|
||||
lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def
|
||||
$(PERL) $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t
|
||||
mv lib-t lib.c
|
||||
|
||||
structures.h: structures.pl $(top_builddir)/config.h \
|
||||
$(top_srcdir)/features.def $(top_srcdir)/structures.def
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/structures.pl \
|
||||
$(top_srcdir)/features.def $(top_srcdir)/structures.def \
|
||||
structures.h > tmp-s
|
||||
mv tmp-s structures.h
|
||||
EXTRA_DIST = lib.pl
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
EXTRA_DIST = lib.pl structures.pl
|
||||
CLEANFILES = lib.c
|
||||
|
||||
|
47
lib/close.c
47
lib/close.c
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -26,38 +24,27 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
|
||||
#include <glibtop/backend.h>
|
||||
#include <glibtop/command.h>
|
||||
|
||||
/* Closes server. */
|
||||
|
||||
static void
|
||||
close_backend (gpointer value, gpointer user_data)
|
||||
{
|
||||
glibtop_backend *backend = (glibtop_backend *) value;
|
||||
glibtop *server = (glibtop *) user_data;
|
||||
|
||||
/* should not happen ... */
|
||||
if (!backend || !backend->_priv_module)
|
||||
return;
|
||||
|
||||
if (backend->info && backend->info->close)
|
||||
backend->info->close (server, backend);
|
||||
|
||||
/* Note that two or more servers may open the same backend. */
|
||||
backend->_priv_module->refcount--;
|
||||
if (!backend->_priv_module->refcount) {
|
||||
g_module_close (backend->_priv_module->module);
|
||||
g_free (backend->_priv_module);
|
||||
}
|
||||
|
||||
g_free (backend);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_close_r (glibtop *server)
|
||||
{
|
||||
g_slist_foreach (server->_priv->backend_list, close_backend, server);
|
||||
g_slist_free (server->_priv->backend_list);
|
||||
server->_priv->backend_list = NULL;
|
||||
switch (server->method) {
|
||||
case GLIBTOP_METHOD_UNIX:
|
||||
case GLIBTOP_METHOD_INET:
|
||||
glibtop_call_l (server, GLIBTOP_CMND_QUIT,
|
||||
0, NULL, 0, NULL);
|
||||
|
||||
if (close (server->socket))
|
||||
glibtop_warn_io ("close");
|
||||
|
||||
break;
|
||||
case GLIBTOP_METHOD_PIPE:
|
||||
kill (server->pid, SIGKILL);
|
||||
close (server->input [0]);
|
||||
close (server->output [1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
216
lib/init.c
216
lib/init.c
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -28,20 +26,226 @@
|
||||
#include <glibtop/sysdeps.h>
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
void
|
||||
glibtop_init_s (glibtop_server *server, unsigned long features, unsigned flags)
|
||||
#ifndef DEFAULT_PORT
|
||||
#define DEFAULT_PORT 42800
|
||||
#endif
|
||||
|
||||
static glibtop _glibtop_global_server;
|
||||
glibtop *glibtop_global_server = &_glibtop_global_server;
|
||||
|
||||
static void
|
||||
_init_server (glibtop *server, const unsigned features)
|
||||
{
|
||||
char *command, *temp;
|
||||
|
||||
/* Try to get server command, but don't override if already
|
||||
* set via glibtop_set_parameter () */
|
||||
|
||||
if (server->server_command == NULL) {
|
||||
const char *temp = getenv ("LIBGTOP_SERVER") ?
|
||||
getenv ("LIBGTOP_SERVER") : LIBGTOP_SERVER;
|
||||
|
||||
server->server_command = glibtop_strdup_r (server, temp);
|
||||
}
|
||||
|
||||
if (server->server_rsh == NULL) {
|
||||
const char *temp = getenv ("LIBGTOP_RSH") ?
|
||||
getenv ("LIBGTOP_RSH") : "/usr/bin/ssh";
|
||||
|
||||
server->server_rsh = glibtop_strdup_r (server, temp);
|
||||
}
|
||||
|
||||
/* Try to get server method, but don't override if already
|
||||
* set via glibtop_set_parameter () */
|
||||
|
||||
if (server->method) return;
|
||||
|
||||
/* If server->command doesn't start with a colon, then it is
|
||||
* the full pathname of the server executable. */
|
||||
|
||||
if (server->server_command [0] != ':') {
|
||||
if (features & glibtop_server_features) {
|
||||
/* We really need the server. */
|
||||
server->method = GLIBTOP_METHOD_PIPE;
|
||||
} else {
|
||||
/* Fine. No server is needed, so we call the
|
||||
* sysdeps functions directly. */
|
||||
server->method = GLIBTOP_METHOD_DIRECT;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* If the first character of 'server_command' is a colon,
|
||||
* the first field is the method to connect to the server. */
|
||||
|
||||
/* Everything up to the next colon is the method. */
|
||||
|
||||
command = glibtop_strdup_r (server, server->server_command+1);
|
||||
temp = strstr (command, ":");
|
||||
if (temp) *temp = 0;
|
||||
|
||||
/* Dispatch method. */
|
||||
|
||||
if (!strcmp (command, "direct")) {
|
||||
/* Use sysdeps dir instead of connecting to server
|
||||
* even if using the server would be required on
|
||||
* the current system. */
|
||||
server->method = GLIBTOP_METHOD_DIRECT;
|
||||
|
||||
} else if (!strcmp (command, "inet")) {
|
||||
|
||||
server->method = GLIBTOP_METHOD_INET;
|
||||
|
||||
/* Connect to internet server. */
|
||||
|
||||
if (temp == NULL) {
|
||||
/* If no value was set, we use 'localhost'. */
|
||||
if (server->server_host == NULL)
|
||||
server->server_host = glibtop_strdup_r
|
||||
(server, "localhost");
|
||||
} else {
|
||||
char *temp2 = strstr (temp+1, ":");
|
||||
if (temp2) *temp2 = 0;
|
||||
|
||||
/* Override default. */
|
||||
if (server->server_host)
|
||||
glibtop_free_r (server,
|
||||
(char *) server->server_host);
|
||||
|
||||
server->server_host = glibtop_strdup_r
|
||||
(server, temp+1);
|
||||
|
||||
temp = temp2;
|
||||
}
|
||||
|
||||
if (temp == NULL) {
|
||||
/* If no value was set, we use DEFAULT_PORT. */
|
||||
if (server->server_port == 0)
|
||||
server->server_port = DEFAULT_PORT;
|
||||
} else {
|
||||
char *temp2 = strstr (temp+1, ":");
|
||||
if (temp2) *temp2 = 0;
|
||||
|
||||
if (sscanf (temp+1, "%ld", &server->server_port) != 1)
|
||||
server->server_port = DEFAULT_PORT;
|
||||
|
||||
temp = temp2 ? temp2 + 1 : temp2;
|
||||
}
|
||||
|
||||
} else if (!strcmp (command, "unix")) {
|
||||
|
||||
/* Connect to unix domain socket. */
|
||||
server->method = GLIBTOP_METHOD_UNIX;
|
||||
|
||||
} else if (!strcmp (command, "pipe")) {
|
||||
|
||||
/* Open pipe to server. */
|
||||
server->method = GLIBTOP_METHOD_PIPE;
|
||||
|
||||
} else {
|
||||
|
||||
glibtop_error_r (server, "Unknown server method '%s'",
|
||||
server->server_command+1);
|
||||
|
||||
}
|
||||
|
||||
glibtop_free_r (server, command);
|
||||
}
|
||||
|
||||
glibtop *
|
||||
glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
{
|
||||
glibtop *server;
|
||||
|
||||
if (server_ptr == NULL)
|
||||
return NULL;
|
||||
|
||||
if (*server_ptr == NULL)
|
||||
*server_ptr = glibtop_global_server;
|
||||
|
||||
server = *server_ptr;
|
||||
|
||||
/* Should we do the initialization? */
|
||||
|
||||
if (flags & GLIBTOP_INIT_NO_INIT)
|
||||
return server;
|
||||
|
||||
/* Do the initialization, but only if not already initialized. */
|
||||
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
|
||||
if (flags & GLIBTOP_FEATURES_EXCEPT)
|
||||
features = ~features & GLIBTOP_SYSDEPS_ALL;
|
||||
|
||||
if (features == 0)
|
||||
features = GLIBTOP_SYSDEPS_ALL;
|
||||
|
||||
if (flags & GLIBTOP_FEATURES_NO_SERVER) {
|
||||
server->method = GLIBTOP_METHOD_DIRECT;
|
||||
features = 0;
|
||||
}
|
||||
|
||||
server->features = features;
|
||||
|
||||
_init_server (server, features);
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_INIT;
|
||||
|
||||
switch (server->method) {
|
||||
case GLIBTOP_METHOD_PIPE:
|
||||
case GLIBTOP_METHOD_UNIX:
|
||||
if (glibtop_server_features & features)
|
||||
break;
|
||||
|
||||
server->method = GLIBTOP_METHOD_DIRECT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Should we open the server? */
|
||||
|
||||
if (flags & GLIBTOP_INIT_NO_OPEN)
|
||||
return server;
|
||||
|
||||
/* Open server, but only if not already opened. */
|
||||
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
|
||||
glibtop_open_l (glibtop_global_server, "glibtop",
|
||||
features, flags);
|
||||
|
||||
return server;
|
||||
}
|
||||
|
||||
glibtop *
|
||||
glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
{
|
||||
glibtop *server;
|
||||
glibtop_init_func_t *init_fkt;
|
||||
|
||||
if (server_ptr == NULL)
|
||||
return NULL;
|
||||
|
||||
if (*server_ptr == NULL)
|
||||
*server_ptr = glibtop_global_server;
|
||||
|
||||
server = *server_ptr;
|
||||
|
||||
/* Should we do the initialization? */
|
||||
|
||||
if (flags & GLIBTOP_INIT_NO_INIT)
|
||||
return server;
|
||||
|
||||
/* Do the initialization, but only if not already initialized. */
|
||||
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
|
||||
server->info->sysdeps.pointer_size = sizeof (void*)*8;
|
||||
glibtop_open_s (server, "glibtop", features, flags);
|
||||
|
||||
for (init_fkt = _glibtop_init_hook_s; *init_fkt; init_fkt++)
|
||||
(*init_fkt) (server);
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
|
||||
}
|
||||
|
||||
return server;
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
|
268
lib/lib.pl
268
lib/lib.pl
@@ -1,13 +1,9 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require 'c_types.pl';
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
$always_use_temp_storage = 1;
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
@@ -26,58 +22,55 @@ print '';
|
||||
|
||||
print '#include <glibtop.h>';
|
||||
print '#include <glibtop/open.h>';
|
||||
print '#include <glibtop/xmalloc.h>';
|
||||
print '';
|
||||
print '#include <glibtop/sysdeps.h>';
|
||||
print '#include <glibtop/union.h>';
|
||||
print '';
|
||||
print '#include <glibtop/glibtop-client.h>';
|
||||
print '';
|
||||
print '#include <glibtop/call-vector.h>';
|
||||
print '#include <glibtop-client-private.h>';
|
||||
print '#include <glibtop/command.h>';
|
||||
|
||||
print '';
|
||||
print '/* Some required fields are missing. */';
|
||||
print '';
|
||||
|
||||
print '#if 0';
|
||||
print '';
|
||||
|
||||
print 'static void';
|
||||
print '_glibtop_missing_feature (glibtop_client *client, const char *feature,';
|
||||
print '_glibtop_missing_feature (glibtop *server, const char *feature,';
|
||||
print "\t\t\t const u_int64_t present, u_int64_t *required)";
|
||||
print '{';
|
||||
print "\tu_int64_t old_required = *required;\n";
|
||||
print "\t/* Return if we have all required fields. */";
|
||||
print "\tif ((~present & old_required) == 0)";
|
||||
print "\t\treturn;\n";
|
||||
print "\tswitch (client->_param.error_method) {";
|
||||
print "\tswitch (server->error_method) {";
|
||||
print "\tcase GLIBTOP_ERROR_METHOD_WARN_ONCE:";
|
||||
print "\t\t*required &= present;";
|
||||
print "\tcase GLIBTOP_ERROR_METHOD_WARN:";
|
||||
print "\t\tglibtop_warn_r (client,";
|
||||
print "\t\t\t\t\"glibtop_get_%s (): Client requested \"";
|
||||
print "\t\t\t\t\"field mask %05lx, but only have %05lx.\",";
|
||||
print "\t\tglibtop_warn_r (server,";
|
||||
print "\t\t\t\t_(\"glibtop_get_%s (): Client requested \"";
|
||||
print "\t\t\t\t \"field mask %05lx, but only have %05lx.\"),";
|
||||
print "\t\t\t\t feature, (unsigned long) old_required,";
|
||||
print "\t\t\t\t (unsigned long) present);";
|
||||
print "\t\tbreak;";
|
||||
print "\tcase GLIBTOP_ERROR_METHOD_ABORT:";
|
||||
print "\t\tglibtop_error_r (client,";
|
||||
print "\t\t\t\t\"glibtop_get_%s (): Client requested \"";
|
||||
print "\t\t\t\t\"field mask %05lx, but only have %05lx.\",";
|
||||
print "\t\tglibtop_error_r (server,";
|
||||
print "\t\t\t\t _(\"glibtop_get_%s (): Client requested \"";
|
||||
print "\t\t\t\t \"field mask %05lx, but only have %05lx.\"),";
|
||||
print "\t\t\t\t feature, (unsigned long) old_required,";
|
||||
print "\t\t\t\t (unsigned long) present);";
|
||||
print "\t\tbreak;";
|
||||
print "\t}";
|
||||
print '}';
|
||||
|
||||
print '';
|
||||
print '#endif';
|
||||
|
||||
print '';
|
||||
print '/* Library functions. */';
|
||||
print '';
|
||||
|
||||
$convert{'long'} = 'int64_t';
|
||||
$convert{'ulong'} = 'u_int64_t';
|
||||
$convert{'pid_t'} = 'pid_t';
|
||||
$convert{'int'} = 'int';
|
||||
$convert{'ushort'} = 'unsigned short';
|
||||
$convert{'unsigned'} = 'unsigned';
|
||||
|
||||
while (<>) {
|
||||
chop; # strip record separator
|
||||
|
||||
@@ -98,38 +91,31 @@ sub output {
|
||||
$space = $feature;
|
||||
$space =~ s/./ /g;
|
||||
|
||||
if ($retval eq 'retval') {
|
||||
$retval_param = '&retval';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
print $retval;
|
||||
if ($retval !~ /^void$/) {
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$retval = 'int';
|
||||
}
|
||||
elsif ($retval !~ /^void$/) {
|
||||
$retval_param = 'NULL';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$call_prefix = 'retval = ';
|
||||
$call_prefix_space = ' ';
|
||||
}
|
||||
else {
|
||||
$retval_param = 'NULL';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = '';
|
||||
$prefix_space = '';
|
||||
}
|
||||
|
||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
||||
if ($param_def eq 'string') {
|
||||
$call_param = ', ' . $line_fields[5];
|
||||
$param_decl = ",\n " . $space . ' const char *' .
|
||||
|
||||
$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[5] . ') + 1;';
|
||||
}
|
||||
|
||||
$first_param_name = '';
|
||||
|
||||
else {
|
||||
$call_param = '';
|
||||
$param_decl = '';
|
||||
$need_temp_len = 0;
|
||||
$send_size = '';
|
||||
$send_ptr = '';
|
||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||
for ($param = 1; $param <= $nr_params; $param++) {
|
||||
$list = $params[$param];
|
||||
@@ -139,133 +125,109 @@ sub output {
|
||||
$list =~ s/\)$//;
|
||||
$count = (@fields = split(/,/, $list, 9999));
|
||||
for ($field = 1; $field <= $count; $field++) {
|
||||
my $c_type = $typeinfo->{$type}->[1];
|
||||
|
||||
if ($first_param_name eq '') {
|
||||
$first_param_name = $fields[$field];
|
||||
}
|
||||
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$need_temp_storage = 1;
|
||||
}
|
||||
|
||||
if ($param_decl eq '') {
|
||||
$param_decl = ",\n " . $space . ' ';
|
||||
}
|
||||
else {
|
||||
$param_decl = $param_decl . ', ';
|
||||
}
|
||||
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
|
||||
$param_decl = $param_decl . '' . $convert{$type} . ' ' .
|
||||
|
||||
$fields[$field];
|
||||
$call_param = $call_param . ', ' . $fields[$field];
|
||||
if ($send_ptr eq '') {
|
||||
$send_ptr = "\n\tconst void *send_ptr = &" .
|
||||
|
||||
$fields[$field] . ';';
|
||||
}
|
||||
if ($send_size eq '') {
|
||||
$send_size = "\n\tconst size_t send_size =\n\t\t";
|
||||
}
|
||||
else {
|
||||
$send_size = $send_size . ' + ';
|
||||
}
|
||||
$send_size = $send_size . 'sizeof (' . $fields[$field] . ')';
|
||||
}
|
||||
}
|
||||
if ($send_size ne '') {
|
||||
$send_size = $send_size . ';';
|
||||
}
|
||||
else {
|
||||
$send_size = "\n\tconst size_t send_size = 0;";
|
||||
}
|
||||
if ($send_ptr eq '') {
|
||||
$send_ptr = "\n\tconst void *send_ptr = NULL;";
|
||||
}
|
||||
}
|
||||
|
||||
$local_var_code = "\tGSList *list;\n\tint done = 0;\n\tGError *error = NULL;\n\n";
|
||||
print 'glibtop_get_' . $feature . '_l (glibtop *server, glibtop_' .
|
||||
|
||||
$feature . ' *buf' . $param_decl . ')';
|
||||
|
||||
print '{' . $send_ptr . '' . $send_size;
|
||||
if ($retval !~ /^void$/) {
|
||||
$local_var_code .= sprintf ("\t%s retval = (%s) 0;\n",
|
||||
$retval, $retval);
|
||||
print "\t" . $retval . ' retval = (' . $retval . ') 0;';
|
||||
}
|
||||
print '';
|
||||
|
||||
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
|
||||
|
||||
&toupper($feature) . '), 0);';
|
||||
|
||||
print '';
|
||||
print "\t/* If neccessary, we ask the server for the requested";
|
||||
print "\t * feature. If not, we call the sysdeps function. */";
|
||||
print '';
|
||||
|
||||
print "\tif ((server->flags & _GLIBTOP_INIT_STATE_SERVER) &&";
|
||||
print "\t (server->features & (1 << GLIBTOP_SYSDEPS_" .
|
||||
|
||||
&toupper($feature) . ')))';
|
||||
print "\t{";
|
||||
|
||||
print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' .
|
||||
|
||||
&toupper($feature) . ',';
|
||||
print "\t\t\t\t" . $prefix_space . 'send_size, send_ptr,';
|
||||
print "\t\t\t\t" . $prefix_space . 'sizeof (glibtop_' . $feature .
|
||||
|
||||
'), buf);';
|
||||
|
||||
print "\t} else {";
|
||||
|
||||
if ($orig !~ /^@/) {
|
||||
print '#if (!GLIBTOP_SUID_' . &toupper($feature) . ')';
|
||||
}
|
||||
print "\t\t" . $prefix . 'glibtop_get_' . $feature . '_s (server, buf' .
|
||||
|
||||
$call_param . ');';
|
||||
|
||||
if ($orig !~ /^@/) {
|
||||
print '#else';
|
||||
print "\t\terrno = ENOSYS;";
|
||||
print "\t\tglibtop_error_io_r (server, \"glibtop_get_" . $feature .
|
||||
|
||||
"\");";
|
||||
print '#endif';
|
||||
}
|
||||
|
||||
$sysdeps_code = sprintf
|
||||
("\tif (client->_priv->backend_list == NULL) {\n\t\tg_set_error (&error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_BACKEND_OPENED, G_STRLOC);\n\t\tglibtop_client_propagate_error (client, error);\n");
|
||||
if ($line_fields[1] eq 'retval') {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\treturn -GLIBTOP_ERROR_NO_BACKEND_OPENED;\n");
|
||||
} else {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\tgoto do_return;\n");
|
||||
}
|
||||
$sysdeps_code .= sprintf
|
||||
("\t}\n\n");
|
||||
print "\t}";
|
||||
|
||||
$sysdeps_code .= sprintf
|
||||
("\tfor (list = client->_priv->backend_list; list; list = list->next) {\n\t\tglibtop_backend *backend = list->data;\n\t\tglibtop_call_vector *call_vector;\n\n\t\tcall_vector = glibtop_backend_get_call_vector (backend);\n\n\t\tif (call_vector && call_vector->%s) {\n\t\t\tglibtop_server *server = glibtop_backend_get_server (backend);\n\t\t\tvoid *closure = glibtop_backend_get_closure_data (backend);\n\n", $feature);
|
||||
print '';
|
||||
print "\t/* Make sure that all required fields are present. */";
|
||||
print '';
|
||||
|
||||
if ($line_fields[3] eq '') {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, closure%s);\n",
|
||||
$feature, $call_param);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, closure, array%s);\n",
|
||||
$feature, $call_param);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, closure, array, buf%s);\n",
|
||||
$feature, $call_param);
|
||||
} else {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, closure, buf%s);\n",
|
||||
$feature, $call_param);
|
||||
}
|
||||
print "\tif (buf->flags & server->required." . $feature . ')';
|
||||
print "\t\t_glibtop_missing_feature (server, \"" . $feature .
|
||||
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tdone = 1;\n\t\t\tglibtop_server_unref (server);\n\t\t\t\tbreak;\n\t\t}\n\t}\n");
|
||||
"\", buf->flags,";
|
||||
print "\t\t\t\t\t &server->required." . $feature . ');';
|
||||
|
||||
$sysdeps_code .= sprintf
|
||||
("\n\tif (!done) {\n\t\tg_set_error (&error, GLIBTOP_ERROR, GLIBTOP_ERROR_NOT_IMPLEMENTED, G_STRLOC);\n\t\tglibtop_client_propagate_error (client, error);\n");
|
||||
if ($line_fields[1] eq 'retval') {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\treturn -GLIBTOP_ERROR_NOT_IMPLEMENTED;\n");
|
||||
} else {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\tgoto do_return;\n");
|
||||
}
|
||||
$sysdeps_code .= sprintf
|
||||
("\t}\n\n");
|
||||
|
||||
if ($line_fields[1] eq 'retval') {
|
||||
$sysdeps_code .= "\tif (retval < 0) {\n";
|
||||
$sysdeps_code .= "\t\tg_set_error (&error, GLIBTOP_ERROR, -retval, G_STRLOC);\n";
|
||||
$sysdeps_code .= "\t\tglibtop_client_propagate_error (client, error);\n";
|
||||
$sysdeps_code .= "\t\tgoto do_return;\n";
|
||||
$sysdeps_code .= "\t}\n\n";
|
||||
}
|
||||
|
||||
$sysdeps_code .= "\tgoto check_missing;\n";
|
||||
|
||||
# $init_code = sprintf ("\tglibtop_init_r (&client, (1 << %s), 0);\n\n",
|
||||
# "GLIBTOP_SYSDEPS_".&toupper($feature));
|
||||
$init_code = '';
|
||||
|
||||
$total_code = sprintf ("%s%s\n", $init_code, $sysdeps_code);
|
||||
|
||||
$check_code = "check_missing:\n";
|
||||
$check_code .= "\t/* Make sure that all required fields are present. */\n";
|
||||
if (!(($line_fields[3] eq '') or ($line_fields[3] eq 'array'))) {
|
||||
# $check_code .= "\tif (buf->flags & client->info->required." . $feature . ")\n";
|
||||
# $check_code .= "\t\t_glibtop_missing_feature (client, \"" . $feature .
|
||||
"\", buf->flags,\n\t\t\t\t\t &client->info->required." . $feature . ");\n";
|
||||
}
|
||||
|
||||
$total_code .= $check_code."\tgoto do_return;\n\n";
|
||||
|
||||
$return_code = "do_return:\n";
|
||||
if ($retval !~ /^void$/) {
|
||||
$return_code .= "\treturn retval;\n";
|
||||
} else {
|
||||
$return_code .= "\treturn;\n";
|
||||
print "\n\t/* Now we can return. */";
|
||||
print "\n\treturn retval;";
|
||||
}
|
||||
|
||||
$total_code .= $return_code;
|
||||
|
||||
$func_decl = $retval."\n";
|
||||
if ($line_fields[3] eq '') {
|
||||
$func_decl .= sprintf ("glibtop_get_%s_l (glibtop_client *client%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$func_decl .= sprintf ("glibtop_get_%s_l (glibtop_client *client, glibtop_array *array%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$func_decl .= sprintf ("glibtop_get_%s_l (glibtop_client *client, glibtop_array *array, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
} else {
|
||||
$func_decl .= sprintf ("glibtop_get_%s_l (glibtop_client *client, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
}
|
||||
|
||||
$total_code = sprintf ("%s{\n%s\n%s\n%s}\n", $func_decl,
|
||||
$local_var_code, $total_code);
|
||||
|
||||
print $total_code;
|
||||
print '}';
|
||||
print '';
|
||||
}
|
||||
|
156
lib/open.c
156
lib/open.c
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -25,20 +23,160 @@
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/backend.h>
|
||||
#include <glibtop/version.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
#include <glibtop/command.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/gnuserv.h>
|
||||
|
||||
/* Opens pipe to gtop server. Returns 0 on success and -1 on error. */
|
||||
|
||||
void
|
||||
glibtop_open_l (glibtop *server, const char *program_name,
|
||||
const unsigned long features, const unsigned flags)
|
||||
{
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
|
||||
glibtop_init_backends ();
|
||||
int connect_type;
|
||||
|
||||
_glibtop_open_sysdeps (server, "glibtop", features, flags);
|
||||
server->name = program_name;
|
||||
|
||||
server->_param.ncpu = server->info->ncpu;
|
||||
server->_param.os_version_code = server->os_version_code;
|
||||
/* It is important to set _GLIBTOP_INIT_STATE_OPEN here when we
|
||||
* do recursive calls to glibtop_init_r (). */
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
|
||||
server->flags |= _GLIBTOP_INIT_STATE_OPEN;
|
||||
|
||||
server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
|
||||
|
||||
#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:
|
||||
#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);
|
||||
|
||||
#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:
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Connecting to Unix Domain Socket.\n");
|
||||
#endif
|
||||
|
||||
connect_type = glibtop_make_connection
|
||||
("unix", 0, &server->socket);
|
||||
|
||||
#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:
|
||||
#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");
|
||||
|
||||
server->pid = fork ();
|
||||
|
||||
if (server->pid < 0) {
|
||||
glibtop_error_io_r (server, "fork failed");
|
||||
} else if (server->pid == 0) {
|
||||
close (0); close (1);
|
||||
close (server->input [0]); close (server->output [1]);
|
||||
dup2 (server->input [1], 1);
|
||||
dup2 (server->output [0], 0);
|
||||
execl (LIBGTOP_SERVER, "libgtop-server", NULL);
|
||||
glibtop_error_io_r (server, "execl (%s)",
|
||||
LIBGTOP_SERVER);
|
||||
_exit (2);
|
||||
}
|
||||
|
||||
close (server->input [1]);
|
||||
close (server->output [0]);
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||
|
||||
server->features = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
/* If the server has been started, ask it for its features. */
|
||||
|
||||
if (server->flags & _GLIBTOP_INIT_STATE_SERVER) {
|
||||
char version [BUFSIZ], buffer [BUFSIZ];
|
||||
glibtop_sysdeps sysdeps;
|
||||
size_t size, nbytes;
|
||||
|
||||
/* First check whether the server version is correct. */
|
||||
|
||||
sprintf (version, LIBGTOP_VERSION_STRING,
|
||||
LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION,
|
||||
sizeof (glibtop_command),
|
||||
sizeof (glibtop_response),
|
||||
sizeof (glibtop_union),
|
||||
sizeof (glibtop_sysdeps));
|
||||
|
||||
size = strlen (version) + 1;
|
||||
|
||||
glibtop_read_l (server, sizeof (nbytes), &nbytes);
|
||||
|
||||
if (nbytes != size)
|
||||
glibtop_error_r (server,
|
||||
"Requested %u bytes but got %u.",
|
||||
size, nbytes);
|
||||
|
||||
glibtop_read_l (server, nbytes, buffer);
|
||||
|
||||
if (memcmp (version, buffer, size))
|
||||
glibtop_error_r (server, "server version is not %s",
|
||||
LIBGTOP_VERSION);
|
||||
|
||||
/* Now ask it for its features. */
|
||||
|
||||
glibtop_call_l (server, GLIBTOP_CMND_SYSDEPS, 0, NULL,
|
||||
sizeof (glibtop_sysdeps), &sysdeps);
|
||||
|
||||
server->features = sysdeps.features;
|
||||
|
||||
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
|
||||
|
||||
#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. */
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Calling sysdeps open function.\n");
|
||||
#endif
|
||||
|
||||
glibtop_init_s (&server, features, flags);
|
||||
}
|
||||
|
112
lib/parameter.c
112
lib/parameter.c
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -24,12 +22,10 @@
|
||||
*/
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#define _write_data(ptr,size) \
|
||||
if ((data_ptr == NULL) || (data_size < size)) \
|
||||
return -GLIBTOP_ERROR_SIZE_MISMATCH; \
|
||||
if ((data_ptr == NULL) || (data_size < size)) return -size; \
|
||||
if (ptr == NULL) { strcpy (data_ptr, ""); return 1; } \
|
||||
memcpy (data_ptr, ptr, size); \
|
||||
return size;
|
||||
@@ -39,76 +35,64 @@
|
||||
glibtop_warn_r (server, "glibtop_set_parameter (%d): " \
|
||||
"Expected %lu bytes but got %lu.", \
|
||||
parameter, size, data_size); \
|
||||
return -GLIBTOP_ERROR_SIZE_MISMATCH; \
|
||||
return; \
|
||||
}
|
||||
|
||||
#define _strlen(ptr) (ptr ? strlen (ptr) : 0)
|
||||
|
||||
ssize_t
|
||||
glibtop_get_parameter_l (glibtop_client *client, const unsigned parameter,
|
||||
size_t
|
||||
glibtop_get_parameter_l (glibtop *server, const unsigned parameter,
|
||||
void *data_ptr, size_t data_size)
|
||||
{
|
||||
switch (parameter) {
|
||||
case GLIBTOP_PARAM_ERROR_METHOD:
|
||||
_write_data (&server->_param.error_method,
|
||||
sizeof (server->_param.error_method));
|
||||
case GLIBTOP_PARAM_METHOD:
|
||||
_write_data (&server->method,
|
||||
sizeof (server->method));
|
||||
case GLIBTOP_PARAM_FEATURES:
|
||||
_write_data (&server->_param.features,
|
||||
sizeof (server->_param.features));
|
||||
case GLIBTOP_PARAM_NCPU:
|
||||
_write_data (&server->_param.ncpu,
|
||||
sizeof (server->_param.ncpu));
|
||||
case GLIBTOP_PARAM_OS_VERSION_CODE:
|
||||
_write_data (&server->_param.os_version_code,
|
||||
sizeof (server->_param.os_version_code));
|
||||
case GLIBTOP_PARAM_REQUIRED:
|
||||
_write_data (&server->_param.required,
|
||||
sizeof (server->_param.required));
|
||||
}
|
||||
|
||||
return -GLIBTOP_ERROR_NO_SUCH_PARAMETER;
|
||||
}
|
||||
|
||||
int
|
||||
glibtop_get_parameter_size_l (glibtop_client *client, const unsigned parameter)
|
||||
{
|
||||
switch (parameter) {
|
||||
_write_data (&server->features,
|
||||
sizeof (server->features));
|
||||
case GLIBTOP_PARAM_COMMAND:
|
||||
_write_data (server->server_command,
|
||||
_strlen(server->server_command));
|
||||
case GLIBTOP_PARAM_HOST:
|
||||
_write_data (server->server_host,
|
||||
_strlen(server->server_host));
|
||||
case GLIBTOP_PARAM_PORT:
|
||||
_write_data (&server->server_port,
|
||||
sizeof (server->server_port));
|
||||
case GLIBTOP_PARAM_ERROR_METHOD:
|
||||
return sizeof (server->_param.error_method);
|
||||
case GLIBTOP_PARAM_FEATURES:
|
||||
return sizeof (server->_param.features);
|
||||
case GLIBTOP_PARAM_NCPU:
|
||||
return sizeof (server->_param.ncpu);
|
||||
case GLIBTOP_PARAM_OS_VERSION_CODE:
|
||||
return sizeof (server->_param.os_version_code);
|
||||
_write_data (&server->error_method,
|
||||
sizeof (server->error_method));
|
||||
case GLIBTOP_PARAM_REQUIRED:
|
||||
return sizeof (server->_param.required);
|
||||
}
|
||||
|
||||
return -GLIBTOP_ERROR_NO_SUCH_PARAMETER;
|
||||
}
|
||||
|
||||
int
|
||||
glibtop_set_parameter_l (glibtop_client *client, const unsigned parameter,
|
||||
const void *data_ptr, size_t data_size)
|
||||
{
|
||||
switch (parameter) {
|
||||
case GLIBTOP_PARAM_ERROR_METHOD:
|
||||
_check_data (sizeof (server->_param.error_method));
|
||||
memcpy (&server->_param.error_method, data_ptr, data_size);
|
||||
break;
|
||||
case GLIBTOP_PARAM_FEATURES:
|
||||
case GLIBTOP_PARAM_NCPU:
|
||||
case GLIBTOP_PARAM_OS_VERSION_CODE:
|
||||
return -GLIBTOP_ERROR_READONLY_VALUE;
|
||||
break;
|
||||
case GLIBTOP_PARAM_REQUIRED:
|
||||
_check_data (sizeof (server->_param.required));
|
||||
memcpy (&server->_param.required, data_ptr, data_size);
|
||||
break;
|
||||
default:
|
||||
return -GLIBTOP_ERROR_NO_SUCH_PARAMETER;
|
||||
_write_data (&server->required,
|
||||
sizeof (server->required));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
|
||||
const void *data_ptr, size_t data_size)
|
||||
{
|
||||
switch (parameter) {
|
||||
case GLIBTOP_PARAM_METHOD:
|
||||
_check_data (sizeof (server->method));
|
||||
memcpy (&server->method, data_ptr, data_size);
|
||||
break;
|
||||
case GLIBTOP_PARAM_FEATURES:
|
||||
/* You should not be allowed to set this field. */
|
||||
glibtop_warn_r (server, "glibtop_set_parameter (%d): " \
|
||||
"Cannot modify read-only value.",
|
||||
parameter);
|
||||
break;
|
||||
case GLIBTOP_PARAM_ERROR_METHOD:
|
||||
_check_data (sizeof (server->error_method));
|
||||
memcpy (&server->error_method, data_ptr, data_size);
|
||||
break;
|
||||
case GLIBTOP_PARAM_REQUIRED:
|
||||
_check_data (sizeof (server->required));
|
||||
memcpy (&server->required, data_ptr, data_size);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -47,10 +45,74 @@ GLIBTOP_SUID_PROC_MAP +
|
||||
GLIBTOP_SUID_NETLOAD +
|
||||
GLIBTOP_SUID_PPP;
|
||||
|
||||
glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||
#if !GLIBTOP_SUID_CPU
|
||||
glibtop_init_cpu_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_MEM
|
||||
glibtop_init_mem_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_SWAP
|
||||
glibtop_init_swap_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_UPTIME
|
||||
glibtop_init_uptime_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_LOADAVG
|
||||
glibtop_init_loadavg_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_SHM_LIMITS
|
||||
glibtop_init_shm_limits_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_MSG_LIMITS
|
||||
glibtop_init_msg_limits_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_SEM_LIMITS
|
||||
glibtop_init_sem_limits_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROCLIST
|
||||
glibtop_init_proclist_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_STATE
|
||||
glibtop_init_proc_state_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_UID
|
||||
glibtop_init_proc_uid_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_MEM
|
||||
glibtop_init_proc_mem_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_TIME
|
||||
glibtop_init_proc_time_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_SIGNAL
|
||||
glibtop_init_proc_signal_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_KERNEL
|
||||
glibtop_init_proc_kernel_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_SEGMENT
|
||||
glibtop_init_proc_segment_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_ARGS
|
||||
glibtop_init_proc_args_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_MAP
|
||||
glibtop_init_proc_map_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_NETLOAD
|
||||
glibtop_init_netload_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PPP
|
||||
glibtop_init_ppp_s,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
||||
/* Checks which features are implemented. */
|
||||
|
||||
void
|
||||
glibtop_get_sysdeps_r (glibtop *server, glibtop_sysdeps *buf)
|
||||
{
|
||||
memcpy (buf, &server->info->sysdeps, sizeof (glibtop_sysdeps));
|
||||
memcpy (buf, &server->sysdeps, sizeof (glibtop_sysdeps));
|
||||
}
|
||||
|
@@ -5,7 +5,9 @@ includedir=@includedir@
|
||||
|
||||
Name: libgtop
|
||||
Description: Portable System Access Library
|
||||
Requires: glib-2.0 libxml-2.0
|
||||
Requires: glib-2.0
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lgtop
|
||||
Cflags: -I${includedir}
|
||||
Libs: -L${libdir} @LIBGTOP_LIBS@ @LIBGTOP_EXTRA_LIBS@
|
||||
Cflags: -I${includedir}/libgtop-2.0
|
||||
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Note that this is NOT a relocatable package
|
||||
%define ver @VERSION@
|
||||
%define RELEASE 1
|
||||
%define RELEASE SNAP
|
||||
%define rel %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE}
|
||||
%define prefix /usr
|
||||
|
||||
@@ -8,10 +8,10 @@ Summary: LibGTop library
|
||||
Name: libgtop
|
||||
Version: %ver
|
||||
Release: %rel
|
||||
Copyright: GPL
|
||||
Group: System Environment/Libraries
|
||||
Copyright: LGPL
|
||||
Group: X11/Libraries
|
||||
Source: ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/libgtop-%{ver}.tar.gz
|
||||
BuildRoot: /var/tmp/%{name}-%{ver}-root
|
||||
BuildRoot: /tmp/libgtop-root
|
||||
Packager: Martin Baulig <martin@home-of-linux.org>
|
||||
URL: http://www.home-of-linux.org/gnome/libgtop/
|
||||
Prereq: /sbin/install-info
|
||||
@@ -28,7 +28,7 @@ information from /dev/kmem or whatever.
|
||||
|
||||
%package devel
|
||||
Summary: Libraries, includes, etc to develop LibGTop applications
|
||||
Group: Development/Libraries
|
||||
Group: X11/libraries
|
||||
Requires: libgtop
|
||||
|
||||
%description devel
|
||||
@@ -36,12 +36,13 @@ Libraries, include files, etc you can use to develop GNOME applications.
|
||||
|
||||
%package examples
|
||||
Summary: Examples for LibGTop
|
||||
Group: Development/Libraries
|
||||
Group: X11/libraries
|
||||
Requires: libgtop
|
||||
|
||||
%description examples
|
||||
Examples for LibGTop.
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
* Tue Aug 19 1998 Martin Baulig <martin@home-of-linux.org>
|
||||
@@ -106,25 +107,20 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%doc TODO NEWS.old copyright.txt
|
||||
%doc src/inodedb/README.inodedb
|
||||
|
||||
%{prefix}/bin/file_by_inode
|
||||
%{prefix}/bin/libgtop_daemon
|
||||
%{prefix}/bin/mkinodedb
|
||||
%{prefix}/lib/lib*.so.*
|
||||
%{prefix}/share/locale/*/LC_MESSAGES/*.mo
|
||||
%{prefix}/info/*
|
||||
%{prefix}/share/*
|
||||
%{prefix}/bin/*
|
||||
|
||||
%files devel
|
||||
%defattr(-, root, root)
|
||||
|
||||
%{prefix}/bin/libgtop-config
|
||||
%{prefix}/lib/lib*.so
|
||||
%{prefix}/lib/*a
|
||||
%{prefix}/lib/*.sh
|
||||
%{prefix}/lib/*.def
|
||||
%{prefix}/include/glibtop/*
|
||||
%{prefix}/include/*.h
|
||||
%{prefix}/include/*
|
||||
|
||||
%files examples
|
||||
%defattr(-,root,root)
|
||||
|
||||
%{prefix}/libexec/libgtop/*
|
||||
%{prefix}/libexec/libgtop
|
||||
|
@@ -7,8 +7,6 @@ LIBGTOP_INCLUDEDIR="@LIBGTOP_INCLUDEDIR@"
|
||||
|
||||
LIBGTOP_DATADIR="@LIBGTOP_DATADIR@"
|
||||
|
||||
LIBGTOP_BACKEND_DIR="@LIBGTOP_BACKEND_DIR@"
|
||||
|
||||
LIBGTOP_EXTRA_LIBS="@LIBGTOP_EXTRA_LIBS@"
|
||||
|
||||
LIBGTOP_LIBS="@LIBGTOP_LIBS@"
|
||||
@@ -17,6 +15,12 @@ LIBGTOP_INCS="@LIBGTOP_INCS@"
|
||||
LIBGTOP_NAMES_LIBS="@LIBGTOP_NAMES_LIBS@"
|
||||
LIBGTOP_NAMES_INCS="@LIBGTOP_NAMES_INCS@"
|
||||
|
||||
LIBGTOP_GUILE_LIBS="@LIBGTOP_GUILE_LIBS@"
|
||||
LIBGTOP_GUILE_INCS="@LIBGTOP_GUILE_INCS@"
|
||||
|
||||
LIBGTOP_GUILE_NAMES_LIBS="@LIBGTOP_GUILE_NAMES_LIBS@"
|
||||
LIBGTOP_GUILE_NAMES_INCS="@LIBGTOP_GUILE_NAMES_INCS@"
|
||||
|
||||
LIBGTOP_BINDIR="@LIBGTOP_BINDIR@"
|
||||
LIBGTOP_SERVER="@LIBGTOP_SERVER@"
|
||||
|
||||
@@ -29,13 +33,12 @@ LIBGTOP_VERSION_CODE="@LIBGTOP_VERSION_CODE@"
|
||||
|
||||
MODULE_VERSION="libgtop-@LIBGTOP_VERSION@"
|
||||
|
||||
LIBGTOP_PACKAGE="@LIBGTOP_PACKAGE@"
|
||||
|
||||
LIBGTOP_SERVER_VERSION="@LIBGTOP_SERVER_VERSION@"
|
||||
|
||||
libgtop_sysdeps_dir="@libgtop_sysdeps_dir@"
|
||||
libgtop_need_server="@libgtop_need_server@"
|
||||
libgtop_have_sysdeps="@libgtop_have_sysdeps@"
|
||||
libgtop_use_machine_h="@libgtop_use_machine_h@"
|
||||
|
||||
libgtop_guile_found="@libgtop_guile_found@"
|
||||
|
||||
libgtop_want_examples="@libgtop_want_examples@"
|
||||
|
@@ -1,10 +1,13 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
Makefile.in.in
|
||||
POTFILES
|
||||
cat-id-tbl.c
|
||||
stamp-cat-id
|
||||
*.gmo
|
||||
*.mo
|
||||
*.pot
|
||||
libgtop.pot
|
||||
libgtop-2.0.pot
|
||||
Makefile.in.in
|
||||
messages
|
||||
stamp-cat-id
|
||||
po2tbl.sed
|
||||
missing
|
||||
|
657
po/ChangeLog
657
po/ChangeLog
@@ -1,38 +1,126 @@
|
||||
2003-10-01 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
|
||||
|
||||
* pt_BR.po: Applied revision by Augusta Marques da Silva
|
||||
<augusta.marques@gmx.net>.
|
||||
|
||||
2003-09-30 Laurent Dhima <laurenti@alblinux.net>
|
||||
|
||||
* sq.po: Added Albanian translation.
|
||||
|
||||
2003-09-17 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* ta.po: Committed new Tamil translation by Dinesh.
|
||||
|
||||
2003-09-13 Carlos Perelló Marín <carlos@gnome.org>
|
||||
|
||||
* es_ES.po, LEEME.es: Removed, it's only for one string that is a
|
||||
comment and procman is not using it. This modules is not maintained
|
||||
and all people tells that should die so I don't think that any other
|
||||
application will use it in the near future. This one is related with
|
||||
the bug #105676
|
||||
|
||||
2003-09-08 Mugurel Tudor <mugurelu@go.ro>
|
||||
|
||||
* ro.po: Updated Romanian translation by
|
||||
Mişu Moldovan <dumol@go.ro>
|
||||
|
||||
2003-09-06 Taneem Ahmed <taneem@bengalinux.org>
|
||||
|
||||
* bn.po: Added Bangla translation by Vat
|
||||
of Ankur group <gnome-translation@bengalinux.org>.
|
||||
|
||||
2003-08-28 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
|
||||
|
||||
* es.po: Revision of Spanish translation by
|
||||
Francisco Javier F. Serrador <serrador@arrakis.es>.
|
||||
|
||||
2003-08-28 Alessio Frusciante <algol@firenze.linux.it>
|
||||
|
||||
* it.po: Updated Italian translation.
|
||||
|
||||
2003-08-25 Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
* pt.po: Updated and fixed typos in Portuguese translation.
|
||||
* pt.po: Fixed typos in Portuguese translation.
|
||||
|
||||
2003-08-18 Metin Amiroff <metin@karegen.com>
|
||||
|
||||
* az.po: Updated Azerbaijani translation.
|
||||
|
||||
2003-08-13 Guntupalli Karunakar <karunakar@freedomink.org>
|
||||
|
||||
* hi.po: Added Hindi translation.
|
||||
|
||||
2003-08-09 Dafydd Harries <daf@parnassus.ath.cx>
|
||||
|
||||
* cy.po: Added Welsh translation.
|
||||
|
||||
2003-08-09 Wang Jian <lark@linux.net.cn>
|
||||
|
||||
* zh_CN.po: Updated Simplified Chinese translation by
|
||||
Funda Wang <fundawang@linux.net.cn>.
|
||||
|
||||
2003-08-08 Danilo Šegan <dsegan@gmx.net>
|
||||
|
||||
* sr.po, sr@Latn.po: Updated Serbian translation.
|
||||
|
||||
2003-08-07 Wang Jian <lark@linux.net.cn>
|
||||
2003-07-21 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* zh_CN.po: Updated Simplified Chinese translation.
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-07-19 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-07-19 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-07-13 Metin Amiroff <metin@karegen.com>
|
||||
|
||||
* az.po: Updated Azerbaijani translation.
|
||||
|
||||
2003-05-16 Danilo Šegan <dsegan@gmx.net>
|
||||
2003-06-25 Mohammad DAMT <mdamt@bisnisweb.com>
|
||||
|
||||
* id.po: Updated Indonesian translation
|
||||
|
||||
2003-06-23 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
|
||||
|
||||
* nl.po: Dutch translation updated by Kees van den Broek.
|
||||
|
||||
2003-06-14 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-06-12 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Updated traditional Chinese translation.
|
||||
|
||||
2003-06-04 Paul Duffy <dubhthach@frink.nuigalway.ie>
|
||||
|
||||
* ga.po: Updated Irish Translation.
|
||||
|
||||
2003-05-25 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* he.po: Mark wrong entry as fuzzy (msgfmt check failed).
|
||||
|
||||
2003-05-16 Danilo ©egan <dsegan@gmx.net>
|
||||
|
||||
* sr.po, sr@Latn.po: Updated Serbian translation by Serbian
|
||||
team (Prevod.org).
|
||||
|
||||
2003-05-10 Danilo Šegan <dsegan@gmx.net>
|
||||
2003-05-10 Danilo Segan <dsegan@gmx.net>
|
||||
|
||||
* sr.po, sr@Latn.po: Added Serbian translation by Serbian team
|
||||
(Prevod.org).
|
||||
|
||||
2003-04-20 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Updated traditional Chinese translation.
|
||||
|
||||
2003-03-18 Gil "Dolfin" Osher <dolfin@rpg.org.il>
|
||||
|
||||
* he.po: Updated Hebrew translation.
|
||||
|
||||
2003-03-13 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* ml.po: Added Malayalam translation by
|
||||
@@ -42,313 +130,490 @@
|
||||
|
||||
* fa.po: Added Persian translation.
|
||||
|
||||
2003-02-21 Metin Amiroff <metin@karegen.com>
|
||||
2003-03-08 Gil "Dolfin" Osher <dolfin@rpg.org.il>
|
||||
|
||||
* az.po: Updated Azerbaijani translation.
|
||||
* he.po: Added Hebrew translation.
|
||||
|
||||
2003-02-11 Mohammad DAMT <mdamt@bisnisweb.com>
|
||||
2003-03-06 Yuriy Syrota <rasta renome.rovno.ua>
|
||||
|
||||
* id.po: Updated Indonesian translation
|
||||
* uk.po: Updated Ukrainian translation.
|
||||
|
||||
2003-02-25 T?µivo Leedj?€rv <toivo@linux.ee>
|
||||
|
||||
* et.po: Added Estonian translation.
|
||||
|
||||
2003-02-23 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Updated traditional Chinese translation.
|
||||
|
||||
2003-02-22 Jordi Mallach <jordi@sindominio.net>
|
||||
|
||||
* ca.po: Barbarism fixes from Jordi Mas.
|
||||
|
||||
2003-02-22 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Updated traditional Chinese translation.
|
||||
|
||||
2003-02-16 Mohammad DAMT <mdamt@bisnisweb.com>
|
||||
|
||||
* id.po: Added Indonesian translation
|
||||
|
||||
2003-02-09 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* sv.po: Some fixes for problems catched in translation review.
|
||||
|
||||
2003-02-07 Miloslav Trmac <mitr@volny.cz>
|
||||
|
||||
* cs.po: Fixed typos in Czech translation.
|
||||
|
||||
2003-01-25 Alessio Frusciante <algol@firenze.linux.it>
|
||||
|
||||
* it.po: Added Italian translation.
|
||||
|
||||
2003-01-23 Marius Andreiana <marius galuna.ro>
|
||||
|
||||
* ro.po: updated ( thanks to MiÅu Moldovan )
|
||||
* ro.po: added ( thanks to Mi?u Moldovan )
|
||||
|
||||
2003-01-22 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* mn.po: Added Mongolian translation by
|
||||
Sanlig Badral <badral@chinggis.com>.
|
||||
|
||||
2003-01-20 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* vi.po: Updated Vietnamese file
|
||||
|
||||
2003-01-18 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Updated traditional Chinese translation.
|
||||
|
||||
2003-01-16 Daniel Yacob <locales@geez.org>
|
||||
|
||||
* am.po: Added Amharic translation.
|
||||
|
||||
2002-12-18 Christophe Merlet <redfox@redfoxcenter.org>
|
||||
2003-01-16 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* fr.po: Updated French translation.
|
||||
* vi.po: Updated Vietnamese file
|
||||
|
||||
2003-01-03 Andras Timar <timar@gnome.hu>
|
||||
|
||||
* hu.po: Updated Hungarian translation.
|
||||
|
||||
2002-12-14 Christophe Merlet <redfox@redfoxcenter.org>
|
||||
|
||||
* fr.po: Updated French translation and converted to UTF-8.
|
||||
|
||||
2002-11-25 Yanko Kaneti <yaneti@declera.com>
|
||||
|
||||
* *.po: Convert all to UTF-8.
|
||||
|
||||
2002-11-07 Simos Xenitellis <simos74@gmx.net>
|
||||
|
||||
* el.po: Updated Greek translation.
|
||||
|
||||
2002-11-04 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
|
||||
|
||||
* nl.po: Jeroen van der Vegt updated Dutch translation.
|
||||
|
||||
2002-11-03 Dmitry G. Mastrukov <dmitry@taurussoft.org>
|
||||
|
||||
* be.po: Added Belarusian translation
|
||||
* from Belarusian team <i18n@infonet.by>.
|
||||
|
||||
2002-09-26 Stanislav Brabec <sbrabec@suse.cz>
|
||||
|
||||
* cs.po: Added Czech translation from Miloslav Trmac
|
||||
<mitr@volny.cz>.
|
||||
|
||||
2002-09-19 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* tr.po: Committed updated Turkish translation by ?mer.
|
||||
|
||||
2002-09-02 Peteris Krisjanis <peteris.krisjanis@os.lv>
|
||||
|
||||
* lv.po: Updated Latvian translation.
|
||||
|
||||
2002-08-22 Andras Timar <timar@gnome.hu>
|
||||
|
||||
* hu.po: Updated Hungarian translation.
|
||||
|
||||
2002-08-20 Peteris Krisjanis <peteris.krisjanis@os.lv>
|
||||
|
||||
* lv.po (added): Latvian translation.
|
||||
|
||||
2002-08-07 Christian Neumair <christian-neumair@web.de>
|
||||
|
||||
* de.po: Updated German translation.
|
||||
|
||||
2002-07-13 Jordi Mallach <jordi@sindominio.net>
|
||||
|
||||
* ca.po: Updated Catalan translation.
|
||||
|
||||
2002-06-25 Yanko Kaneti <yaneti@declera.com>
|
||||
|
||||
* bg.po (added): Bulgarian translation by
|
||||
Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>.
|
||||
|
||||
2002-06-22 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* ca.po: Updated Catalan file
|
||||
|
||||
2002-06-17 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* vi.po: Updated Vietnamese file
|
||||
|
||||
2002-06-13 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
|
||||
|
||||
* ja.po: Updated Japanese translation.
|
||||
|
||||
2002-06-10 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* vi.po: Updated Vientamese file
|
||||
|
||||
2002-06-02 Germ??n Poo Caama?±o <gpoo@ubiobio.cl>
|
||||
|
||||
* es.po: Updated Spanish translation from
|
||||
Juan Manuel Garc?a Molina <juanma_gm@wanadoo.es>
|
||||
|
||||
2002-06-02 Zbigniew Chyla <cyba@gnome.pl>
|
||||
|
||||
* pl.po: Updated Polish translation by
|
||||
GNOME PL Team <translators@gnome.pl>.
|
||||
|
||||
2002-06-02 Carlos Perell?³ Mar?n <carlos@gnome-db.org>
|
||||
|
||||
* es.po: Fixed.
|
||||
|
||||
2002-05-28 Carlos Perello Marin <carlos@gnome-db.org>
|
||||
|
||||
* LEEME.es: Updated.
|
||||
|
||||
2002-05-28 Carlos Perello Marin <carlos@gnome-db.org>
|
||||
|
||||
* es.po, es_ES.po: Updated so the contry dependent string is
|
||||
placed at es_ES.po for Spain and the US like number notation is
|
||||
stored at es.po. It's much more easy mantain the es_ES.po file than
|
||||
4 or 5 files from American countries.
|
||||
* es_DO.pom, es_GT.po, es_HN.po, es_MX.po, es_PA.po, es_PE.po,
|
||||
es_SV.po: Removed, we only need to update es.po and es_ES.po now.
|
||||
|
||||
2002-05-19 Vlad Harchev <hvv@hippo.ru>
|
||||
|
||||
* ru.po: updated russian translation from Dmitry G. Mastrukov
|
||||
<dmitry@taurussoft.org>.
|
||||
|
||||
2002-05-10 Valek Filippov <frob@df.ru>
|
||||
|
||||
* ru.po: Updated russian translation from Dmitry Mastrukov.
|
||||
|
||||
2002-05-08 Zbigniew Chyla <cyba@gnome.pl>
|
||||
|
||||
* pl.po: Updated Polish translation by
|
||||
GNOME PL Team <translators@gnome.pl>.
|
||||
|
||||
2002-05-08 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* vi.po: Added Vietnamese file
|
||||
|
||||
2002-05-01 Germán Poo-Caamaño <gpoo@ubiobio.cl>
|
||||
2002-05-06 Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
* es.po: Updated Spanish translation from
|
||||
José Antonio Salgueiro <joseantoniosalgueiro@telefonica.net>.
|
||||
* pt.po: Updated Portuguese translation and converted to UTF-8.
|
||||
|
||||
2002-03-11 Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
2002-05-05 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* pt.po: Added Portuguese translation.
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
2002-03-10 Christian Rose <menthos@menthos.com>
|
||||
2002-04-25 Changwoo Ryu <cwryu@debian.org>
|
||||
|
||||
* .cvsignore: Fixed.
|
||||
* POTFILES.in: Sorted.
|
||||
* POTFILES.skip: Added, contains files in the support directory.
|
||||
* README.tools, update.pl, update.sh: Removed, these are obsoleted by
|
||||
intltool.
|
||||
* README.translators: I think the contents of this one is obsoleted too.
|
||||
* stamp-cat-id: Removed, this file should not be stored in cvs.
|
||||
* ko.po: Updated Korean translation.
|
||||
|
||||
2002-02-05 Abel Cheung <maddog@linux.org.hk>
|
||||
2002-04-24 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
|
||||
|
||||
* zh_CN.GB2312.po -> zh_CN.po
|
||||
* sk.po: Updated Slovak translation by Marcel Telka <marcel@telka.sk>.
|
||||
|
||||
2001-10-14 Valek Filippov <frob@df.ru>
|
||||
2002-04-23 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* ru.po: Slightly updated russian translation.
|
||||
* no.po: Updated Norwegian (bokm?¥l) translation.
|
||||
|
||||
2001-09-10 Abel Cheung <maddog@linux.org.hk>
|
||||
2002-04-19 Ole Laursen <olau@hardworking.dk>
|
||||
|
||||
* zh_TW.po: New traditional Chinese translation.
|
||||
* da.po: Updated Danish translation.
|
||||
|
||||
2001-07-25 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* nn.po: Added Norwegian (nynorsk) translation.
|
||||
* no.po: Updated Norwegian (bokmål) translation.
|
||||
|
||||
2001-06-07 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* az.po: Updated Azeri file
|
||||
|
||||
2001-03-25 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* tr.po: Full tr.po.
|
||||
|
||||
2001-03-23 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* tr.po: Committed updated Turkish translation by
|
||||
Görkem also to the HEAD branch (here).
|
||||
|
||||
2001-03-17 Marius Andreiana <mandreiana@yahoo.com>
|
||||
|
||||
* ro.po: added (thanks to Valentin Tutu <tutu.valentin@gmx.net>)
|
||||
|
||||
2001-03-15 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* az.po: Updated Azeri file
|
||||
|
||||
2001-03-14 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
|
||||
|
||||
* sk.po: Fixed Slovak translation from Marcel Telka <marcel@telka.sk>.
|
||||
|
||||
2001-03-13 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
|
||||
|
||||
* sk.po: Updated Slovak translation from Marcel Telka <marcel@telka.sk>.
|
||||
|
||||
2001-03-12 Jarkko Ranta <jjranta@cc.joensuu.fi>
|
||||
2002-04-19 Pauli Virtanen <pauli.virtanen@hut.fi>
|
||||
|
||||
* fi.po: Updated Finnish translation.
|
||||
|
||||
2001-02-19 Simos Xenitellis <simos@hellug.gr>
|
||||
2002-04-09 Valek Filippov <frob@df.ru>
|
||||
|
||||
* ru.po: Updated russian translation from Dmitry Mastrukov.
|
||||
|
||||
2002-04-02 Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
* pt.po: Updated Portuguese translation.
|
||||
|
||||
2002-03-31 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* .cvsignore: Added file.
|
||||
* POTFILES.in: Added missing popt files.
|
||||
|
||||
2002-03-25 Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
* pt.po: Updated Portuguese translation.
|
||||
|
||||
2002-03-23 Hasbullah Bin Pit <sebol@ikhlas.com>
|
||||
|
||||
* ms.po: Updated Malay Translation.
|
||||
|
||||
2002-03-15 Valek Filippov <frob@df.ru>
|
||||
|
||||
* ru.po: Updated russian translation.
|
||||
|
||||
2002-03-06 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* no.po: Updated Norwegian (bokm?¥l) translation.
|
||||
|
||||
2002-03-06 Germ??n Poo-Caama?±o <gpoo@ubiobio.cl>
|
||||
|
||||
* es.po: Fixed spanish translation encoding.
|
||||
|
||||
2002-03-06 Germ??n Poo-Caama?±o <gpoo@ubiobio.cl>
|
||||
|
||||
* es.po: Update spanish translation.
|
||||
|
||||
2002-03-05 Matthias Warkus <mawarkus@gnome.org>
|
||||
|
||||
* de.po: Fixed German translation.
|
||||
|
||||
2002-03-01 Zbigniew Chyla <cyba@gnome.pl>
|
||||
|
||||
* pl.po: Updated Polish translation by
|
||||
GNOME PL Team <translators@gnome.pl>.
|
||||
|
||||
2002-02-12 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* no.po: Updated Norwegian (bokm?¥l) translation.
|
||||
|
||||
2002-02-09 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Updated traditional Chinese translation.
|
||||
|
||||
2002-02-05 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_CN.GB2312.po -> zh_CN.po: Convert to UTF-8 encoding.
|
||||
|
||||
2002-01-27 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* README.tools, update.pl, update.sh: Removed, they are
|
||||
obsoleted by intltool.
|
||||
* sv.po: Updated and converted to UTF-8.
|
||||
|
||||
2002-01-25 Roy-Magne Mo <rmo@sunnmore.net>
|
||||
|
||||
* nn.po: Updated Norwegian (nynorsk) translation.
|
||||
|
||||
2002-01-14 Hasbullah Bin Pit <sebol@ikhlas.com>
|
||||
|
||||
* ms.po: Added Malay Translation.
|
||||
|
||||
2001-11-26 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* stamp-cat-id: Removed, and add it to .cvsignore.
|
||||
|
||||
2001-10-30 Zbigniew Chyla <cyba@gnome.pl>
|
||||
|
||||
* pl.po: Updated Polish translation by
|
||||
GNOME PL Team <translators@gnome.pl>.
|
||||
|
||||
2001-10-17 Carlos Perell?³ Mar?n <carlos@gnome-db.org>
|
||||
|
||||
* pt.po: Added by Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
2001-09-16 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Added traditoinal Chinese translation.
|
||||
|
||||
2001-07-16 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* nn.po: Added Norwegian (nynorsk) translation.
|
||||
|
||||
2001-03-25 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* tr.po: %100'ification.
|
||||
|
||||
2001-03-23 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* tr.po: Updated Turkish translation by G?¶rkem.
|
||||
|
||||
2001-03-15 Valek Filippov <frob@df.ru>
|
||||
|
||||
* ru.po: Updated russian translation.
|
||||
|
||||
2001-03-09 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* az.po: converted to 8bit encoding as requested for Gnome 1.4
|
||||
|
||||
2001-02-25 Simos Xenitellis <simos@hellug.gr>
|
||||
|
||||
* el.po: Updated Greek translation.
|
||||
|
||||
2001-02-16 Christian Rose <menthos@menthos.com>
|
||||
2001-02-23 Simos Xenitellis <simos@hellug.gr>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
* el.po: Some more strings.
|
||||
|
||||
2001-02-15 Christian Rose <menthos@menthos.com>
|
||||
2001-02-19 Simos Xenitellis <simos@hellug.gr>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
* el.po: Update of Greek translation.
|
||||
|
||||
2001-02-15 Christian Meyer <cm@ggtt.de>
|
||||
|
||||
* de.po: Some minor changes.
|
||||
|
||||
2001-02-14 Jarkko Ranta <jjranta@cc.joensuu.fi>
|
||||
|
||||
* fi.po: Updated Finnish translation
|
||||
|
||||
2001-02-14 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
|
||||
|
||||
* sk.po: Updated Slovak translation from Marcel Telka <marcel@telka.sk>
|
||||
|
||||
2001-02-13 Szabolcs Ban <shooby@gnome.hu>
|
||||
|
||||
* hu.po: Updated Hungarian translation from Robert Vanyi
|
||||
|
||||
2001-02-13 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>
|
||||
|
||||
* sk.po: Added Slovak translation from Marcel Telka <marcel@telka.sk>.
|
||||
* sk.po: Added Slovak translation from Marcel Telka <marcel@telka.sk>
|
||||
|
||||
2001-02-13 Martin Baulig <baulig@suse.de>
|
||||
|
||||
* fi.po: Reverted Jarkko Ranta's change; please do
|
||||
not commit any compressed files in future.
|
||||
|
||||
2001-02-10 Christophe Merlet <christophe@merlet.net>
|
||||
|
||||
* fr.po: Updated French translation.
|
||||
|
||||
2001-02-07 Szabolcs Ban <shooby@gnome.hu>
|
||||
2001-02-09 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
|
||||
|
||||
* hu.po: Updated Hungarian translation from Robert Vanyi.
|
||||
* pt_BR.po: Updated Brazilian Portuguese translation.
|
||||
|
||||
2001-02-08 Jarkko Ranta <jjranta@cc.joensuu.fi>
|
||||
|
||||
* fi.po: Updated Finnish translation by Pauli Virtanen
|
||||
|
||||
2001-02-08 Valek Filippov <frob@df.ru>
|
||||
|
||||
* ru.po: Updated russian translation.
|
||||
|
||||
2001-02-05 Christophe Merlet <christophe@merlet.net>
|
||||
|
||||
* fr.po: Updated French translation.
|
||||
|
||||
2001-02-04 Fatih Demir <kabalak@gmx.net>
|
||||
|
||||
* tr.po: Added Turkish translation by
|
||||
Görkem Cetin.
|
||||
|
||||
2001-01-31 Szabolcs Ban <shooby@gnome.hu>
|
||||
|
||||
* hu.po: Terminology fixes by Andras Timar <timar@gnome.hu>
|
||||
|
||||
2001-01-26 Szabolcs Ban <shooby@gnome.hu>
|
||||
|
||||
* hu.po: Updated Hungarian translation by Andras
|
||||
|
||||
2001-01-24 Szabolcs Ban <shooby@gnome.hu>
|
||||
|
||||
* hu.po: Tons of fixes by Andras and Emese (spelling,
|
||||
terminology, headers)
|
||||
|
||||
2001-01-05 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
* az.po: Added Azeri file
|
||||
* *.po: corrected headers in various po files
|
||||
* ja.po: fixed a syntax error (missing %c )
|
||||
|
||||
2000-10-15 Christophe Merlet <christophe@merlet.net>
|
||||
|
||||
* fr.po: Updated French translation.
|
||||
|
||||
2000-10-14 Almer S. Tigelaar <almer1@dds.nl>
|
||||
|
||||
* nl.po: Update Dutch translation.
|
||||
|
||||
2000-10-10 Yukihiro Nakai <nakai@gnome.gr.jp>
|
||||
2000-10-15 Yukihiro Nakai <nakai@gnome.gr.jp>
|
||||
|
||||
* ja.po: Update Japanese translation.
|
||||
|
||||
2000-09-25 Szabolcs BAN <shooby@gnome.hu>
|
||||
2000-10-11 Yukihiro Nakai <nakai@gnome.gr.jp>
|
||||
|
||||
* hu.po: Updated Hungarian translations from robi@mora.u-szeged.hu
|
||||
* ja.po: Update Japanese translation.
|
||||
|
||||
2000-09-19 Kjartan Maraas <kmaraas@gnome.org>
|
||||
2000-09-19 Christian Meyer <linux@chrisime.de>
|
||||
|
||||
* no.po: Updated Norwegian translation.
|
||||
* de.po: Minor fix.
|
||||
|
||||
2000-09-13 Christian Meyer <linux@chrisime.de>
|
||||
2000-09-19 Christian Meyer <linux@chrisime.de>
|
||||
|
||||
* update.pl: Added perl script from kanikus.
|
||||
* de.po: Updated German translation.
|
||||
|
||||
2000-09-10 Christian Meyer <linux@chrisime.de>
|
||||
|
||||
* de.po: Updated German translation.
|
||||
* update.pl: Added update.pl from menesis.
|
||||
* README.tools: Added text file.
|
||||
|
||||
2000-08-28 Kai Lahmann <kl@linuxfaqs.de>
|
||||
2000-08-16 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* de.po: Updated German translation form chrisime <linux@chrisime.de>
|
||||
* no.po: Updated Norwegian translation.
|
||||
|
||||
2000-08-16 Kai Lahmann <kl@linuxfaqs.de>
|
||||
2000-06-25 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>
|
||||
|
||||
* de.po: Updated German translation form chrisime <linux@chrisime.de>
|
||||
* ja.po: Updated Japanese translation.
|
||||
|
||||
2000-08-14 Kai Lahmann <kl@linuxfaqs.de>
|
||||
2000-05-26 Yuri Syrota <rasta@renome.rovno.ua>
|
||||
|
||||
* de.po: Updated German translation form chrisime <linux@chrisime.de>
|
||||
* uk.po: Updated Ukrainian translation.
|
||||
|
||||
2000-08-11 Valek Filippov <frob@df.ru>
|
||||
2000-05-20 Manuel de Vega Barreiro <barreiro@arrakis.es>
|
||||
|
||||
* ru.po: Updated russian translation.
|
||||
* es.po: Updated Spanish translation.
|
||||
|
||||
2000-08-09 Szabolcs BAN <shooby@gnome.hu>
|
||||
|
||||
* hu.po: Added Rob's work, all thanks goes to
|
||||
Robert Vanyi <robi@mora.u-szeged.hu>
|
||||
|
||||
2000-07-13 Benedikt Roth <Benedikt.Roth@gmx.net>
|
||||
|
||||
* de.po: Updated German translation from Kai Lahmann <kl@linuxfaqs.de>
|
||||
|
||||
2000-06-04 Valek Filippov <frob@df.ru>
|
||||
|
||||
* ru.po: Updated russian translation.
|
||||
|
||||
2000-05-05 Valek Filippov <frob@df.ru>
|
||||
|
||||
* ru.po: Updated russian translation.
|
||||
|
||||
2000-04-29 Andreas Hyden <a.hyden@cyberpoint.se>
|
||||
2000-05-18 Martin Norb?€ck <d95mback@dtek.chalmers.se>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
2000-04-29 Kjartan Maraas <kmaraas@online.no>
|
||||
2000-05-18 Jesus Bravo Alvarez <jba@pobox.com>
|
||||
|
||||
* no.po: Updated Norwegian translation.
|
||||
* gl.po: Updated Galician translation.
|
||||
|
||||
2000-04-20 Andreas Hyden <a.hyden@cyberpoint.se>
|
||||
2000-05-17 Kjartan Maraas <kmaraas@online.no>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
* no.po: Updated translation.
|
||||
|
||||
2000-04-19 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
2000-05-16 Kenneth Christiansen <kenneth@gnome.org>
|
||||
|
||||
* ca.po: Added Catalan file
|
||||
* es.po: Updated Spanish file
|
||||
* POTFILES.in: New strings added
|
||||
|
||||
2000-04-18 Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
2000-05-16 Kenneth Christiansen <kenneth@gnome.org>
|
||||
|
||||
* da.po: Updated Danish file
|
||||
* da.po: New da translation
|
||||
* update.sh: New update.sh script
|
||||
|
||||
2000-04-18 Kjartan Maraas <kmaraas@online.no>
|
||||
2000-05-16 Jesus Bravo Alvarez <jba@pobox.com>
|
||||
|
||||
* no.po: Updated Norwegian translation.
|
||||
* *.po: Added and merged ca, el, ga, pt_BR, ru, uk and zh_CN
|
||||
from HEAD branch
|
||||
|
||||
2000-04-16 Valek Filippov <frob@df.ru>
|
||||
2000-05-09 Andreas Hyden <a.hyden@cyberpoint.se>
|
||||
|
||||
* ru.po: Added russian translation.
|
||||
* update.sh: Added update.sh script.
|
||||
|
||||
2000-03-31 Spiros Papadimitriou <spapadim+@cs.cmu.edu>
|
||||
2000-04-01 Jesus Bravo Alvarez <jba@pobox.com>
|
||||
|
||||
* el.po: Added Greek translation (from Sarantis
|
||||
Paskalis, paskalis@di.uoa.gr).
|
||||
* gl.po: Updated Galician translation.
|
||||
|
||||
2000-03-09 Alastair McKinstry <mckinstry@computer.org>
|
||||
|
||||
* ga.po: Added Irish translation.
|
||||
|
||||
2000-01-31 Yuan-Chung Cheng <platin@linux.org.tw>
|
||||
|
||||
* zh_CN.GB2312.po: Added po file from TurboLinux Chinese Develop Team.
|
||||
|
||||
2000-01-01 Fatih Demir <kabalak@gmx.net>
|
||||
|
||||
* tr.po: Added tr.po .
|
||||
<-- HAPPY MILLENIUM -->
|
||||
|
||||
1999-12-19 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* POTFILES.in: Added `lib/errors.c'.
|
||||
|
||||
1999-12-01 Kjartan Maraas <kmaraas@online.no>
|
||||
|
||||
* no.po: Updated Norwegian translation.
|
||||
|
||||
1999-11-30 Yuri Syrota <rasta@renome.rovno.ua>
|
||||
|
||||
* uk.po: Added Ukrainian translation.
|
||||
|
||||
1999-11-02 Jesus Bravo Alvarez <jba@pobox.com>
|
||||
1999-10-09 Jesus Bravo Alvarez <jba@pobox.com>
|
||||
|
||||
* gl.po: Added Galician translation.
|
||||
|
||||
1999-09-29 Kenneth lléphaane Christiansen <kenneth@ripen.dk>
|
||||
1999-09-29 Kenneth ll?©phaane Christiansen <kenneth@ripen.dk>
|
||||
|
||||
* da.po: Updated.
|
||||
|
||||
1999-09-27 Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
|
||||
1999-09-27 Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>
|
||||
|
||||
* pt_BR.po: Added.
|
||||
* pl.po: Added translation.
|
||||
|
||||
1999-09-22 Kjartan Maraas <kmaraas@online.no>
|
||||
|
||||
* da.po: Added Danish translation from Kenneth
|
||||
Christiansen <kenneth@ripen.dk>.
|
||||
|
||||
1999-08-13 Vincent Renardias <vincent@ldsol.com>
|
||||
1999-09-20 Vincent Renardias <vincent@ldsol.com>
|
||||
|
||||
* fr.po: Completed translation.
|
||||
* fr.po: 100% complete. removed ~40 old translations.
|
||||
|
||||
1999-07-30 Matthias Warkus <mawa@iname.com>
|
||||
1999-09-17 Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>
|
||||
|
||||
* de.po: Updated and finally checked in.
|
||||
* pl.po: Added translation.
|
||||
|
||||
1999-07-27 Vincent Renardias <vincent@ldsol.com>
|
||||
1999-09-16 Tomas Ogren <stric@ing.umu.se>
|
||||
|
||||
* fr.po: updated thanks to Fabrice's patch.
|
||||
* sv.po: Synced
|
||||
|
||||
1999-07-11 Kjartan Maraas <kmaraas@online.no>
|
||||
|
||||
@@ -356,27 +621,7 @@
|
||||
|
||||
1999-07-11 Tomas Ogren <stric@ing.umu.se>
|
||||
|
||||
* sv.po: Updated
|
||||
|
||||
1999-06-08 Kjartan Maraas <kmaraas@online.no>
|
||||
|
||||
* no.po: Updated translation.
|
||||
|
||||
1999-05-07 Yukihiro Nakai <Nakai@astec.co.jp>
|
||||
|
||||
* ja.po: Updated translation
|
||||
|
||||
1999-04-18 Tuomas J. Lukka <lukka@iki.fi
|
||||
|
||||
* Small addition to fi.po
|
||||
|
||||
1999-04-18 Tuomas J. Lukka <lukka@iki.fi
|
||||
|
||||
* Add fi.po
|
||||
|
||||
1999-04-13 Kjartan Maraas <kmaraas@online.no>
|
||||
|
||||
* no.po: Updated translation.
|
||||
* sv.po: New file
|
||||
|
||||
1999-01-27 Kjartan Maraas <kmaraas@fib.hl.no>
|
||||
|
||||
|
@@ -1,16 +1,18 @@
|
||||
# List of source files containing translatable strings.
|
||||
# Please keep this file sorted alphabetically.
|
||||
examples/smp.c
|
||||
include/glibtop/close.h
|
||||
include/glibtop/command.h
|
||||
include/glibtop/cpu.h
|
||||
include/glibtop/error.h
|
||||
include/glibtop/fsusage.h
|
||||
include/glibtop/global.h
|
||||
include/glibtop/gnuserv.h
|
||||
include/glibtop/inodedb.h
|
||||
include/glibtop/loadavg.h
|
||||
include/glibtop/mem.h
|
||||
include/glibtop/mountlist.h
|
||||
include/glibtop/msg_limits.h
|
||||
include/glibtop/open.h
|
||||
include/glibtop/parameter.h
|
||||
include/glibtop/prockernel.h
|
||||
include/glibtop/proclist.h
|
||||
include/glibtop/procmap.h
|
||||
@@ -20,6 +22,8 @@ include/glibtop/procsignal.h
|
||||
include/glibtop/procstate.h
|
||||
include/glibtop/proctime.h
|
||||
include/glibtop/procuid.h
|
||||
include/glibtop/read_data.h
|
||||
include/glibtop/read.h
|
||||
include/glibtop/sem_limits.h
|
||||
include/glibtop/shm_limits.h
|
||||
include/glibtop/signal.h
|
||||
@@ -29,27 +33,73 @@ include/glibtop/sysinfo.h
|
||||
include/glibtop/types.h
|
||||
include/glibtop/union.h
|
||||
include/glibtop/uptime.h
|
||||
include/glibtop/version.h
|
||||
include/glibtop/write.h
|
||||
include/glibtop/xmalloc.h
|
||||
lib/close.c
|
||||
lib/errors.c
|
||||
lib/command.c
|
||||
lib/init.c
|
||||
lib/inodedb.c
|
||||
lib/open.c
|
||||
lib/parameter.c
|
||||
lib/read.c
|
||||
lib/read_data.c
|
||||
lib/sysdeps.c
|
||||
src/inodedb/file_by_inode.c
|
||||
src/inodedb/mkinodedb.c
|
||||
lib/write.c
|
||||
src/daemon/gnuserv.c
|
||||
src/daemon/io.c
|
||||
src/daemon/main.c
|
||||
src/daemon/server.c
|
||||
src/daemon/slave.c
|
||||
src/daemon/version.c
|
||||
src/inodedb/file_by_inode2.c
|
||||
src/inodedb/mkinodedb2.c
|
||||
support/easy-vsnprintf.c
|
||||
support/error.c
|
||||
support/error.h
|
||||
support/getopt.c
|
||||
support/popt.c
|
||||
support/popthelp.c
|
||||
sysdeps/common/error.c
|
||||
sysdeps/common/fsusage.c
|
||||
sysdeps/common/fsusage.h
|
||||
sysdeps/common/gnuslib.c
|
||||
sysdeps/common/inodedb.c
|
||||
sysdeps/common/mountlist.c
|
||||
sysdeps/common/mountlist.h
|
||||
sysdeps/common/sysdeps_suid.c
|
||||
sysdeps/common/xmalloc.c
|
||||
sysdeps/linux/close.c
|
||||
sysdeps/linux/cpu.c
|
||||
sysdeps/linux/glibtop_machine.h
|
||||
sysdeps/linux/glibtop_server.h
|
||||
sysdeps/linux/loadavg.c
|
||||
sysdeps/linux/mem.c
|
||||
sysdeps/linux/msg_limits.c
|
||||
sysdeps/linux/open.c
|
||||
sysdeps/linux/prockernel.c
|
||||
sysdeps/linux/proclist.c
|
||||
sysdeps/linux/procmap.c
|
||||
sysdeps/linux/procmem.c
|
||||
sysdeps/linux/procsegment.c
|
||||
sysdeps/linux/procsignal.c
|
||||
sysdeps/linux/procstate.c
|
||||
sysdeps/linux/proctime.c
|
||||
sysdeps/linux/procuid.c
|
||||
sysdeps/linux/sem_limits.c
|
||||
sysdeps/linux/shm_limits.c
|
||||
sysdeps/linux/siglist.c
|
||||
sysdeps/linux/swap.c
|
||||
sysdeps/linux/sysinfo.c
|
||||
sysdeps/linux/uptime.c
|
||||
sysdeps/names/cpu.c
|
||||
sysdeps/names/fsusage.c
|
||||
sysdeps/names/loadavg.c
|
||||
sysdeps/names/mem.c
|
||||
sysdeps/names/mountlist.c
|
||||
sysdeps/names/msg_limits.c
|
||||
sysdeps/names/netload.c
|
||||
sysdeps/names/ppp.c
|
||||
sysdeps/names/procargs.c
|
||||
sysdeps/names/prockernel.c
|
||||
sysdeps/names/proclist.c
|
||||
sysdeps/names/procmap.c
|
||||
@@ -64,3 +114,5 @@ sysdeps/names/shm_limits.c
|
||||
sysdeps/names/swap.c
|
||||
sysdeps/names/sysdeps.c
|
||||
sysdeps/names/uptime.c
|
||||
sysdeps/osf1/siglist.c
|
||||
sysdeps/sun4/siglist.c
|
||||
|
119
po/it.po
119
po/it.po
@@ -5,8 +5,9 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop\n"
|
||||
"POT-Creation-Date: 2003-01-25 08:30+0100\n"
|
||||
"PO-Revision-Date: 2003-01-25 15:51+0100\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2003-08-28 13:59+0200\n"
|
||||
"PO-Revision-Date: 2003-08-28 14:23+0200\n"
|
||||
"Last-Translator: Alessio Frusciante <algol@firenze.linux.it>\n"
|
||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -16,7 +17,7 @@ msgstr ""
|
||||
#: examples/smp.c:71
|
||||
#, c-format
|
||||
msgid "Ticks (%ld per second):"
|
||||
msgstr ""
|
||||
msgstr "Tick (%ld per secondo):"
|
||||
|
||||
#: examples/smp.c:74
|
||||
msgid "Total"
|
||||
@@ -92,67 +93,68 @@ msgstr "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
|
||||
#: examples/smp.c:123
|
||||
msgid "Spin:"
|
||||
msgstr ""
|
||||
msgstr "Spin:"
|
||||
|
||||
#: lib/read.c:75
|
||||
#, c-format
|
||||
msgid "read %d bytes"
|
||||
msgstr ""
|
||||
msgstr "letti %d byte"
|
||||
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr ""
|
||||
msgstr "dimensione dei dati letti"
|
||||
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read data %d bytes"
|
||||
msgstr ""
|
||||
msgstr "letti %d byte di dati"
|
||||
|
||||
#: lib/write.c:48
|
||||
#, c-format
|
||||
msgid "write %d bytes"
|
||||
msgstr ""
|
||||
msgstr "scrittura di %d byte"
|
||||
|
||||
#: src/daemon/gnuserv.c:448
|
||||
#: src/daemon/gnuserv.c:453
|
||||
msgid "Enable debugging"
|
||||
msgstr "Abilita debug"
|
||||
|
||||
#: src/daemon/gnuserv.c:448
|
||||
#: src/daemon/gnuserv.c:453
|
||||
msgid "DEBUG"
|
||||
msgstr "DEBUG"
|
||||
|
||||
#: src/daemon/gnuserv.c:450
|
||||
#: src/daemon/gnuserv.c:455
|
||||
msgid "Enable verbose output"
|
||||
msgstr ""
|
||||
msgstr "Abilita output prolisso"
|
||||
|
||||
#: src/daemon/gnuserv.c:450
|
||||
#: src/daemon/gnuserv.c:455
|
||||
msgid "VERBOSE"
|
||||
msgstr "VERBOSE"
|
||||
|
||||
#: src/daemon/gnuserv.c:452
|
||||
#: src/daemon/gnuserv.c:457
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Non fare fork in background"
|
||||
|
||||
#: src/daemon/gnuserv.c:452
|
||||
#: src/daemon/gnuserv.c:457
|
||||
msgid "NO-DAEMON"
|
||||
msgstr "NO-DAEMON"
|
||||
|
||||
#: src/daemon/gnuserv.c:454
|
||||
#: src/daemon/gnuserv.c:459
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Invocato da inetd"
|
||||
|
||||
#: src/daemon/gnuserv.c:454
|
||||
#: src/daemon/gnuserv.c:459
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
"Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgstr ""
|
||||
"Errore nell'opzione %s: %s.\n"
|
||||
"Eseguire '%s --help' per vedere una lista completa delle opzioni per la linea di comando.\n"
|
||||
"Eseguire '%s --help' per vedere una lista completa delle opzioni per la "
|
||||
"linea di comando.\n"
|
||||
|
||||
#: support/error.c:109
|
||||
msgid "Unknown system error"
|
||||
@@ -247,51 +249,51 @@ msgstr "Tempo di CPU in idle"
|
||||
|
||||
#: sysdeps/names/cpu.c:48
|
||||
msgid "Tick Frequency"
|
||||
msgstr ""
|
||||
msgstr "Frequenza dei tick"
|
||||
|
||||
#: sysdeps/names/cpu.c:49
|
||||
msgid "SMP Total CPU Time"
|
||||
msgstr ""
|
||||
msgstr "Tempo di CPU totale SMP"
|
||||
|
||||
#: sysdeps/names/cpu.c:50
|
||||
msgid "SMP CPU Time in User Mode"
|
||||
msgstr ""
|
||||
msgstr "Tempo di CPU SMP in modalit? utente"
|
||||
|
||||
#: sysdeps/names/cpu.c:51
|
||||
msgid "SMP CPU Time in User Mode (nice)"
|
||||
msgstr ""
|
||||
msgstr "Tempo di CPU SMP in modalit? utente (nice)"
|
||||
|
||||
#: sysdeps/names/cpu.c:52
|
||||
msgid "SMP CPU Time in System Mode"
|
||||
msgstr ""
|
||||
msgstr "Tempo di CPU SMP in modalit? di sistema"
|
||||
|
||||
#: sysdeps/names/cpu.c:53
|
||||
msgid "SMP CPU Time in the Idle Task"
|
||||
msgstr ""
|
||||
msgstr "Tempo di CPU SMP in idle"
|
||||
|
||||
#: sysdeps/names/cpu.c:58 sysdeps/names/cpu.c:64
|
||||
msgid "Number of clock ticks since system boot"
|
||||
msgstr ""
|
||||
msgstr "Numero di tick dall'avvio del sistema"
|
||||
|
||||
#: sysdeps/names/cpu.c:59 sysdeps/names/cpu.c:65
|
||||
msgid "Number of clock ticks the system spent in user mode"
|
||||
msgstr ""
|
||||
msgstr "Numero di tick trascorsi in modalit? utente"
|
||||
|
||||
#: sysdeps/names/cpu.c:60 sysdeps/names/cpu.c:66
|
||||
msgid "Number of clock ticks the system spent in user mode (nice)"
|
||||
msgstr ""
|
||||
msgstr "Numero di tick trascorsi in modalit? utente (nice)"
|
||||
|
||||
#: sysdeps/names/cpu.c:61 sysdeps/names/cpu.c:67
|
||||
msgid "Number of clock ticks the system spent in system mode"
|
||||
msgstr ""
|
||||
msgstr "Numero di tick trascorsi in modalit? di sistema"
|
||||
|
||||
#: sysdeps/names/cpu.c:62 sysdeps/names/cpu.c:68
|
||||
msgid "Number of clock ticks the system spent in the idle task"
|
||||
msgstr ""
|
||||
msgstr "Numero di tick trascorsi in idle"
|
||||
|
||||
#: sysdeps/names/cpu.c:63
|
||||
msgid "Tick frequency (default is 100)"
|
||||
msgstr ""
|
||||
msgstr "Frequenza dei tick (il valore predefinito è 100)"
|
||||
|
||||
#: sysdeps/names/fsusage.c:39 sysdeps/names/fsusage.c:48
|
||||
msgid "Total blocks"
|
||||
@@ -306,12 +308,10 @@ msgid "Available blocks"
|
||||
msgstr "Blocchi disponibili"
|
||||
|
||||
#: sysdeps/names/fsusage.c:42 sysdeps/names/fsusage.c:51
|
||||
#, fuzzy
|
||||
msgid "Total file nodes"
|
||||
msgstr "Nodi file totali"
|
||||
|
||||
#: sysdeps/names/fsusage.c:43 sysdeps/names/fsusage.c:52
|
||||
#, fuzzy
|
||||
msgid "Free file nodes"
|
||||
msgstr "Nodi file liberi"
|
||||
|
||||
@@ -328,12 +328,10 @@ msgid "Load Average"
|
||||
msgstr "Media di carico"
|
||||
|
||||
#: sysdeps/names/loadavg.c:40
|
||||
#, fuzzy
|
||||
msgid "Running Tasks"
|
||||
msgstr "Processi in esecuzione"
|
||||
|
||||
#: sysdeps/names/loadavg.c:41
|
||||
#, fuzzy
|
||||
msgid "Number of Tasks"
|
||||
msgstr "Numero di processi"
|
||||
|
||||
@@ -346,7 +344,6 @@ msgid "Number of jobs running simultaneously averaged over 1, 5 and 15 minutes"
|
||||
msgstr "Numero di job eseguiti simultaneamente (media su 1, 5 e 15 minuti)"
|
||||
|
||||
#: sysdeps/names/loadavg.c:48
|
||||
#, fuzzy
|
||||
msgid "Number of tasks currently running"
|
||||
msgstr "Numero di processi attualmente in esecuzione"
|
||||
|
||||
@@ -376,11 +373,11 @@ msgstr "Buffer"
|
||||
|
||||
#: sysdeps/names/mem.c:46
|
||||
msgid "Cached"
|
||||
msgstr ""
|
||||
msgstr "In cache"
|
||||
|
||||
#: sysdeps/names/mem.c:48
|
||||
msgid "Locked"
|
||||
msgstr ""
|
||||
msgstr "Bloccata"
|
||||
|
||||
#: sysdeps/names/mem.c:53
|
||||
msgid "Total physical memory in kB"
|
||||
@@ -404,7 +401,7 @@ msgstr "Dimensione dei buffer in kB"
|
||||
|
||||
#: sysdeps/names/mem.c:58
|
||||
msgid "Size of cached memory in kB"
|
||||
msgstr ""
|
||||
msgstr "Dimensione della memoria in cache in kB"
|
||||
|
||||
#: sysdeps/names/mem.c:59
|
||||
msgid "Memory used from user processes in kB"
|
||||
@@ -412,7 +409,7 @@ msgstr "Memoria usata nei processi utente in kB"
|
||||
|
||||
#: sysdeps/names/mem.c:60
|
||||
msgid "Memory in locked pages in kB"
|
||||
msgstr ""
|
||||
msgstr "Memoria in pagine bloccate in kB"
|
||||
|
||||
#: sysdeps/names/mountlist.c:38 sysdeps/names/mountlist.c:45
|
||||
#: sysdeps/names/proclist.c:38 sysdeps/names/proclist.c:45
|
||||
@@ -458,11 +455,11 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/msg_limits.c:46 sysdeps/names/msg_limits.c:57
|
||||
msgid "Number of system message headers"
|
||||
msgstr ""
|
||||
msgstr "Numero di intestazioni dei messaggi di sistema"
|
||||
|
||||
#: sysdeps/names/netload.c:45 sysdeps/names/netload.c:63
|
||||
msgid "Interface Flags"
|
||||
msgstr ""
|
||||
msgstr "Flag delle interfacce"
|
||||
|
||||
#: sysdeps/names/netload.c:46
|
||||
msgid "MTU"
|
||||
@@ -518,7 +515,7 @@ msgstr "Collisioni"
|
||||
|
||||
#: sysdeps/names/netload.c:64
|
||||
msgid "Maximum Transfer Unit"
|
||||
msgstr ""
|
||||
msgstr "Massima unit? di trasferimento"
|
||||
|
||||
#: sysdeps/names/ppp.c:38 sysdeps/names/ppp.c:45
|
||||
msgid "PPP State"
|
||||
@@ -546,7 +543,7 @@ msgstr "Dimensioni"
|
||||
|
||||
#: sysdeps/names/procargs.c:43
|
||||
msgid "Length in bytes of the returned string."
|
||||
msgstr ""
|
||||
msgstr "Lunghezza in byte della stringa restituita."
|
||||
|
||||
#: sysdeps/names/prockernel.c:42
|
||||
msgid "K_Flags"
|
||||
@@ -623,11 +620,12 @@ msgstr ""
|
||||
|
||||
#. KStk_ESP
|
||||
#: sysdeps/names/prockernel.c:71
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The current value of esp (32-bit stack pointer), as found in the kernel "
|
||||
"stack page for the process."
|
||||
msgstr "Il valore di ESP (stack pointer a 32 bit)"
|
||||
msgstr ""
|
||||
"Il valore di ESP (stack pointer a 32 bit) come fornito dalla pagina dello "
|
||||
"stack per il processo."
|
||||
|
||||
#. KStk_EIP
|
||||
#: sysdeps/names/prockernel.c:74
|
||||
@@ -658,7 +656,7 @@ msgstr "Residente"
|
||||
|
||||
#: sysdeps/names/procmem.c:47
|
||||
msgid "Share"
|
||||
msgstr ""
|
||||
msgstr "Condivisa"
|
||||
|
||||
#: sysdeps/names/procmem.c:48
|
||||
msgid "Resident Set Size"
|
||||
@@ -792,7 +790,7 @@ msgstr "Maschera dei segnali ignorati"
|
||||
|
||||
#: sysdeps/names/procsignal.c:48
|
||||
msgid "Mask of caught signals"
|
||||
msgstr ""
|
||||
msgstr "Maschera dei segnali catturati"
|
||||
|
||||
#: sysdeps/names/procstate.c:40
|
||||
msgid "Cmd"
|
||||
@@ -852,7 +850,7 @@ msgstr "CSTime"
|
||||
|
||||
#: sysdeps/names/proctime.c:45
|
||||
msgid "TimeOut"
|
||||
msgstr ""
|
||||
msgstr "TimeOut"
|
||||
|
||||
#: sysdeps/names/proctime.c:45
|
||||
msgid "It_Real_Value"
|
||||
@@ -906,15 +904,15 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/proctime.c:60
|
||||
msgid "Tick frequency"
|
||||
msgstr ""
|
||||
msgstr "Frequenza dei tick"
|
||||
|
||||
#: sysdeps/names/proctime.c:61
|
||||
msgid "SMP user-mode CPU time accumulated by process"
|
||||
msgstr ""
|
||||
msgstr "Tempo di CPU SMP modalit? utente accumulato dal processo"
|
||||
|
||||
#: sysdeps/names/proctime.c:62
|
||||
msgid "SMP kernel-mode CPU time accumulated by process"
|
||||
msgstr ""
|
||||
msgstr "Tempo di CPU SMP modalit? kernel accumulato dal processo "
|
||||
|
||||
#: sysdeps/names/procuid.c:56
|
||||
msgid "Uid"
|
||||
@@ -1098,7 +1096,7 @@ msgstr "Totale di pagine di swap scaricate dall'avvio del sistema"
|
||||
|
||||
#: sysdeps/names/sysdeps.c:49 sysdeps/names/sysdeps.c:76
|
||||
msgid "Server Features"
|
||||
msgstr ""
|
||||
msgstr "Funzionalit? del server"
|
||||
|
||||
#: sysdeps/names/sysdeps.c:50 sysdeps/names/sysdeps.c:77
|
||||
msgid "CPU Usage"
|
||||
@@ -1210,7 +1208,8 @@ msgstr "Tempo in secondi dall'avvio del sistema"
|
||||
|
||||
#: sysdeps/names/uptime.c:45
|
||||
msgid "Time in seconds the system spent in the idle task since system boot"
|
||||
msgstr "Tempo in secondi che il sistema ha passato in idle dall'avvio del sistema"
|
||||
msgstr ""
|
||||
"Tempo in secondi che il sistema ha passato in idle dall'avvio del sistema"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Hangup"
|
||||
@@ -1290,27 +1289,27 @@ msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Child status has changed"
|
||||
msgstr ""
|
||||
msgstr "Lo stato del figlio è cambiato"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background read from tty"
|
||||
msgstr ""
|
||||
msgstr "Lettura in background dalla tty"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "Background write to tty"
|
||||
msgstr ""
|
||||
msgstr "Scrittura in background sulla tty"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "I/O now possible"
|
||||
msgstr ""
|
||||
msgstr "I/O adesso possibile"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr ""
|
||||
msgstr "Superato il limite della CPU"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "File size limit exceeded"
|
||||
msgstr ""
|
||||
msgstr "Superato il limite nella dimensione dei file"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Virtual alarm clock"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user