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:
Carlos Perelló Marín
2003-10-19 16:10:39 +00:00
committed by Carlos Perelló Marín
parent 5e28a55218
commit bae16b467f
148 changed files with 29273 additions and 26459 deletions

View File

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

1573
ChangeLog

File diff suppressed because it is too large Load Diff

View File

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

View File

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

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

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

View File

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

@@ -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)/$@

View File

@@ -8,4 +8,3 @@ auto-macros.texi
version.texi
stamp-vti
*.html *.pdf
*.info-*

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,3 +1,2 @@
Makefile
Makefile.in
call-vector.h

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,2 +1 @@
*.flags
.depend

View File

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

View File

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

View File

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

View File

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

View File

@@ -5,7 +5,3 @@ Makefile.in
libgtop.la
*.lo
lib.c
structures.h
sysdeps-init.c
libgtop_server.la
test-backends

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,3 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

1557
po/bg.po

File diff suppressed because it is too large Load Diff

1711
po/ca.po

File diff suppressed because it is too large Load Diff

1531
po/da.po

File diff suppressed because it is too large Load Diff

2645
po/de.po

File diff suppressed because it is too large Load Diff

2091
po/el.po

File diff suppressed because it is too large Load Diff

1691
po/es.po

File diff suppressed because it is too large Load Diff

1471
po/fi.po

File diff suppressed because it is too large Load Diff

1347
po/fr.po

File diff suppressed because it is too large Load Diff

2277
po/ga.po

File diff suppressed because it is too large Load Diff

1631
po/gl.po

File diff suppressed because it is too large Load Diff

1834
po/hu.po

File diff suppressed because it is too large Load Diff

1193
po/id.po

File diff suppressed because it is too large Load Diff

119
po/it.po
View File

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

1646
po/ja.po

File diff suppressed because it is too large Load Diff

1606
po/ko.po

File diff suppressed because it is too large Load Diff

390
po/ml.po

File diff suppressed because it is too large Load Diff

416
po/nl.po

File diff suppressed because it is too large Load Diff

430
po/nn.po

File diff suppressed because it is too large Load Diff

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