summaryrefslogtreecommitdiff
path: root/doc/reference
diff options
context:
space:
mode:
authorBenoît Dejean <benoit@placenet.org>2006-12-02 13:42:48 +0000
committerBenoît Dejean <bdejean@src.gnome.org>2006-12-02 13:42:48 +0000
commit9055b90aef62482925ef4d8eba5471ebb07e8a69 (patch)
tree6ad8ac16c28b7b4e109811ee9b65aa2a989a9f29 /doc/reference
parent3f25ae9b43febf3cfc2f5a34184ff53b2589b857 (diff)
downloadlibgtop-9055b90aef62482925ef4d8eba5471ebb07e8a69.tar.gz
Converted to gtk-doc. Patch by Germán Poó-Caamaño <gpoo@ubiobio.cl>.
2006-12-02 Benoît Dejean <benoit@placenet.org> * Makefile.am: * configure.in: * doc/Makefile.am: * doc/reference/Makefile.am: * doc/reference/libgtop-docs.xml: * doc/reference/libgtop-sections.txt: * doc/reference/version.xml.in: * gtk-doc.make: * sysdeps/common/default.c: Converted to gtk-doc. Patch by Germán Poó-Caamaño <gpoo@ubiobio.cl>.
Diffstat (limited to 'doc/reference')
-rw-r--r--doc/reference/Makefile.am59
-rw-r--r--doc/reference/libgtop-docs.xml206
-rw-r--r--doc/reference/libgtop-sections.txt754
-rw-r--r--doc/reference/version.xml.in4
4 files changed, 1023 insertions, 0 deletions
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
new file mode 100644
index 00000000..8cf9a7c1
--- /dev/null
+++ b/doc/reference/Makefile.am
@@ -0,0 +1,59 @@
+AUTOMAKE_OPTIONS = 1.6
+## Process this file with automake to produce Makefile.in
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=libgtop
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+# SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=../../sysdeps/common
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR=../../include/glibtop
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=../../include/glibtop/*.h
+CFILE_GLOB=../../sysdeps/common/*.c
+
+# Header files to ignore when scanning.
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES=error.h global.h gnuserv.h init_hooks.h write.h read.h read_data.h config.h libgtopconfig.h
+
+EXTRA_HFILES=../../glibtop.h
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files=version.xml
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+INCLUDES=
+GTKDOC_LIBS=
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST += version.xml.in
diff --git a/doc/reference/libgtop-docs.xml b/doc/reference/libgtop-docs.xml
new file mode 100644
index 00000000..b3eaede8
--- /dev/null
+++ b/doc/reference/libgtop-docs.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>Libgtop Reference Manual</title>
+ <releaseinfo>for libgtop <xi:include href="version.xml"/></releaseinfo>
+ <authorgroup>
+ <author>
+ <firstname>Martin </firstname>
+ <surname>Baulig</surname>
+ <affiliation>
+ <address>
+ <email>martin@home-of-linux.org</email>
+ </address>
+ </affiliation>
+ <author>
+ <firstname>Germ&#225;n</firstname>
+ <surname>Po&#243;-Caama&#241;o</surname>
+ <affiliation>
+ <address>
+ <email>gpoo@ubiobio.cl</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <legalnotice>
+ <para>Permission is granted to copy, distribute and/or modify
+ this document under the terms of the <citetitle>GNU Free
+ Documentation License</citetitle>, Version 1.1 or any later
+ version published by the Free Software Foundation with no
+ Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. You may obtain a copy of the <citetitle>GNU Free
+ Documentation License</citetitle> from the Free Software
+ Foundation by visiting <ulink type="http"
+ url="http://www.fsf.org">their Web site</ulink> or by writing
+ to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.</para>
+
+ <para>Many of the names used by companies to distinguish their
+ products and services are claimed as trademarks. Where those
+ names appear in any GNOME documentation, and those trademarks
+ are made aware to the members of the GNOME Documentation
+ Project, the names have been printed in caps or initial
+ caps.</para>
+ </legalnotice>
+
+ <abstract>
+ <para>
+ LibGTop is a library to get system specific data such as CPU and
+ Memory Usage and information about running Processes.</para>
+
+ <para>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.</para>
+
+ <para>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.</para>
+
+ <para>This manual documents the interfaces of the libgtop
+ library and has some short notes to help get you up to speed
+ with using the library.</para>
+ </abstract>
+ </bookinfo>
+
+ <!--FIXME: It is missing the rest of about.texi -->
+
+ <chapter id="libgtop-white-paper">
+ <title>White paper</title>
+
+ <sect1 id="libgtop-white-paper-introduction">
+ <title>Introduction</title>
+ <para>Many modern UNIX systems like Solaris, BSD or Digitial Unix
+ only allow priviledged processes to read information like CPU and
+ Memory Usage or information about running processes.</para>
+
+ <itemizedlist>
+ <listitem><para>
+ BSD, for instance, doesn't have any other way to get those data than reading
+ directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
+ be able to read this.</para></listitem>
+
+ <listitem><para>
+ Other systems, like Digital Unix, allow all users to get things like CPU and
+ Memory statistics, but only root may read information about any process other
+ than the current one (you may not even get information about your own processes
+ if you're not root).</para></listitem>
+
+ <listitem><para>
+ Linux has a very nice @file{/proc} filesystem, but reading and parsing
+ @file{/proc} is very slow and inefficient.</para></listitem>
+
+ <listitem><para>
+ Solaris is a bit better, but you still need to be in the @code{sys} group or
+ even root to get some data.</para></listitem>
+ </itemizedlist>
+
+ <para>
+ Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
+ often are setgid kmem or setuid root. Usually, they're also very specific to
+ the system they're written for and not easily portable to other systems without
+ a lot of work.</para>
+
+ <para>
+ This, of cause, becomes a problem for graphical tools like @code{gtop} - making
+ a GTK+ program setgid or even setuid would be a security hole as big as you can
+ drive the entire X11 source code through. For the GNOME project, we also needed
+ some kind of library which provides all the required information in a portable
+ since there's more than just one single program that wants to use them - for
+ instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
+ @code{netload} panel applets.</para>
+
+ </sect1>
+
+ <sect1 id="libgtop-white-paper-overview">
+ <title>Overview</title>
+ <para>This section should give you a short overview on how LibGTop
+ was developed, which things needed to be considered and how it
+ works.</para>
+
+ <sect2 id="libgtop-white-paper-overview-design">
+ <title>Interface Design: Things that need to be considered</title>
+ <para>
+At the very beginning, it was necessary to collect all the data the library part
+should provide and put them into some C structures. This was not that easiy as it
+might sound since LibGTop should be portable to any modern UNIX system with a common
+library part on all those systems, but the data that should be returned vary from
+system to system. For instance some systems support shared memory, but some others
+may not.</para>
+
+ <para>
+The header files where we define these C structures (which are system-independent) are
+shared between client and server. This way we can call the system dependent code
+directly where we do not need any special privileges to do so.</para>
+
+ <para>
+All of those structures contain a @code{flags} member which is interpreted as a bit
+mask and tells the caller of the library functions which of the fields in the returned
+structure are valid and which are not.</para>
+ </sect2>
+
+ <sect2 id="libgtop-white-paper-overview-server">
+ <title>Server Implementation: The LibGTop "server"</title>
+ <para>
+The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
+dependent code which needs special privileges. It is only build if it's required
+on the current system (for instance, the Linux kernel provides all the required
+data via its @file{/proc} filesystem so we do not need the server at all) and it
+only contains the @dfn{features} which need privileges.</para>
+
+ <para>
+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.</para>
+ </sect2>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="libgtop-lib">
+ <title>Libgtop Library Reference</title>
+
+ <para>This section contains the API reference for libgtop. All
+ the public interfaces are documented here.</para>
+
+ <xi:include href="xml/glibtop.xml"/>
+ <xi:include href="xml/close.xml"/>
+ <xi:include href="xml/command.xml"/>
+ <xi:include href="xml/glibtop-server.xml"/>
+ <xi:include href="xml/inodedb.xml"/>
+ <xi:include href="xml/netload.xml"/>
+ <xi:include href="xml/ppp.xml"/>
+ <xi:include href="xml/shm_limits.xml"/>
+ <xi:include href="xml/uptime.xml"/>
+ <xi:include href="xml/netlist.xml"/>
+ <xi:include href="xml/open.xml"/>
+ <xi:include href="xml/parameter.xml"/>
+ <xi:include href="xml/procargs.xml"/>
+ <xi:include href="xml/procmem.xml"/>
+ <xi:include href="xml/procopenfiles.xml"/>
+ <xi:include href="xml/procsegment.xml"/>
+ <xi:include href="xml/procsignal.xml"/>
+ <xi:include href="xml/sysdeps.xml"/>
+ <xi:include href="xml/procstate.xml"/>
+ <xi:include href="xml/procuid.xml"/>
+ <xi:include href="xml/proctime.xml"/>
+ <xi:include href="xml/signal.xml"/>
+ <xi:include href="xml/procmap.xml"/>
+ <xi:include href="xml/sysinfo.xml"/>
+ <xi:include href="xml/union.xml"/>
+ <xi:include href="xml/version.xml"/>
+ <xi:include href="xml/proclist.xml"/>
+ <xi:include href="xml/sem_limits.xml"/>
+ <xi:include href="xml/prockernel.xml"/>
+ <xi:include href="xml/fsusage.xml"/>
+ <xi:include href="xml/loadavg.xml"/>
+ <xi:include href="xml/mem.xml"/>
+ <xi:include href="xml/mountlist.xml"/>
+ <xi:include href="xml/msg_limits.xml"/>
+ <xi:include href="xml/cpu.xml"/>
+ <xi:include href="xml/swap.xml"/>
+ </chapter>
+</book>
diff --git a/doc/reference/libgtop-sections.txt b/doc/reference/libgtop-sections.txt
new file mode 100644
index 00000000..8e6cc406
--- /dev/null
+++ b/doc/reference/libgtop-sections.txt
@@ -0,0 +1,754 @@
+<INCLUDE>glibtop.h</INCLUDE>
+<SECTION>
+<FILE>glibtop</FILE>
+<TITLE>GlibTop</TITLE>
+GLIBTOP_MOUNTENTRY_LEN
+LIBGTOP_CHECK_VERSION
+glibtop
+glibtop_global_server
+glibtop_init
+glibtop_init_r
+glibtop_init_s
+glibtop_server_features
+</SECTION>
+
+<INCLUDE>glibtop/close.h</INCLUDE>
+<SECTION>
+<FILE>close</FILE>
+<TITLE>Close</TITLE>
+glibtop_close
+glibtop_close_r
+glibtop_close_s
+glibtop_close_p
+</SECTION>
+
+<INCLUDE>glibtop/command.h</INCLUDE>
+<SECTION>
+<FILE>command</FILE>
+<TITLE>Command</TITLE>
+GLIBTOP_CMND_QUIT
+GLIBTOP_CMND_SYSDEPS
+GLIBTOP_CMND_CPU
+GLIBTOP_CMND_MEM
+GLIBTOP_CMND_SWAP
+GLIBTOP_CMND_UPTIME
+GLIBTOP_CMND_LOADAVG
+GLIBTOP_CMND_SHM_LIMITS
+GLIBTOP_CMND_MSG_LIMITS
+GLIBTOP_CMND_SEM_LIMITS
+GLIBTOP_CMND_PROCLIST
+GLIBTOP_CMND_PROC_STATE
+GLIBTOP_CMND_PROC_UID
+GLIBTOP_CMND_PROC_MEM
+GLIBTOP_CMND_PROC_TIME
+GLIBTOP_CMND_PROC_SIGNAL
+GLIBTOP_CMND_PROC_KERNEL
+GLIBTOP_CMND_PROC_SEGMENT
+GLIBTOP_CMND_PROC_ARGS
+GLIBTOP_CMND_PROC_MAP
+GLIBTOP_CMND_MOUNTLIST
+GLIBTOP_CMND_FSUSAGE
+GLIBTOP_CMND_NETLOAD
+GLIBTOP_CMND_PPP
+GLIBTOP_CMND_NETLIST
+GLIBTOP_CMND_PROC_OPEN_FILES
+GLIBTOP_MAX_CMND
+glibtop_command
+glibtop_response
+glibtop_response_union
+glibtop_call
+glibtop_call_l
+glibtop_call_s
+</SECTION>
+
+<INCLUDE>glibtop/glibtop-server.h</INCLUDE>
+<SECTION>
+<FILE>glibtop-server</FILE>
+<TITLE>GlibTop Server</TITLE>
+glibtop_server
+glibtop_server_info
+glibtop_closure
+glibtop_server_new
+glibtop_server_ref
+glibtop_server_unref
+</SECTION>
+
+<INCLUDE>glibtop/inodedb.h</INCLUDE>
+<SECTION>
+<FILE>inodedb</FILE>
+<TITLE>Inode DB</TITLE>
+GLIBTOP_INODEDB_SYSTEM
+GLIBTOP_INODEDB_USER
+GLIBTOP_INODEDB_CACHE
+GLIBTOP_INODEDB_ALL
+glibtop_inodedb
+glibtop_inodedb_key
+glibtop_inodedb_open
+glibtop_inodedb_lookup
+glibtop_inodedb_close
+glibtop_inodedb_open_s
+glibtop_inodedb_lookup_s
+glibtop_inodedb_close_s
+</SECTION>
+
+<INCLUDE>glibtop/netload.h</INCLUDE>
+<SECTION>
+<FILE>netload</FILE>
+<TITLE>Net Load</TITLE>
+GLIBTOP_NETLOAD_IF_FLAGS
+GLIBTOP_NETLOAD_MTU
+GLIBTOP_NETLOAD_SUBNET
+GLIBTOP_NETLOAD_ADDRESS
+GLIBTOP_NETLOAD_PACKETS_IN
+GLIBTOP_NETLOAD_PACKETS_OUT
+GLIBTOP_NETLOAD_PACKETS_TOTAL
+GLIBTOP_NETLOAD_BYTES_IN
+GLIBTOP_NETLOAD_BYTES_OUT
+GLIBTOP_NETLOAD_BYTES_TOTAL
+GLIBTOP_NETLOAD_ERRORS_IN
+GLIBTOP_NETLOAD_ERRORS_OUT
+GLIBTOP_NETLOAD_ERRORS_TOTAL
+GLIBTOP_NETLOAD_COLLISIONS
+GLIBTOP_NETLOAD_ADDRESS6
+GLIBTOP_NETLOAD_PREFIX6
+GLIBTOP_NETLOAD_SCOPE6
+GLIBTOP_NETLOAD_HWADDRESS
+GLIBTOP_MAX_NETLOAD
+glibtop_netload
+glibtop_get_netload
+glibtop_get_netload_r
+glibtop_get_netload_l
+glibtop_init_netload_p
+glibtop_get_netload_p
+glibtop_init_netload_s
+glibtop_get_netload_s
+</SECTION>
+
+<INCLUDE>glibtop/ppp.h</INCLUDE>
+<SECTION>
+<FILE>ppp</FILE>
+<TITLE>PPP</TITLE>
+GLIBTOP_PPP_STATE
+GLIBTOP_PPP_BYTES_IN
+GLIBTOP_PPP_BYTES_OUT
+GLIBTOP_MAX_PPP
+glibtop_ppp
+glibtop_get_ppp
+glibtop_get_ppp_r
+glibtop_get_ppp_l
+glibtop_init_ppp_p
+glibtop_get_ppp_p
+glibtop_init_ppp_s
+glibtop_get_ppp_s
+</SECTION>
+
+<INCLUDE>glibtop/shm_limits.h</INCLUDE>
+<SECTION>
+<FILE>shm_limits</FILE>
+<TITLE>Shared Memory Limits</TITLE>
+GLIBTOP_IPC_SHMMAX
+GLIBTOP_IPC_SHMMIN
+GLIBTOP_IPC_SHMMNI
+GLIBTOP_IPC_SHMSEG
+GLIBTOP_IPC_SHMALL
+GLIBTOP_MAX_SHM_LIMITS
+glibtop_shm_limits
+glibtop_get_shm_limits
+glibtop_get_shm_limits_r
+glibtop_get_shm_limits_l
+glibtop_init_shm_limits_p
+glibtop_get_shm_limits_p
+glibtop_init_shm_limits_s
+glibtop_get_shm_limits_s
+</SECTION>
+
+<INCLUDE>glibtop/uptime.h</INCLUDE>
+<SECTION>
+<FILE>uptime</FILE>
+<TITLE>Uptime</TITLE>
+GLIBTOP_UPTIME_UPTIME
+GLIBTOP_UPTIME_IDLETIME
+GLIBTOP_UPTIME_BOOT_TIME
+GLIBTOP_MAX_UPTIME
+glibtop_uptime
+glibtop_get_uptime
+glibtop_get_uptime_r
+glibtop_get_uptime_l
+glibtop_init_uptime_p
+glibtop_get_uptime_p
+glibtop_init_uptime_s
+glibtop_get_uptime_s
+</SECTION>
+
+<INCLUDE>glibtop/netlist.h</INCLUDE>
+<SECTION>
+<FILE>netlist</FILE>
+<TITLE>Net List</TITLE>
+GLIBTOP_NETLIST_NUMBER
+GLIBTOP_MAX_NETLIST
+glibtop_netlist
+glibtop_get_netlist
+glibtop_get_netlist_r
+glibtop_get_netlist_l
+glibtop_init_netlist_p
+glibtop_get_netlist_p
+glibtop_init_netlist_s
+glibtop_get_netlist_s
+</SECTION>
+
+<INCLUDE>glibtop/open.h</INCLUDE>
+<SECTION>
+<FILE>open</FILE>
+GLIBTOP_INIT_NO_OPEN
+GLIBTOP_INIT_NO_INIT
+GLIBTOP_FEATURES_NO_SERVER
+GLIBTOP_FEATURES_EXCEPT
+GLIBTOP_METHOD_DIRECT
+GLIBTOP_METHOD_PIPE
+GLIBTOP_METHOD_INET
+GLIBTOP_METHOD_UNIX
+GLIBTOP_ERROR_METHOD_IGNORE
+GLIBTOP_ERROR_METHOD_WARN_ONCE
+GLIBTOP_ERROR_METHOD_WARN
+GLIBTOP_ERROR_METHOD_ABORT
+GLIBTOP_ERROR_METHOD_DEFAULT
+glibtop_open_l
+glibtop_init_p
+glibtop_open_p
+glibtop_open_s
+</SECTION>
+
+<INCLUDE>glibtop/parameter.h</INCLUDE>
+<SECTION>
+<FILE>parameter</FILE>
+GLIBTOP_PARAM_METHOD
+GLIBTOP_PARAM_FEATURES
+GLIBTOP_PARAM_COMMAND
+GLIBTOP_PARAM_HOST
+GLIBTOP_PARAM_PORT
+GLIBTOP_PARAM_ERROR_METHOD
+GLIBTOP_PARAM_REQUIRED
+glibtop_get_parameter
+glibtop_set_parameter
+glibtop_get_parameter_l
+glibtop_set_parameter_l
+</SECTION>
+
+<INCLUDE>glibtop/procargs.h</INCLUDE>
+<SECTION>
+<FILE>procargs</FILE>
+GLIBTOP_PROC_ARGS_SIZE
+GLIBTOP_MAX_PROC_ARGS
+glibtop_proc_args
+glibtop_get_proc_args_l
+glibtop_get_proc_args
+glibtop_get_proc_args_r
+glibtop_init_proc_args_p
+glibtop_get_proc_args_p
+glibtop_init_proc_args_s
+glibtop_get_proc_args_s
+glibtop_get_proc_argv_l
+glibtop_get_proc_argv
+</SECTION>
+
+<INCLUDE>glibtop/procmem.h</INCLUDE>
+<SECTION>
+<FILE>procmem</FILE>
+GLIBTOP_PROC_MEM_SIZE
+GLIBTOP_PROC_MEM_VSIZE
+GLIBTOP_PROC_MEM_RESIDENT
+GLIBTOP_PROC_MEM_SHARE
+GLIBTOP_PROC_MEM_RSS
+GLIBTOP_PROC_MEM_RSS_RLIM
+GLIBTOP_MAX_PROC_MEM
+glibtop_proc_mem
+glibtop_get_proc_mem
+glibtop_get_proc_mem_r
+glibtop_get_proc_mem_l
+glibtop_init_proc_mem_p
+glibtop_get_proc_mem_p
+glibtop_init_proc_mem_s
+glibtop_get_proc_mem_s
+</SECTION>
+
+<INCLUDE>glibtop/procopenfiles.h</INCLUDE>
+<SECTION>
+<FILE>procopenfiles</FILE>
+GLIBTOP_PROC_OPEN_FILES_NUMBER
+GLIBTOP_PROC_OPEN_FILES_TOTAL
+GLIBTOP_PROC_OPEN_FILES_SIZE
+GLIBTOP_MAX_PROC_OPEN_FILES
+GLIBTOP_FILE_ENTRY_FD
+GLIBTOP_FILE_ENTRY_NAME
+GLIBTOP_FILE_ENTRY_TYPE
+GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST
+GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT
+GLIBTOP_MAX_OPEN_FILE_ENTRY
+GLIBTOP_OPEN_FILENAME_LEN
+GLIBTOP_OPEN_DEST_HOST_LEN
+glibtop_open_files_entry
+glibtop_proc_open_files
+glibtop_get_proc_open_files
+glibtop_get_proc_open_files_r
+glibtop_get_proc_open_files_l
+glibtop_init_proc_open_files_p
+glibtop_get_proc_open_files_p
+glibtop_init_proc_open_files_s
+glibtop_get_proc_open_files_s
+</SECTION>
+
+<INCLUDE>glibtop/procsegment.h</INCLUDE>
+<SECTION>
+<FILE>procsegment</FILE>
+GLIBTOP_PROC_SEGMENT_TEXT_RSS
+GLIBTOP_PROC_SEGMENT_SHLIB_RSS
+GLIBTOP_PROC_SEGMENT_DATA_RSS
+GLIBTOP_PROC_SEGMENT_STACK_RSS
+GLIBTOP_PROC_SEGMENT_DIRTY_SIZE
+GLIBTOP_PROC_SEGMENT_START_CODE
+GLIBTOP_PROC_SEGMENT_END_CODE
+GLIBTOP_PROC_SEGMENT_START_STACK
+GLIBTOP_MAX_PROC_SEGMENT
+glibtop_proc_segment
+glibtop_get_proc_segment
+glibtop_get_proc_segment_r
+glibtop_get_proc_segment_l
+glibtop_init_proc_segment_p
+glibtop_get_proc_segment_p
+glibtop_init_proc_segment_s
+glibtop_get_proc_segment_s
+</SECTION>
+
+<INCLUDE>glibtop/procsignal.h</INCLUDE>
+<SECTION>
+<FILE>procsignal</FILE>
+GLIBTOP_PROC_SIGNAL_SIGNAL
+GLIBTOP_PROC_SIGNAL_BLOCKED
+GLIBTOP_PROC_SIGNAL_SIGIGNORE
+GLIBTOP_PROC_SIGNAL_SIGCATCH
+GLIBTOP_MAX_PROC_SIGNAL
+glibtop_proc_signal
+glibtop_get_proc_signal
+glibtop_get_proc_signal_r
+glibtop_get_proc_signal_l
+glibtop_init_proc_signal_p
+glibtop_get_proc_signal_p
+glibtop_init_proc_signal_s
+glibtop_get_proc_signal_s
+</SECTION>
+
+<INCLUDE>glibtop/sysdeps.h</INCLUDE>
+<SECTION>
+<FILE>sysdeps</FILE>
+GLIBTOP_SYSDEPS_FEATURES
+GLIBTOP_SYSDEPS_CPU
+GLIBTOP_SYSDEPS_MEM
+GLIBTOP_SYSDEPS_SWAP
+GLIBTOP_SYSDEPS_UPTIME
+GLIBTOP_SYSDEPS_LOADAVG
+GLIBTOP_SYSDEPS_SHM_LIMITS
+GLIBTOP_SYSDEPS_MSG_LIMITS
+GLIBTOP_SYSDEPS_SEM_LIMITS
+GLIBTOP_SYSDEPS_PROCLIST
+GLIBTOP_SYSDEPS_PROC_STATE
+GLIBTOP_SYSDEPS_PROC_UID
+GLIBTOP_SYSDEPS_PROC_MEM
+GLIBTOP_SYSDEPS_PROC_TIME
+GLIBTOP_SYSDEPS_PROC_SIGNAL
+GLIBTOP_SYSDEPS_PROC_KERNEL
+GLIBTOP_SYSDEPS_PROC_SEGMENT
+GLIBTOP_SYSDEPS_PROC_ARGS
+GLIBTOP_SYSDEPS_PROC_MAP
+GLIBTOP_SYSDEPS_MOUNTLIST
+GLIBTOP_SYSDEPS_FSUSAGE
+GLIBTOP_SYSDEPS_NETLOAD
+GLIBTOP_SYSDEPS_PPP
+GLIBTOP_SYSDEPS_NETLIST
+GLIBTOP_SYSDEPS_PROC_OPEN_FILES
+GLIBTOP_MAX_SYSDEPS
+GLIBTOP_SYSDEPS_ALL
+glibtop_sysdeps
+glibtop_get_sysdeps
+glibtop_get_sysdeps_r
+</SECTION>
+
+<INCLUDE>glibtop/procstate.h</INCLUDE>
+<SECTION>
+<FILE>procstate</FILE>
+GLIBTOP_PROC_STATE_CMD
+GLIBTOP_PROC_STATE_STATE
+GLIBTOP_PROC_STATE_UID
+GLIBTOP_PROC_STATE_GID
+GLIBTOP_PROC_STATE_RUID
+GLIBTOP_PROC_STATE_RGID
+GLIBTOP_PROC_STATE_HAS_CPU
+GLIBTOP_PROC_STATE_PROCESSOR
+GLIBTOP_PROC_STATE_LAST_PROCESSOR
+GLIBTOP_MAX_PROC_STATE
+GLIBTOP_PROCESS_RUNNING
+GLIBTOP_PROCESS_INTERRUPTIBLE
+GLIBTOP_PROCESS_UNINTERRUPTIBLE
+GLIBTOP_PROCESS_ZOMBIE
+GLIBTOP_PROCESS_STOPPED
+GLIBTOP_PROCESS_SWAPPING
+GLIBTOP_PROCESS_DEAD
+glibtop_proc_state
+glibtop_get_proc_state
+glibtop_get_proc_state_r
+glibtop_get_proc_state_l
+glibtop_init_proc_state_p
+glibtop_get_proc_state_p
+glibtop_init_proc_state_s
+glibtop_get_proc_state_s
+</SECTION>
+
+<INCLUDE>glibtop/procuid.h</INCLUDE>
+<SECTION>
+<FILE>procuid</FILE>
+GLIBTOP_PROC_UID_UID
+GLIBTOP_PROC_UID_EUID
+GLIBTOP_PROC_UID_GID
+GLIBTOP_PROC_UID_EGID
+GLIBTOP_PROC_UID_SUID
+GLIBTOP_PROC_UID_SGID
+GLIBTOP_PROC_UID_FSUID
+GLIBTOP_PROC_UID_FSGID
+GLIBTOP_PROC_UID_PID
+GLIBTOP_PROC_UID_PPID
+GLIBTOP_PROC_UID_PGRP
+GLIBTOP_PROC_UID_SESSION
+GLIBTOP_PROC_UID_TTY
+GLIBTOP_PROC_UID_TPGID
+GLIBTOP_PROC_UID_PRIORITY
+GLIBTOP_PROC_UID_NICE
+GLIBTOP_PROC_UID_NGROUPS
+GLIBTOP_PROC_UID_GROUPS
+GLIBTOP_MAX_PROC_UID
+glibtop_proc_uid
+GLIBTOP_MAX_GROUPS
+glibtop_get_proc_uid
+glibtop_get_proc_uid_r
+glibtop_get_proc_uid_l
+glibtop_init_proc_uid_p
+glibtop_get_proc_uid_p
+glibtop_init_proc_uid_s
+glibtop_get_proc_uid_s
+</SECTION>
+
+<INCLUDE>glibtop/proctime.h</INCLUDE>
+<SECTION>
+<FILE>proctime</FILE>
+GLIBTOP_PROC_TIME_START_TIME
+GLIBTOP_PROC_TIME_RTIME
+GLIBTOP_PROC_TIME_UTIME
+GLIBTOP_PROC_TIME_STIME
+GLIBTOP_PROC_TIME_CUTIME
+GLIBTOP_PROC_TIME_CSTIME
+GLIBTOP_PROC_TIME_TIMEOUT
+GLIBTOP_PROC_TIME_IT_REAL_VALUE
+GLIBTOP_PROC_TIME_FREQUENCY
+GLIBTOP_PROC_TIME_XCPU_UTIME
+GLIBTOP_PROC_TIME_XCPU_STIME
+GLIBTOP_MAX_PROC_TIME
+glibtop_proc_time
+glibtop_get_proc_time
+glibtop_get_proc_time_r
+glibtop_get_proc_time_l
+glibtop_init_proc_time_p
+glibtop_get_proc_time_p
+glibtop_init_proc_time_s
+glibtop_get_proc_time_s
+</SECTION>
+
+<INCLUDE>glibtop/signal.h</INCLUDE>
+<SECTION>
+<FILE>signal</FILE>
+glibtop_signame
+</SECTION>
+
+<INCLUDE>glibtop/procmap.h</INCLUDE>
+<SECTION>
+<FILE>procmap</FILE>
+GLIBTOP_PROC_MAP_NUMBER
+GLIBTOP_PROC_MAP_TOTAL
+GLIBTOP_PROC_MAP_SIZE
+GLIBTOP_MAX_PROC_MAP
+GLIBTOP_MAP_ENTRY_START
+GLIBTOP_MAP_ENTRY_END
+GLIBTOP_MAP_ENTRY_OFFSET
+GLIBTOP_MAP_ENTRY_PERM
+GLIBTOP_MAP_ENTRY_INODE
+GLIBTOP_MAP_ENTRY_DEVICE
+GLIBTOP_MAP_ENTRY_FILENAME
+GLIBTOP_MAP_ENTRY_SIZE
+GLIBTOP_MAP_ENTRY_RSS
+GLIBTOP_MAP_ENTRY_SHARED_CLEAN
+GLIBTOP_MAP_ENTRY_SHARED_DIRTY
+GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN
+GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY
+GLIBTOP_MAX_MAP_ENTRY
+GLIBTOP_MAP_FILENAME_LEN
+GLIBTOP_MAP_PERM_READ
+GLIBTOP_MAP_PERM_WRITE
+GLIBTOP_MAP_PERM_EXECUTE
+GLIBTOP_MAP_PERM_SHARED
+GLIBTOP_MAP_PERM_PRIVATE
+glibtop_map_entry
+glibtop_proc_map
+glibtop_get_proc_map
+glibtop_get_proc_map_r
+glibtop_get_proc_map_l
+glibtop_init_proc_map_p
+glibtop_get_proc_map_p
+glibtop_init_proc_map_s
+glibtop_get_proc_map_s
+</SECTION>
+
+<INCLUDE>glibtop/sysinfo.h</INCLUDE>
+<SECTION>
+<FILE>sysinfo</FILE>
+GLIBTOP_SYSINFO_NCPU
+GLIBTOP_SYSINFO_CPUINFO
+GLIBTOP_MAX_SYSINFO
+glibtop_sysinfo
+glibtop_entry
+glibtop_get_sysinfo_r
+glibtop_get_sysinfo_s
+glibtop_get_sysinfo
+</SECTION>
+
+<INCLUDE>glibtop/union.h</INCLUDE>
+<SECTION>
+<FILE>union</FILE>
+glibtop_union
+</SECTION>
+
+<INCLUDE>glibtop/version.h</INCLUDE>
+<SECTION>
+<FILE>version</FILE>
+LIBGTOP_VERSION_STRING
+glibtop_send_version
+</SECTION>
+
+<INCLUDE>glibtop/proclist.h</INCLUDE>
+<SECTION>
+<FILE>proclist</FILE>
+GLIBTOP_PROCLIST_NUMBER
+GLIBTOP_PROCLIST_TOTAL
+GLIBTOP_PROCLIST_SIZE
+GLIBTOP_MAX_PROCLIST
+GLIBTOP_KERN_PROC_ALL
+GLIBTOP_KERN_PROC_PID
+GLIBTOP_KERN_PROC_PGRP
+GLIBTOP_KERN_PROC_SESSION
+GLIBTOP_KERN_PROC_TTY
+GLIBTOP_KERN_PROC_UID
+GLIBTOP_KERN_PROC_RUID
+GLIBTOP_KERN_PROC_MASK
+GLIBTOP_EXCLUDE_IDLE
+GLIBTOP_EXCLUDE_SYSTEM
+GLIBTOP_EXCLUDE_NOTTY
+glibtop_proclist
+glibtop_get_proclist
+glibtop_get_proclist_r
+glibtop_get_proclist_l
+glibtop_init_proclist_p
+glibtop_get_proclist_p
+glibtop_init_proclist_s
+glibtop_get_proclist_s
+</SECTION>
+
+<INCLUDE>glibtop/sem_limits.h</INCLUDE>
+<SECTION>
+<FILE>sem_limits</FILE>
+GLIBTOP_IPC_SEMMAP
+GLIBTOP_IPC_SEMMNI
+GLIBTOP_IPC_SEMMNS
+GLIBTOP_IPC_SEMMNU
+GLIBTOP_IPC_SEMMSL
+GLIBTOP_IPC_SEMOPM
+GLIBTOP_IPC_SEMUME
+GLIBTOP_IPC_SEMUSZ
+GLIBTOP_IPC_SEMVMX
+GLIBTOP_IPC_SEMAEM
+GLIBTOP_MAX_SEM_LIMITS
+glibtop_sem_limits
+glibtop_get_sem_limits
+glibtop_get_sem_limits_r
+glibtop_get_sem_limits_l
+glibtop_init_sem_limits_p
+glibtop_get_sem_limits_p
+glibtop_init_sem_limits_s
+glibtop_get_sem_limits_s
+</SECTION>
+
+<INCLUDE>glibtop/prockernel.h</INCLUDE>
+<SECTION>
+<FILE>prockernel</FILE>
+GLIBTOP_PROC_KERNEL_K_FLAGS
+GLIBTOP_PROC_KERNEL_MIN_FLT
+GLIBTOP_PROC_KERNEL_MAJ_FLT
+GLIBTOP_PROC_KERNEL_CMIN_FLT
+GLIBTOP_PROC_KERNEL_CMAJ_FLT
+GLIBTOP_PROC_KERNEL_KSTK_ESP
+GLIBTOP_PROC_KERNEL_KSTK_EIP
+GLIBTOP_PROC_KERNEL_NWCHAN
+GLIBTOP_PROC_KERNEL_WCHAN
+GLIBTOP_MAX_PROC_KERNEL
+glibtop_proc_kernel
+glibtop_get_proc_kernel
+glibtop_get_proc_kernel_r
+glibtop_get_proc_kernel_l
+glibtop_init_proc_kernel_p
+glibtop_get_proc_kernel_p
+glibtop_init_proc_kernel_s
+glibtop_get_proc_kernel_s
+</SECTION>
+
+<INCLUDE>glibtop/fsusage.h</INCLUDE>
+<SECTION>
+<FILE>fsusage</FILE>
+GLIBTOP_FSUSAGE_BLOCKS
+GLIBTOP_FSUSAGE_BFREE
+GLIBTOP_FSUSAGE_BAVAIL
+GLIBTOP_FSUSAGE_FILES
+GLIBTOP_FSUSAGE_FFREE
+GLIBTOP_FSUSAGE_BLOCK_SIZE
+GLIBTOP_FSUSAGE_READ
+GLIBTOP_FSUSAGE_WRITE
+GLIBTOP_MAX_FSUSAGE
+glibtop_fsusage
+glibtop_get_fsusage
+glibtop_get_fsusage_r
+glibtop_get_fsusage_l
+glibtop_get_fsusage_s
+</SECTION>
+
+<INCLUDE>glibtop/loadavg.h</INCLUDE>
+<SECTION>
+<FILE>loadavg</FILE>
+GLIBTOP_LOADAVG_LOADAVG
+GLIBTOP_LOADAVG_NR_RUNNING
+GLIBTOP_LOADAVG_NR_TASKS
+GLIBTOP_LOADAVG_LAST_PID
+GLIBTOP_MAX_LOADAVG
+glibtop_loadavg
+glibtop_get_loadavg
+glibtop_get_loadavg_r
+glibtop_get_loadavg_l
+glibtop_init_loadavg_p
+glibtop_get_loadavg_p
+glibtop_init_loadavg_s
+glibtop_get_loadavg_s
+</SECTION>
+
+<INCLUDE>glibtop/mem.h</INCLUDE>
+<SECTION>
+<FILE>mem</FILE>
+GLIBTOP_MEM_TOTAL
+GLIBTOP_MEM_USED
+GLIBTOP_MEM_FREE
+GLIBTOP_MEM_SHARED
+GLIBTOP_MEM_BUFFER
+GLIBTOP_MEM_CACHED
+GLIBTOP_MEM_USER
+GLIBTOP_MEM_LOCKED
+GLIBTOP_MAX_MEM
+glibtop_mem
+glibtop_get_mem
+glibtop_get_mem_r
+glibtop_get_mem_l
+glibtop_init_mem_p
+glibtop_get_mem_p
+glibtop_init_mem_s
+glibtop_get_mem_s
+</SECTION>
+
+<INCLUDE>glibtop/mountlist.h</INCLUDE>
+<SECTION>
+<FILE>mountlist</FILE>
+GLIBTOP_MOUNTLIST_NUMBER
+GLIBTOP_MOUNTLIST_TOTAL
+GLIBTOP_MOUNTLIST_SIZE
+GLIBTOP_MAX_MOUNTLIST
+glibtop_mountentry
+glibtop_mountlist
+glibtop_get_mountlist
+glibtop_get_mountlist_r
+glibtop_get_mountlist_l
+glibtop_get_mountlist_s
+</SECTION>
+
+<INCLUDE>glibtop/msg_limits.h</INCLUDE>
+<SECTION>
+<FILE>msg_limits</FILE>
+GLIBTOP_IPC_MSGPOOL
+GLIBTOP_IPC_MSGMAP
+GLIBTOP_IPC_MSGMAX
+GLIBTOP_IPC_MSGMNB
+GLIBTOP_IPC_MSGMNI
+GLIBTOP_IPC_MSGSSZ
+GLIBTOP_IPC_MSGTQL
+GLIBTOP_MAX_MSG_LIMITS
+glibtop_msg_limits
+glibtop_get_msg_limits
+glibtop_get_msg_limits_r
+glibtop_get_msg_limits_l
+glibtop_init_msg_limits_p
+glibtop_get_msg_limits_p
+glibtop_init_msg_limits_s
+glibtop_get_msg_limits_s
+</SECTION>
+
+<INCLUDE>glibtop/cpu.h</INCLUDE>
+<SECTION>
+<FILE>cpu</FILE>
+GLIBTOP_CPU_TOTAL
+GLIBTOP_CPU_USER
+GLIBTOP_CPU_NICE
+GLIBTOP_CPU_SYS
+GLIBTOP_CPU_IDLE
+GLIBTOP_CPU_FREQUENCY
+GLIBTOP_XCPU_TOTAL
+GLIBTOP_XCPU_USER
+GLIBTOP_XCPU_NICE
+GLIBTOP_XCPU_SYS
+GLIBTOP_XCPU_IDLE
+GLIBTOP_XCPU_FLAGS
+GLIBTOP_CPU_IOWAIT
+GLIBTOP_CPU_IRQ
+GLIBTOP_CPU_SOFTIRQ
+GLIBTOP_XCPU_IOWAIT
+GLIBTOP_XCPU_IRQ
+GLIBTOP_XCPU_SOFTIRQ
+GLIBTOP_MAX_CPU
+GLIBTOP_NCPU
+glibtop_cpu
+glibtop_get_cpu
+glibtop_get_cpu_r
+glibtop_get_cpu_l
+glibtop_init_cpu_p
+glibtop_get_cpu_p
+glibtop_init_cpu_s
+glibtop_get_cpu_s
+</SECTION>
+
+<INCLUDE>glibtop/swap.h</INCLUDE>
+<SECTION>
+<FILE>swap</FILE>
+GLIBTOP_SWAP_TOTAL
+GLIBTOP_SWAP_USED
+GLIBTOP_SWAP_FREE
+GLIBTOP_SWAP_PAGEIN
+GLIBTOP_SWAP_PAGEOUT
+GLIBTOP_MAX_SWAP
+glibtop_swap
+glibtop_get_swap
+glibtop_get_swap_r
+glibtop_get_swap_l
+glibtop_init_swap_p
+glibtop_get_swap_p
+glibtop_init_swap_s
+glibtop_get_swap_s
+</SECTION>
+
diff --git a/doc/reference/version.xml.in b/doc/reference/version.xml.in
new file mode 100644
index 00000000..927ab962
--- /dev/null
+++ b/doc/reference/version.xml.in
@@ -0,0 +1,4 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<phrase>@PACKAGE_VERSION@</phrase>